From 5b5b32f66497b056a96bf1a551d36835d6182da3 Mon Sep 17 00:00:00 2001 From: ertaozh Date: Sun, 29 Nov 2015 22:28:20 -0500 Subject: [PATCH] Updating document for "chain" --- docs/source/advanced/chain/chain_table.rst | 15 ++++++---- docs/source/advanced/chain/chain_tasks.rst | 27 +++++++++++------- .../advanced/chain/chain_tasks_logic.png | Bin 0 -> 77785 bytes .../chain/create_image_for_runimage.rst | 19 ++++++------ docs/source/advanced/chain/index.rst | 2 +- .../chain/run_tasks_during_discovery.rst | 4 +-- .../advanced/chain/run_tasks_to_configure.rst | 7 ++--- docs/source/advanced/index.rst | 6 ++-- .../ppc64le/discovery/mtms_discovery.rst | 8 ++---- .../ppc64le/discovery/seq_discovery.rst | 2 +- .../ppc64le/discovery/switch_discovery.rst | 2 +- 11 files changed, 51 insertions(+), 41 deletions(-) create mode 100644 docs/source/advanced/chain/chain_tasks_logic.png diff --git a/docs/source/advanced/chain/chain_table.rst b/docs/source/advanced/chain/chain_table.rst index 419debe46..a2e0dc0a9 100644 --- a/docs/source/advanced/chain/chain_table.rst +++ b/docs/source/advanced/chain/chain_table.rst @@ -1,9 +1,14 @@ -Understand chain table -====================== +Understanding chain table +========================= -The **chain** table is designed to store the tasks(For example: 'runcmd=bmcsetup', 'runimage=', 'osimage=', 'install', 'boot', 'shell', 'standby' ...). There are three related attributes **currstate**,**currchain** and **chain** in the chain table which are used to perform the **chain** mechanism. +The chain table (``tabdump chain``) is an xCAT database table that holds the chain configuration. The following attributes can be defined to perform the chain function: :: -When genesis is running on the node, it will sends 'get_task/get_next_task' request to xcatd. Then, xcatd will first copies the **chain** attribute to the **currchain** attribute, then pops one task from the **currchain** attribute and puts it into the **currstate** attribute. The **currstate** attribute will be send back to the node as the current task. The **currstate** attribute always shows the current task that is running. + * currstate + * currchain + * chain -The pop function will continue if another 'get_next_task' request got by xCAT. It will continue until all tasks in the **currchain** attribute are completed (removed) then a 'standby' task will be send back. Then the node will standby for random time and send out 'get_task' again. It will keep in standby state until there is new task assign in ``chain`` for the node. +To know how are those three attributes used, pls reference the picture: + +.. image:: chain_tasks_logic.png + diff --git a/docs/source/advanced/chain/chain_tasks.rst b/docs/source/advanced/chain/chain_tasks.rst index b85f56f53..326d14adf 100644 --- a/docs/source/advanced/chain/chain_tasks.rst +++ b/docs/source/advanced/chain/chain_tasks.rst @@ -3,38 +3,43 @@ Task Type xCAT supports following types of task which could be set in the chain: -* runcmd:: +* runcmd :: runcmd= Currently only the ``bmcsetup`` command is officially supplied by xCAT to run to configure the bmc of the compute node. You can find the ``bmcsetup`` in /opt/xcat/share/xcat/netboot/genesis//fs/bin/. You also could create your command in this directory and adding it to be run by ``runcmd=``. :: - e.g. runcmd=bmcsetup + runcmd=bmcsetup **Note**: the command ``mknb `` is needed before reboot the node. -* runimage:: +* runimage :: - runimage= + runimage= **URL** is a string which can be run by ``wget`` to download the image from the URL. The example could be: :: - runimage=http://$MASTER//image.tgz + runimage=http:////image.tgz -The image.tgz should can be uncompressed by ``tar xvf image.tgz``. And image.tgz should include a file named ``runme.sh`` which is a script to initiate the running of the image. Pls reference :ref:`creating image for runimage ` for more information about creating your own ``image``. +The ``image.tgz`` **must** have the following properties: + * Created using the ``tar zcvf`` command + * The tarball must include a ``runme.sh`` script to initiate the execution of the runimage -**Note**: You could try to run ``wget http://$MASTER//image.tgz`` manually to make sure the path has been set correctly. +To create your own image, please reference :ref:`creating image for runimage `. -* osimage:: +**Tip**: You could try to run ``wget http:////image.tgz`` manually to make sure the path has been set correctly. + +* osimage :: osimage= -This task is used to specify that the compute node should run the OS deployment with osimage=. +This task is used to specify the image that should be deployed onto the compute node. * shell -Make the genesis gets into the shell for admin to log in and run command. +Causes the genesis kernel to create a shell for the administrator to log in and execute commands. * standby -Make the genesis gets into standby and waiting for the task from chain. If the compute node gets into this state, any new task set to chain.currstate will be run immediately. +Causes the genesis kernel to go into standby and wait for tasks from the chain. ... + diff --git a/docs/source/advanced/chain/chain_tasks_logic.png b/docs/source/advanced/chain/chain_tasks_logic.png new file mode 100644 index 0000000000000000000000000000000000000000..90f3b5a09fe47f562e4ea406402f4a2258af9c9a GIT binary patch literal 77785 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 z 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 RUM^q7Xv{=|SpAu6{y%F8pm+cP literal 0 HcmV?d00001 diff --git a/docs/source/advanced/chain/create_image_for_runimage.rst b/docs/source/advanced/chain/create_image_for_runimage.rst index 94e116848..fe029e1b0 100644 --- a/docs/source/advanced/chain/create_image_for_runimage.rst +++ b/docs/source/advanced/chain/create_image_for_runimage.rst @@ -18,22 +18,25 @@ How to prepare a image for ``runimage`` in ``chain`` * Create the directory for the image: :: - #mkdir -p /install/my_image + mkdir -p /install/my_image * Go to the direcotry and copy the rpm file into it: :: - #cd /install/my_image - #cp /tmp/a.rpm /install/my_image + cd /install/my_image + cp /tmp/a.rpm /install/my_image * Write the runme.sh script and modify the permission: :: - #cat runme.sh - echo "start installing a.rpm" - rpm -ivh a.rpm - #chmod +x runme.sh + cat runme.sh + echo "start installing a.rpm" + rpm -ivh a.rpm + + * modify the runme.sh script permission: :: + + chmod +x runme.sh * Create the tar ball for the directory: :: - #tar -zcvf my_image.tar . + tar -zcvf my_image.tgz . diff --git a/docs/source/advanced/chain/index.rst b/docs/source/advanced/chain/index.rst index 135cedd09..48b556b2e 100644 --- a/docs/source/advanced/chain/index.rst +++ b/docs/source/advanced/chain/index.rst @@ -1,7 +1,7 @@ Chain ===== -In xCAT, we introduced the **chain** mechanism which means a series of tasks that had been defined in it can be done one by one on the specified node. +The **chain** mechanism is created to allow the administrator to define a series of tasks or operations that will be executed in series on the target node. The **chain** mechanism is implemented in xCAT genesis system. The genesis is a customized Linux system, if can be used to do discovery and configuration after booted on the specified node. diff --git a/docs/source/advanced/chain/run_tasks_during_discovery.rst b/docs/source/advanced/chain/run_tasks_during_discovery.rst index d03522a55..00d68346d 100644 --- a/docs/source/advanced/chain/run_tasks_during_discovery.rst +++ b/docs/source/advanced/chain/run_tasks_during_discovery.rst @@ -1,9 +1,9 @@ Run Task List During Discovery ============================== -If you want to run a list of tasks during the discovery, set the tasks in the chain table by using the chdef command to change the chain attribute, before powering on the nodes. For example: :: +To run a list of tasks during the discovery, set the tasks in the chain table by using the ``chdef`` command to change the chain attribute, before powering on the nodes. For example: :: - chdef chain='runcmd=bmcsetup,osimage=' + chdef chain='runcmd=bmcsetup,osimage=' These tasks will be run after the discovery. diff --git a/docs/source/advanced/chain/run_tasks_to_configure.rst b/docs/source/advanced/chain/run_tasks_to_configure.rst index 34c9feb53..36f89fc19 100644 --- a/docs/source/advanced/chain/run_tasks_to_configure.rst +++ b/docs/source/advanced/chain/run_tasks_to_configure.rst @@ -1,12 +1,11 @@ Run Task List to Configure a Node ================================= -Run the ``nodeset`` command to set the tasks for the compute node and ``rpower reset`` to initiate the running of tasks. :: +Run the ``nodeset`` command to set the tasks for the compute node and ``rpower reset`` to initiate the running of tasks. :: - nodeset $node runimage=http://$MASTER/image.tgz,osimage= - rpower $node reset + nodeset runimage=http:///image.tgz,osimage= + rpower reset In this example, the ``runimage`` will be run first, and then the image will be deployed to the node. -During ``nodeset`` your request is put into the ``currstate`` attribute. The ``chain`` attribute is not used. The task in the ``currstate`` attribute will be passed to genesis and executed. If additional tasks are defined in the ``currchain`` attribute, these tasks will be run after the tasks in the ``currstate`` attribute are run. diff --git a/docs/source/advanced/index.rst b/docs/source/advanced/index.rst index 8894a6aa0..9e69c48b9 100644 --- a/docs/source/advanced/index.rst +++ b/docs/source/advanced/index.rst @@ -4,20 +4,20 @@ Advanced Topics .. toctree:: :maxdepth: 2 - confluent/index.rst - cluster_maintenance/index.rst chain/index.rst + cluster_maintenance/index.rst + confluent/index.rst docker/index.rst gpu/index.rst hamn/index.rst hierarchy/index.rst + kit/index.rst mixed_cluster/index.rst networks/index.rst ports/xcat_ports.rst raid/index.rst security/index.rst softlayer/index.rst - kit/index.rst switches/index.rst sysclone/index.rst webservices/index.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/mtms_discovery.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/mtms_discovery.rst index 19f883bae..c7968edf6 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/mtms_discovery.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/mtms_discovery.rst @@ -51,13 +51,11 @@ The server definition will be like this:: After the physical server is defined into xCATdb, the next thing is update the node definition with the example node attributes:: - # chdef cn1 ip=10.0.101.1 - 1 object definitions have been created or modified. + chdef cn1 ip=10.0.101.1 -In order to do BMC configuration during the discovery progress, the following command is needed, for more info about chain, pls refer the **Chain** document in **Advanced Topics** chapter:: +In order to do BMC configuration during the discovery process, set ``runcmd=bmcsetup``. For more info about chain, please refer to :doc:`Chain <../../../../../advanced/chain/index>` :: - # chdef cn1 chain="runcmd=bmcsetup" - 1 object definitions have been created or modified. + chdef cn1 chain="runcmd=bmcsetup" Then, add node info into /etc/hosts and DNS:: diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/seq_discovery.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/seq_discovery.rst index 10d494f47..ea26332cc 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/seq_discovery.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/seq_discovery.rst @@ -18,7 +18,7 @@ Predefine a group of nodes with desired IP address for host and IP address for F nodeadd cn1 groups=powerLE,all chdef cn1 mgt=ipmi cons=ipmi ip=10.0.101.1 bmc=50.0.101.1 netboot=petitboot installnic=mac primarynic=mac -In order to do BMC configuration during the discovery progress, the following command is needed, for more info about chain, pls refer the **Chain** document in **Advanced Topics** chapter:: +In order to do BMC configuration during the discovery process, set ``runcmd=bmcsetup``. For more info about chain, please refer to :doc:`Chain <../../../../../advanced/chain/index>` :: chdef cn1 chain="runcmd=bmcsetup" diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/switch_discovery.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/switch_discovery.rst index 603a5d573..adc63b226 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/switch_discovery.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/discovery/switch_discovery.rst @@ -52,7 +52,7 @@ After switches are defined, the server node can be predefined with the following chdef cn1 mgt=ipmi cons=ipmi ip=10.0.101.1 bmc=50.0.101.1 netboot=petitboot installnic=mac primarynic=mac chdef cn1 switch=switch1 switchport=0 -In order to do BMC configuration during the discovery progress, the following command is needed, for more info about chain, pls refer the **Chain** document in **Advanced Topics** chapter:: +In order to do BMC configuration during the discovery process, set ``runcmd=bmcsetup``. For more info about chain, please refer to :doc:`Chain <../../../../../advanced/chain/index>` :: chdef cn1 chain="runcmd=bmcsetup"