Quick Start
1) Log-in on the appropriate machine.
old location: cdfprd@fncdfsrv0.fnal.gov
new location: cdfprd@fcdflnx4(Doesn't work!)
kinit USERNAME_aris
ssh cdfprd@fncdfsrv0.fnal.gov
2) Create/update configuration files
cd ~/ProdConfig
______________________________________________________________________________
Configuration file structure:
farm.ProductionExe_$pass_$stream
For example: stream B, pass 0m
farm.ProductionExe_0m_bphysr
Inside configuration file there are families of parameters for different jobs.
Project.* DatasetCreator.* CronSubmit.* MergeSubmit.* SamStore.*_______________________________________________________________________________
3) Create output directories on concatenation servers
List of concatenation servers:
fncdfsrv15,16,17,18,31,32,33,34,35
i) Login to project server (i.e.fncdfsrv31)
ssh cdfprd@fncdfsrv13.fnal.gov
cd /export/stage/
ii) Run scripts
$ ~/testRel/production_6.1.4/cdfprd/gen/init_directories ProductionExe_0m_bphysr 0m bphysr
(Change 0m and bphysr depending on the corresponding pass and stream)
4) Update Metalia bookkeeping (Create Metalia directories for each stream)
For example, for stream B:
cdfprd@fncdfsrv0:~/Projects]$ mkdir ProductionExe_0k_bphysr cd ProductionExe_0k_bphysr mkdir Metalia mkdir logs
Metalia bookkeeping files keep the track of processed files. The names of production output files can be derived from production input files, for each output file SAM metadata are created upon the output file is copied to the concatenation server. There is a cron job for each production projects that periodically updates Metalia files according to the database records about output files. CronSubmit? script that submits production jobs submits only jobs for input files that have unprocessed files in the Metalia file. Metalia files are created using DatasetCreator? script.
5) Run DatasetCreator
cdfprd@fncdfsrv0:~/testRel/production_6.1.4]$ source_me $ ./cdfprd/DatasetCreator/datasetCreator.sh -x THE_PROJECT=ProductionExe_0m_bphysr -x DOIT=1 $ ./cdfprd/DatasetCreator/datasetCreator.sh -x THE_PROJECT=ProductionExe_0m_cphysr -x DOIT=1 $ ./cdfprd/DatasetCreator/datasetCreator.sh -x THE_PROJECT=ProductionExe_0m_ephysr -x DOIT=1 $ ./cdfprd/DatasetCreator/datasetCreator.sh -x THE_PROJECT=ProductionExe_0m_gphysr -x DOIT=1 $ ./cdfprd/DatasetCreator/datasetCreator.sh -x THE_PROJECT=ProductionExe_0m_hphysr -x DOIT=1 $ ./cdfprd/DatasetCreator/datasetCreator.sh -x THE_PROJECT=ProductionExe_0m_jphysr -x DOIT=1
- The result of DatasetCreator? is a configuration file:
Example: /home/cdfprd/Projects/ProductionExe_0m_bphysr/Metalia/ProductionExe_0m_bphysr.confThe bookkeeping files are created upon the first submission of production job, one file for run/run range in the same directory.
Clean up after production period
- before clean up be sure that severe error summary is updated (instructions)
- Clean up past production log files from output directories on concatenation servers. It is best to delete directories after backing up log files. tar directories and move them to cdfprd@fncdfsrv0:/cdf/proj/127.prod_log/Archive
- ssh into the production concatenation server
- Stop all cronjobs for the project (production/concatenation/upload)
HOW TO EDIT CRONTAB EXAMPLE: ssh -l cdfprd fncdfsrv9 crontab -e
Remember, crontab is responsibility of a user and is not backed up. If unsure of yourself, save it to some file:
crontab -l >& my_crontab_copy.txt
- cd /export/stage/
- cd into the project directory
- tar up the logs, crashed and recovery directories,
- tar file name should contain stream name, period number, server name
- check that resulting tar file is meaninful and copy it to archive directory
EXAMPLE ssh -l cdfprd fncdfsrv9 cd /export/stage cd ProductionExe_0m_bphysr_P26 tar -czvf bphysr_P26_srv9.tgz ./crashed/* ./logs/* ./recovery/* scp bphysr_P26_srv9.tgz cdfprd@fncdfsrv0:/cdf/proj/127.prod_log/Archive/bphysr_P26_srv9.tgz
-
- remove the project directroy, example: "rm -rf ProductionExe_0j_gphysr/"
Prepare for the next production period
Create new output directories with latest production pass. Use script
- For example, for stream G (fncdfsrv13.fnal.gov)
- cd /export/stage/
- ~/testRel/production_6.1.4/cdfprd/gen/init_directories ProductionExe_0j_gphysr 0j gphysr
- check that directory and all sub directories of /export/stage/ProductionExe_0j_gphysr are present.
- Edit each project configuration page ( ~/ProdConfig/farm.$ProjectName )
- Include latest production tarball by placing it in the directory /home/cdfprd/Tarballs/, example: /home/cdfprd/Tarballs/ProductionExe_6.1.1c_f_p11_maxopt.tar.gz
- Create Metalia directories for output of DatasetCreator.
- Run DatasetCreator
Start running jobs
1) Edit crontab on fncdfsrv0.
crontab -e # create your entry