CHECKLIST PLANNING: POTENTIAL PV NAMING PROBLEMS TO LOOK OUT FOR: ------------------------------------------------------- - device-level summary PV duplicate if a device name is used in > 1 subsystem in alh, the device-level group and summary PV name will be duplicated. Need to modify the device-level summary names to avoid name collision (i.e. add subsystem name.) See EVG IOC device-level summaries for an example, with names changed to avoid collision with NTWK, and TEMP device-level summaries with names changed to avoid collision with MGNT. - top-level summary PV duplicate if: * device type = a subsystem name (e.g. MPS, or BCS) * area = one of the alarming areas in lclshome (in20Gr, li22) * unit number = 1 the device-level summary PV name will be equal to the device-top-level summary PV name. Need to modify the name at the device level to avoid collision (see MPS PVs in the vacuum subsystem, or BCS:LI24:1 device in the BCS subsystem) - if operating on CRATes, beware of generation of "FPFP" forcePVs, because of the CRAT summary PV names check for FPFP and change to FP ------------------------------------------------------- ALH (work area: ~/jrock/tools/alh/config/sandbox) *.alhConfig modify/create alhConfig files modify top-level alhConfig files as necessary test with lclsalhTEST script configs in /home/jrock/tools/alh/config/configtest copy to /home/jrock/tools/alh/config cvs add/commit in prod area, mkdir SAVEmmddyyyy directory, and copy in *.alhConfig to save the previous release (will eventually want to create tagged release for this too!) cvs update alhConfig files in prod area run lclsalh to view/verify mods in gui copy alh configs from prod into the DAEMON directory, and copy in files from the specialFiles directory (special configs for the daemon) restart alh logging daemon on lcls-daemon1 (cmlog to verify output) IOC (work area: ~/jrock/lcls/epics/ioc/alhPVApp/Db) *.db, *.template in /home/jrock/tools/alh/config/sandbox, use helper scripts to create the set of files for the IOC applications (or, modify manually) modify/create FORCEPV templates modify/create summary PV databases modify toplevel summary PV databases as needed ** FOR li20-li30 alarm trees, see "ADDITIONAL STUFF FOR LINAC UPGRADE SECTORS (li20-li30; sioc-sys0-al03, 04)" below cp *.db and *.template /home/jrock/epics/ioc...../Db (can shortcut by copying directly to Alarms/Development/Db on prod and cvs from there...) modify Makefile cvs add when appropriate try make modify relevant st.cmd for sioc-sys0-al00 - 06 in ~/jrock area if relevant Watcher change: modify st.cmd for sioc-sys0-al02 in ~/jrock area when ready MAKE TAGGED RELEASE cd ~/jrock/epics/ioc/Alarms, or wherever the dev has occurred (~jrock) make clean uninstall cvs commit cvs tag Alarms-R1-x-y test on dev: ------------ logged into lcls-dev2 cd $EPICS_IOC_TOP/Alarms cvs co -d Alarms-R1-x-y -r Alarms-R1-x-y Alarms cd Alarms-R-x-y make cd $IOC/sioc-sys0-al0d - 6d change bin link and startup.cmd to point to new release directory boot the IOC (iocConsole, or bin/alhPV st.cmd) and check for boot errors. also, test with new lclshome on dev, and make sure there are no white boxes! if errors found, can correct and add the changed files to the tagged release using tag FORCE: cd ~/jrock/epics/ioc/Alarms, or wherever the dev has occurred (~jrock) make clean uninstall cvs commit cvs tag -F Alarms-R1-x-y release to prod: ---------------- logged into lcls-builder as softegr cd /usr/local/lcls/epics/iocTop/Alarms cvs co -d Alarms-Rn-x-y -r Alarms-Rn-x-y Alarms cd Alarms-Rn-x-y make cd $IOC/sioc-sys0-al00 - 06 as needed change bin link and startup.cmd to point to new release directory SEND E-MAIL to controls-software-release to warn of reboot reboot relevant IOC(s): al00 - 06; verify boot(s) ok. *** CHECK FOR DUPLICATE PVs USING dupePVs.bash sioc-sys0-al0* fix immediately if any found. Will hose channel watcher and the alh daemon process (i.e. can't write to cmlog and s/r files, etc.) CW (work area: ~/jrock/tools/ChannelWatcher/config) in /home/jrock/tools/alh/config/sandbox create file of FORCEPV additions to cw modify SIOC-SYS0-AL00 - 06.cwConfig cvs commit cvs update to prod /usr/local/lcls/tools/ChannelWatcher/config restart AL (cwAL) Channel Watcher on lcls-daemon1 verify that $LCDATA/epics/ioc/data/sioc-sys0-al00/SIOC-SYS0-AL0x.sav has new channels DISPLAYS (work area: ~/jrock/tools/edm/display/lcls) if a top-level summary for lclshome was added or modified: modify lcls_main.edl modify lcls_alarm_summary.cud modify watcher_test.edl (and ask Robin to modify watcher CUD) test, including test of FORCEPVs and "*" IF POSSIBLE... cvs commit cvs update in prod: /usr/local/lcls/tools/edm/display/lcls restart lcls_alarm_summary.cud and other lclshome displays in control room SEND e-mail TO RESTART lclshome displays to pick up changes. ADDITIONAL STUFF FOR LINAC UPGRADE SECTORS (li20-li30; sioc-sys0-al03, 04) -------------------------------------------------------------------------- I. Switch to new, mods to existing files: 1. Modify set of alhFP_*.template files to add the IOCMODEPV macro to each line, and instantiate alhDEVLPV.db instead of alhFORCEPV.db. Set of files is defined in an IOC's st.cmd file. First, do makeForcePVdbTemplates.pl, as usual Then for any templates in LI20 - LI30 do ./changeLUTemplates.pl -fix ALRM:CONSTPV:ZEROAL *.template (where * would be a .template for for li20-li30) to add the extra macro, and change the .db file. FOR non-LU PVs, use this: ALRM:CONSTPV:ZEROAL FOR LU PVs, use the appropriate IOC mode PV II. run makeForcePVcw.pl with additional DV parameter to add DV to the CW config files, along with the usual FP: normal: ./makeForcePVcw.pl -fix FORcw ntwk_li24_crat.alhConfig with DV's too (li20-li30): ./makeForcePVcw.pl DV -fix FORcw ntwk_li24_crat.alhConfig (so will create separate FORcw files for LU alhConfigs and non-LU alhConfigs)