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>
.