HowTo: srm22 - Generating poolmanager.conf & LinkGroupAuthorization.conf

From Public PIC Wiki
Jump to navigation Jump to search

About this documentation

  • This documentation is PIC specific and requires the proper scripts and xsl/xml files.
  • If you are interested on this, please do not hesitate to contact us for requesting these files: services@support.pic.es

About srm22

  • srm22 is a software that can be found in the dccore server.
  • srm22 location by instance:
  • prod -> dccore.pic.es:/root/srm22
  • test -> dccore-test.pic.es:/root/srm22
  • dev -> dccore-dev.pic.es:/root/srm22
  • pps -> dccore-pps.pic.es:/root/srm22
  • srm22 content:
  • srm22-[prod|test|dev|pps].xml -> This is the file you'll need to edit
  • LinkGroupAuthorization.xsl -> Compiles srm22-[prod|test|dev|pps].xml to generate the LinkGroupAuthorization file, needed in the SRM node (i.e. srm.pic.es)
  • poolmanagerconfig.xsl -> Compiles srm22-[prod|test|dev|pps].xml to generate PoolManager.conf file, needed in the PoolManager node (i.e. dccore.pic.es)
  • propagarCanvis.sh -> This eases your life compiling files and copying them where they need to be.
  • historic -> In this directory you'll find old versions of the config files

Adding / Moving / Removing pools from poolgroups

  • Locate the poolgroup tag corresponding to the VO and add/remove the desired pools. For instance, for LHCb:
 <poolgroup name="pgroup-lhcb-ro"> 
 </poolgroup>
 <poolgroup name="pgroup-lhcb">
     <pool name="dc014_1"/> 

     <pool name="dc030_1"/> 
     <pool name="dc030_2"/> 
     <pool name="dc030_3"/> 
     <pool name="dc030_4"/> 

     <pool name="dc035_1"/> 

     <pool name="dc043_1"/> 
 </poolgroup>
  • Adding a new pool is as easy as making another pool name line with the right pool name.
  • Moving pools between poolgroups is the same. Just make sure the pool is empty before moving it, if not you might make a mess.

Advanced configuration: poolmanagerconfig.xsl

  • IMPORTANT: Do not edit this file unless is strictly necessary and you are 100% sure about what you are doing.
  • Editing poolmanagerconfig.xsl allows to configure advanced options for the PoolManager service. For instance, editing this file is needed in order to configure new Partition Managers (pm set command), the pool balance algorithm being used (i.e. WASS) or Cost Module options (cm set command), and so on.

Playing with PoolManager advanced configurations

Advanced Configuration Example: Creating a new Parition Manager

  • A new pm can be created in the poolmanagerconfig.xsl file
pm create -type=wass my_example
pm set my_example -idle=0.2 -p2p=90% -alert=2.0 -fallback=0.0 -movercostfactor=0.6 -stage-oncost=yes -max-copies=4 -slope=0.0 -stage-allowed=yes -stage-oncost=yes
  • And this can be called in the srm22-[prod|test|dev|pps].xml file by adding section="my_example" in any link tag where you want to use this pm. In example:
 <link name="link-example" ugroup1="ugroup-example" pgroup="pgroup-example" rp="10" wp="0" cp="15" pp="1" section="my_example"/>

Apply and propagate changes on srm22-[prod|test|dev|pps].xml

Check that changes are correct

  • You should run the command as follows: ./propagarCanvis.sh srm22-prod.xml
  • The command will provide a diff between the old poolmanager.conf file and the current configuration, but will not apply changes neither propagate them.
  • As an example:
[root@dccore01 srm22]# ./propagarCanvis.sh srm22-prod.xml 
diff /tmp/LinkGroupAuthorization.conf.temp /etc/dcache/LinkGroupAuthorization.conf

#############################################################################################

diff /tmp/poolmanager.conf.temp /var/lib/dcache/config/poolmanager.conf

Save + Propagate & Apply Changes

Save + Propagate

  • Once [[#Check_that_changes_are_correct|changes have been checked]] and everything looks correct, you can Save + Propagate changes.
  • Save + Propagate changes are done in the same action by running the command: ./propagarCanvis.sh srm22-prod.xml -yes (adding -yes at the end)
  • As an example:
[root@dccore01 srm22]# ./propagarCanvis.sh srm22-prod.xml -yes
LinkGroupAuthorization.conf                                                                                                                                          100% 1011     1.0KB/s   00:00    
Per fer efectius els canvis fer un 'reload -yes' al PoolManager@dccore.pic.es i un 'update link groups' a SrmSpaceManager@srm.pic.es
  • Save + Propagate changes make configuration changes in two dCache services:
  • PoolManager: Save + Apply writes the new Pool Manager configuration on the /var/lib/dcache/config/poolmanager.conf file
  • SrmSpaceManager: sends the LinkGroupAuthorization.conf file to the SrmSpaceManager server (i.e. srm.pic.es). This is written in /etc/dcache/LinkGroupAuthorization.conf by replacing the old version.

Apply Changes

  • Once Save + Propagate is being performed, we need apply changes to the PoolManager and to the SrmSpaceManager services:
  • PoolManager changes can be applied by:
  1. Logging to the Admin Console via SSH2: 'ssh -2 -x -o StrictHostKeyChecking=no -l admin -c blowfish -p 22224 dccore.pic.es
  2. Move to the PoolManager cell: cd PoolManager
  3. Reload the new configuration from the /var/lib/dcache/config/poolmanager.conf by running: reload -yes
  • SrmSpaceManager changes can be applied by:
  1. Logging to the Admin Console via SSH2: 'ssh -2 -x -o StrictHostKeyChecking=no -l admin -c blowfish -p 22224 dccore.pic.es
  2. Move to the PoolManager cell: cd SrmSpaceManager
  3. Reload the new configuration from the /etc/dcache/LinkGroupAuthorization.conf by running: update link groups