== 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. 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.