This package contains the scripts and config information for the multi facility build and deploy process.
- There main script is
cram; a simple controller that calls other scripts.
- 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.
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.
-
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.
-
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>.