It's all about the answers!

Ask a question

Internal Error when Registering a Git Repository


Christopher Robinson (571417) | asked Oct 28 '15, 4:04 p.m.
Rational Team Concert 5.0.2
Linux

Internal Error when Registering a Git Repository
Setting up a new git project and registering it with RTC.
I created the new git project on the 'gitdevop' git server using a bash

prompt:
sudo su - git
cd /git
mkdir chris_test502.git
cd chris_test502.git
git init --bare --shared

I registered the Git repository in RTC using the Web client:

Registration name: gitdevop chris_test502.git repo
URL:
http://gitdev1.waters.com/git/chris_test502.git

Owner: chris_git_test (CCM)

Clicked Save, a repo key was generated.

Clicked on the Settings tab.
Commit URI Format: <blank>
User ID: jazzgit01
Password:  <password>
Confirm Password:  <password>

When I click on Save, I get, in the upper left of the screen, a yellow
warning triangle with a '!' in it with the message "Internal Error".

The DEBUG_PTY="true" environment variable is in effect in the rtc-git-http-interceptor.  This seems to be causing JSON problems, 

[WebContainer : 11 @@ 07:01 usplmr05 <Initial Page Load@89cfced6-b984-4dbd-812b-ea2ef009fd90> /ccm/_ajax-modules/com.ibm.team.dashboard.web.iframe/com.ibm.team.workitem.viewlets.web.ui.internal.WorkItemsViewlet] ERROR com.ibm.team.git - doGet(): Error extracting error code from JSON response: Unexpected character "60": line 1, column 1
I turned off the DEBUG_PTY at about 2015-09-10 14:19

At 2015-09-10 14:19:10,727, I tried the correct password.

At 2015-09-10 14:19:11,072 I received:
2015-09-10 14:19:11,072 [WebContainer : 7 @@ 17:57 <unauthenticated>
<Initial Page Load@15315616-f683-43b6-b28f-00002965e33b>
/ccm/auth/authrequired] ERROR com.ibm.team.git  - doGet(): Error extracting
error code from JSON response: "The Git Repository does not have the
required configuration variables. This is necessary for this
integration to work. See documentation for more details (<missing
argument>)."

The message is: "The Git Repository does not have the required
configuration variables. This is necessary for this integration to
work. See documentation for more details (<missing argument>)."
Note that this message does not show up if DEBUG_PTY="true" is in
effect.

Jazz System info:
Fully distributed topology, JTS, CCM, QM, RM and RRDI each on their own VM.

All Jazz servers use Webshpere Application Server, version 8.5.0.2
IBM HTTP server acting as a Reverse Proxy on VM, version 8.5.0.2
All Jazz applications are version 5.0.2GA, 64-bit, with iFix005
DB: Oracle 11.2.0.3.0 on own machine, not a VM
Java: Version that comes with Jazz 5.0.2GA
All servers run Red Hat Enterprise Linux 6.4, 64-bit

Git server info:
OS: Red Hat Enterprise Linux 6.7 on VM
Apache (Built with SSL):  Server version: Apache/2.4.16 (Unix)
Git:  git version 2.5.0
OpenSSL:  OpenSSL 1.0.1e-42

One answer



permanent link
Christopher Robinson (571417) | answered Oct 28 '15, 4:07 p.m.
As of RTC version 5.0.2, the new git config variables (rtc.repourl and rtc.repokey) are only half implemented by IBM.

The comments in the pre-receive and post-receive hooks say:

# jazzRepoUrl
# NOTE: Starting with 5.0.2 release, this variable is deprecated (and, would be removed from this script in a future release).
# The repository URL is expected to be a config property ('rtc.repourl') of the corresponding Git repository.
# However, if it is not defined, we fall back on to this value.
# (Implies that in case of differing values between this variable and the config property of that repository, the config value takes precedence)
#
jazzRepoUrl=https://localhost:9443/ccm

#
# gitRepoKey
# NOTE: Starting with 5.0.2 release, this variable is deprecated (and, would be removed from this script in a future release).
# The repository URL is expected to be a config property ('rtc.repokey') of the corresponding Git repository.
# However, if it is not defined, we fall back on to this value.
# (Implies that in case of differing values between this variable and the config property of that repository, the config value takes precedence)
#
gitRepoKey=459b3e8774be4c5e9013326e3329645a

However, if you do not set the variables in the git project, the rtc-git-http-interceptor will fail because it cannot find the rtc.repourl or rtc.repokey.

If you do not fill in the jazzRepoUrl and gitRepoKey in the pre-receive and post-receive hooks, the /usr/local/git/libexec/git-core/git-http-backend will fail.  Even if the configuration variables are defined in the git project and the incorrect default values are also set in the hooks, the values in the hooks will be used by the git-http-backend.


The configuration information MUST be specified in both places until this is fixed.

Your answer


Register or to post your answer.