Changes between Initial Version and Version 1 of Internal/Infrastructure/OMF/NodeHandler/Applications/LoadNode


Ignore:
Timestamp:
Apr 18, 2007, 8:19:59 PM (17 years ago)
Author:
mcgrof
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Internal/Infrastructure/OMF/NodeHandler/Applications/LoadNode

    v1 v1  
     1
     2Go back --> [wiki:Documentation] --> [wiki:Documentation/orbit-pxe Orbit-PXE]
     3
     4
     5== Imaging using Orbit-PXE ==
     6
     7When you try to image a node as in the following example
     8
     9{{{
     10imageNodes 1,1..2 baseline-2.1.ndz
     11}}}
     12
     13the Orbit-PXE node gets loaded first (see [wiki:Documentation/orbit-pxe/loading 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:
     14
     15{{{
     16http://frisbee:5012/frisbee/status
     17}}}
     18
     19Should 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:
     20
     21{{{
     22?xml version='1.0'?>
     23        <frisbee_status>
     24          <bandwidth>50.0</bandwidth>
     25          <mc_address>224.0.0.2</mc_address>
     26        <daemon img='baseline-2.1.ndz' port='7000' timeLeft='3543.265777'/>
     27}}}
     28
     29If 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:
     30
     31{{{
     32http://frisbee:5012/frisbee/getAddress?img=baseline-2.1.ndz
     33}}}
     34
     35and 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:
     36
     37{{{
     38root      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
     39root      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
     40root      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
     41}}}
     42
     43Once the multicast address and port are obtained the nodehandler issues the following command to the nodeagent through TCP:
     44
     45{{{
     46S 10.18.1.2 LOAD_IMAGE 224.0.0.2 7000 /dev/hda
     47}}}
     48
     49Upon 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:
     50
     51{{{
     52   79 root      68912 R   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
     53   80 root      68912 S   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
     54   81 root      68912 D   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
     55   82 root      68912 S   frisbee -i 10.11.1.1 -m 224.0.0.2 -p 7000 /dev/hda
     56}}}
     57
     58Once done the nodehandler will ask the node to shut itself down using:
     59
     60{{{
     61shutdown -h now
     62}}}