== How to Run Inventory == To run inventory preform the following ('''ALL STEPS AS ROOT'''): ''' From internal1 ''' 1. Disable inventory service security: {{{ cd /etc/omf-aggmgr-5.4/enabled }}} Uncomment the following line in inventory.yaml (remove the #): {{{ # - '*' }}} Restart OMF Agg Manager: {{{ service omf-aggmgr-5.4 restart }}} '''From repository1''' 2. Goto the tfptboot directory and make a symbolic link for the appropriate domain: {{{ cd /tftpboot/pxelinux.cfg/ }}} {{{ ln -s ./inventory/test-inv-all 0A0A }}} ||'''Domain'''||'''Source'''||'''Target'''|| ||Grid||test-inv-all||0A0A|| ||SB1||test-inv-all||0A0B|| ||SB2||test-inv-all||0A0C|| ||SB3||test-inv-all||0A0D|| ||SB4||test-inv-all||0A0E|| ||SB5||test-inv-all||0A0F|| ||SB6||test-inv-all||0A10|| ||SB7||test-inv-all||0A11|| ||SB8||test-inv-all||0A12|| ||SB9||test-inv-all||0A13|| ||Outdoor||test-inv-all||0A28|| 3. Manually editing resolv.conf is no longer needed. '''From console (grid or sandbox)''' 4. '''''If you are inventorying grid:''''' Run the run_inventory script (this script will take 45 minutes to run): {{{ cd /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: {{{ omf tell -a on -t all }}} '''From a browser on any machine that can see internal1''' 5. Check the inventory page for the sandbox you are inventorying and monitor the INV_check_in attribute: ||'''Domain'''||'''URL'''|| ||Grid||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.grid.orbit-lab.org&attribute=INV_check_in|| ||SB1||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb1.orbit-lab.org&attribute=INV_check_in|| ||SB2||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb2.orbit-lab.org&attribute=INV_check_in|| ||SB3||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb3.orbit-lab.org&attribute=INV_check_in|| ||SB4||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb4.orbit-lab.org&attribute=INV_check_in|| ||SB5||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb5.orbit-lab.org&attribute=INV_check_in|| ||SB6||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb6.orbit-lab.org&attribute=INV_check_in|| ||SB7||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb7.orbit-lab.org&attribute=INV_check_in|| ||SB8||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb8.orbit-lab.org&attribute=INV_check_in|| ||SB9||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.sb9.orbit-lab.org&attribute=INV_check_in|| ||Outdoor||http://internal1.orbit-lab.org:5054/inventory/attribute_list?set=node*.outdoor.orbit-lab.org&attribute=INV_check_in|| Wait until all the nodes check in, then proceed to next step. '''From repository1''' 6. '''''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 target set in Step 1 (example): {{{ rm /tftpboot/pxelinux.cfg/0A0A }}} {{{ rm /export/nfsroot/etc/resolvconf/resolv.conf.d/head }}} '''From internal1''' 7. 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|| 8. Update topologies: {{{ cd /usr/share/omf-aggmgr-5.4/omf-aggmgr/ogs_inventory/scripts }}} {{{ ./mktopo all }}} '''Note''': This 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. 9. Restore inventory service security (''' !!! SUPER IMPORTANT !!! '''): {{{ cd /etc/omf-aggmgr-5.4/enabled }}} Comment out the following line in inventory.yaml (add # to beginning of line): {{{ - '*' }}} Restart OMF Agg Manager: {{{ service omf-aggmgr-5.4 restart }}} '''Checking progress''' You can check the status of inventory by running the ./getfailed script in /root/inventory on the grid console. Set the date in the script to the last time inventory was run. Any nodes in the inventory DB missing a checkin, or with one older than that, will be listed.