== How to Run Inventory == To run inventory preform the following ('''ALL STEPS AS ROOT'''): '''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: 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 }}} '''From console (grid or sandbox)''' 3. '''''If you are inventorying grid:''''' Run the run_inventory script (this script will take 45 minutes to run): {{{ 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 . . . }}} '''''If you are inventorying a sandbox:''''' Turn on (or restart) all nodes, so they boot into the inventory pxe-image 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* }}} Wait until all the nodes check in, then proceed to next step. '''From repository1''' 4. '''''Break the symbolic link!!! ''''' If this is not done the next person to use the grid/sandbox will have a bad time. '''Note''': Where ''0A0A'' is the Hex set in Step 1. {{{ rm 0A0A }}} 5. Update the inventory service "domain topology" cache (which nodes belong to what testbeds) by visiting the following URL (takes 2-3 minutes to complete): {{{ http://internal1.orbit-lab.org:5054/inventory/update_cache }}} '''From internal1''' 6. Update topologies by running 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.