Your browser was unable to load all of the resources. They may have been blocked by your firewall, proxy or browser configuration.
Press Ctrl+F5 or Ctrl+Shift+R to have your browser try again.

Base ClearCase view stgloc #374

jgeorgeson ·
I'm using QuickBuild 1.2.12 with ClearCase 7.0, and am having trouble with using a view stgloc. I configured a view stgloc on our Net App so we can use the same setting for all CC configurations regardless of platform and build machine, and can create views with it. But when I specify that stgloc in a QB Configuration and try to run a simple checkout step, it fails with the error below. The same step works using en explicit path for view storage instead of a stgloc.


2008-05-09 11:09:23,169 [Thread-1416] INFO - Saving build status as running...
2008-05-09 11:09:23,174 [Thread-1416] INFO - Cleaning up checkouts...
2008-05-09 11:09:23,175 [Thread-1416] INFO - Validating steps...
2008-05-09 11:09:23,176 [Thread-1416] INFO - Triggering step "default".
2008-05-09 11:09:23,176 [Thread-1416] INFO - Checking necessary condition of step "default".
2008-05-09 11:09:23,178 [Thread-1416] INFO - Condition satisfied, running step "default".
2008-05-09 11:09:23,178 [Thread-1416] INFO - Triggering step "co-swdevkit".
2008-05-09 11:09:23,178 [Thread-1416] INFO - Checking necessary condition of step "co-swdevkit".
2008-05-09 11:09:23,178 [Thread-1416] INFO - Condition satisfied, running step "co-swdevkit".
2008-05-09 11:09:23,178 [Thread-1416] INFO - Check out artifacts from repository: swdevkit
2008-05-09 11:09:23,185 [Thread-1416] INFO - Set checkout information for new build.
2008-05-09 11:09:23,185 [Thread-1416] WARN - Head revision is not supported by repository type "com.pmease.quickbuild.repository.BaseClearcaseRepository", returning an empty string.
2008-05-09 11:09:23,293 [Thread-1418] WARN - cleartool: Error: View tag "QuickBuild.cayman.lgc.com.17": ClearCase object not found
2008-05-09 11:09:23,295 [Thread-1416] INFO - Delete Clearcase update logs...
2008-05-09 11:09:23,296 [Thread-1416] INFO - Failed to update config spec, try to re-create snapshot view...
2008-05-09 11:09:23,406 [Thread-1420] WARN - cleartool: Error: No matching entries found for view tag "QuickBuild.cayman.lgc.com.17".
2008-05-09 11:09:23,712 [Thread-1424] WARN - cleartool: Error: unable to set ownership of file /cm/viewstore/quickbuild/renobuild/checkouts.vws/.identity/group.1541: Operation not permitted
2008-05-09 11:09:23,760 [Thread-1424] WARN - cleartool: Error: Failed to set identity on view: Operation not permitted
2008-05-09 11:09:23,769 [Thread-1424] WARN - cleartool: Error: Unable to create view "/cm/viewstore/quickbuild/renobuild/checkouts.vws".
2008-05-09 11:09:23,776 [Thread-1416] ERROR - Step "co-swdevkit" is failed: ERROR: Failed to run command: Executing '/opt/rational/clearcase/bin/cleartool' with arguments:
'mkview'
'-snapshot'
'-tag'
'QuickBuild.cayman.lgc.com.17'
'-stgloc'
'quickbuild'
'/d01/QuickBuild/root/Justin/swdevkit/checkouts'

The ' characters around the executable and arguments are
not part of the command.
, returned code: 1
2008-05-09 11:09:23,777 [Thread-1416] ERROR - Step "default" is failed: Composite step "default" failed due to unsatisfication of step success condition.
2008-05-09 11:09:23,777 [Thread-1416] INFO - Finished triggering step "default". Saving build status based on triggering result...
2008-05-09 11:09:23,777 [Thread-1416] INFO - Build failed: 1.0.1
2008-05-09 11:09:23,777 [Thread-1416] INFO - Finishing build...
2008-05-09 11:09:23,777 [Thread-1416] INFO - Repository "swdevkit": build finished event received.
2008-05-09 11:09:23,777 [Thread-1416] INFO - Sending build notifications to subscribers...
2008-05-09 11:09:23,785 [Thread-1416] INFO - Build finished.
2008-05-09 11:09:23,785 [Thread-1416] INFO - Save build status as "failed".
  • replies 5
  • views 4330
  • stars 0
jgeorgeson ·
The problem was RPC's limit of 16 groups, and the account QB runs as has more than that. This workaround allows me to cherry-pick my groups using an environment variable

http://www-1.ibm.com/support/docview.ws ... wg21207807

I can set that CLEARCASE_GROUPS in the .bash_profile for the relevant account (although being able to set it in my build configuration in QB qould be preferable, can I set an environment variable from QB?). I should be able to set the "path to cleartool executable" field of the repository to "/opt/rational/clearcase/etc/utils/setgroup-swap cleartool" and be done, but QB throws an excetion "java.io.IOException: error=2, No such file or directory" and the checkout step fails. That file most certainly exists and I'm setting an absolute path, so it should find be able to run it.


renobuild:cayman:swdevkit$ ll /opt/rational/clearcase/etc/utils/setgroup-swap
-r-sr-xr-x 1 root root 7523 Dec 1 2005 /opt/rational/clearcase/etc/utils/setgroup-swap
jgeorgeson ·
I'm guessing the com.pmease.quickbuild.ant.MyExecTask class is being fooled by the space, it's looking for a file names "setgroup-swap cleartool". Maybe that class could try validating the first substring bound by a space if the whole string fails the check.

In the meantime I think Ican work around this by having a wrapper script that calls setgroup-swap cleartool.
robinshen ADMIN ·
Currently environment variable can only be set for a builder. Please consider submit feature request at jira.pmease.com to add environment variable support for checkout step.

I think using a wrapper script to call cleartool in this case is a better approach. As the "Path to cleartool executable" is all but an executable path, and you should not specify parameters in this property. If QuickBuild tries to execute the first part of the path if it fails to execute the full path, it could also cause potential problems that user could have specified a wrong full path , while the first path happens to be be a valid file. QB will execute a file the user does not want to.

Regards.
Robin
jgeorgeson ·
How about a checkbox to tell QB to use setgroup-swap for the cleartool command?
robinshen ADMIN ·
Sounds like a feasible solution. I see you've submit the feature request, and it will be implemented in QuickBuild 2.0

Thanks.
Robin