jbe with proxy authentication
Hi all,
We're thinking of getting our RTC/RQM Servers externally hosted. We're using RTC v3 and RQM 2.x
However, we'll have a few PCs on site that we will want to do builds on. Our access to the internet is through an authenticated proxy (I have no idea of the details - just the hostname and port number)
Does anyone know how we can set up the jbe process to access an externally hosted repository in this scenario?
I've come accross this: https://jazz.net/forums/viewtopic.php?t=2026 and I've looked at the referenced defect but that was delivered in version 1.x
I can find no other references to this on the project wiki, the rtc v3 information center or in these forums.
Any assistance would be gratefully received.
Many Thanks,
Robin
We're thinking of getting our RTC/RQM Servers externally hosted. We're using RTC v3 and RQM 2.x
However, we'll have a few PCs on site that we will want to do builds on. Our access to the internet is through an authenticated proxy (I have no idea of the details - just the hostname and port number)
Does anyone know how we can set up the jbe process to access an externally hosted repository in this scenario?
I've come accross this: https://jazz.net/forums/viewtopic.php?t=2026 and I've looked at the referenced defect but that was delivered in version 1.x
I can find no other references to this on the project wiki, the rtc v3 information center or in these forums.
Any assistance would be gratefully received.
Many Thanks,
Robin
19 answers
Hi Robin,
You can specify a proxy host and port using system properties http.proxyHost and http.proxyPort.
For example, if talking to a repository using https, use:
jbe -vm {path to java vm} -repository https://yourrepo:9443/ccm -engineId engine1 -userId buildUser -pass buildPass -vmargs -Dhttps.proxyHost=https://yourproxy -Dhttps.proxyPort=443
The default for https.proxyPort is 443 so in the example above it's not needed.
Unfortunately, for authentication, the implementation assumes that the proxy credentials are the same as for the Jazz repository, which is not necessarily the case. This is covered by work item 148149: JBE and Ant tasks assume proxy credentials are same as for repository. Please let us know if this is an issue for you.
You can specify a proxy host and port using system properties http.proxyHost and http.proxyPort.
For example, if talking to a repository using https, use:
jbe -vm {path to java vm} -repository https://yourrepo:9443/ccm -engineId engine1 -userId buildUser -pass buildPass -vmargs -Dhttps.proxyHost=https://yourproxy -Dhttps.proxyPort=443
The default for https.proxyPort is 443 so in the example above it's not needed.
Unfortunately, for authentication, the implementation assumes that the proxy credentials are the same as for the Jazz repository, which is not necessarily the case. This is covered by work item 148149: JBE and Ant tasks assume proxy credentials are same as for repository. Please let us know if this is an issue for you.
Hi Nick,
Yes, this is an issue for us.
We maintain our jazz user database separately from the windows domain which is where the proxy credentials are authenticated.
To work around this, we'll need to change all of our usernames to match those in the windows domain and ask everyone to update their password to match their windows password every time it changes, which is reasonably frequent due to policy settings.
Presumably setting up some form of ldap synchronisation would solve this?
We might have to tell our propsed external hosting provider (IBM) that this is not an option... ;o)
Many Thanks,
Robin
Yes, this is an issue for us.
We maintain our jazz user database separately from the windows domain which is where the proxy credentials are authenticated.
To work around this, we'll need to change all of our usernames to match those in the windows domain and ask everyone to update their password to match their windows password every time it changes, which is reasonably frequent due to policy settings.
Presumably setting up some form of ldap synchronisation would solve this?
We might have to tell our propsed external hosting provider (IBM) that this is not an option... ;o)
Many Thanks,
Robin
Hi all,
My attempts at this have failed:
I changed the values for repohost, proxyhost, proxyport, the userid and the password for the sake of posting to a public website. The rest of the error is copy/paste.
Any suggestions welcome.
R
My attempts at this have failed:
C:\Program Files\IBM\TeamConcert\buildsystem\buildengine\eclipse>jbe -vm "\Program Files\IBM\TeamConcert\jdk\bin\java" -repository https://repohost:9443/jazz -userId DOMAIN\user -pass password -engineId engine1 -verbose
Supplied arguments:
-repository https://repohost:9443/jazz -userId DOMAIN\user -pass ***** -engineId engine1 -verbose
Java Version:
J2RE 1.5.0 IBM J9 2.3 Windows XP x86-32 j9vmwi3223ifx-20100511 (JIT enabled)
J9VM - 20100509_57823_lHdSMr
JIT - 20091016_1845ifx7_r8
GC - 20091026_AA
2010-12-15 14:55:15 [Jazz build engine] Running build loop...
2010-12-15 14:55:15 [Jazz build engine] Using proxy https://proxyhost:proxyport to reach https://repohost:9443/jazz
2010-12-15 14:55:15 [Jazz build engine] CRRTC3524W: Repository connection failed: CRJAZ1373E The URL "https://repohost:9443/jazz/versionCompatibility?clientVersion=3.0" cannot be reached. The network stated the server is not known and returned the error "https://proxyhost". Verify the URL and contact your administrator.
2010-12-15 14:55:15 [Jazz build engine]
2010-12-15 14:55:15 [Jazz build engine] Sleeping for 30 seconds...
^CTerminate batch job (Y/N)? Y
I changed the values for repohost, proxyhost, proxyport, the userid and the password for the sake of posting to a public website. The rest of the error is copy/paste.
Any suggestions welcome.
R
> Presumably setting up some form of ldap synchronisation would solve this?
Yes, that would help, if the Jazz repo and proxy shared the same LDAP.
And yes, using the same 'build' user for different JBE instances is a common practice.
In your example, I don't see where you're specifying the proxy using the -D's in my initial response. Did you modify the jbe.ini? I also find the '-userId DOMAIN\user' argument surprising. Normally jazz user ids do not include the domain. Is this actually how it's configured, e.g. if you open the user editor for that user?
If you specify them on the command line, be sure to add them after -vmargs, otherwise they'd get treated as program arguments instead of VM args.
Are you able to log in using the RTC Eclipse client, if you configure the proxy in the Network Connections preference page (using the same credentials as for the RTC repository?)
Yes, that would help, if the Jazz repo and proxy shared the same LDAP.
And yes, using the same 'build' user for different JBE instances is a common practice.
In your example, I don't see where you're specifying the proxy using the -D's in my initial response. Did you modify the jbe.ini? I also find the '-userId DOMAIN\user' argument surprising. Normally jazz user ids do not include the domain. Is this actually how it's configured, e.g. if you open the user editor for that user?
If you specify them on the command line, be sure to add them after -vmargs, otherwise they'd get treated as program arguments instead of VM args.
Are you able to log in using the RTC Eclipse client, if you configure the proxy in the Network Connections preference page (using the same credentials as for the RTC repository?)
Hi Nick,
Yes, I did get clever and specified the proxy values in the jbe.ini
I have now tried putting them on the command line as well with the same result.
I thought that the DOMAIN\ part would be needed for the proxy. I have created user, DOMAIN\user and DOMAIN/user accounts in my repository and tried all three in the jbe args, all with the same result.
I'll try and get the eclipse client to connect now ...
Yes, I did get clever and specified the proxy values in the jbe.ini
I have now tried putting them on the command line as well with the same result.
I thought that the DOMAIN\ part would be needed for the proxy. I have created user, DOMAIN\user and DOMAIN/user accounts in my repository and tried all three in the jbe args, all with the same result.
I'll try and get the eclipse client to connect now ...
The bafflement continues..!
Our network uses a pac file to distribute proxy information to the masses. So after faffing with various manual entries in the proxy section of the eclipse configuration I eventuall tried this ... http://cateof.wordpress.com/2010/01/15/eclipse-galileo-proxy-problem-workaround-solution/
which offered no improvement but also nothing new.
In all cases, I can access the repo using firefox and even to an extent the internal browser in eclipse but I am unable to add it as a repository. It either times out or is simply unable to resolve the hostname.
Robin
Our network uses a pac file to distribute proxy information to the masses. So after faffing with various manual entries in the proxy section of the eclipse configuration I eventuall tried this ... http://cateof.wordpress.com/2010/01/15/eclipse-galileo-proxy-problem-workaround-solution/
which offered no improvement but also nothing new.
In all cases, I can access the repo using firefox and even to an extent the internal browser in eclipse but I am unable to add it as a repository. It either times out or is simply unable to resolve the hostname.
Robin
Hi Nick,
Sure.
Here's the jbe command:
jbe -vm "\Program Files\IBM\TeamConcert\jdk\bin\java" -repository https://repohost:9443/jazz -userId username -pass password -engineId engine1 -verbose
And the jbe.ini:
-vm
C:\Program Files\IBM\TeamConcert\jdk\jre/bin
--launcher.suppressErrors
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhttps.proxyHost=https://proxyhostname
-Dhttps.proxyPort=proxyportnumber
Sure.
Here's the jbe command:
jbe -vm "\Program Files\IBM\TeamConcert\jdk\bin\java" -repository https://repohost:9443/jazz -userId username -pass password -engineId engine1 -verbose
And the jbe.ini:
-vm
C:\Program Files\IBM\TeamConcert\jdk\jre/bin
--launcher.suppressErrors
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhttps.proxyHost=https://proxyhostname
-Dhttps.proxyPort=proxyportnumber
page 1of 1 pagesof 2 pages