It's all about the answers!

Ask a question

jbe with proxy authentication


Robin Parker (32633739) | asked Dec 13 '10, 11:32 a.m.
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

19 answers



permanent link
Nick Edgar (6.5k711) | answered Dec 14 '10, 10:46 a.m.
JAZZ DEVELOPER
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.

permanent link
Robin Parker (32633739) | answered Dec 15 '10, 4:58 a.m.
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

permanent link
Robin Parker (32633739) | answered Dec 15 '10, 5:16 a.m.
Actually, thinking this through, it's just the one user for our purposes.

We will have multiple jbe processes but they can all log in to the repository as the same user so we only need to keep that one user matching the domain credentials so it's not as bad as I had originally thought.

R

permanent link
Robin Parker (32633739) | answered Dec 15 '10, 10:09 a.m.
Hi all,

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

permanent link
Robin Parker (32633739) | answered Dec 15 '10, 10:10 a.m.
I forgot to mention that I can access this repository over the web using Firefox and this proxy server....

R

permanent link
Nick Edgar (6.5k711) | answered Dec 15 '10, 5:07 p.m.
JAZZ DEVELOPER
> 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?)

permanent link
Robin Parker (32633739) | answered Dec 16 '10, 5:26 a.m.
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 ...

permanent link
Robin Parker (32633739) | answered Dec 16 '10, 6:36 a.m.
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

permanent link
Nick Edgar (6.5k711) | answered Dec 16 '10, 11:01 a.m.
JAZZ DEVELOPER
Can you paste the full command line you're now using, and the jbe.ini? Feel free to block out any confidential bits, of course.

permanent link
Robin Parker (32633739) | answered Dec 17 '10, 8:15 a.m.
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

Your answer


Register or to post your answer.


Dashboards and work items are no longer publicly available, so some links may be invalid. We now provide similar information through other means. Learn more here.