wiki:Internal/Infrastructure/OMF/NodeHandler/Applications/LoadNode

Version 7 (modified by seskar, 17 years ago) ( diff )

Name changed from Internal/Infrastructure/NodeHandler/Commands/LoadNode to Internal/Infrastructure/OMF/NodeHandler/Applications/LoadNode

Go back —> Documentation —> Orbit-PXE

Imaging using Orbit-PXE

When you try to image a node as in the following examples

omf load [1,1] wireless-2.6.ndz
omf load system:topo:circle 

the nodehandler asks the node to reboot itself and to load Orbit-PXE image into RAM first (see Orbit-PXE Loading). The nodehandler then tries to query the frisbee server to see if any frisbee daemons are running and serving the desired image. It does this by issuing an http GET to the following URL:

http://frisbee:5012/frisbee/status

Should there be an instance of a frisbee daemon serving the specified deamon the details will be provided in the results. Here is an example of a response from the frisbee server to this query:

?xml version='1.0'?>
        <frisbee_status>
          <bandwidth>50.0</bandwidth>
          <mc_address>224.0.0.2</mc_address>
        <daemon img='baseline-2.1.ndz' port='7000' timeLeft='3543.265777'/>

If no ports are serving this image the nodehandler then asks the frisbee server to start serving the image. It does this by issuing an http GET to the following URL:

http://frisbee:5012/frisbee/getAddress?img=baseline-2.1.ndz

and obtains the status once again to determine the address and the port. On the frisbee server you would see processes similar to the following, servicing the desired image:

root      5392  3691  0 19:10 ?        00:00:00 /opt/frisbee/bin/frisbeed -i 10.11.0.40 -m 224.0.0.2 -p 7000 -W 50000000 /export/orbit/image/tmp/node-1-2-sb8-timestamp.ndz
root      5393  5392  0 19:10 ?        00:00:00 /opt/frisbee/bin/frisbeed -i 10.11.0.40 -m 224.0.0.2 -p 7000 -W 50000000 /export/orbit/image/tmp/node-1-2-sb8-timestamp.ndz
root      5394  5393  0 19:10 ?        00:00:00 /opt/frisbee/bin/frisbeed -i 10.11.0.40 -m 224.0.0.2 -p 7000 -W 50000000 /export/orbit/image/tmp/node-1-2-sb8-timestamp.ndz

Once the multicast address and port are obtained the nodehandler issues the following command to the nodeagent (TCP port 9006):

S 10.18.1.2 LOAD_IMAGE 224.0.0.2 7000 /dev/hda

Upon reception the nodeagent will run the respective frisbee client commands to load the image. Bellow is an example of processes you would see running on the node when being imaged:

   79 root      68912 R   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
   80 root      68912 S   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
   81 root      68912 D   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
   82 root      68912 S   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda

Once done the nodehandler will ask the node to shut itself down using:

shutdown -h now
Note: See TracWiki for help on using the wiki.