Multi-Facility Development, Build and Deployment System 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>.
Icon  Name                                     Last modified      Size  Description
[PARENTDIR] Parent Directory - [   ] Dev_cram_facility 2022-05-31 13:43 454 [   ] FACET_cram_facility 2022-05-31 13:43 456 [   ] LCLS_cram_facility 2022-05-31 13:43 455 [TXT] README.html 2022-05-31 13:43 1.7K [   ] RELEASE_NOTES 2022-09-02 15:40 1.4K [   ] SPEAR_cram_facility 2022-05-31 13:43 456 [   ] TestFac_cram_facility 2022-05-31 13:43 458 [   ] __init__.py 2022-05-31 13:43 0 [DIR] __pycache__/ 2022-11-15 15:18 - [   ] cacheConfig.py 2022-09-02 12:42 2.9K [   ] cacheConfig.pyc 2022-09-02 12:46 3.9K [   ] cdCommandsParser.py 2022-09-02 12:42 3.1K [   ] cdCommandsParser.pyc 2022-09-02 12:46 3.2K [   ] cpuEnvPathsParser.py 2022-09-02 12:42 3.3K [   ] cpuEnvPathsParser.pyc 2022-09-02 12:46 2.7K [   ] cram 2022-09-02 12:42 3.9K [   ] createLinuxRTCpu.py 2022-11-09 15:34 9.6K [   ] deleteRelease.py 2022-05-31 14:26 2.5K [   ] deleteRelease.pyc 2022-06-15 16:52 3.0K [   ] describeRelease.py 2022-10-18 11:49 2.5K [   ] describeRelease.pyc 2022-10-20 14:56 3.1K [DIR] docs/ 2022-05-31 13:43 - [   ] email.cfg 2022-05-31 13:43 274 [   ] envPathsParser.py 2022-09-02 12:42 2.7K [   ] envPathsParser.pyc 2022-09-02 12:46 2.5K [DIR] epicsCommandParsers/ 2022-09-02 12:46 - [   ] facilities.cfg 2022-05-31 13:43 4.5K [   ] facilities_test.cfg 2022-05-31 13:43 2.0K [   ] getIOCAtPort.py 2022-09-02 12:42 1.0K [   ] getIOCAtPort.pyc 2022-08-24 16:26 882 [   ] globals.py 2022-05-31 13:43 662 [   ] globals.pyc 2022-06-15 16:23 1.3K [   ] iocIsBorn.py 2022-05-31 13:43 82K [   ] iocIsBorn.pyc 2022-08-24 16:26 56K [   ] lintRelease.py 2022-09-02 12:42 9.2K [   ] lintRelease.pyc 2022-09-02 12:46 8.9K [   ] listCurrentReleases.py 2022-06-27 14:36 14K [   ] listCurrentReleases.pyc 2022-08-17 09:38 11K [   ] multi_facility_process_helper 2022-10-20 15:49 39K [   ] multi_facility_process_helper.py 2022-10-20 15:49 39K [   ] multi_facility_process_helper.pyc 2022-09-02 12:46 33K [   ] multi_facility_process_helper_client.py 2022-10-20 15:45 3.8K [   ] multi_facility_process_helper_client.pyc 2022-10-20 15:45 4.0K [   ] multiplePVGet.py 2022-05-31 15:03 1.2K [   ] multiplePVGet.pyc 2022-06-27 12:35 1.7K [   ] operator_revert_release.py 2022-09-02 12:42 9.4K [   ] prePostDeployTemplate.py 2022-05-31 13:43 511 [   ] pushRelease.py 2022-05-31 15:52 5.9K [   ] pushRelease.pyc 2022-06-27 12:35 5.3K [   ] revertRelease.py 2022-09-02 15:39 6.1K [   ] revertRelease.pyc 2022-09-30 10:10 5.8K [   ] runReleaseScript.py 2022-10-10 12:53 8.1K [   ] runReleaseScript.pyc 2022-09-30 10:13 7.1K [   ] runTests.py 2022-08-18 11:25 1.7K [TXT] sampleCDCommands.txt 2022-05-31 13:43 2.8K [TXT] sampleCPUEnvPaths.txt 2022-05-31 13:43 7.4K [TXT] sampleEnvPaths.txt 2022-05-31 13:43 1.3K [   ] sample_st.cmd 2022-05-31 13:43 1.2K [TXT] screeniocs.html 2022-05-31 13:43 8.7K [   ] showHistory.py 2022-10-10 12:53 3.8K [   ] showHistory.pyc 2022-09-30 08:59 4.3K [   ] sortScreenIOCS.py 2022-05-31 13:43 3.4K [   ] sortScreenIOCS.pyc 2022-08-24 16:26 2.3K [DIR] staticcontent/ 2022-05-31 13:43 - [   ] tables.py 2022-05-31 13:43 2.3K [   ] tables.pyc 2022-08-24 16:26 2.9K [DIR] templates/ 2022-05-31 13:43 - [   ] testDelete.py 2022-05-31 13:43 4.6K [   ] testDelete.pyc 2022-06-27 12:35 4.8K [   ] testFacilitiesConfig.py 2022-05-31 13:43 736 [   ] testFacilitiesConfig.pyc 2022-06-27 12:35 1.3K [   ] testLint.py 2022-05-31 16:06 5.9K [   ] testLint.pyc 2022-06-27 12:35 4.7K [   ] testMissingIOCTop.py 2022-06-01 09:14 21K [   ] testMissingIOCTop.pyc 2022-06-27 12:35 12K [   ] testParsing.py 2022-07-11 13:00 2.8K [   ] testParsing.pyc 2022-09-02 12:20 2.9K [   ] testProcessHelperIOCVersions.py 2022-05-31 16:09 9.9K [   ] testProcessHelperIOCVersions.pyc 2022-06-27 12:35 11K [   ] testPush.py 2022-05-31 16:16 22K [   ] testPush.pyc 2022-06-27 12:35 17K [   ] testRevert.py 2022-09-02 15:39 29K [   ] testRevert.pyc 2022-09-02 12:46 23K [   ] testRun.py 2022-05-31 16:19 13K [   ] testRun.pyc 2022-06-27 12:35 10K [   ] testUpgrade.py 2022-09-02 15:39 45K [   ] testUpgrade.pyc 2022-09-02 12:46 37K [   ] testUtils.py 2022-05-31 13:43 8.5K [   ] testUtils.pyc 2022-06-27 12:35 9.2K [   ] toolconfig.py 2022-05-31 16:26 6.7K [   ] toolconfig.pyc 2022-06-15 16:23 7.0K [   ] upgradeRelease.py 2022-10-10 12:53 19K [   ] upgradeRelease.pyc 2022-10-20 14:56 15K [   ] validateLinks.py 2022-05-31 16:35 8.3K [   ] validateLinks.pyc 2022-06-15 17:06 6.8K [DIR] wizardPy/ 2022-09-02 12:43 -