LCLS How-To Release Software
...
LCLS Code Management
...
/<version> |
EPICS Site | epics/site/src | /afs/slac/g/lcls/epics/<version>/modules |
EPICS Base | epics/base | /afs/slac/g/lcls/epics/<version>/base |
/<versions>extensions-<version> * * | Reference Directory |
EDM Configuration Files | tools/edm/config | /afs/slac/g/lcls/tools/edm/config |
EDM Displays | tools/edm/display | /afs/slac/g/lcls/tools/edm/display |
EDM Scripts | tools/edm/scripts | /afs/slac/g/lcls/tools/edm/script |
Alarm Handler Configuration Files | tools/alh | afs/slac/g/lcls/tools/alh/config |
Channel Watcher Configuration Files | tools/ChannelWatcher | afs/slac/g/lcls/tools/ChannelWatcher/config |
PLC Applications | plc | /afs/slac/g/lcls/plc |
Firmware | firmware | /afs/slac/g/lcls/firmware |
Note: PLC applications are generated on windows machines. See subsystem controls engineer for details
...
- Change directory to your local sandbox
- Use eco to checkout software from cvs, or do it manually cvs co -d <directory> <module name>name>
- modify software
- if applicable, build your application to verify that the build is successfully.
- test your changes in developmentif possible test your changes in production
- if ready to , commit your changes to CVS, edit making sure to edit the RELEASE_NOTES file to prepare for the tagged release.NOTES describing the changes made
- Tag your release.
- Use cram push your application to production
Step 3: Importing new software into CVS:
...
Step 8: Backout out a Release
- cd $EPICS_IOCS/<nodename>
- for hard iocs: mv startup.cmd to st.cmd_new and ~mv red:startup.cmd_bck startup.cmd~
- for soft iocs: mv st.cmd to st.cmd_new and mv st.cmd_bck to st.cmd
- Reboot your ioc.
- Send a message to controls-software-release.
- Ask ops permission to back out you release
- Send a message to the MCC E-log
- From lcls-dev2, use CRAM to backout your release. Note: From lcls-dev2, type cram --revert or cram --upgrade for help
- Reboot your ioc from the production network panel.
Step 9: Preliminary checkout in Production
Check for duplicate PV usng dupePVs.bashStep 9: Before Exporting Software to Production System
Check duplicate PV before exporting software to production system
for ALL iocs: use the dupePVs.bash iocname
Examples:
1) get usage
dupePVs.bash -h
2) check all iocs found in $IOC
dupePVs.bash
3) check all eioc's
dupePVs.bash eioc
4) check all iocs with mg in the name
dupePVs.bash mg
5) check all soft magnet IOCs
dupePVs.bash sioc-.*-mg01
Step 10: Exporting Software to Production System
...
You are ready to export your softwthe production host, opi00gtw03.
From lcls-prod02:
- ssh iocegr@lcls-builder or ssh physics@lcls-srv01
- export CVSROOT=:ext:luchini@lcls-prod02:/afs/slac/g/lcls/cvs
Note: replace the username "luchini" with your own unix username
For EPICS IOC applications:
software to production.
For EPICS IOC Applications:
- If your application is CRAMmed from lcls-dev2:
- cd to TOP of your Application
- cram push
- Otherwise,
- ssh to the production machine shared account, may need to hope to lcls-prod02 first
- cd $EPICS_IOC_TOP/
<subsystem> - cvs co -d Laser-R1-0-0 -r Laser-R1-0-0 Laser
- cd Laser-R1-0-0/configure
Edit RELEASE file and replace path /afs/slac/g/lcls with /user/local/lcls/
- <Application>
- Use eco to checkout your application
- cd to the TOP of your release
- build your application by typeing "make"
- cd ..
- gmake
- cd $EPICS_IOCS/<nodename>
- For hard iocs
cp - cp -p startup.cmd startup.cmd_bckup
and the edit - edit startup.cmd file and point to the new tagged release
- For soft iocs
- mv bin bin_bckup
and - ln -s ../../iocTop/<subsystem>/<tagged-version>/bin/<OS> bin
Reboot ioc, after mcc has granted permission.-
- Enter a log in the operations elog book by sending email to controls-software-release
- Reboot ioc from network panel, after mcc has granted permission.
Matlab Programs Released to Production:
Step 11: Export ChannelWatcher Config Files
(see the example below)
- ssh iocegr@lcls-builder or ssh physics@lcls-srv01
- export CVSROOT=:ext:luchini@lcls-prod02:/afs/slac/g/lcls/cvs
- cd $TOOLS/ChannelWatcher/config
- cvs update <filename>
- ssh laci@lcls-daemon1
- cd /etc/init.d
- ./st.cw<Subsystem> restart ex) st.cwMG for Magnets
- logout
- Note: if you have the Message Logger up (from lclshome) note the number of pv's that failed to connect to ChannelWatcher.
- Enter a message in the operation elog book by sending email to controls-software-release.