Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 328831 - test cvs repo for Eclipse platform CVS JUnit tests
Summary: test cvs repo for Eclipse platform CVS JUnit tests
Status: RESOLVED FIXED
Alias: None
Product: Community
Classification: Eclipse Foundation
Component: CI-Jenkins (show other bugs)
Version: unspecified   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Eclipse Webmaster CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: 295393
  Show dependency tree
 
Reported: 2010-10-27 10:16 EDT by Kim Moir CLA
Modified: 2010-12-22 09:32 EST (History)
0 users

See Also:


Attachments
patch (848 bytes, patch)
2010-12-13 17:10 EST, Kim Moir CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Kim Moir CLA 2010-10-27 10:16:29 EDT
I've successfully run our JUnit tests on the Windows 7 slave at the foundation.  (bug 295393). There are a few failures including some CVS JUnit tests.  Today, with our IBM test machines, we have a test CVS repo to allow our workspace team to run the JUnit tests for the CVS component.  Basically they just connect to this repo via authenticated pserver to create, modify and delete files in the repository.  I have cron scripts which clean up the repository every week.  The repository.properties file is updated with a authentication credentials to access the repository from a private location

http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.team.tests.cvs.core/repository.properties?view=markup

This bug is to request a similar test server at eclipse.org.  Of course, it would be separate from the real cvs repos at eclipse and access should be limited to the hudson servers ip addresses.

http://wiki.eclipse.org/Platform-releng-cvs-tests
Comment 1 Eclipse Webmaster CLA 2010-10-28 15:42:49 EDT
Are there any issues with running this on the Hudson server itself?

-M.
Comment 2 Kim Moir CLA 2010-10-28 16:27:42 EDT
no, I just need a repo to connect to :-)
Comment 3 Eclipse Webmaster CLA 2010-10-29 15:04:50 EDT
Ok I've created a CVS repo on hudson.eclipse.org, /cvs/org.eclipse.test.  I'll send you the user and password separately.

-M.
Comment 4 Kim Moir CLA 2010-11-12 15:15:30 EST
I used your suggestion to store the credential information.  Now I get this error message when running the cvs tests on the hudson slave.  

Error Message

Could not connect to :pserver:hudsontest@hudson.eclipse.org:/cvs/org.eclipse.tests: I/O exception occurred: ProxyHTTP: java.io.IOException: proxy error: Forbidden

Stacktrace

org.eclipse.team.internal.ccvs.core.connection.CVSCommunicationException: Could not connect to :pserver:hudsontest@hudson.eclipse.org:/cvs/org.eclipse.tests: I/O exception occurred: ProxyHTTP: java.io.IOException: proxy error: Forbidden
 
see
https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/121/testReport/org.eclipse.team.tests.ccvs.core/CVSTestSetup/unknown/
Comment 5 Eclipse Webmaster CLA 2010-11-17 14:00:25 EST
I'm unable to replicate this on the command line, or with my own test job.

But based on the error it sure looks like the CVS connection is trying to use the proxy, which it shouldn't as the exception list should be *.eclipse.org.

-M.
Comment 6 Kim Moir CLA 2010-11-19 15:03:10 EST
If you look at the log here, I'm still seeing the problem.  

https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ws/ws/2010-11-19_14-53-14/eclipse-testing/linux.gtk-6.0_consolelog.txt

You can try to run the https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ build and you'lll see the same issue again.

I'm using hudson.eclipse.org as the hostname so I don't see why it would be using a proxy.
Comment 7 Eclipse Webmaster CLA 2010-11-26 15:14:38 EST
I'm running the build but is there a way you can help me narrow the search to just a specific test we can run?

-M.
Comment 8 Kim Moir CLA 2010-11-26 15:20:06 EST
Sorry, I was testing stuff yesterday and was running all the tests.  Let me change it again so it only runs the cvs tests.
Comment 9 Kim Moir CLA 2010-11-26 15:36:46 EST
Okay I just ran it with only CVS tests.  See https://hudson.eclipse.org/hudson/job/eclipse-JUnit-Linux/

You can run it again and it will only run that suite.
Comment 10 Eclipse Webmaster CLA 2010-11-26 15:57:11 EST
Thanks.

Well it sure looks like it's trying to connect via the proxy (from the logs):

