This page says how to run your own stand alone run-number server. See also the general RunNumber information page.
---------- Forwarded message ---------- Date: Mon, 02 Apr 2007 16:59:09 +0200 From: Igor Soloviev To: Christopher Lester Subject: Re: I would like to start my own run-number server. Dear Christopher, Christopher Lester wrote: Dear Igor, I would like to do two things. Can you help? Sure. First of all have a look to the Run Number service release notes: https://pcatd12.cern.ch/cmt/releases/download/tdaq-01-07-00/RELEASE_NOTES.html#rn (1) I would like to start up my own run-number server in Cambridge (England) so that I can use tdaq-01-07-XX and the run-number service (only for SCT testing purposes) without an internet connection to CERN. What do I have to type to start one up ? You have to have any RDBMS running locally, that is supported by CORAL, i.e. Oracle, MySQL or SQLite. Honestly I tested Oracle only, so I cannot guaranty everything will work without fixes for MySQL or SQLite. 1) Create table to keep run numbers. There is bootstrap file for Oracle: $TDAQ_INST_PATH/../rn/src/create_db.sql For another RDBMS it should look like similar. For more examples of mappings between columns in Oracle, MySQL and SQLite see similar files for OKS: $TDAQ_INST_PATH/../oks/src/rlib/create_db.oracle.sql $TDAQ_INST_PATH/../oks/src/rlib/create_db.mysql.sql $TDAQ_INST_PATH/../oks/src/rlib/create_db.sqlite.sql 2) Create CORAL XML authentication file and put there account name and password, e.g.: bash$ cat /tmp/authentication.xml <?xml version="1.0" ?> <connectionlist> <connection name="oracle://name-of-my-oracle-server/RN"> <parameter name="user" value="X" /> <parameter name="password" value="Y" /> </connection> </connectionlist> Above: RN - connection logical name X - name of user account Y - password for above account Set CORAL_AUTH_PATH environment variable pointing to directory containing above file, e.g.: bash$ export CORAL_AUTH_PATH=/tmp 3) Set RDBMS-specific variables, e.g.: TNS_ADMIN for Oracle 4) Test how the rn package works, e.g. run rn_ls utility: rn_ls -c oracle://name-of-my-oracle-server/RN -w X If everything is OK, you will see empty table as result of output. 5) Set right runtime environment for LCG software. 6) Integrate RN service with root controller by setting in the OKS config database: a) right paths to LCG / RDBMS sw b) CORAL_AUTH_PATH variable pointing to your auth file c) any RDBMS-specific variables d) TDAQ_RUN_NUMBER_CONNECT variable = "sct-test:X:oracle://name-of-my-oracle-server/RN" This is all I can say. Let me know, if something is unclear or does not work as expected. (2) When the SCT is running at CERN, we somtimes do tests outside the Point 1 network, and sometimes we run inside the Point 1 network. For the standard run-number servers, can you please tell me : (a) the recommended "connect string" for running INSIDE point 1, and If you use setup segment for TDAQ release on point-1, then the environment should be already set into correct values, i.e.: [isolov@pc-tdq-onl-04] isolov > source /sw/tdaq/setup/setup_tdaq-01-07-00.sh Setting up TDAQ Common SW release "tdaq-common-01-05-00" Setting up DAQ SW release "tdaq-01-07-00" [isolov@pc-tdq-onl-04] isolov > export TDAQ_DB_DATA=1 # avoid substitution exception [isolov@pc-tdq-onl-04] isolov > dal_dump_apps -d oksconfig:daq/partitions/be_test.data.xml -p be_test -a RootController -s ... * TDAQ_RUN_NUMBER_CONNECT="point-1:atlas_oks_tdaq:oracle://atlas_oksprod/w" * TNS_ADMIN="/sw/oracle/admin" * CORAL_AUTH_PATH="/db/.adm/coral" ... (b) the recommended "connect string" for running OUTSIDE point 1. lxplus072$ dal_dump_apps -d oksconfig:daq/partitions/be_test.data.xml -p be_test -a RootController -s -c lxplus072.cern.ch ... * CORAL_AUTH_PATH="/afs/cern.ch/atlas/project/tdaq/cmt/tdaq-01-07-00/installed/databases/daq/sw/.coral" * TDAQ_RUN_NUMBER_CONNECT="nightly_check:onlcool:oracle://devdb10/tdaq_dev_backup" * TNS_ADMIN="/afs/cern.ch/project/oracle/admin" ... To have own run-number database you can to replace "nightly_check" in TDAQ_RUN_NUMBER_CONNECT by everything you like, e.g. by "sct". Do I need to do anything special to get read&write access to these databases, or are they world read/writeable? To write you need to have append permission. Both above setups point to accounts, which have it already granted. The data are readable by everybody. Cheers, Igor