Below is the console output for a job I am trying to trigger off of AccuRev SCM changes. It’s not going very well.
By my understanding, the AccuRev plugin part of the job sets ACCUREV_HOME=$HOME/workspace, which I understand. However, it repeatedly tells me “Unable to create accurev resource directory” for “workspace/.accurev”. The directory “$HOME/workspace” is writable by the user (linuser2) and “$HOME/workspace.accurev” exists.
In fact, when I go to the command line (or even through Groovy Script Console on this node), I can run all these commands as I am still logged in.
At this point in time, this node is the only thing using the “Jenkins” login, so other jobs aren’t killing its login session. Any idea what’s happening?
Thanks in advance,
--Rob
Started by user anonymous
Building remotely on linuser2
Purging workspace...
Workspace purged.
[CI_vap_BRI_random_changes] $ /usr/bin/accurev info -H accurev1:5050
Unable to create accurev resource directory.
Location: workspace/.accurev.
Shell: /bin/bash
Principal: (not logged in)
Host: l-rmandevi-ws490
Domain: (none)
Server name: accurev1
Port: 5050
ACCUREV_BIN: /opt/accurev/bin
Client time: 2011/06/06 10:35:08 EDT (1307370908)
Server time: 2011/06/06 10:35:08 EDT (1307370908)
Currently authenticated with Accurev server as '(not', login required
Authenticating with Accurev server...
[CI_vap_BRI_random_changes] $ /usr/bin/accurev login -H accurev1:5050 -n jenkins ********
Authentication completed successfully.
Getting a list of streams...
[CI_vap_BRI_random_changes] $ /usr/bin/accurev show -H accurev1:5050 -fx -p vap streams
FATAL: Unable to create accurev resource directory.
Location: workspace/.accurev.
Not authenticated. Please use the 'login' command to authenticate.
FATAL: Show streams command (/usr/bin/accurev show -H accurev1:5050 -fx -p vap streams) failed with exit code 1
Getting a list of workspaces...
[CI_vap_BRI_random_changes] $ /usr/bin/accurev show -H accurev1:5050 -fx -p vap wspaces
FATAL: Unable to create accurev resource directory.
Location: workspace/.accurev.
Not authenticated. Please use the 'login' command to authenticate.
FATAL: Show workspaces command (/usr/bin/accurev show -H accurev1:5050 -fx -p vap wspaces) failed with exit code 1
FATAL: Cannot determine workspace configuration information
Finished: FAILURE
Hi Rob,
Which version are you using of the AccuRev plugin? There have been some improvements lately.
On our slaves and on our master this hidden .accurev folder is located in the user directory of the account under which Jenkins is running. In this special folder AccuRev stores its preferences and the session token. None of the “job workspaces” has nor needs this folder since it is in the user home directory.
Are you using different users for Jenkins AccuRev plugin and the one you use to run from cli?
· Make an “accurev info“ on cli and compare this with the settings in Jenkins > Manage Jenkins > Configure System > AccuRev
Regards,
Robert
I’m using the AccuRev 0.6.15 plugin (the latest) with Jenkins 1.403 (not the latest).
I’m using the same user for the plugin and the CLI. The CLI establishes a .accurev directory in $HOME, while the plugin (as shown below) establishes a .accurev directory in $HOME/workspace.
--Rob
Found the problem. I wanted the workspace to own the entire account, so I set the workspace root directory to ‘.’. IIRC, setting it to $HOME actually set it to a directory with a dollar sign in it. Because I did this, the accurev login used ‘./workspace/.accurev’. When it did anything else, it was from another directory; so if it was sitting in $HOME/workspace, it would then assume that the directory it needed was $HOME/workspace/workspace/.accurev.
Setting the workspace root directory to the absolute path to the user directory fixed this.
Thanks for your help anyhow.
--Rob