hudson-slave2 - - [26/Nov/2010:15:49:23 -0500] "CONNECT hudson.eclipse.org:2401 HTTP/1.0" 403 1041 "-" "-"
hudson-slave2 - - [26/Nov/2010:15:49:23 -0500] "CONNECT hudson.eclipse.org:2401 HTTP/1.0" 403 1041 "-" "-"
hudson-slave2 - - [26/Nov/2010:15:49:32 -0500] "CONNECT hudson.eclipse.org:2401 HTTP/1.0" 403 1041 "-" "-"
hudson-slave2 - - [26/Nov/2010:15:49:33 -0500] "CONNECT hudson.eclipse.org:2401 HTTP/1.0" 403 1041 "-" "-"

Is there a way I can run this test on the command line with some kind of debug flag so we can check what the environment looks like?

-M.
Comment 11 Kim Moir CLA 2010-11-26 16:11:54 EST
No debug mode per say.  

I just added -v for verbose to the ant call to run the script.  You can also look at the log here....

https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ws/ws/2010-11-26_16-04-31/eclipse-testing/linux.gtk-6.0_consolelog.txt

If you wanted to find out the value of some env variables you could add echo statements to the execute shell portion of the job.
Comment 12 Eclipse Webmaster CLA 2010-12-02 14:46:27 EST
I created a simple ant task to try and replicate this, but it seems to work just fine.

Here's the task:

<?xml version="1.0"?>
<project name="test-cvs" default="checkout" basedir=".">
  <property name="cvsroot" value=":pserver:hudsontest@hudson.eclipse.org:/cvs/org.eclipse.tests" />
  <target name="checkout"
    <echo message="Checking out the required  sources from CVS"/>

    <cvs cvsroot="${cvsroot}"
         command="login "
         />
    <cvs cvsroot="${cvsroot}"
         command="co test "
         />
  </target>
</project>

Using the -v flag with ant(1.7.1) shows me the environment seems to be set correctly.

-M
Comment 13 Kim Moir CLA 2010-12-02 15:59:47 EST
Did you run this on one of the slaves?  If so, could you also write to the repo?
Comment 14 Eclipse Webmaster CLA 2010-12-02 16:20:32 EST
I'm running it on slave2 as the hudson user (from the command line).  I also tried it from the matt_test(https://hudson.eclipse.org/hudson/job/matt_test/23/console) job and it seemed happy.

You'll need to give me some pointers on getting the job to commit something back to the repository(like how best to call mv or cp or vi ).

It's possible my test is to 'simple' to accurately replicate what your build is doing.

-M.
Comment 15 Kim Moir CLA 2010-12-02 16:51:59 EST
Yes, I also wonder if there is an issue because there are a lot of files created on the filesystem at once with the cvs tests.  Are there any firewall rules between the slaves that would cause connectionc to time out due to lots of traffic from a single ip?
Comment 16 Kim Moir CLA 2010-12-03 16:45:44 EST
Can you give me admin rights on your job and I can modify it to run the entire test suite by just fetching a few zips and running a shell script?
Comment 17 Eclipse Webmaster CLA 2010-12-06 09:42:21 EST
I've added you to the test job.

I'm not aware of any firewall rules that 'discriminate' based on traffic levels.  

It's possible the servers service limit is being reached, but since your test is the only one I know of that uses this repository I'd be surprised if that was the problem.

-M.
Comment 18 Kim Moir CLA 2010-12-07 15:27:53 EST
You can run the matt-test build now and replicate the error.  For instance 

https://hudson.eclipse.org/hudson/job/matt_test/54/testReport/junit/org.eclipse.team.tests.ccvs.core/CVSTestSetup/unknown/
Comment 19 Eclipse Webmaster CLA 2010-12-13 17:00:17 EST
Ok, so it looks like the job is detecting the 'no_proxy' environment variable, but using either eclipse.org or .eclipse.org don't seem to exclude hudson.eclipse.org services from being requested via the proxy.

If I update runtests.sh to explicitly exclude hudson.eclipse.org it seems to be happy( https://hudson.eclipse.org/hudson/job/matt_test/60/console )

Can you try using the following set command(in either run tests or the hudson shell script) on your build to see if it resolve the issue?

export no_proxy=localhost,dev.eclipse.org,hudson.eclipse.org

If it works I can update the global settings to reflect this but I'll need to restart hudson and the slaves for it to take effect.

-M.
Comment 20 Kim Moir CLA 2010-12-13 17:10:51 EST
Created attachment 185095 [details]
patch
Comment 21 Kim Moir CLA 2010-12-13 17:11:32 EST
Thanks Matt, I'll run a test build for this once my existing Hudson test build has finished (testing some other bugs right now).
Comment 22 Kim Moir CLA 2010-12-22 09:32:43 EST
Thanks this seems to have resolved the issue.