== How to Run Inventory == To run inventory preform the following: From repository1:: 1. Goto the tfptboot directory and make a symbolic link for the appropriate domain {{{ root@repository1:~# cd /tftpboot/pxelinux.cfg/ root@repository1:/tftpboot/pxelinux.cfg# ln -s inventory-nb-grid 0A0A }}} || '''HEX''' || '''Domain''' || || 0A0A || Grid || || 0A0B || SB1 || || 0A0C || SB2 || || 0A0D || SB3 || || 0A0E || SB4 || || 0A0F || SB5 || || 0A10 || SB6 || || 0A11 || SB7 || || 0A12 || SB8 || || 0A13 || SB9 || || 0A28 || Outdoor || 2. goto the /export/nfsroot/etc/resolvconf/resolv.conf.d and make a symbolic link to head for the proper domain e.g. for grid: {{{ cd /export/nfsroot/etc/resolvconf/resolv.conf.d root@repository1:/export/nfsroot/etc/resolvconf/resolv.conf.d# ln -s head.grid head }}} for sb1: {{{ cd /export/nfsroot/etc/resolvconf/resolv.conf.d root@repository1:/export/nfsroot/etc/resolvconf/resolv.conf.d# ln -s head.sb1 head }}} 3. '''If you are inventorying grid:''' As root run the run_inventory script: {{{ root@console.grid:~# cd /root/inventory/ root@console.grid:/root/inventory# ./run_inventory.rb }}} Starting Output will look like: {{{ root@console.grid:/root/inventory# ./run_inventory.rb /usr/lib/ruby/vendor_ruby/restclient/response.rb:11: warning: method redefined; discarding old body I, [2013-06-26T16:55:18.502861 #30052] INFO -- : Database: Restfull DB connected to http://internal1.orbit-lab.org:5054/inventory/ =================== grid.orbit-lab.org ==================== =================== First pass ==================== Turning off 400 nodes Sleep for a minute Turning on 400 nodes Give it 900 to collect . . . }}} This script will take 45 minutes to run. '''If you are inventorying a sandbox:''' 1. Turn on (or restart) all nodes, so the boot into the inventory pxe-image 1. Check the inventory page for the sandbox you are inventorying, e.g. for sandbox9: {{{ http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb9.orbit-lab.org* }}} 1. Wait until all the nodes check in, then proceed to next step. From repository1:: 4. '''Break the link''' if this is not done the next person to use the grid will have a bad time. {{{ rm 0A0A }}} 5. Update the inventory service "domain topology" cache (which nodes belong to what testbeds) by visiting the following URL: {{{ http://internal1.orbit-lab.org:5054/inventory/update_cache }}} From internal1:: 6. run the ruby scripts: {{{ root@internal1:~# cd /usr/share/omf-aggmgr-5.4/omf-aggmgr/ogs_inventory/ root@internal1:/usr/share/omf-aggmgr-5.4/omf-aggmgr/ogs_inventory# ruby mktopo_cpu.rb root@internal1:/usr/share/omf-aggmgr-5.4/omf-aggmgr/ogs_inventory# ruby mktopo_dev.rb root@internal1:/usr/share/omf-aggmgr-5.4/omf-aggmgr/ogs_inventory# ruby mktopo_disk.rb }}} '''Note''': each ruby script takes some time to preform all the actions, and the omf-agg-manager restarts every even hour on the 11th minute. If the ruby process is running at that time it will fail.