This package contains the scripts and config information for the multi facility build and deploy process.
  1. There main script is cram; a simple controller that calls other scripts.
  2. To run the unit tests, check this out in your workspace on lcls-dev2 and then run ./runTests.py The unit tests use a special facilities.cfg called facilities_test.cfg that creates installs in /tmp. If you Ctrl-C the unit tests, you'll need to clean up folders in /tmp. You can run individual unit tests using ./runTests.py --tests testProcessHelperIOCVersions.
  3. cram consists of a small server part multi_facility_process_helper.py that supports well defined functionality. Communication between the client portions and the server is JSON over SSH.
  4. If you see ValueError: No JSON object could be decoded exceptions, this typically means that the server part threw an exception. Run the same command with a -v argument and you should see the detailed client-server communication.
  5. Deploy cram using cram. cram is stored in git under /afs/slac/g/cd/swe/git/repos/tools/multi_facility_deploy.git. Remember when you do a git clone, you are getting the entire repo. You'll need to switch to a tag using git checkout <tag>.