diff --git a/.travis.yml b/.travis.yml index 507fd0a77..d8f18824b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,10 +1,10 @@ os: linux -dist: trusty +dist: xenial sudo: required before_install: -- sudo apt-get install -y git reprepro devscripts debhelper libsoap-lite-perl libdbi-perl quilt openssh-server dpkg looptools genometools software-properties-common +- sudo apt-get install -y git fakeroot reprepro devscripts debhelper libcapture-tiny-perl libjson-perl libsoap-lite-perl libdbi-perl quilt openssh-server dpkg looptools genometools software-properties-common - perl -v -- echo "yes" | sudo cpan -f -i Capture::Tiny +#- echo "yes" | sudo cpan -f -i Capture::Tiny script: - echo $TRAVIS_BUILD_ID diff --git a/Version b/Version index cf28a128f..d7b0d017e 100644 --- a/Version +++ b/Version @@ -1 +1 @@ -2.14.3 +2.14.6 diff --git a/_config.yml b/_config.yml new file mode 100644 index 000000000..c4192631f --- /dev/null +++ b/_config.yml @@ -0,0 +1 @@ +theme: jekyll-theme-cayman \ No newline at end of file diff --git a/builddep.sh b/builddep.sh index 2d7b221c1..8f66989c4 100755 --- a/builddep.sh +++ b/builddep.sh @@ -19,6 +19,13 @@ # of the FRS area. # VERBOSE=1 - Set to 1 to see more VERBOSE output +# This script should only be run on RPM based machines +# This test is not foolproof, but at least tries to detect +if [ `/bin/rpm -q -f /bin/rpm >/dev/null 2>&1; echo $?` != 0 ]; then + echo "ERROR: This script should only be executed on a RPM based Operation System." + exit 1 +fi + # you can change this if you need to USER=xcat TARGET_MACHINE=xcat.org @@ -49,6 +56,16 @@ if [ ! -d $GSA ]; then exit 1 fi +REQPKG=("rpm-sign" "createrepo") +for pkg in ${REQPKG[*]}; do + if [ `rpm -q $pkg >> /dev/null; echo $?` != 0 ]; then + echo "ERROR: $pkg is required to successfully create the xcat-deps package. Install and rerun." + exit 1 + else + echo "Checking for package=$pkg ..." + fi +done + # set grep to quiet by default GREP="grep -q" if [ "$VERBOSE" = "1" -o "$VERBOSE" = "yes" ]; then @@ -58,14 +75,10 @@ if [ "$VERBOSE" = "1" -o "$VERBOSE" = "yes" ]; then fi # this is needed only when we are transitioning the yum over to frs -# YUMREPOURL1="http://xcat.org/yum" -# YUMREPOURL2="http://xcat.org/files/yum" if [ "$FRSYUM" != 0 ]; then YUMDIR="$FRS/repos" - # YUMREPOURL="$YUMREPOURL2" else YUMDIR=htdocs - # YUMREPOURL="$YUMREPOURL1" fi cd `dirname $0` @@ -127,18 +140,6 @@ if [ "$OSNAME" != "AIX" ]; then # Modify xcat-dep.repo files to point to the correct place echo "===> Modifying the xcat-dep.repo files to point to the correct location..." - # 10/01/2015 - vkhu - # The URLs have been updated in GSA, this section is not needed at the moment - # - #if [ "$FRSYUM" != 0 ]; then - # newurl="$YUMREPOURL2" - # oldurl="$YUMREPOURL1" - #else - # newurl="$YUMREPOURL1" - # oldurl="$YUMREPOURL2" - #fi - # - #sed -i -e "s|=$oldurl|=$newurl|g" `find . -name "xcat-dep.repo" ` fi if [ "$OSNAME" == "AIX" ]; then diff --git a/docs/source/advanced/goconserver/index.rst b/docs/source/advanced/goconserver/index.rst index 39f3ff2cc..50116e9ed 100644 --- a/docs/source/advanced/goconserver/index.rst +++ b/docs/source/advanced/goconserver/index.rst @@ -5,7 +5,6 @@ Go Conserver programming language. For more information, see https://github.com/xcat2/goconserver/ .. toctree:: - :maxdepth: 2 quickstart.rst diff --git a/docs/source/advanced/gpu/nvidia/osimage/rhels.rst b/docs/source/advanced/gpu/nvidia/osimage/rhels.rst index a810fddee..11c3d11cd 100644 --- a/docs/source/advanced/gpu/nvidia/osimage/rhels.rst +++ b/docs/source/advanced/gpu/nvidia/osimage/rhels.rst @@ -203,10 +203,7 @@ For diskless deployment, the script need to add to the postinstall script of the cat >>/install/custom/netboot/rh/cudafull.rhels7.ppc64le.postinstall <<-EOF - cp /install/postscripts/cuda_power9_setup \$installroot/tmp/cuda_power9_setup - chroot \$installroot /tmp/cuda_power9_setup - - rm -f \$installroot/tmp/cuda_power9_setup + /install/postscripts/cuda_power9_setup EOF chdef -t osimage rhels7.5-ppc64le-netboot-cudafull postinstall=/install/custom/netboot/rh/cudafull.rhels7.ppc64le.postinstall diff --git a/docs/source/advanced/gpu/nvidia/repo/index.rst b/docs/source/advanced/gpu/nvidia/repo/index.rst index 5d91fbe7c..9649e7fa5 100644 --- a/docs/source/advanced/gpu/nvidia/repo/index.rst +++ b/docs/source/advanced/gpu/nvidia/repo/index.rst @@ -10,5 +10,4 @@ Download the toolkit and prepare the software repository on the xCAT Management rhels.rst ubuntu.rst - nvml.rst diff --git a/docs/source/advanced/gpu/nvidia/repo/nvml.rst b/docs/source/advanced/gpu/nvidia/repo/nvml.rst deleted file mode 100644 index 7f74a3040..000000000 --- a/docs/source/advanced/gpu/nvidia/repo/nvml.rst +++ /dev/null @@ -1,15 +0,0 @@ -Install NVIDIA Management Library (optional) -============================================ - -See https://developer.nvidia.com/nvidia-management-library-nvml for more information. - -The .run file can be downloaded from NVIDIAs website and placed into the ``/install/postscripts`` directory on the Management Node. - -To enable installation of the management library after the node is install, add the .run file to the ``postbootscripts`` attribute for the nodes: :: - - # ensure the .run file has execute permission - chmod +x /install/postscripts/.run - - # add as the postbootscript - chdef -t node -o -p postbootscripts=".run \ - --silent --installdir=" diff --git a/docs/source/advanced/hierarchy/provision/diskless_sn.rst b/docs/source/advanced/hierarchy/provision/diskless_sn.rst index 3412f01e7..15d259aec 100644 --- a/docs/source/advanced/hierarchy/provision/diskless_sn.rst +++ b/docs/source/advanced/hierarchy/provision/diskless_sn.rst @@ -291,8 +291,7 @@ The following section explains how to accomplish this. packimage rhels7.3-ppc64le-netboot-service -Note: ``enablepart=yes`` in partition file will make partition on the locak disk at every boot time. If you want to keep the contents -on local disk at next boot, remmber changing to ``enablepart=no`` after the first time provisioning. +.. note:: ``enablepart=yes`` in partition file will partition the local disk at every boot. If you want to preserve the contents on local disk at next boot, change to ``enablepart=no`` after the initial provision. For more information on ``localdisk`` option, refer to :ref:`setup_localdisk_label` @@ -312,9 +311,9 @@ To update the xCAT software in the image at a later time: packimage "" rinstall service osimage="" -Note: The Service Nodes are set up as NFS-root servers for the compute nodes. -Any time changes are made to any compute image on the mgmt node it will be -necessary to sync all changes to all Service Nodes. In our case the -``/install`` directory is mounted on the servicenodes, so the update to the -compute node image is automatically available. +.. note:: The Service Nodes are set up as NFS-root servers for the compute nodes. + Any time changes are made to any compute image on the mgmt node it will be + necessary to sync all changes to all Service Nodes. In our case the + ``/install`` directory is mounted on the servicenodes, so the update to the + compute node image is automatically available. diff --git a/docs/source/advanced/networks/infiniband/network_configuration.rst b/docs/source/advanced/networks/infiniband/network_configuration.rst index ba2716a3d..3f675a7ba 100644 --- a/docs/source/advanced/networks/infiniband/network_configuration.rst +++ b/docs/source/advanced/networks/infiniband/network_configuration.rst @@ -3,7 +3,7 @@ IB Network Configuration xCAT provides a script ``configib`` to help configure the Infiniband adapters on the compute nodes. -The Infiniband adapter is considered an additional interface for xCAT. The process for configuring Infiniband adapters complies with the process of :doc:`Configure Additional Network Interfaces <../../../../guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/cfg_second_adapter>`. +The Infiniband adapter is considered an additional interface for xCAT. The process for configuring Infiniband adapters complies with the process of :doc:`Configure Additional Network Interfaces <../../../../guides/admin-guides/manage_clusters/ppc64le/diskful/customize_image/network/cfg_second_adapter>`. Below are an simple example to configure Mellanox IB in Ubuntu 14.04.1 on Power8 LE diff --git a/docs/source/advanced/networks/infiniband/switch_configuration.rst b/docs/source/advanced/networks/infiniband/switch_configuration.rst index ab1d45c12..3397b6890 100644 --- a/docs/source/advanced/networks/infiniband/switch_configuration.rst +++ b/docs/source/advanced/networks/infiniband/switch_configuration.rst @@ -23,12 +23,12 @@ The switches table will look like this: :: If there is only one admin and one password for all the switches then put the entry in the xCAT passwd table for the admin id and password to use to login. :: - tabch key=mswitch passwd.username=admin passwd.password=admin + tabch key=switch passwd.username=admin passwd.password=admin The passwd table will look like this: :: #key,username,password,cryptmethod,comments,disable - "mswitch","admin","admin",,, + "switch","admin","admin",,, Setup ssh connection to the Mellanox Switch ------------------------------------------- diff --git a/docs/source/advanced/restapi/restapi_setup/restapi_setup.rst b/docs/source/advanced/restapi/restapi_setup/restapi_setup.rst index 634876446..73b452a42 100644 --- a/docs/source/advanced/restapi/restapi_setup/restapi_setup.rst +++ b/docs/source/advanced/restapi/restapi_setup/restapi_setup.rst @@ -1,9 +1,9 @@ -Enable the HTTPS service for REST API -===================================== +Enable the HTTPS protocol for REST API +====================================== -To improve the security between the REST API client and server, enabling the HTTPS service on the xCAT MN is recommended. And the REST API client should use the 'https' to access web server instead of the 'http'. +To improve the security between the REST API clients and server, enabling the secure transfer protocol (https) is the default configuration. -* **[RHEL6/7 (x86_64/ppc64) and RHEL5 (x86_64)]** :: +* **[RHEL6/7/8 (x86_64/ppc64/ppc64le) and RHEL5 (x86_64)]** :: yum install mod_ssl service httpd restart @@ -37,6 +37,8 @@ To improve the security between the REST API client and server, enabling the HTT sudo apache2ctl -t -D DUMP_MODULES | grep ssl apt-get install libjson-perl +.. note:: If use of non-secure HTTP protocol is required, edit ``/etc/httpd/conf.d/xcat-ws.conf`` for RHEL or ``/etc/apache2/conf.d/xcat-ws.conf`` for others and change ``RewriteEngine On`` to ``RewriteEngine Off``, then restart httpd or apache. + Enable the Certificate of HTTPs Server (Optional) ================================================= @@ -46,7 +48,7 @@ The certificate for xcatd has already been generated when installing xCAT, it ca Typically the hostname of the xCAT MN is initially set to the NIC which faces to the cluster (usually an internal/private NIC). If you want to enable the REST API for public client, set the hostname of xCAT MN to one of the public NIC. -To change the hostname, edit /etc/sysconfig/network (RHEL) or /etc/HOSTNAME (SLES) and run: :: +To change the hostname, edit ``/etc/sysconfig/network`` (RHEL) or ``/etc/HOSTNAME`` (SLES) and run: :: hostname @@ -54,7 +56,7 @@ After changing the hostname, run the xcat command ``xcatconfig`` to generate a n xcatconfig -c -``Notes:`` If you had previously generated a certificate for non-root userids to use xCAT, you must regenerate them using: /opt/xcat/share/xcat/scripts/setup-local-client.sh +.. note:: If you had previously generated a certificate for non-root userids to use xCAT, you must regenerate them using ``/opt/xcat/share/xcat/scripts/setup-local-client.sh `` The steps to configure the certificate for https server: :: @@ -77,17 +79,7 @@ When accessing the REST API, the certificate CA must be specified and the FQDN o curl -X GET --cacert /root/ca-cert.pem 'https:///xcatws/nodes?userName=root&userPW=' -Extend the Timeout of Web Server -================================ - -Some operations like 'create osimage' (copycds) need a long time (longer than 3 minutes sometimes) to complete. It would fail with a ``timeout error`` (504 Gateway Time-out) if the timeout setting in the web server is not extended: :: - - For [RHEL] - Edit "/etc/httpd/conf/httpd.conf" and change existing or add new entry: "Timeout 600" - service httpd restart - For [SLES] - Edit "/etc/apache2/httpd.conf" and change existing or add new entry: "Timeout 600" - service apache2 restart +.. attention:: Some operations like 'create osimage' (i.e. copycds) may require a longer time to complete and may result in a "504 Gateway Timeout" error. To avoid this, modify the ``httpd.conf`` file and extend the timeout to a larger value: ``Timeout: 600`` Set Up an Account for Web Service Access ======================================== @@ -96,9 +88,9 @@ User needs a username and password to access the REST API. When the REST API req The account with key of **xcat** will be used for the REST API authentication. The username and password should be passed in as the attirbutes of URL: -* userName: Pass the username of the account -* userPW: Pass the password of the account (xCAT 2.10) -* password: Pass the password of the account (xCAT earlier than 2.10) +:userName: Pass the username of the account +:userPW: Pass the password of the account (xCAT 2.10) +:password: Pass the password of the account (xCAT earlier than 2.10) You can use the root userid for your API calls, but we recommend you create a new userid (for example wsuser) for the API calls and give it the specific privileges you want it to have. @@ -123,7 +115,7 @@ Create new user and setup the password and policy rules. :: # add user to policy table mkdef -t policy 6 name= rule=allow -``Note:`` in the tabch command above you can put the salted password (from /etc/shadow) in the xCAT passwd table instead of the clear text password, if you prefer. +.. note:: Using the ``tabch`` command, you can use the salted password from ``/etc/shadow`` into the xCAT password table instead of a clear text password. Identical user with the same name and uid need to be created on each compute node. :: @@ -152,7 +144,7 @@ or if you did not set up the certificate: :: You should see some output that includes your list of nodes. -If errors returned, check `/var/log/httpd/ssl_error_log` on xCAT MN. +If errors returned, check ``/var/log/httpd/ssl_error_log`` on xCAT MN. -``Note:`` if passwords need to be changed in the future, make sure to update the xCAT passwd table. xCAT REST API uses passwords stored in that table to authenticate users. +.. note:: When passwords are changed, make sure to update the xCAT ``passwd`` table. The REST API service uses passwords stored there to authenticate users. diff --git a/docs/source/conf.py b/docs/source/conf.py index 4402d6d7f..1300b102b 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -59,7 +59,7 @@ author = u'IBM Corporation' # The short X.Y version. version = '2' # The full version, including alpha/beta/rc tags. -release = '2.14.3' +release = '2.14.5' # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/guides/admin-guides/basic_concepts/xcat_db/regexp_db.rst b/docs/source/guides/admin-guides/basic_concepts/xcat_db/regexp_db.rst index d1ff05af1..5d36de561 100644 --- a/docs/source/guides/admin-guides/basic_concepts/xcat_db/regexp_db.rst +++ b/docs/source/guides/admin-guides/basic_concepts/xcat_db/regexp_db.rst @@ -120,6 +120,7 @@ xCAT provides several functions that can simplify regular expressions. +-----------+-----------+-----------+-----------+ | row2-col1 | row2-col2 | row2-col3 | row2-col4 | +-----------+-----------+-----------+-----------+ + To obtain the rack index, use ``|row(\d+)-col(\d+)|(dim2idx($1, 4, $2))|``. This maps the racks to: +---+---+---+---+ @@ -127,6 +128,7 @@ xCAT provides several functions that can simplify regular expressions. +---+---+---+---+ | 5 | 6 | 7 | 8 | +---+---+---+---+ + Note that the size of the highest dimension (2 rows) is not needed, and all values are one-indexed. If each rack contains 20 nodes, use ``|row(\d+)-col(\d+)-node(\d+)|(dim2idx($1, 4, $2, 20, $3)`` to determine a node index (useful for determining IP addresses). diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/additionalpkg/ubuntu_os_other_pkg.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/additionalpkg/ubuntu_os_other_pkg.rst index 941c5150a..4af8f0a82 100644 --- a/docs/source/guides/admin-guides/manage_clusters/common/deployment/additionalpkg/ubuntu_os_other_pkg.rst +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/additionalpkg/ubuntu_os_other_pkg.rst @@ -15,7 +15,7 @@ Compute nodes can access the internet #. Define the otherpkglist file - create an otherpkglist file,**/install/custom/install/ubuntu/compute.otherpkgs.pkglist**. Add the packages' name into thist file. And modify the otherpkglist attribute for osimage object. :: + create an **otherpkglist** file: ``/install/custom/install/ubuntu/compute.otherpkgs.pkglist``, add the package names into this file, and modify the ``otherpkglist`` attribute in the osimage. :: chdef -t osimage otherpkglist=/install/custom/install/ubuntu/compute.otherpkgs.pkglist @@ -25,7 +25,7 @@ Compute nodes can access the internet updatenode -S - Run ``updatenode -P`` otherpkgs to **install/update** the packages on the compute nodes :: + Run ``updatenode -P otherpkgs`` to **install/update** the packages on the compute nodes :: updatenode -P otherpkgs diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/create_img.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/create_img.rst index 4fcb28264..cb60aa607 100644 --- a/docs/source/guides/admin-guides/manage_clusters/common/deployment/create_img.rst +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/create_img.rst @@ -8,6 +8,10 @@ XCAT use 'copycds' command to create an image which will be available to install If using an ISO, copy it to (or NFS mount it on) the management node, and then run: :: copycds /.iso + +**Note**: while sle15 contains installer medium and packages medium, need ``copycds`` copy all contents of DVD1 of the installer medium and DVD1 of the packages medium, for example: :: + + copycds SLE-15-Installer-DVD-ppc64le-GM-DVD1.iso SLE-15-Packages-ppc64le-GM-DVD1.iso If using a DVD, put it in the DVD drive of the management node and run: :: diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/enable_localdisk.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/enable_localdisk.rst index cd6e7d730..73d966f58 100644 --- a/docs/source/guides/admin-guides/manage_clusters/common/deployment/enable_localdisk.rst +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/enable_localdisk.rst @@ -1,41 +1,40 @@ .. _setup_localdisk_label: -Enabling the localdisk Option +Enabling the localdisk option ----------------------------- -``Note``: You can skip this section if not using the ``localdisk`` option in your litefile table. - -Several things need to be done to enable the 'localdisk' support: +.. note:: You can skip this section if not using the ``localdisk`` option in your ``litefile`` table. Define how to partition the local disk `````````````````````````````````````` -When a node is deployed, the local hard disk needs to be partitioned and formatted before it can be used. This section explains how provide a configuration file that tells xCAT to partition a local disk and make it ready to use for the directories listed in the litefile table with the ``localdisk`` option. +When a node is deployed, the local hard disk needs to be partitioned and formatted before it can be used. This section explains how provide a configuration file that tells xCAT to partition a local disk and make it ready to use for the directories listed in the litefile table. -The configuration file needs to be specified in the ``partitionfile`` attribute of the osimage definition. The configuration file includes several parts: +The configuration file needs to be specified in the ``partitionfile`` attribute of the osimage definition. The configuration file includes several sections: * Global parameters to control enabling or disabling the function - * [disk] part to control the partitioning of the disk - * [localspace] part to control which partition will be used to store the localdisk directories listed in the litefile table - * [swapspace] part to control the enablement of the swap space for the node. + * ``[disk]`` section to control the partitioning of the disk + * ``[localspace]`` section to control which partition will be used to store the ``localdisk`` directories listed in the ``litefile`` table + * ``[swapspace]`` section to control the enablement of the swap space for the node. -An example localdisk configuration file: :: +An example ``localdisk`` configuration file: :: enable=yes enablepart=no - [disk] - dev=/dev/sdb - clear=yes - parts=100M-200M,1G-2G - [disk] dev=/dev/sda clear=yes parts=10,20,30 + [disk] + dev=/dev/sdb + clear=yes + parts=100M-200M,1G-2G + [disk] dev=/dev/sdc + ptype=gpt clear=yes parts=10,20,30 @@ -48,15 +47,16 @@ An example localdisk configuration file: :: The two global parameters ``enable`` and ``enablepart`` can be used to control the enabling/disabling of the functions: - * enable: The localdisk feature only works when ``enable`` is set to *yes*. If it is set to *no*, the localdisk configuration will not be run. + * enable: The ``localdisk`` feature only works when ``enable`` is set to ``yes``. If it is set to ``no``, the ``localdisk`` configuration will not be run. * enablepart: The partition action (refer to the ``[disk]`` section) will be run only when ``enablepart=yes``. The ``[disk]`` section is used to configure how to partition a hard disk: * dev: The path of the device file. * clear: If set to ``yes`` it will clear all the existing partitions on this disk. - * fstype: The file system type for the new created partitions. ``ext3`` is the default value if not set. - * parts: A comma separated list of space ranges, one for each partition that will be created on the device. The valid format for each space range is ``-`` or ````. For example, you could set it to ``100M-10G`` or ``50``. If you set it to ``50``, that means 50% of the disk space will be assigned to that partition. + * ptype: The partition table type of the disk. For example, ``msdos`` or ``gpt``, and ``msdos`` is the default. + * fstype: The file system type for the new created partitions. ``ext3`` is the default. + * parts: A comma separated list of space ranges, one for each partition that will be created on the device. The valid format for each space range is ``-`` or ````. For example, you could set it to ``100M-10G`` or ``50``. If set to ``50``, 50% of the disk space will be assigned to that partition. The ``[localspace]`` section is used to specify which partition will be used as local storage for the node. @@ -67,21 +67,23 @@ the ``[swapspace]`` section is used to configure the swap space for the statelit * dev: The path of the partition file which will be used as the swap space. -To enable the local disk capability, create the configuration file (for example in ``/install/custom``) and set the path in the partitionfile attribute for the osimage: :: +To enable the local disk capability, create the configuration file (for example in ``/install/custom``) and set the path in the ``partitionfile`` attribute for the osimage: :: - chdef -t osimage partitionfile=/install/custom/cfglocaldisk + chdef -t osimage partitionfile=/install/custom/cfglocaldisk -Now all nodes that use this osimage (i.e. have their provmethod attribute set to this osimage definition name), will have its local disk configured. +Now all nodes that use this osimage (i.e. have their ``provmethod`` attribute set to this osimage definition name), will have its local disk configured. Configure the files in the litefile table ````````````````````````````````````````` -For the files/directories that you would like xCAT to store on the local disk, add an entry in the litefile table like this: :: +For the files/directories to store on the local disk, add an entry in the ``litefile`` table: :: "ALL","/tmp/","localdisk",, -``Note``: you do not need to specify the swap space in the litefile table. Just putting it in the partitionfile config file is enough. +.. note:: you do not need to specify the swap space in the litefile table. Just putting it in the ``partitionfile`` config file is enough. Add an entry in policy table to permit the running of the ``getpartition`` command from the node :: chtab priority=7.1 policy.commands=getpartition policy.rule=allow + +Run ``genimage`` and ``packimage`` for the osimage diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/install_new_kernel.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/install_new_kernel.rst index 8c0653fa6..42fe6863e 100644 --- a/docs/source/guides/admin-guides/manage_clusters/common/deployment/install_new_kernel.rst +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/install_new_kernel.rst @@ -4,9 +4,9 @@ Installing a New Kernel in the Diskless Image Note: This procedure assumes you are using xCAT 2.6.1 or later. -The kerneldir attribute in linuximage table can be used to assign a directory containing kernel RPMs that can be installed into diskless images. The default for kernerdir is /install/kernels. To add a new kernel, create a directory named under the kerneldir, and genimage will pick them up from there. +To add a new kernel, create a directory named under ``/install/kernels`` directory, and ``genimage`` will pick them up from there. -The following examples assume you have the kernel RPM in /tmp and is using the default value for kerneldir (/install/kernels). +The following examples assume you have the kernel RPM in ``/tmp`` and is using a new kernel in the directory ``/install/kernels/``. The RPM names below are only examples, substitute your specific level and architecture. @@ -20,6 +20,9 @@ For example, kernel-3.10.0-229.ael7b.ppc64le.rpm means kernelver=3.10.0-229.ael7 mkdir -p /install/kernels/3.10.0-229.ael7b.ppc64le cp /tmp/kernel-3.10.0-229.ael7b.ppc64le.rpm /install/kernels/3.10.0-229.ael7b.ppc64le createrepo /install/kernels/3.10.0-229.ael7b.ppc64le/ + +Append kernel directory ``/install/kernels/`` in ``pkgdir`` of specific osimage. :: + chdef -t osimage -p pkgdir=/install/kernels/3.10.0-229.ael7b.ppc64le/ Run genimage/packimage to update the image with the new kernel. @@ -45,6 +48,9 @@ The "4.6.ppc64le" is replaced with "4-ppc64le": :: cp /tmp/kernel-default-3.12.28-4.6.ppc64le.rpm /install/kernels/3.12.28-4-ppc64le/ cp /tmp/kernel-default-base-3.12.28-4.6.ppc64le.rpm /install/kernels/3.12.28-4-ppc64le/ cp /tmp/kernel-default-devel-3.12.28-4.6.ppc64le.rpm /install/kernels/3.12.28-4-ppc64le/ + +Append kernel directory ``/install/kernels/`` in ``pkgdir`` of specific osimage. :: + chdef -t osimage -p pkgdir=/install/kernels/3.12.28-4-ppc64le/ Run genimage/packimage to update the image with the new kernel. @@ -80,4 +86,4 @@ The default driver list: :: Note: With this approach, xCAT will search for the drivers in the rootimage. You need to make sure the drivers have been included in the rootimage before generating the initrd. You can install the drivers manually in an existing rootimage (using chroot) and run genimage again, or you can use a postinstall script to install drivers to the rootimage during your initial genimage run. -Use the driver rpm package to add new drivers from rpm packages to the diskless initrd. Refer to the :doc:`/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/cfg_second_adapter` for details. +Use the driver rpm package to add new drivers from rpm packages to the diskless initrd. Refer to the :doc:`/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/network/cfg_second_adapter` for details. diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/syncfile/syncfile_synclist_file.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/syncfile/syncfile_synclist_file.rst index 13e599054..61cff2220 100644 --- a/docs/source/guides/admin-guides/manage_clusters/common/deployment/syncfile/syncfile_synclist_file.rst +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/syncfile/syncfile_synclist_file.rst @@ -15,11 +15,11 @@ The basic entry format looks like following: :: path_of_src_file1 -> path_of_dst_directory path_of_src_file1 path_of_src_file2 ... -> path_of_dst_directory -The path_of_src_file* should be the full path of the source file on the Management Node. +The ``path_of_src_file*`` should be the full path of the source file on the Management Node. -The path_of_dst_file* should be the full path of the destination file on target node. Please make sure path_of_dst_file* is not a existing directory on target node, otherwise, the file sync with ``updatenode -r /usr/bin/scp`` or ``xdcp -r /usr/bin/scp`` will fail. +The ``path_of_dst_file*`` should be the full path of the destination file on target node. Make sure ``path_of_dst_file*`` is not a existing directory on target node, otherwise, the file sync with ``updatenode -r /usr/bin/scp`` or ``xdcp -r /usr/bin/scp`` will fail. -The path_of_dst_directory should be the full path of the destination directory. Please make sure *eth_of_dst_directory is not a existing file on target node, otherwise, the file sync with ``updatenode -r /usr/bin/scp`` or ``xdcp -r /usr/bin/scp`` will fail. +The ``path_of_dst_directory`` should be the full path of the destination directory. Make ``sure path_of_dst_directory`` is not a existing file on target node, otherwise, the file sync with ``updatenode -r /usr/bin/scp`` or ``xdcp -r /usr/bin/scp`` will fail. Since the synclist file is for common purpose, the target node need not be configured in it. @@ -37,7 +37,7 @@ sync file **/etc/file4** to the file **/etc/tmp/file5** on the node( different f /etc/file4 -> /etc/tmp/file5 -sync the multiple files **/etc/file1**, **/etc/file2**, **/etc/file3**, ... to the directory **/tmp/etc** (**/tmp/etc** must be a directory when multiple files are synced at one time). If the directory does not exist,**xdcp** will create it. :: +sync the multiple files **/etc/file1**, **/etc/file2**, **/etc/file3**, ... to the directory **/tmp/etc** (**/tmp/etc** must be a directory when multiple files are synced at one time). If the directory does not exist, **xdcp** will create it. :: /etc/file1 /etc/file2 /etc/file3 -> /tmp/etc @@ -116,7 +116,8 @@ Advanced synclist file features After you define the files to rsync in the syncfile, you can add an **EXECUTEALWAYS** clause in the syncfile. The **EXECUTEALWAYS** clause will list all the postscripts you would always like to run after the files are sync'd, whether or not any file is actually updated. The files in this list must be added to the list of files to rsync, if hierarchical. -For example, your rsyncfile may look like this. **Note: the path to the file to EXECUTE, is the location of the *.post file on the MN**. :: +For example, your rsyncfile may look like this. +.. note:: the path to the file to EXECUTE, is the location of the *.post file on the MN**. :: /tmp/share/file2 -> /tmp/file2 @@ -160,7 +161,7 @@ When you use the **APPEND** clause, the file (left) of the arrow is appended to The script creates a backup of the original file on the node in the directory defined by the site table nodesyncfiledir attribute, which is **/var/xcat/node/syncfiles** by default. To update the original file when using the function, you need to rsync a new original file to the node, removed the old original from the **/var/xcat/node/syncfiles/org** directory. If you want to cleanup all the files for the append function on the node, you can use the ``xdsh -c`` flag. See man page for ``xdsh``. -Note:no order of execution may be assumed by the order that the **EXECUTE,EXECUTEALWAYS and APPEND** clause fall in the synclist file. +.. note:: no order of execution may be assumed by the order that the **EXECUTE,EXECUTEALWAYS and APPEND** clause fall in the synclist file. You can add an **MERGE** clause to your syncfile. This is only supported on Linux. @@ -184,9 +185,9 @@ For example, your synclist file may look like this :: /etc/mydir/mergeshadow -> /etc/shadow /etc/mydir/mergegroup -> /etc/group -When you use the **MERGE** clause, the file (left) of the arrow is merged into the file right of the arrow. It will replace any common userid's found in those files and add new userids. The /opt/xcat/share/xcat/scripts/xdcpmerge.sh is used to accomplish this. +When you use the **MERGE** clause, the file (left) of the arrow is merged into the file right of the arrow. It will replace any common userid's found in those files and add new userids. The **/opt/xcat/share/xcat/scripts/xdcpmerge.sh** is used to accomplish this. -Note: no order of execution may be assumed by the order that the **EXECUTE,EXECUTEALWAYS,APPEND and MERGE** clause fall in the synclist file. +.. note:: no order of execution may be assumed by the order that the **EXECUTE,EXECUTEALWAYS,APPEND and MERGE** clause fall in the synclist file. .. _the_localtion_of_synclist_file_for_updatenode_label: diff --git a/docs/source/guides/admin-guides/manage_clusters/common/deployment/use_kernel_patch.rst b/docs/source/guides/admin-guides/manage_clusters/common/deployment/use_kernel_patch.rst index f2c4f4b65..7e0131b69 100644 --- a/docs/source/guides/admin-guides/manage_clusters/common/deployment/use_kernel_patch.rst +++ b/docs/source/guides/admin-guides/manage_clusters/common/deployment/use_kernel_patch.rst @@ -21,4 +21,4 @@ The RPM names below are only examples, substitute your specific level and archit genitrd rhels7.3-ppc64le-install-compute --ignorekernelchk nodeset osimage=rhels7.3-ppc64le-install-compute --noupdateinitrd -#. Boot CN from net normallly. +#. Boot CN from net normally. diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/localdisk.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/localdisk.rst index df0b3e202..7a2ad7b43 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/localdisk.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/diskless/customize_image/localdisk.rst @@ -1,4 +1,3 @@ .. include:: ../../../common/deployment/enable_localdisk.rst -``Note``: - * To keep the contents on local disk after you using ``enablepart=yes`` to do the disk partitioning, make sure to set ``enablepart=no`` in partition configuration file after the node is booted. +.. note:: ``enablepart=yes`` in partition file will partition the local disk at every boot. If you want to preserve the contents on local disk at next boot, change to ``enablepart=no`` after the initial provision. A log file ``/.sllocal/log/localdisk.log`` on the target node can be used for debugging. diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/index.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/index.rst index 6070b8be6..612eaf30e 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/index.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/index.rst @@ -8,3 +8,4 @@ Advanced Operations rvitals.rst rflash/index.rst rspconfig.rst + reventlog.rst diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/reventlog.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/reventlog.rst new file mode 100644 index 000000000..4af7dd135 --- /dev/null +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/management/advanced/reventlog.rst @@ -0,0 +1,14 @@ +``reventlog`` - Remote Event Log of Service Processors +====================================================== + +See :doc:`reventlog manpage ` for more information. + +The ``reventlog`` command can be used to display and clear event log information on the service processor, or Baseboard Management Controller (BMC), of a physical machine. + +For example, to display all event log entries for node ``cn5``: :: + + reventlog cn5 + +To clear all event log entries for node ``cn5``: :: + + reventlog cn5 clear diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/statelite/config_statelite.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/statelite/config_statelite.rst index 3b0ec8e4b..2c8a02d28 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/statelite/config_statelite.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/statelite/config_statelite.rst @@ -47,6 +47,7 @@ This is the minimal list of files needed, you can add additional files to the li "ALL","/etc/ntp.conf","tmpfs",, "ALL","/etc/rsyslog.conf","tmpfs",, "ALL","/etc/rsyslog.conf.XCATORIG","tmpfs",, + "ALL","/etc/rsyslog.d/","tmpfs",, "ALL","/etc/udev/","tmpfs",, "ALL","/etc/ntp.conf.predhclient","tmpfs",, "ALL","/etc/resolv.conf","tmpfs",, diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/RHEVHypervisor.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/RHEVHypervisor.rst index f9ef4dfaf..1824fdeab 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/RHEVHypervisor.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/RHEVHypervisor.rst @@ -27,6 +27,7 @@ * Create a new package list file ``/install/custom/rhels7.3/ppc64le/rhelv4.pkglist`` to include necessary packages provided from the OS. :: #INCLUDE:/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist# + yum libvirt screen bridge-utils @@ -64,3 +65,4 @@ provmethod=install template=/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl +.. note:: If diskless RHEV osimage is needed, ``localdisk`` option can be used to preserve VMs over RHEV hypervisor reprovision. For instructions see :ref:`setup_localdisk_label`. Set ``/var/lib/libvirt/`` directory where by default VM images are stored to ``localdisk``. diff --git a/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/hypervisorKVM.rst b/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/hypervisorKVM.rst index f2e3bac25..5884223d2 100644 --- a/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/hypervisorKVM.rst +++ b/docs/source/guides/admin-guides/manage_clusters/ppc64le/virtual_machines/hypervisorKVM.rst @@ -30,7 +30,7 @@ Provision Hypervisor chdef kvmhost1 -p postscripts="xHRM bridgeprereq eth0:br0" - **Note**: The network bridge name you use should not be the virtual bridges (vbrX) created by libvirt installation [1]_. +.. note:: The network bridge name you use should not be the virtual bridges (vbrX) created by libvirt installation [1]_. #. Customize the hypervisor node definition to mount the shared kvm storage directory on management node **(optional)** @@ -52,8 +52,7 @@ Provision Hypervisor #. Provision the hypervisor node with the osimage :: - nodeset kvmhost1 osimage= - rpower kvmhost1 boot + rinstall kvmhost1 osimage= Create network bridge on hypervisor diff --git a/docs/source/guides/admin-guides/references/man1/addkit.1.rst b/docs/source/guides/admin-guides/references/man1/addkit.1.rst index ee49d089f..7c64c139e 100644 --- a/docs/source/guides/admin-guides/references/man1/addkit.1.rst +++ b/docs/source/guides/admin-guides/references/man1/addkit.1.rst @@ -21,9 +21,9 @@ SYNOPSIS \ **addkit**\ [\ **-? | -h | -**\ **-help**\ ] [\ **-v | -**\ **-version**\ ] -\ **addkit**\ [\ **-i | -**\ **-inspection**\ ] \ *kitlist*\ +\ **addkit**\ [\ **-i | -**\ **-inspection**\ ] \ *kitlist*\ -\ **addkit**\ [\ **-V | -**\ **-verbose**\ ] [\ **-p | -**\ **-path**\ \ *path*\ ] \ *kitlist*\ +\ **addkit**\ [\ **-V | -**\ **-verbose**\ ] [\ **-p | -**\ **-path**\ \ *path*\ ] \ *kitlist*\ *********** @@ -43,40 +43,40 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. + - -\ **-i|-**\ **-inspection**\ - +\ **-i|-**\ **-inspection**\ + Show the summary of the given kits + - -\ **-p|-**\ **-path**\ \ *path*\ - +\ **-p|-**\ **-path**\ \ *path*\ + The destination directory to which the contents of the kit tarfiles and/or kit deploy directories will be copied. When this option is not specified, the default destination directory will be formed from the installdir site attribute with ./kits subdirectory. + - -\ *kitlist*\ - +\ *kitlist*\ + A comma delimited list of kit_tarball_files or kit_deploy_directories to be added to the xCAT environment. Each entry can be an absolute or relative path. See xCAT documentation for more information on building kits. - + diff --git a/docs/source/guides/admin-guides/references/man1/addkitcomp.1.rst b/docs/source/guides/admin-guides/references/man1/addkitcomp.1.rst index 698c643c5..16a43358a 100644 --- a/docs/source/guides/admin-guides/references/man1/addkitcomp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/addkitcomp.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **addkitcomp**\ [\ **-? | -h | -**\ **-help**\ ] [\ **-v | -**\ **-version**\ ] -\ **addkitcomp**\ [\ **-V | -**\ **-verbose**\ ] [\ **-a | -**\ **-adddeps**\ ] [\ **-f | -**\ **-force**\ ] [\ **-n | -**\ **-noupgrade**\ ] [\ **-**\ **-noscripts**\ ] \ **-i**\ \ *osimage*\ \ *kitcompname_list*\ +\ **addkitcomp**\ [\ **-V | -**\ **-verbose**\ ] [\ **-a | -**\ **-adddeps**\ ] [\ **-f | -**\ **-force**\ ] [\ **-n | -**\ **-noupgrade**\ ] [\ **-**\ **-noscripts**\ ] \ **-i**\ \ *osimage*\ \ *kitcompname_list*\ *********** @@ -40,60 +40,60 @@ OPTIONS -\ **-a|-**\ **-adddeps**\ - +\ **-a|-**\ **-adddeps**\ + Assign kitcomponent dependencies to the osimage. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Add kit component to osimage even if there is a mismatch in OS, version, arch, serverrole, or kitcompdeps + - -\ **-i**\ \ *osimage*\ - +\ **-i**\ \ *osimage*\ + The osimage name that the kit component is assigning to. + - -\ **-n|-**\ **-noupgrade**\ - +\ **-n|-**\ **-noupgrade**\ + 1. Allow multiple versions of kitcomponent to be installed into the osimage, instead of kitcomponent upgrade. - + 2. Kit components added by addkitcomp -n will be installed separately behind all other ones which have been added. + - -\ **-**\ **-noscripts**\ - +\ **-**\ **-noscripts**\ + Do not add kitcomponent's postbootscripts to osimage + - -\ *kitcompname_list*\ - +\ *kitcompname_list*\ + A comma-delimited list of valid full kit component names or kit component basenames that are to be added to the osimage. - + diff --git a/docs/source/guides/admin-guides/references/man1/bmcdiscover.1.rst b/docs/source/guides/admin-guides/references/man1/bmcdiscover.1.rst index 92be62696..238924d21 100644 --- a/docs/source/guides/admin-guides/references/man1/bmcdiscover.1.rst +++ b/docs/source/guides/admin-guides/references/man1/bmcdiscover.1.rst @@ -23,7 +23,7 @@ SYNOPSIS \ **bmcdiscover**\ [\ **-v | -**\ **-version**\ ] -\ **bmcdiscover**\ [\ **-**\ **-sn**\ \ *SN_nodename*\ ] [\ **-s**\ \ *scan_method*\ ] [\ **-u**\ \ *bmc_user*\ ] [\ **-p**\ \ *bmc_passwd*\ ] [\ **-z**\ ] [\ **-w**\ ] \ **-**\ **-range**\ \ *ip_ranges*\ +\ **bmcdiscover**\ [\ **-**\ **-sn**\ \ *SN_nodename*\ ] [\ **-s**\ \ *scan_method*\ ] [\ **-u**\ \ *bmc_user*\ ] [\ **-p**\ \ *bmc_passwd*\ ] [\ **-z**\ ] [\ **-w**\ ] \ **-**\ **-range**\ \ *ip_ranges*\ *********** @@ -46,64 +46,64 @@ OPTIONS -\ **-**\ **-range**\ - +\ **-**\ **-range**\ + Specify one or more IP ranges acceptable to nmap. IP range can be hostnames, IP addresses, networks, etc. A single IP address (10.1.2.3), several IPs with commas (10.1.2.3,10.1.2.10), Ip range with "-" (10.1.2.0-100) or an IP range (10.1.2.0/24) can be specified. If the range is very large, the \ **bmcdiscover**\ command may take a long time to return. + - -\ **-**\ **-sn**\ - +\ **-**\ **-sn**\ + Specify one or more service nodes on which bmcdiscover will run. In hierarchical cluster, the MN may not be able to access the BMC of CN directly, but SN can. With this option, bmcdiscover will be dispatched to the specified SNs. Then, the nodename of the service node that 'bmcdiscover' is running on will be set to the 'servicenode' attribute of the discovered BMC node. + - -\ **-s**\ - +\ **-s**\ + Scan method (The only supported scan method at this time is \ **nmap**\ ) + - -\ **-z**\ - +\ **-z**\ + List the data returned in xCAT stanza format + - -\ **-w**\ - +\ **-w**\ + Write to the xCAT database. + - -\ **-i|-**\ **-bmcip**\ - +\ **-i|-**\ **-bmcip**\ + BMC IP address. + - -\ **-u|-**\ **-bmcuser**\ - +\ **-u|-**\ **-bmcuser**\ + BMC user name. + - -\ **-p|-**\ **-bmcpasswd**\ - +\ **-p|-**\ **-bmcpasswd**\ + BMC user password. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Display version information - + diff --git a/docs/source/guides/admin-guides/references/man1/buildkit.1.rst b/docs/source/guides/admin-guides/references/man1/buildkit.1.rst index fcf4ec6ab..20dd710e6 100644 --- a/docs/source/guides/admin-guides/references/man1/buildkit.1.rst +++ b/docs/source/guides/admin-guides/references/man1/buildkit.1.rst @@ -49,23 +49,23 @@ For example, to create a new kit named "prodkit" in the directory /home/mykits/ 1. - + If no location is provided then the command will create a subdirectory called "prodkit" in the current directory "/home/mykits" and the new kit files will be created there. - - \ **cd /home/mykits**\ - - \ **buildkit create prodkit**\ - + + \ **cd /home/mykits**\ + + \ **buildkit create prodkit**\ + or - + 2. - + If a location is provided then the Kit files will be created there. Note that the Kit name does not necessarily have to be the directory name where the kit files are located. - - \ **buidkit create prodkit -l /home/mykits/prodkit**\ - + + \ **buidkit create prodkit -l /home/mykits/prodkit**\ + In both cases the /home/mykits/prodkit directory is created and the inital files for the kit are created in that directory. @@ -74,77 +74,77 @@ The following example illustrates the basic process for building a new Kit. In t 1. - + Change to the directory where you wish to create the Kit. - + 2. - + Create a template directory for your kit: - - \ **buildkit create mytstkit**\ - + + \ **buildkit create mytstkit**\ + 3. - + Change directory to the new "mytstkit" subdirectory that was just created. - - \ **cd mytstkit**\ - + + \ **cd mytstkit**\ + 4. - + Edit the buildkit configuration file for your kit: - - \ **vi buildkit.conf**\ - + + \ **vi buildkit.conf**\ + (See xCAT Kit documentation for details.) - + 5. - + Create all required files, scripts, plugins, and packages for your kit. - + 6. - + Validate your kit build configuration and fix any errors that are reported: - - \ **buildkit chkconfig**\ - + + \ **buildkit chkconfig**\ + 7. - + List the repos defined in your buildkit configuration file: - - \ **buildkit listrepo**\ - + + \ **buildkit listrepo**\ + 8. - + For each repo name listed, build the repository. Note that if you need to build repositories for OS distributions, versions, or architectures that do not match the current system, you may need to copy your kit template directory to an appropriate server to build that repository, and then copy the results back to your main build server. For example, to build a repo named "rhels6.3" you would run the following command. - - \ **buildkit buildrepo rhels6.3**\ - + + \ **buildkit buildrepo rhels6.3**\ + or, you can build all of the repos at one time if there are no OS or architecture dependencies for kitcomponent package builds or kitpackage builds: - - \ **buildkit buildrepo all**\ - + + \ **buildkit buildrepo all**\ + 9. - + Build the kit tar file: - - \ **buildkit buildtar**\ - + + \ **buildkit buildtar**\ + @@ -154,46 +154,46 @@ OPTIONS -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-k|-**\ **-kitversion**\ \ *version*\ - +\ **-k|-**\ **-kitversion**\ \ *version*\ + Product version. + - -\ **-l|-**\ **-kitloc**\ \ *kit_location*\ - +\ **-l|-**\ **-kitloc**\ \ *kit_location*\ + The directory location of the Kit files. + - -\ **-p|-**\ **-pkgdir**\ \ *package_directory_list*\ - +\ **-p|-**\ **-pkgdir**\ \ *package_directory_list*\ + A comma-separated list of directory locations for product RPMs. + - -\ **-r|-**\ **-kitrelease**\ \ *release*\ - +\ **-r|-**\ **-kitrelease**\ \ *release*\ + Product release. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. - + @@ -203,73 +203,73 @@ SUB-COMMANDS -\ **create**\ \ *kit_basename*\ - +\ **create**\ \ *kit_basename*\ + Creates a new kit build directory structure for kit \ *kit_basename*\ using the location specified on the command line or the current directory. The sample kit files from /opt/xcat/share/xcat/kits/kit_template are copied over, and the buildkit.conf file is modified for the specified \ *kit_basename*\ . + - -\ **chkconfig**\ - +\ **chkconfig**\ + Reads the buildkit.conf file, verifies that the file syntax is correct and that all specified files exist. + - -\ **listrepo**\ - +\ **listrepo**\ + Reads the buildkit.conf file, lists all Kit package repositories listed in the file, and reports the build status for each repository. - + \ **buildrepo**\ {\ *repo_name*\ | \ **all**\ } - + Reads the buildkit.conf file, and builds the specified Kit package repository. The built packages are placed in the directory /build/kit_repodir/\ *repo_name*\ . If \ **all**\ is specified, all kit repositories are built. - + \ **cleanrepo**\ {\ *repo_name*\ | \ **all**\ } - + Reads the buildkit.conf file, and deletes all the package files and package meta data files from the /build/kit_repodir/\ *repo_name*\ directory. If \ **all**\ is specified, all kit repository files are deleted. + - -\ **buildtar**\ - +\ **buildtar**\ + Reads the buildkit.conf file, validates that all kit repositories have been built, and builds the Kit tar file /\ *kitname*\ .tar.bz2. + - -\ **cleantar**\ - +\ **cleantar**\ + Reads the /buildkit.conf file and \ *deletes*\ the following: - - + + - Kit tar files matching /\ *kit_name\\*.tar.bz2*\ . - - - /build/\ *kit_name*\ - + + - /build/\ *kit_name*\ + - /rpmbuild - + - /tmp - + - /debbuild - + Caution: Make sure you back up any tar files you would like to keep before running this subcommand. + - -\ **cleanall**\ - +\ **cleanall**\ + Equivalent to running \ **buildkit cleanrepo all**\ and \ **buildkit cleantar**\ . + - -\ **addpkgs**\ - +\ **addpkgs**\ + \ *kit_tarfile*\ {\ **-p**\ | \ **-**\ **-pkgdir**\ \ *package_directory_list*\ } [\ **-k**\ | \ **-**\ **-kitversion**\ \ *version*\ ] [\ **-r**\ | \ **-**\ **-kitrelease**\ \ *release*\ ] - + Add product package rpms to a previously built kit tar file. This is used for partial product kits that are built and shipped separately from the product packages, and are identified with a \ *kit_tarfile*\ name of \ *kitname*\ .\ **NEED_PRODUCT_PKGS.tar.bz2**\ . Optionally, change the kit release and version values when building the new kit tarfile. If kitcomponent version and/or release values are defaulted to the kit values, those will also be changed and new kitcomponent rpms will be built. If kit or kitcomponent scripts, plugins, or other files specify name, release, or version substitution strings, these will all be replaced with the new values when built into the new complete kit tarfile \ *kit_location*\ /\ *new_kitname*\ .\ **tar.bz2**\ . - + @@ -280,15 +280,15 @@ RETURN VALUE 0 - + The command completed successfully. - + 1 - + An error has occurred. - + @@ -299,49 +299,49 @@ EXAMPLES 1. - + To create the sample kit shipped with the xCAT-buildkit rpm on a RHELS 6.3 server and naming it \ **mykit**\ , run the following commands: - - \ **cd /home/myuserid/kits**\ - - \ **buildkit create mykit**\ - - \ **cd mykit**\ - - \ **vi buildkit.conf**\ - - \ **buildkit chkconfig**\ - - \ **buildkit listrepo**\ - - \ **buildkit buildrepo all**\ - - \ **buildkit buildtar**\ - + + \ **cd /home/myuserid/kits**\ + + \ **buildkit create mykit**\ + + \ **cd mykit**\ + + \ **vi buildkit.conf**\ + + \ **buildkit chkconfig**\ + + \ **buildkit listrepo**\ + + \ **buildkit buildrepo all**\ + + \ **buildkit buildtar**\ + 2. - + To clean up a kit repository directory after build failures on a RHELS 6.3 server to prepare for a new kit repository build, run: - - \ **buildkit cleanrepo rhels6.3**\ - + + \ **buildkit cleanrepo rhels6.3**\ + 3. - + To clean up all kit build files, including a previously built kit tar file, run - - \ **buildkit cleanall**\ - + + \ **buildkit cleanall**\ + 4. - + To create a kit named "tstkit" located in /home/foobar/tstkit instead of the current working directory. - - \ **buildkit create tstkit -l /home/foobar/tstkit**\ - + + \ **buildkit create tstkit -l /home/foobar/tstkit**\ + diff --git a/docs/source/guides/admin-guides/references/man1/cfgve.1.rst b/docs/source/guides/admin-guides/references/man1/cfgve.1.rst index 636f8aede..a7c598257 100644 --- a/docs/source/guides/admin-guides/references/man1/cfgve.1.rst +++ b/docs/source/guides/admin-guides/references/man1/cfgve.1.rst @@ -77,51 +77,51 @@ OPTIONS \ **-c**\ To create the target object. - + For creating of \ **Storage Domain**\ , the target storage domain will be created first, then attached to data center and activated. - + The parameters that used to create the storage domain are gotten from 'virtsd' table. The detail parameters in the virtsd table: - - + + \ **virtsd.node**\ - The name of the storage domain. - + \ **virtsd.sdtype**\ - The type of storage domain. Valid value: data, iso, export. Default value is 'data'. - + \ **virtsd.stype**\ - The storage type. "nfs" or "localfs". - + \ **virtsd.location**\ - The location of the storage. \ **nfs**\ : Format: [nfsserver:nfspath]. The NFS export directory must be configured for read write access and must be owned by vdsm:kvm. \ **localfs**\ : "/data/images/rhev" is set by default. - + \ **virtsd.host**\ - A host must be specified for a storage domain as SPM (Storage Pool Manager) when initialize the storage domain. The role of SPM may be migrated to other host by rhev-m during the running of the datacenter (For example, when the current SPM encountered issue or going to maintenance status. - + \ **virtsd.datacenter**\ - The storage will be attached to. 'Default' data center is the default value. + - -\ **-d**\ \ *data center*\ - +\ **-d**\ \ *data center*\ + The name of data center. - + Specify the 'Data Center' that will be used for the object to be attached to. It is used by type. - + \ **-f**\ It can be used with \ **-r**\ to remove the target object by force. - + For removing of \ **Storage Domain**\ , if \ **-f**\ is specified, the storage domain will be deactivated and detached from data center before the removing. - + \ **-g**\ To activate the target object. @@ -132,73 +132,73 @@ OPTIONS -\ **-k**\ \ *storage type*\ - +\ **-k**\ \ *storage type*\ + To specify the type of the storage type when creating the data center. - + Supported type: nfs; localfs. + - -\ **-l**\ \ *cluster*\ - +\ **-l**\ \ *cluster*\ + Specify the cluster for the network to attach to. + - -\ **-m**\ \ *manager*\ - +\ **-m**\ \ *manager*\ + Specify the manager of the virtual environment. - + For RHEV, the FQDN (Fully Qualified Domain Name) of the rhev manager have to be specified. + - -\ **-n**\ \ *vlan ID*\ - +\ **-n**\ \ *vlan ID*\ + To specify the vlan number when creating a network. + - -\ **-o**\ \ *object*\ - +\ **-o**\ \ *object*\ + The name of the target object. + - -\ **-p**\ \ *cpu type*\ - +\ **-p**\ \ *cpu type*\ + To specify the cpu type when creating the cluster. \ **Intel Penryn Family**\ is default type. - + Supported type: \ **Intel Conroe Family**\ , \ **Intel Penryn Family**\ , \ **Intel Nehalem Family**\ , \ **Intel Westmere Family**\ , \ **AMD Opteron G1**\ , - \ **AMD Opteron G2**\ , \ **AMD Opteron G3**\ - + \ **AMD Opteron G2**\ , \ **AMD Opteron G3**\ + \ **-r**\ To remove the target object. - + For removing of \ **Storage Domain**\ , the storage space will be formatted after removing. - + \ **-s**\ To deactivate the target object. -\ **-t**\ \ *type*\ - +\ **-t**\ \ *type*\ + Specify the \ **type**\ of the target object. - + Supported types: \ **dc**\ - Data Center \ **cl**\ - Cluster \ **sd**\ - Storage Domain \ **nw**\ - Network \ **tpl**\ - Template - + @@ -219,53 +219,53 @@ EXAMPLES 1. To create the Storage Domain 'sd1', enter: - - + + .. code-block:: perl - + cfgve -t sd -m -o sd1 -c - - + + 2. To deactivate the Storage Domain 'sd1' from data center, enter: - - + + .. code-block:: perl - + cfgve -t sd -m -o sd1 -s - - + + 3. To remove the Storage Domain 'sd1', enter: - - + + .. code-block:: perl - + cfgve -t sd -m -o sd1 -r - - + + 4. To create the network 'nw1', enter: - - + + .. code-block:: perl - + cfgve -t nw -m -o nw1 -c - - + + 5. To remove the template 'tpl01', enter: - - + + .. code-block:: perl - + cfgve -t tpl -m -o tpl01 -r - - + + diff --git a/docs/source/guides/admin-guides/references/man1/cfm2xcat.1.rst b/docs/source/guides/admin-guides/references/man1/cfm2xcat.1.rst index e04b5e922..c43171ce3 100644 --- a/docs/source/guides/admin-guides/references/man1/cfm2xcat.1.rst +++ b/docs/source/guides/admin-guides/references/man1/cfm2xcat.1.rst @@ -15,7 +15,7 @@ NAME **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -25,7 +25,7 @@ NAME ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* diff --git a/docs/source/guides/admin-guides/references/man1/chdef.1.rst b/docs/source/guides/admin-guides/references/man1/chdef.1.rst index dedf478e6..a18531e3c 100644 --- a/docs/source/guides/admin-guides/references/man1/chdef.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chdef.1.rst @@ -44,94 +44,94 @@ OPTIONS -\ *attr=val [attr=val ...]*\ - +\ *attr=val [attr=val ...]*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr=val pairs must be specified last on the command line. Use the help option to get a list of valid attributes for each object type. + - -\ **-d|-**\ **-dynamic**\ - +\ **-d|-**\ **-dynamic**\ + Use the dynamic option to change dynamic node groups definition. This option must be used with -w option. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-m|-**\ **-minus**\ - +\ **-m|-**\ **-minus**\ + If the value of the attribute is a list then this option may be used to remove one or more items from the list. + - -\ **-n**\ \ *new-name*\ - +\ **-n**\ \ *new-name*\ + Change the current object name to the new-name which is specified by the -n option. Objects of type site, group and monitoring cannot be renamed with the -n option. Note: For the \ **-n**\ option, only one node can be specified. For some special nodes such as fsp, bpa, frame, cec etc., their name is referenced in their own hcp attribute, or the hcp attribute of other nodes. If you use \ **-n**\ option, you must manually change all hcp attributes that refer to this name. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. (must be the first parameter) See the "noderange" man page for details on supported formats. + - -\ **-o**\ \ *object-names*\ - +\ **-o**\ \ *object-names*\ + A set of comma delimited object names. + - -\ **-p|-**\ **-plus**\ - +\ **-p|-**\ **-plus**\ + This option will add the specified values to the existing value of the attribute. It will create a comma-separated list of values. + - -\ **-t**\ \ *object-types*\ - +\ **-t**\ \ *object-types*\ + A set of comma delimited object types. Use the help option to get a list of valid object types. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. - + \ **-w**\ \ *attr==val*\ \ **-w**\ \ *attr=~val*\ ... - + Use one or multiple -w flags to specify the selection string that can be used to select objects. The operators ==, !=, =~ and !~ are available. Use the help option to get a list of valid attributes for each object type. - + Operator descriptions: == Select nodes where the attribute value is exactly this value. != Select nodes where the attribute value is not this specific value. =~ Select nodes where the attribute value matches this regular expression. !~ Select nodes where the attribute value does not match this regular expression. - + Note: the operator !~ will be parsed by shell, if you want to use !~ in the selection string, use single quote instead. For example:-w 'mgt!~ipmi'. + - -\ **-z|-**\ **-stanza**\ - +\ **-z|-**\ **-stanza**\ + Indicates that the file being piped to the command is in stanza format. See the xcatstanzafile man page for details on using xCAT stanza files. + - -\ **-u**\ - +\ **-u**\ + Fill in the attributes such as template file, pkglist file and otherpkglist file of osimage object based on the specified parameters. It will search "/install/custom/" directory first, and then "/opt/xcat/share/". - + Note: this option only works for objtype \ **osimage**\ . - + @@ -152,161 +152,161 @@ EXAMPLES 1. - + To change a site definition. - - + + .. code-block:: perl - + chdef -t site -o clustersite installdir=/xcatinstall - - + + 2. - + To change a basic node definition. - - + + .. code-block:: perl - + chdef -t node -o node01 groups="all,aix" - - + + (The group definitions are also created if they don't already exist.) - + 3. - + To add another group to the "groups" attribute in the previous example. - - + + .. code-block:: perl - + chdef -p -t node -o node01 groups="compute" - - + + 4. - + To remove the "all" group from the "groups" attribute in the previous example. - - + + .. code-block:: perl - + chdef -m -t node -o node01 groups="all" - - + + 5. - + To replace the current "groups" attribute value of "node01". - - + + .. code-block:: perl - + chdef -t node -o node01 groups="linux" - - + + 6. - + To add "node01" to the "members" attribute of a group definition called "LinuxNodes". - - + + .. code-block:: perl - + chdef -p -t group -o LinuxNodes members="node01" - - + + 7. - + To update a set of definitions based on information contained in the stanza file mystanzafile. - - + + .. code-block:: perl - + cat mystanzafile | chdef -z - - + + 8. - + To update a dynamic node group definition to add the cons=hmc wherevals pair. - - + + .. code-block:: perl - + chdef -t group -o dyngrp -d -p -w cons==hmc - - + + 9. - + To change the node object name from node1 to node2. - - + + .. code-block:: perl - + chdef -t node -o node1 -n node2 - - + + 10. - + To change the node hwtype, this command will change the value of ppc.nodetype. - - + + .. code-block:: perl - + chdef -t node -o node1 hwtype=lpar - - + + 11. - + To change the policy table for policy number 7.0 for admin1 - - + + .. code-block:: perl - + chdef -t policy -o 7.0 name=admin1 rule=allow - - + + 12. - + To change the node nic attributes - - + + .. code-block:: perl - + chdef -t node -o cn1 nicips.eth0="1.1.1.1|1.2.1.1" nicnetworks.eth0="net1|net2" nictypes.eth0="Ethernet" - - + + 13. - + To update an osimage definition. - - + + .. code-block:: perl - + chdef redhat6img -u provmethod=install - - + + diff --git a/docs/source/guides/admin-guides/references/man1/chhypervisor.1.rst b/docs/source/guides/admin-guides/references/man1/chhypervisor.1.rst index 84e617cb5..fdcfa8b50 100644 --- a/docs/source/guides/admin-guides/references/man1/chhypervisor.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chhypervisor.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **RHEV specific :**\ +\ **RHEV specific :**\ \ **chhypervisor**\ \ *noderange*\ [\ **-a**\ ] @@ -32,7 +32,7 @@ SYNOPSIS \ **chhypervisor**\ \ *noderange*\ [\ **-d**\ ] -\ **zVM specific :**\ +\ **zVM specific :**\ \ **chhypervisor**\ \ *noderange*\ [\ **-**\ **-adddisk2pool**\ \ *function*\ \ *region*\ \ *volume*\ \ *group*\ ] @@ -102,51 +102,51 @@ RHEV specific : \ **-a**\ Approve the host that to be added to cluster. - + Before approve, the status of the host must be 'pending_approval'. - + \ **-n**\ Configure the network interfaces for the host. - + Note: This operation only can be run when host is in 'maintenance mode'. Use \ **-d**\ to switch the host to 'maintenance' mode. - + The interfaces which configured in hypervisor.interface will be added to the network of RHEV. - + The format of hypervisor.interface is multiple [network:interfacename: protocol:IP:netmask:gateway] sections separated with '|'. For example: [rhevm2:eth0:static:10.1.0.236:255.255.255.0:0.0.0.0]. - - + + \ **network**\ - The logic network which has been created by 'cfgve -t nw' or the default management network 'rhevm'. - + \ **interfacename**\ - Physical network name: 'eth0','eth1'... - + \ **protocol**\ - To identify which boot protocol to use for the interface: dhcp or static. - + \ **IP**\ - The IP address for the interface. - + \ **netmask**\ - The network mask for the interface. - + \ **gateway**\ - The gateay for the interface. This field only can be set when the interface is added to 'rhevm' network. - + \ **-p**\ Configure the power management for the host. - + The power management must be configured for the rhev-h host to make the rhev-m to monitor the power status of the host, so that when certain host failed to function, rhev-m will fail over certain role like SPM to other active host. - + For rack mounted server, the bmc IP and user:password need to be set for the power management (These parameters are gotten from ipmi table). rhev-m uses the ipmi protocol to get the power status of the host. - + \ **-e**\ To activate the host. @@ -167,84 +167,84 @@ zVM specific : -\ **-**\ **-adddisk2pool**\ \ *function*\ \ *region*\ \ *volume*\ \ *group*\ - +\ **-**\ **-adddisk2pool**\ \ *function*\ \ *region*\ \ *volume*\ \ *group*\ + Add a disk to a disk pool defined in the EXTENT CONTROL. Function type can be either: (4) Define region as full volume and add to group OR (5) Add existing region to group. If the volume already exists in the EXTENT CONTROL, use function 5. If the volume does not exist in the EXTENT CONTROL, but is attached to SYSTEM, use function 4. + - -\ **-**\ **-addscsi**\ \ *device_number*\ \ *device_path*\ \ *option*\ \ *persist*\ - +\ **-**\ **-addscsi**\ \ *device_number*\ \ *device_path*\ \ *option*\ \ *persist*\ + Dynamically add a SCSI disk to a running z/VM system. + - -\ **-**\ **-addvlan**\ \ *name*\ \ *owner*\ \ *type*\ \ *transport*\ - +\ **-**\ **-addvlan**\ \ *name*\ \ *owner*\ \ *type*\ \ *transport*\ + Create a virtual network LAN. + - -\ **-**\ **-addvswitch**\ \ *name*\ \ *osa_dev_addr*\ \ *osa_exp_adapter*\ \ *controller*\ \ *connect (0, 1, or 2)*\ \ *memory_queue*\ \ *router*\ \ *transport*\ \ *vlan_id*\ \ *port_type*\ \ *update*\ \ *gvrp*\ \ *native_vlan*\ - +\ **-**\ **-addvswitch**\ \ *name*\ \ *osa_dev_addr*\ \ *osa_exp_adapter*\ \ *controller*\ \ *connect (0, 1, or 2)*\ \ *memory_queue*\ \ *router*\ \ *transport*\ \ *vlan_id*\ \ *port_type*\ \ *update*\ \ *gvrp*\ \ *native_vlan*\ + Create a virtual switch. + - -\ **-**\ **-addzfcp2pool**\ \ *pool*\ \ *status*\ \ *wwpn*\ \ *lun*\ \ *size*\ \ *owner*\ - +\ **-**\ **-addzfcp2pool**\ \ *pool*\ \ *status*\ \ *wwpn*\ \ *lun*\ \ *size*\ \ *owner*\ + Add a zFCP device to a device pool defined in xCAT. The device must have been carved up in the storage controller and configured with a WWPN/LUN before it can be added to the xCAT storage pool. z/VM does not have the ability to communicate directly with the storage controller to carve up disks dynamically. + - -\ **-**\ **-removediskfrompool**\ \ *function*\ \ *region*\ \ *group*\ - +\ **-**\ **-removediskfrompool**\ \ *function*\ \ *region*\ \ *group*\ + Remove a disk from a disk pool defined in the EXTENT CONTROL. Function type can be either: (1) Remove region, (2) Remove region from group, (3) Remove region from all groups, OR (7) Remove entire group . + - -\ **-**\ **-removescsi**\ \ *device_number*\ \ *persist (YES or NO)*\ - +\ **-**\ **-removescsi**\ \ *device_number*\ \ *persist (YES or NO)*\ + Delete a real SCSI disk. + - -\ **-**\ **-removevlan**\ \ *name*\ \ *owner*\ - +\ **-**\ **-removevlan**\ \ *name*\ \ *owner*\ + Delete a virtual network LAN. + - -\ **-**\ **-removevswitch**\ \ *name*\ - +\ **-**\ **-removevswitch**\ \ *name*\ + Delete a virtual switch. + - -\ **-**\ **-removezfcpfrompool**\ \ *pool*\ \ *lun*\ - +\ **-**\ **-removezfcpfrompool**\ \ *pool*\ \ *lun*\ + Remove a zFCP device from a device pool defined in xCAT. + - -\ **-**\ **-smcli**\ \ *function*\ \ *arguments*\ - +\ **-**\ **-smcli**\ \ *function*\ \ *arguments*\ + Execute a SMAPI function. A list of APIs supported can be found by using the help flag, e.g. chhypervisor pokdev61 --smcli -h. Specific arguments associated with a SMAPI function can be found by using the help flag for the function, e.g. chhypervisor pokdev61 --smcli Image_Query_DM -h. Only z/VM 6.2 and older SMAPI functions are supported at this time. Additional SMAPI functions will be added in subsequent zHCP versions. - + @@ -270,53 +270,53 @@ RHEV specific : 1. To approve the host 'host1', enter: - - + + .. code-block:: perl - + chhypervisor host1 -a - - + + 2. To configure the network interface for the host 'host1', enter: - - + + .. code-block:: perl - + chhypervisor host1 -n - - + + 3. To configure the power management for the host 'host1', enter: - - + + .. code-block:: perl - + chhypervisor host1 -p - - + + 4. To activate the host 'host1', enter: - - + + .. code-block:: perl - + chhypervisor host1 -e - - + + 5. To deactivate the host 'host1', enter: - - + + .. code-block:: perl - + chhypervisor host1 -d - - + + @@ -326,53 +326,53 @@ zVM specific : 1. To add a disk to a disk pool defined in the EXTENT CONTROL, enter: - - + + .. code-block:: perl - + chhypervisor pokdev61 --adddisk2pool 4 DM1234 DM1234 POOL1 - - + + 2. To add a zFCP device to a device pool defined in xCAT, enter: - - + + .. code-block:: perl - + chhypervisor pokdev61 --addzfcp2pool zfcp1 free 500501234567C890 4012345600000000 8G - - + + 3. To remove a region from a group in the EXTENT CONTROL, enter: - - + + .. code-block:: perl - + chhypervisor pokdev61 --removediskfrompool 2 DM1234 POOL1 - - + + 4. To remove a zFCP device from a device pool defined in xCAT, enter: - - + + .. code-block:: perl - + chhypervisor pokdev61 --removezfcpfrompool zfcp1 4012345600000000 500501234567C890 - - + + 5. To execute a SMAPI function (Image_Query_DM), enter: - - + + .. code-block:: perl - + chhypervisor pokdev61 --smcli Image_Query_DM -T LNX3 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/chkkitcomp.1.rst b/docs/source/guides/admin-guides/references/man1/chkkitcomp.1.rst index 841de9808..ffb675f04 100644 --- a/docs/source/guides/admin-guides/references/man1/chkkitcomp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chkkitcomp.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **chkkitcomp**\ [\ **-? | -h | -**\ **-help**\ ] [\ **-v | -**\ **-version**\ ] -\ **chkkitcomp**\ [\ **-V | -**\ **-verbose**\ ] \ **-i**\ \ *osimage*\ \ *kitcompname_list*\ +\ **chkkitcomp**\ [\ **-V | -**\ **-verbose**\ ] \ **-i**\ \ *osimage*\ \ *kitcompname_list*\ *********** @@ -42,34 +42,34 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. + - -\ **-i**\ \ *osimage*\ - +\ **-i**\ \ *osimage*\ + The name of the osimage to check against. + - -\ *kitcompname_list*\ - +\ *kitcompname_list*\ + A comma-delimited list of valid full kit component names or kit component basenames that are to be checked against the osimage. - + diff --git a/docs/source/guides/admin-guides/references/man1/chkosimage.1.rst b/docs/source/guides/admin-guides/references/man1/chkosimage.1.rst index f09ea69ae..2eb1ff057 100644 --- a/docs/source/guides/admin-guides/references/man1/chkosimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chkosimage.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **chkosimage [-h | -**\ **-help ]**\ +\ **chkosimage [-h | -**\ **-help ]**\ -\ **chkosimage [-V] [-c|-**\ **-clean]**\ \ *osimage_name*\ +\ **chkosimage [-V] [-c|-**\ **-clean]**\ \ *osimage_name*\ *********** @@ -68,29 +68,29 @@ OPTIONS -\ **-c |-**\ **-clean**\ - +\ **-c |-**\ **-clean**\ + Remove any older versions of the rpms. Keep the version with the latest timestamp. + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ *osimage_name*\ - +\ *osimage_name*\ + The name of the xCAT for AIX osimage definition. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + @@ -118,24 +118,24 @@ EXAMPLES 1. Check the XCAT osimage called "61image" to verify that the lpp_source directories contain all the software that is specified in the "installp_bundle" and "otherpkgs" attributes. - - + + .. code-block:: perl - + chkosimage -V 61image - - + + 2. Clean up the lpp_source directory for the osimage named "61img" by removing any older rpms with the same names but different versions. - - + + .. code-block:: perl - + chkosimage -c 61img - - + + diff --git a/docs/source/guides/admin-guides/references/man1/chvlan.1.rst b/docs/source/guides/admin-guides/references/man1/chvlan.1.rst index 917f8948e..0f749399b 100644 --- a/docs/source/guides/admin-guides/references/man1/chvlan.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chvlan.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **chvlan**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ [\ **-i | -**\ **-interface**\ \ *nic*\ ] -\ **chvlan**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ \ **-d | -**\ **-delete**\ +\ **chvlan**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ \ **-d | -**\ **-delete**\ \ **chvlan**\ [\ **-h | -**\ **-help**\ ] @@ -86,77 +86,77 @@ EXAMPLES 1. - + To add node1, node2 and node3 to vlan 3. - - + + .. code-block:: perl - + chvlan 3 -n node1,node2,node3 - - + + 2. - + To add node1, node2 and node3 to vlan 3 using eth1 interface. - - + + .. code-block:: perl - + chvlan 3 -n node1,node2,node3 -i eth1 - - + + 3. - + TO remove node1, node2 and node3 from vlan 3. - - + + .. code-block:: perl - + chvlan -n node1,node2,node3 -d - - + + 4. - + To add KVM guests node1 and node2 to vlan 3 - - + + .. code-block:: perl - + mkdef node1 arch=x86_64 groups=kvm,all installnic=mac primarynic=mac mgt=kvm netboot=pxe nfsserver=10.1.0.204 os=rhels6 profile=compute provmethod=install serialport=0 serialspeed=115200 vmcpus=1 vmhost=x3650n01 vmmemory=512 vmnics=br0 vmstorage=nfs://10.1.0.203/vms - + mkdef node2 arch=x86_64 groups=kvm,all installnic=mac primarynic=mac mgt=kvm netboot=pxe nfsserver=10.1.0.204 os=rhels6 profile=compute provmethod=install serialport=0 serialspeed=115200 vmcpus=1 vmhost=x3650n01 vmmemory=512 vmnics=br0 vmstorage=nfs://10.1.0.203/vms - + chvlan 3 -n node1,node2 - + mkvm node1,node2 -s 20G - + rpower node1,node2 on - + rinstall node1,node2 - - + + 5. - + To remove KVM guests node1 and node2 from vlan 3 - - + + .. code-block:: perl - + chvlan 3 -n node1,node2 -d - + rpower node1,node2 off - + rmvm node1,node2 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/chvlanports.1.rst b/docs/source/guides/admin-guides/references/man1/chvlanports.1.rst index 3ff3d6f5f..1f1e27fff 100644 --- a/docs/source/guides/admin-guides/references/man1/chvlanports.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chvlanports.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **chvlanports**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ \ **-i | -**\ **-interface**\ \ *nic*\ +\ **chvlanports**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ \ **-i | -**\ **-interface**\ \ *nic*\ -\ **chvlanports**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ \ **-i | -**\ **-interface**\ \ *nic*\ \ **-d | -**\ **-delete**\ +\ **chvlanports**\ \ *vlanid*\ \ **-n | -**\ **-nodes**\ \ *noderange*\ \ **-i | -**\ **-interface**\ \ *nic*\ \ **-d | -**\ **-delete**\ \ **chvlanports**\ [\ **-h | -**\ **-help**\ ] @@ -81,27 +81,27 @@ EXAMPLES 1. - + To add node1, node2 and node3 to vlan 3 using eth1 interface. - - + + .. code-block:: perl - + chvlanports 3 -n node1,node2,node3 -i eth1 - - + + 2. - + TO remove eth1 interface of node1, node2 and node3 from vlan 3. - - + + .. code-block:: perl - + chvlanports 3 -n node1,node2,node3 -i eth1 -d - - + + diff --git a/docs/source/guides/admin-guides/references/man1/chvm.1.rst b/docs/source/guides/admin-guides/references/man1/chvm.1.rst index a6c0f2bf7..dc8268623 100644 --- a/docs/source/guides/admin-guides/references/man1/chvm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chvm.1.rst @@ -38,7 +38,7 @@ PPC (using Direct FSP Management) specific: \ **chvm**\ \ *noderange*\ \ **-**\ **-p775**\ [\ **-p**\ \ *profile*\ ] -\ **chvm**\ \ *noderange*\ \ **-**\ **-p775**\ \ **-i id**\ [\ **-m**\ \ *memory_interleaving*\ ] \ **-r**\ \ *partition_rule*\ +\ **chvm**\ \ *noderange*\ \ **-**\ **-p775**\ \ **-i id**\ [\ **-m**\ \ *memory_interleaving*\ ] \ **-r**\ \ *partition_rule*\ \ **chvm**\ \ *noderange*\ [\ **lparname**\ ={ \* | \ *name*\ }] @@ -180,16 +180,16 @@ Common: -\ **-h**\ - +\ **-h**\ + Display usage message. + - -\ **-v**\ - +\ **-v**\ + Command Version. - + @@ -198,22 +198,22 @@ PPC (with HMC) specific: -\ **-p**\ \ *profile*\ - +\ **-p**\ \ *profile*\ + Name of an existing partition profile. + - -\ *attr*\ =\ *val*\ - +\ *attr*\ =\ *val*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. + - -\ **-V**\ - +\ **-V**\ + Verbose output. - + @@ -222,80 +222,80 @@ PPC (using Direct FSP Management) specific: -\ **-**\ **-p775**\ - +\ **-**\ **-p775**\ + Specify the operation is for Power 775 machines. + - -\ **-i**\ - +\ **-i**\ + Starting numeric id of the newly created partitions. For Power 775 using Direct FSP Management, the id value only could be \ **1**\ , \ **5**\ , \ **9**\ , \ **13**\ , \ **17**\ , \ **21**\ , \ **25**\ and \ **29**\ . Shall work with option \ **-**\ **-p775**\ . + - -\ **-m**\ - +\ **-m**\ + memory interleaving. The setting value only could be \ **1**\ or \ **2**\ . \ **2**\ means \ **non-interleaved**\ mode (also 2MC mode), the memory cannot be shared across the processors in an octant. \ **1**\ means \ **interleaved**\ mode (also 8MC mode) , the memory can be shared. The default value is \ **1**\ . Shall work with option \ **-**\ **-p775**\ . + - -\ **-r**\ - +\ **-r**\ + partition rule. Shall work with option \ **-**\ **-p775**\ . - + If all the octants configuration value are same in one CEC, it will be " \ **-r**\ \ **0-7**\ :\ *value*\ " . - + If the octants use the different configuration value in one cec, it will be "\ **-r**\ \ **0**\ :\ *value1*\ ,\ **1**\ :\ *value2*\ ,...\ **7**\ :\ *value7*\ ", or "\ **-r**\ \ **0**\ :\ *value1*\ ,\ **1-7**\ :\ *value2*\ " and so on. - + The octants configuration value for one Octant could be \ **1**\ , \ **2**\ , \ **3**\ , \ **4**\ , \ **5**\ . The meanings of the octants configuration value are as following: - - + + .. code-block:: perl - + 1 -- 1 partition with all cpus and memory of the octant 2 -- 2 partitions with a 50/50 split of cpus and memory 3 -- 3 partitions with a 25/25/50 split of cpus and memory 4 -- 4 partitions with a 25/25/25/25 split of cpus and memory 5 -- 2 partitions with a 25/75 split of cpus and memory + + - - -\ **-p**\ \ *profile*\ - +\ **-p**\ \ *profile*\ + Name of I/O slots assignment profile. Shall work with option \ **-**\ **-p775**\ . - + \ **lparname**\ ={\ **\\* | name**\ } - + Set LPAR name for the specified lpars. If '\*' specified, it means to get names from xCAT database and then set them for the specified lpars. If a string is specified, it only supports single node and the string will be set for the specified lpar. The user can use lsvm to check the lparnames for lpars. + - -\ **vmcpus=value**\ \ **vmmemory=value**\ \ **add_physlots=value**\ \ **vmothersetting=value**\ - +\ **vmcpus=value**\ \ **vmmemory=value**\ \ **add_physlots=value**\ \ **vmothersetting=value**\ + To specify the parameters that will be modified. - + \ **add_vmnics=value**\ \ **add_vmstorage=value**\ [\ **-**\ **-vios**\ ] - + To create new virtual adapter for the specified node. + - -\ **del_physlots=drc_index1,drc_index2...**\ - +\ **del_physlots=drc_index1,drc_index2...**\ + To delete physical slots which are specified by the \ *drc_index1,drc_index2...*\ . + - -\ **del_vadapter=slotid**\ - +\ **del_vadapter=slotid**\ + To delete a virtual adapter specified by the \ *slotid*\ . - + @@ -304,40 +304,40 @@ VMware/KVM specific: -\ **-a**\ \ *size*\ - +\ **-a**\ \ *size*\ + Add a new Hard disk with size defaulting to GB. Multiple can be added with comma separated values. + - -\ **-**\ **-cpus**\ \ *count*\ - +\ **-**\ **-cpus**\ \ *count*\ + Set the number of CPUs. + - -\ **-d**\ \ *disk*\ - +\ **-d**\ \ *disk*\ + Deregister the Hard disk but leave the backing files. Multiple can be done with comma separated values. The disks are specified by SCSI id. + - -\ **-**\ **-mem**\ \ *memory*\ - +\ **-**\ **-mem**\ \ *memory*\ + Set the memory, defaults to MB. + - -\ **-p**\ \ *disk*\ - +\ **-p**\ \ *disk*\ + Purge the Hard disk. Deregisters and deletes the files. Multiple can be done with comma separated values. The disks are specified by SCSI id. + - -\ **-**\ **-resize**\ \ *disk*\ =\ *size*\ - +\ **-**\ **-resize**\ \ *disk*\ =\ *size*\ + Change the size of the Hard disk. The disk in \ *qcow2*\ format can not be set to less than its current size. The disk in \ *raw*\ format can be resized smaller, use caution. Multiple disks can be resized by using comma separated \ *disk*\ \ **=**\ \ *size*\ pairs. The disks are specified by SCSI id. Size defaults to GB. - + @@ -346,38 +346,38 @@ KVM specific: -\ **-**\ **-cpupin hostcpuset**\ - +\ **-**\ **-cpupin hostcpuset**\ + To pin guest domain virtual CPUs to physical host CPUs specified with \ *hostcpuset*\ . \ *hostcpuset*\ is a list of physical CPU numbers. Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed. The '-' denotes the range and the '^' denotes exclusive. - + Note: The expression is sequentially evaluated, so "0-15,^8" is identical to "9-14,0-7,15" but not identical to "^8,0-15". + - -\ **-**\ **-membind numanodeset**\ - +\ **-**\ **-membind numanodeset**\ + It is possible to restrict a guest to allocate memory from the specified set of NUMA nodes \ *numanodeset*\ . If the guest vCPUs are also pinned to a set of cores located on that same set of NUMA nodes, memory access is local and improves memory access performance. + - -\ **-**\ **-devpassthru pcidevice1,pcidevice2...**\ - +\ **-**\ **-devpassthru pcidevice1,pcidevice2...**\ + The PCI passthrough gives a guest VM direct access to I/O devices \ *pcidevice1,pcidevice2...*\ . The PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively. The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. + - -\ **-**\ **-devdetach pcidevice1,pcidevice2...**\ - +\ **-**\ **-devdetach pcidevice1,pcidevice2...**\ + To detaching the PCI devices which are attached to VM guest via PCI passthrough from the VM guest. The devices list are a list of comma separated PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. - + @@ -386,62 +386,62 @@ zVM specific: -\ **-**\ **-add3390**\ \ *disk_pool*\ \ *device_address*\ \ *size*\ \ *mode*\ \ *read_password*\ \ *write_password*\ \ *multi_password*\ - +\ **-**\ **-add3390**\ \ *disk_pool*\ \ *device_address*\ \ *size*\ \ *mode*\ \ *read_password*\ \ *write_password*\ \ *multi_password*\ + Adds a 3390 (ECKD) disk to a virtual machine's directory entry. The device address can be automatically assigned by specifying 'auto'. The size of the disk can be specified in GB, MB, or the number of cylinders. + - -\ **-**\ **-add3390active**\ \ *device_address*\ \ *mode*\ - +\ **-**\ **-add3390active**\ \ *device_address*\ \ *mode*\ + Adds a 3390 (ECKD) disk that is defined in a virtual machine's directory entry to that virtual server's active configuration. + - -\ **-**\ **-add9336**\ \ *disk_pool*\ \ *device_address*\ \ *size*\ \ *mode*\ \ *read_password*\ \ *write_password*\ \ *multi_password*\ - +\ **-**\ **-add9336**\ \ *disk_pool*\ \ *device_address*\ \ *size*\ \ *mode*\ \ *read_password*\ \ *write_password*\ \ *multi_password*\ + Adds a 9336 (FBA) disk to a virtual machine's directory entry. The device address can be automatically assigned by specifying 'auto'. The size of the disk can be specified in GB, MB, or the number of blocks. + - -\ **-**\ **-adddisk2pool**\ \ *function*\ \ *region*\ \ *volume*\ \ *group*\ - +\ **-**\ **-adddisk2pool**\ \ *function*\ \ *region*\ \ *volume*\ \ *group*\ + Add a disk to a disk pool defined in the EXTENT CONTROL. Function type can be either: (4) Define region as full volume and add to group OR (5) Add existing region to group. The disk has to already be attached to SYSTEM. + - -\ **-**\ **-addnic**\ \ *device_address*\ \ *type*\ \ *device_count*\ - +\ **-**\ **-addnic**\ \ *device_address*\ \ *type*\ \ *device_count*\ + Adds a network adapter to a virtual machine's directory entry (case sensitive). + - -\ **-**\ **-addpagespool**\ \ *volume_addr*\ \ *volume_label*\ \ *volume_use*\ \ *system_config_name*\ \ *system_config_type*\ \ *parm_disk_owner*\ \ *parm_disk_number*\ \ *parm_disk_password*\ - +\ **-**\ **-addpagespool**\ \ *volume_addr*\ \ *volume_label*\ \ *volume_use*\ \ *system_config_name*\ \ *system_config_type*\ \ *parm_disk_owner*\ \ *parm_disk_number*\ \ *parm_disk_password*\ + Add a full volume page or spool disk to the virtual machine. + - -\ **-**\ **-addprocessor**\ \ *device_address*\ - +\ **-**\ **-addprocessor**\ \ *device_address*\ + Adds a virtual processor to a virtual machine's directory entry. + - -\ **-**\ **-addprocessoractive**\ \ *device_address*\ \ *type*\ - +\ **-**\ **-addprocessoractive**\ \ *device_address*\ \ *type*\ + Adds a virtual processor to a virtual machine's active configuration (case sensitive). + - -\ **-**\ **-addvdisk**\ \ *device_address*\ \ *size*\ - +\ **-**\ **-addvdisk**\ \ *device_address*\ \ *size*\ + Adds a v-disk to a virtual machine's directory entry. + - -\ **-**\ **-addzfcp**\ \ *pool*\ \ *device_address*\ \ *loaddev*\ \ *size*\ \ *tag*\ \ *wwpn*\ \ *lun*\ - +\ **-**\ **-addzfcp**\ \ *pool*\ \ *device_address*\ \ *loaddev*\ \ *size*\ \ *tag*\ \ *wwpn*\ \ *lun*\ + Add a zFCP device to a device pool defined in xCAT. The device must have been carved up in the storage controller and configured with a WWPN/LUN before it can be added to the xCAT storage pool. z/VM does not have the ability to communicate @@ -450,121 +450,121 @@ zVM specific: the WWPN and LUN are not given. The device address can be automatically assigned by specifying 'auto'. The WWPN/LUN can be set as the LOADDEV in the directory entry if (1) is specified as the 'loaddev'. + - -\ **-**\ **-connectnic2guestlan**\ \ *device_address*\ \ *lan*\ \ *owner*\ - +\ **-**\ **-connectnic2guestlan**\ \ *device_address*\ \ *lan*\ \ *owner*\ + Connects a given network adapter to a GuestLAN. + - -\ **-**\ **-connectnic2vswitch**\ \ *device_address*\ \ *vswitch*\ - +\ **-**\ **-connectnic2vswitch**\ \ *device_address*\ \ *vswitch*\ + Connects a given network adapter to a VSwitch. + - -\ **-**\ **-copydisk**\ \ *target_address*\ \ *source_node*\ \ *source_address*\ - +\ **-**\ **-copydisk**\ \ *target_address*\ \ *source_node*\ \ *source_address*\ + Copy a disk attached to a given virtual server. + - -\ **-**\ **-dedicatedevice**\ \ *virtual_device*\ \ *real_device*\ \ *mode*\ - +\ **-**\ **-dedicatedevice**\ \ *virtual_device*\ \ *real_device*\ \ *mode*\ + Adds a dedicated device to a virtual machine's directory entry. + - -\ **-**\ **-deleteipl**\ - +\ **-**\ **-deleteipl**\ + Deletes the IPL statement from the virtual machine's directory entry. + - -\ **-**\ **-disconnectnic**\ \ *device_address*\ - +\ **-**\ **-disconnectnic**\ \ *device_address*\ + Disconnects a given network adapter. + - -\ **-**\ **-formatdisk**\ \ *disk_address*\ \ *multi_password*\ - +\ **-**\ **-formatdisk**\ \ *disk_address*\ \ *multi_password*\ + Formats a disk attached to a given virtual server (only ECKD disks supported). The disk should not be linked to any other virtual server. This command is best used after add3390(). + - -\ **-**\ **-grantvswitch**\ \ *vswitch*\ - +\ **-**\ **-grantvswitch**\ \ *vswitch*\ + Grant vSwitch access for given virtual machine. + - -\ **-**\ **-purgerdr**\ - +\ **-**\ **-purgerdr**\ + Purge the reader belonging to the virtual machine + - -\ **-**\ **-removedisk**\ \ *device_address*\ - +\ **-**\ **-removedisk**\ \ *device_address*\ + Removes a minidisk from a virtual machine's directory entry. + - -\ **-**\ **-removenic**\ \ *device_address*\ - +\ **-**\ **-removenic**\ \ *device_address*\ + Removes a network adapter from a virtual machine's directory entry. + - -\ **-**\ **-removeprocessor**\ \ *device_address*\ - +\ **-**\ **-removeprocessor**\ \ *device_address*\ + Removes a processor from an active virtual machine's configuration. + - -\ **-**\ **-removeloaddev**\ \ *wwpn*\ \ *lun*\ - +\ **-**\ **-removeloaddev**\ \ *wwpn*\ \ *lun*\ + Removes the LOADDEV statement from a virtual machines's directory entry. + - -\ **-**\ **-removezfcp**\ \ *device_address*\ \ *wwpn*\ \ *lun*\ - +\ **-**\ **-removezfcp**\ \ *device_address*\ \ *wwpn*\ \ *lun*\ + Removes a given SCSI/FCP device belonging to the virtual machine. + - -\ **-**\ **-replacevs**\ \ *directory_entry*\ - +\ **-**\ **-replacevs**\ \ *directory_entry*\ + Replaces a virtual machine's directory entry. The directory entry can be echoed into stdin or a text file. + - -\ **-**\ **-setipl**\ \ *ipl_target*\ \ *load_parms*\ \ *parms*\ - +\ **-**\ **-setipl**\ \ *ipl_target*\ \ *load_parms*\ \ *parms*\ + Sets the IPL statement for a given virtual machine. + - -\ **-**\ **-setpassword**\ \ *password*\ - +\ **-**\ **-setpassword**\ \ *password*\ + Sets the password for a given virtual machine. + - -\ **-**\ **-setloaddev**\ \ *wwpn*\ \ *lun*\ - +\ **-**\ **-setloaddev**\ \ *wwpn*\ \ *lun*\ + Sets the LOADDEV statement in the virtual machine's directory entry. + - -\ **-**\ **-undedicatedevice**\ \ *device_address*\ - +\ **-**\ **-undedicatedevice**\ \ *device_address*\ + Delete a dedicated device from a virtual machine's active configuration and directory entry. - + diff --git a/docs/source/guides/admin-guides/references/man1/chzone.1.rst b/docs/source/guides/admin-guides/references/man1/chzone.1.rst index 7e9e9dd99..0aedb5e8d 100644 --- a/docs/source/guides/admin-guides/references/man1/chzone.1.rst +++ b/docs/source/guides/admin-guides/references/man1/chzone.1.rst @@ -7,7 +7,7 @@ chzone.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,7 +15,7 @@ chzone.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -25,176 +25,174 @@ chzone.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* The \ **chzone**\ command is designed to change the definition of a zone previous defined in the cluster. -The chzone command is only supported on Linux ( No AIX support). -The nodes are not updated with the new root ssh keys by chzone. You must run updatenode -k or xdsh -K to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. +The \ **chzone**\ command is only supported on Linux ( No AIX support). +The nodes are not updated with the new root ssh keys by \ **chzone**\ . You must run \ **updatenode -k**\ or \ **xdsh -K**\ to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. Note: if any zones in the zone table, there must be one and only one defaultzone. Otherwise, errors will occur. *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Displays usage information. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Displays command version and build date. + - -\ **-k | -**\ **-sshkeypath**\ \ *full path to the ssh RSA private key*\ - - This is the path to the id_rsa key that will be used to build new root's ssh keys for the zone. If -k is used, it will generate the ssh public key from the input ssh RSA private key, and store both in /etc/xcat/sshkeys//.ssh directory. +\ **-k | -**\ **-sshkeypath**\ \ *full path to the ssh RSA private key*\ + + This is the path to the id_rsa key that will be used to build new root's ssh keys for the zone. If \ **-k**\ is used, it will generate the ssh public key from the input ssh RSA private key, and store both in /etc/xcat/sshkeys//.ssh directory. + - -\ **-K | -**\ **-genkeys**\ - +\ **-K | -**\ **-genkeys**\ + Using this flag, will generate new ssh RSA private and public keys for the zone into the /etc/xcat/sshkeys//.ssh directory. - The nodes are not automatically updated with the new root ssh keys by chzone. You must run updatenode -k or xdsh -K to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. + The nodes are not automatically updated with the new root ssh keys by chzone. You must run \ **updatenode -k**\ or \ **xdsh -K**\ to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. + - -\ **-**\ **-defaultzone**\ - +\ **-**\ **-defaultzone**\ + if \ **-**\ **-defaultzone**\ is input, then it will set the zone defaultzone attribute to yes. if \ **-**\ **-defaultzone**\ is input and another zone is currently the default, then the \ **-f**\ flag must be used to force a change to the new defaultzone. If \ **-f**\ flag is not use an error will be returned and no change made. Note: if any zones in the zone table, there must be one and only one defaultzone. Otherwise, errors will occur. + - -\ **-a | -**\ **-addnoderange**\ \ *noderange*\ - +\ **-a | -**\ **-addnoderange**\ \ *noderange*\ + For each node in the noderange, it will set the zonename attribute for that node to the input zonename. - If the -g flag is also on the command, then + If the \ **-g**\ flag is also on the command, then it will add the group name "zonename" to each node in the noderange. + - -\ **-r | -**\ **-rmnoderange**\ \ *noderange*\ - +\ **-r | -**\ **-rmnoderange**\ \ *noderange*\ + For each node in the noderange, if the node is a member of the input zone, it will remove the zonename attribute for that node. If any of the nodes in the noderange is not a member of the zone, you will get an error and nothing will be changed. - If the -g flag is also on the command, then + If the \ **-g**\ flag is also on the command, then it will remove the group name "zonename" from each node in the noderange. + - -\ **-s| -**\ **-sshbetweennodes**\ \ **yes|no**\ - - If -s entered, the zone sshbetweennodes attribute will be set to yes or no based on the input. When this is set to yes, then ssh will be setup to allow passwordless root access between nodes. If no, then root will be prompted for a password when running ssh between the nodes in the zone. +\ **-s| -**\ **-sshbetweennodes**\ \ **yes|no**\ + + If \ **-s**\ entered, the zone sshbetweennodes attribute will be set to yes or no based on the input. When this is set to yes, then ssh will be setup to allow passwordless root access between nodes. If no, then root will be prompted for a password when running ssh between the nodes in the zone. + - -\ **-f | -**\ **-force**\ - +\ **-f | -**\ **-force**\ + Used with the \ **-**\ **-defaultzone**\ flag to override the current default zone. + - -\ **-g | -**\ **-assigngroup**\ - +\ **-g | -**\ **-assigngroup**\ + Used with the \ **-a**\ or \ **-r**\ flag to add or remove the group zonename for all nodes in the input noderange. + - -\ **-V | -**\ **-Verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode. - + **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. To chzone zone1 to the default zone, enter: - - + + .. code-block:: perl - + chzone> zone1 --default -f - - + + 2. To generate new root ssh keys for zone2A using the ssh id_rsa private key in /root/.ssh: - - + + .. code-block:: perl - + chzone zone2A -k /root/.ssh - - + + Note: you must use xdsh -K or updatenode -k to update the nodes with the new keys - + 3. To generate new root ssh keys for zone2A, enter : - - + + .. code-block:: perl - + chzone zone2A -K - - + + Note: you must use xdsh -K or updatenode -k to update the nodes with the new keys - + 4. To add a new group of nodes (compute3) to zone3 and add zone3 group to the nodes, enter: - - + + .. code-block:: perl - + chzone zone3 -a compute3 -g + + - - -5. - - To remove a group of nodes (compute4) from zone4 and remove zone4 group from the nodes, enter: - - +5. To remove a group of nodes (compute4) from zone4 and remove zone4 group from the nodes, enter: + + .. code-block:: perl - + chzone> zone4 -r compute4 -g - - + + 6. To change the sshbetweennodes setting on the zone to not allow passwordless ssh between nodes, enter: - - + + .. code-block:: perl - + chzone zone5 -s no - - + + Note: you must use \ **xdsh -K**\ or \ **updatenode -k**\ to update the nodes with this new setting. - + ************* -\ **FILES**\ +\ **FILES**\ ************* @@ -204,9 +202,9 @@ Location of the chzone command. **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** -L ,L ,L , updatenode(1)|updatenode.1 +mkzone(1)|mkzone.1, rmzone(1)|rmzone.1, xdsh(1)|xdsh.1, updatenode(1)|updatenode.1 diff --git a/docs/source/guides/admin-guides/references/man1/clonevm.1.rst b/docs/source/guides/admin-guides/references/man1/clonevm.1.rst index 0db09970f..0d6d341ee 100644 --- a/docs/source/guides/admin-guides/references/man1/clonevm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/clonevm.1.rst @@ -50,46 +50,46 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-b**\ \ *master_to_base_vms_upon*\ - +\ **-b**\ \ *master_to_base_vms_upon*\ + The master to base the clones upon + - -\ **-t**\ \ *master_to_be_made*\ - +\ **-t**\ \ *master_to_be_made*\ + The target master to copy a single VM's state to + - -\ **-d|-**\ **-detached**\ - +\ **-d|-**\ **-detached**\ + Explicitly request that the noderange be untethered from any masters. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Force cloning of a powered on VM. Implies \ **-d**\ if the VM is on. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. - + @@ -110,23 +110,23 @@ EXAMPLES 1. Creating a master named \ *appserver*\ from a node called \ *vm1*\ : - - + + .. code-block:: perl - + clonevm vm1 -t appserver - - + + 2. Cleating 30 VMs from a master named \ *appserver*\ : - - + + .. code-block:: perl - + clonevm vm1-vm30 -b appserver - - + + diff --git a/docs/source/guides/admin-guides/references/man1/configfpc.1.rst b/docs/source/guides/admin-guides/references/man1/configfpc.1.rst index 71fedfd73..1801eeee5 100644 --- a/docs/source/guides/admin-guides/references/man1/configfpc.1.rst +++ b/docs/source/guides/admin-guides/references/man1/configfpc.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **configfpc**\ \ **-i**\ \ *interface*\ +\ **configfpc**\ \ **-i**\ \ *interface*\ -\ **configfpc**\ \ **-i**\ \ *interface*\ \ **-**\ **-ip**\ \ *default ip address*\ +\ **configfpc**\ \ **-i**\ \ *interface*\ \ **-**\ **-ip**\ \ *default ip address*\ \ **configfpc**\ [\ **-V | -**\ **-verbose**\ ] @@ -55,22 +55,22 @@ OPTIONS -\ **-i**\ \ *interface*\ - +\ **-i**\ \ *interface*\ + Use this flag to specify which xCAT MN interface (example: eth4) that is connected to the NeXtScale FPCs. This option is required. + - -\ **-**\ **-ip**\ \ *default ip address*\ - +\ **-**\ **-ip**\ \ *default ip address*\ + Use this flag to override the default ip address of 192.168.0.100 with a new address. + - -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode - + @@ -81,22 +81,22 @@ EXAMPLES 1. To discover and configure all NeXtScale Fan Power Controllers (FPCs) connected on eth0 interface. - - + + .. code-block:: perl - + configfpc -i eth0 - - + + 2. To override the default ip address and run in Verbose mode. - - + + .. code-block:: perl - + configfpc -i eth0 --ip 196.68.0.100 -V - - + + diff --git a/docs/source/guides/admin-guides/references/man1/csm2xcat.1.rst b/docs/source/guides/admin-guides/references/man1/csm2xcat.1.rst index a6ef13d9b..cd06071a9 100644 --- a/docs/source/guides/admin-guides/references/man1/csm2xcat.1.rst +++ b/docs/source/guides/admin-guides/references/man1/csm2xcat.1.rst @@ -73,7 +73,7 @@ EXAMPLES .. code-block:: perl cat node.stanza | chdef -z - + cat device.stanza | chdef -z diff --git a/docs/source/guides/admin-guides/references/man1/db2sqlsetup.1.rst b/docs/source/guides/admin-guides/references/man1/db2sqlsetup.1.rst index 6bb891cae..27bb72d59 100644 --- a/docs/source/guides/admin-guides/references/man1/db2sqlsetup.1.rst +++ b/docs/source/guides/admin-guides/references/man1/db2sqlsetup.1.rst @@ -61,52 +61,52 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the release version of the code. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Displays verbose messages. + - -\ **-i|-**\ **-init**\ - +\ **-i|-**\ **-init**\ + The init option is used to setup an installed DB2 database on AIX or Linux (p-Series) so that xCAT can use the database. This must be combined with either the -S or -C flag to indicate whether we are setting up the Server or the Client. With the -S flag, it involves creating the xcatdb database, the xcatdb instance id, allowing access to the xcatdb database by the Management Node. It also backs up the current xCAT database and restores it into the newly setup xcatdb DB2 database. It creates the /etc/xcat/cfgloc file to point the xcatd daemon to the DB2 database and restarts the xcatd daemon using the database. + - -\ **-p|-**\ **-passwd**\ - +\ **-p|-**\ **-passwd**\ + The password change option is to change the database access password for the DB2 xcatdb database. If -S is input then it will only change the password on the DB2 Server (MN). If -C is input it will only change on the DB2 clients (SN). If neither -S or -C are input with this flag, then it will change both the DB2 Server and Clients. When changing the password the xcatd daemon will be stopped and restarted. Any other tools accessing the database should also be stopped before changing and restarted after changing. + - -\ **-S|-C**\ - +\ **-S|-C**\ + This options says whether to setup the Server (-S) on the Management Node, or the Client (-C) on the Service Nodes. + - -\ **-N|-**\ **-nostart**\ - +\ **-N|-**\ **-nostart**\ + This option with the -S flag will create the database, but will not backup and restore xCAT tables into the database. It will create the cfgloc file such that the next start of xcatd will try and contact the database. This can be used to setup the xCAT DB2 database during or before install. + - -\ **-o|-**\ **-setupODBC**\ - +\ **-o|-**\ **-setupODBC**\ + This option sets up the ODBC /etc/../odbcinst.ini, /etc/../odbc.ini and the .odbc.ini file in roots home directory will be created and initialized to run off the xcatdb DB2 database. - + @@ -136,64 +136,62 @@ EXAMPLES 1. To setup DB2 Server for xCAT to run on the DB2 xcatdb database, on the MN: - - + + .. code-block:: perl - + db2sqlsetup -i -S - - + + 2. To setup DB2 Client for xCAT to run on the DB2 xcatdb database, on the SN: - - + + .. code-block:: perl - + db2sqlsetup -i -C - - + + 3. To setup the ODBC for DB2 xcatdb database access, on the MN : - - + + .. code-block:: perl - + db2sqlsetup -o -S - - + + 4. To setup the ODBC for DB2 xcatdb database access, on the SN : - - + + .. code-block:: perl - + db2sqlsetup -o -C + + - - -5. - - To setup the DB2 database but not start xcat running with it: - - +5. To setup the DB2 database but not start xcat running with it: + + .. code-block:: perl - + db2sqlsetup -i -S -N - - + + 6. To change the DB2 xcatdb password on both the Management and Service Nodes: - - + + .. code-block:: perl - + db2sqlsetup -p - - + + diff --git a/docs/source/guides/admin-guides/references/man1/dumpxCATdb.1.rst b/docs/source/guides/admin-guides/references/man1/dumpxCATdb.1.rst index dabcca42b..af89c9fef 100644 --- a/docs/source/guides/admin-guides/references/man1/dumpxCATdb.1.rst +++ b/docs/source/guides/admin-guides/references/man1/dumpxCATdb.1.rst @@ -93,7 +93,7 @@ EXAMPLES .. code-block:: perl chtab key=skiptables site.value="hosts,passwd" - + dumpxCATdb -p /tmp/db @@ -103,7 +103,7 @@ EXAMPLES .. code-block:: perl export XCAT_SKIPTABLES="hosts,passwd" - + dumpxCATdb -p /tmp/db diff --git a/docs/source/guides/admin-guides/references/man1/genimage.1.rst b/docs/source/guides/admin-guides/references/man1/genimage.1.rst index 1e869d7ad..d28fd3880 100644 --- a/docs/source/guides/admin-guides/references/man1/genimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/genimage.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **genimage**\ +\ **genimage**\ -\ **genimage**\ [\ **-o**\ \ *osver*\ ] [\ **-a**\ \ *arch*\ ] [\ **-p**\ \ *profile*\ ] [\ **-i**\ \ *nodebootif*\ ] [\ **-n**\ \ *nodenetdrivers*\ ] [\ **-**\ **-onlyinitrd**\ ] [\ **-r**\ \ *otherifaces*\ ] [\ **-k**\ \ *kernelver*\ ] [\ **-g**\ \ *krpmver*\ ] [\ **-m**\ \ *statelite*\ ] [\ **-l**\ \ *rootlimitsize*\ ] [\ **-**\ **-permission**\ \ *permission*\ ] [\ **-**\ **-interactive**\ ] [\ **-**\ **-dryrun**\ ] [\ **-**\ **-ignorekernelchk**\ ] [\ **-**\ **-noupdate**\ ] \ *imagename*\ +\ **genimage**\ [\ **-o**\ \ *osver*\ ] [\ **-a**\ \ *arch*\ ] [\ **-p**\ \ *profile*\ ] [\ **-i**\ \ *nodebootif*\ ] [\ **-n**\ \ *nodenetdrivers*\ ] [\ **-**\ **-onlyinitrd**\ ] [\ **-r**\ \ *otherifaces*\ ] [\ **-k**\ \ *kernelver*\ ] [\ **-g**\ \ *krpmver*\ ] [\ **-m**\ \ *statelite*\ ] [\ **-l**\ \ *rootlimitsize*\ ] [\ **-**\ **-permission**\ \ *permission*\ ] [\ **-**\ **-interactive**\ ] [\ **-**\ **-dryrun**\ ] [\ **-**\ **-ignorekernelchk**\ ] [\ **-**\ **-noupdate**\ ] \ *imagename*\ \ **genimage**\ [\ **-h**\ | \ **-**\ **-help**\ | \ **-v**\ | \ **-**\ **-version**\ ] @@ -42,9 +42,9 @@ The \ **genimage**\ command will generate two initial ramdisks for \ **stateles After your image is generated, you can chroot to the image, install any additional software you would like, or make modifications to files, and then run the following command to prepare the image for deployment. -for stateless: \ **packimage**\ +for stateless: \ **packimage**\ -for statelite: \ **liteimg**\ +for statelite: \ **liteimg**\ Besides prompting for some parameter values, the \ **genimage**\ command takes default guesses for the parameters not specified or not defined in the \ *osimage*\ and \ *linuximage*\ tables. It also assumes default answers for questions from the yum/zypper command when installing rpms into the image. Use \ **-**\ **-interactive**\ flag if you want the yum/zypper command to prompt you for the answers. @@ -70,135 +70,135 @@ OPTIONS -\ **-a**\ \ *arch*\ - +\ **-a**\ \ *arch*\ + The hardware architecture of this node: x86_64, ppc64, x86, ia64, etc. If omitted, the current hardware architecture will be used. + - -\ **-o**\ \ *osver*\ - +\ **-o**\ \ *osver*\ + The operating system for the image: fedora8, rhel5, sles10, etc. The OS packages must be in /install// (use copycds(8)|copycds.8). + - -\ **-p**\ \ *profile*\ - +\ **-p**\ \ *profile*\ + The profile (e.g. compute, service) to use to create the image. This determines what package lists are used from /opt/xcat/share/xcat/netboot/ to create the image with. When deploying nodes with this image, the nodes' nodetype.profile attribute must be set to this same value. + - -\ **-i**\ \ *nodebootif*\ - +\ **-i**\ \ *nodebootif*\ + This argument is now optional, and allows you to specify the network boot interface to be configured in the image (e.g. eth0). If not specified, the interface will be determined and configured during the network boot process. + - -\ **-n**\ \ *nodenetdrivers*\ - +\ **-n**\ \ *nodenetdrivers*\ + This argument is now optional, and allows you to specify the driver modules needed for the network interface(s) on your stateless nodes. If you do not specify this option, the default is to include all recent IBM xSeries network drivers. - + If specified, \ *nodenetdrivers*\ should be a comma separated list of network drivers to be used by the stateless nodes (Ie.: -n tg3,e1000). Note that the drivers will be loaded in the order that you list them, which may prove important in some cases. + - -\ **-l**\ \ *rootlimit*\ - +\ **-l**\ \ *rootlimit*\ + The maximum size allowed for the root file system in the image. Specify in bytes, or can append k, m, or g. + - -\ **-**\ **-onlyinitrd**\ - +\ **-**\ **-onlyinitrd**\ + Regenerates the initrd for a stateless image to be used for a diskless install. - + Regenerates the initrd that is part of a stateless/statelite image that is used to boot xCAT nodes in a stateless/stateli te mode. - + The \ **genimage -**\ **-onlyinitrd**\ command will generate two initial ramdisks, one is \ **initrd-statelite.gz**\ for \ **statelite**\ mode, the other one is \ **initrd-stateless.gz**\ for \ **stateless**\ mode. + - -\ **-**\ **-permission**\ \ *permission*\ - +\ **-**\ **-permission**\ \ *permission*\ + The mount permission of \ **/.statelite**\ directory for \ **statelite**\ mode, which is only used for \ **statelite**\ mode, and the default permission is 755. + - -\ **-r**\ \ *otherifaces*\ - +\ **-r**\ \ *otherifaces*\ + Other network interfaces (e.g. eth1) in the image that should be configured via DHCP. + - -\ **-k**\ \ *kernelver*\ - +\ **-k**\ \ *kernelver*\ + Use this flag if you want to use a specific version of the kernel in the image. Defaults to the first kernel found in the install image. + - -\ **-g**\ \ *krpmver*\ - +\ **-g**\ \ *krpmver*\ + Use this flag to specify the rpm version for kernel packages in the image. It must be present if -k flag is specified in the command for SLES. Generally, the value of -g is the part after \ **linux-**\ and before \ **.rpm**\ in a kernel rpm name. - + \ **-m**\ statelite - + This flag is for Ubuntu, Debian and Fedora12 only. Use this flag to specify if you want to generate statelite image. The default is to generate stateless image for these three operating systems. For others, this flag is invalid because both stateless and statelite images will be generated with this command. + - -\ **-**\ **-interactive**\ - +\ **-**\ **-interactive**\ + This flag allows the user to answer questions from yum/zypper command when installing rpms into the image. If it is not specified, '-y' will be passed to the yum command and '--non-interactive --no-gpg-checks' will be passed to the zypper command as default answers. + - -\ **-**\ **-dryrun**\ - +\ **-**\ **-dryrun**\ + This flag shows the underlying call to the os specific genimage function. The user can copy and the paste the output to run the command on another machine that does not have xCAT installed. + - -\ **-t**\ \ *tmplimit*\ - +\ **-t**\ \ *tmplimit*\ + (Deprecated) This flag allows the user to setup the /tmp and the /var/tmp file system sizes. This flag is no longer supported. You can overwrite any file system size using the .postinstall script where you can create a new /etc/fstab file. + - -\ **-**\ **-ignorekernelchk**\ - +\ **-**\ **-ignorekernelchk**\ + Skip the kernel version checking when injecting drivers from osimage.driverupdatesrc. That means all drivers from osimage.driverupdatesrc will be injected to initrd for the specific target kernel. + - -\ **-**\ **-noupdate**\ - +\ **-**\ **-noupdate**\ + This flag allows the user to bypass automatic package updating when installing other packages. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Display version. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. - + @@ -219,53 +219,53 @@ EXAMPLES 1 To prompt the user for inputs: - - + + .. code-block:: perl - + genimage - - + + 2 To generate an image using information from an osimage definition: - - + + .. code-block:: perl - + genimage myimagename - - + + 3 To run genimage in test mode without actually generating an image: - - + + .. code-block:: perl - + genimage --dryrun myimagename - - + + 4 To generate an image and have yum/zypper prompt for responses: - - + + .. code-block:: perl - + genimage myimagename --interactive - - + + 5 To generate an image, replacing some values in the osimage definition: - - + + .. code-block:: perl - + genimage -i eth0 -n tg3 myimagename - - + + diff --git a/docs/source/guides/admin-guides/references/man1/geninitrd.1.rst b/docs/source/guides/admin-guides/references/man1/geninitrd.1.rst index fa871f0aa..2e224ff8c 100644 --- a/docs/source/guides/admin-guides/references/man1/geninitrd.1.rst +++ b/docs/source/guides/admin-guides/references/man1/geninitrd.1.rst @@ -31,7 +31,7 @@ DESCRIPTION Generate the initrd for the osimage: \ **imagename**\ which is an xCAT object of \ *osimage*\ type. -\ **Diskful Osimage**\ +\ **Diskful Osimage**\ If the \ **imagename**\ is a stateful one (The provmethod attribute for the osimage is 'install'), @@ -57,7 +57,7 @@ to get all the rpm packages and then search the drivers from the rpm packages. Refer to the doc: Using_Linux_Driver_Update_Disk -\ **Stateless Osimage**\ +\ **Stateless Osimage**\ If the \ **imagename**\ is a stateless one (The provmethod attribute for the osimage is 'netboot'), @@ -82,10 +82,10 @@ Parameters \ *imagename*\ specifies the name of an os image definition to be used. The specification for the image is stored in the \ *osimage*\ table and \ *linuximage*\ table. -\ **-**\ **-ignorekernelchk**\ - +\ **-**\ **-ignorekernelchk**\ + Skip the kernel version checking when injecting drivers from osimage.driverupdatesrc. That means all drivers from osimage.driverupdatesrc will be injected to initrd for the specific target kernel. - + @@ -106,13 +106,13 @@ EXAMPLES 1 To generate initrd for the osimage \ **myimagename**\ : - - + + .. code-block:: perl - + geninitrd myimagename - - + + diff --git a/docs/source/guides/admin-guides/references/man1/getmacs.1.rst b/docs/source/guides/admin-guides/references/man1/getmacs.1.rst index ced794535..a38bc1abf 100644 --- a/docs/source/guides/admin-guides/references/man1/getmacs.1.rst +++ b/docs/source/guides/admin-guides/references/man1/getmacs.1.rst @@ -72,63 +72,63 @@ OPTIONS ******* -\ **-**\ **-arp**\ +\ **-**\ **-arp**\ Read MAC address with ARP protocol. -\ **-C**\ +\ **-C**\ Specify the IP address of the partition for ping test. The default is to read from xCAT database if no \ **-C**\ specified. -\ **-d**\ +\ **-d**\ Display MAC only. The default is to write the first valid adapter MAC to the xCAT database. -\ **-D**\ +\ **-D**\ Perform discovery for mac address. By default, it will run ping test to test the connection between adapter and xCAT management node. Use '--noping' can skip the ping test to save time. Be aware that in this way, the lpars will be reset. -\ **-f**\ +\ **-f**\ Force immediate shutdown of the partition. This flag must be used with -D flag. -\ **-F**\ +\ **-F**\ Specify filters to select the correct adapter. Acceptable filters are Type, MAC_Address, Phys_Port_Loc, Adapter, Port_Group, Phys_Port, Logical_Port, VLan, VSwitch, Curr_Conn_Speed. -\ **-G**\ +\ **-G**\ Gateway IP address of the partition. The default is to read from xCAT database if no \ **-G**\ specified. -\ **-h**\ +\ **-h**\ Display usage message. -\ **-M**\ +\ **-M**\ Return multiple MAC addresses for the same adapter or port, if available from the hardware. For some network adapters (e.g. HFI) the MAC can change when there are some recoverable internal errors. In this case, the hardware can return several MACs that the adapter can potentially have, so that xCAT can put all of them in DHCP. This allows successful booting, even after a MAC change, but on Linux at this time, it can also cause duplicate IP addresses, so it is currently not recommended on Linux. By default (without this flag), only a single MAC address is returned for each adapter. -\ **-**\ **-noping**\ +\ **-**\ **-noping**\ Only can be used with '-D' to display all the available adapters with mac address but do NOT run ping test. -\ **-o**\ +\ **-o**\ Read MAC address when the lpar is in openfirmware state. This option mush be used with [\ **-D**\ ] option to perform ping test. Before use \ **-o**\ , the lpar must be in openfirmware state. -\ **-S**\ +\ **-S**\ The IP address of the machine to ping. The default is to read from xCAT database if no \ **-S**\ specified. -\ **-v**\ +\ **-v**\ Command Version. -\ **-V**\ +\ **-V**\ Verbose output. -\ **-i**\ +\ **-i**\ Specify the interface whose mac address will be collected and written into mac table. If 4 mac addresses are returned by option '-d', they all are the mac addresses of the blade. The N can start from 0(map to the eth0 of the blade) to 3. If 5 mac addresses are returned, the 1st mac address must be the mac address of the blade's FSP, so the N will start from 1(map to the eth0 of the blade) to 4. diff --git a/docs/source/guides/admin-guides/references/man1/getslnodes.1.rst b/docs/source/guides/admin-guides/references/man1/getslnodes.1.rst index 9c4979fa5..34a34f3f3 100644 --- a/docs/source/guides/admin-guides/references/man1/getslnodes.1.rst +++ b/docs/source/guides/admin-guides/references/man1/getslnodes.1.rst @@ -65,16 +65,16 @@ OPTIONS -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. - + @@ -95,39 +95,39 @@ EXAMPLES 1. - + Display information about all of the nodes in your SoftLayer account: - - + + .. code-block:: perl - + getslnodes - - + + 2. - + Display information about all of the nodes whose hostname starts with foo: - - + + .. code-block:: perl - + getslnodes foo - - + + 3. - + Create xCAT node defintions in the xCAT DB for all of the nodes in your SoftLayer account: - - + + .. code-block:: perl - + getslnodes | mkdef -z - - + + diff --git a/docs/source/guides/admin-guides/references/man1/gettab.1.rst b/docs/source/guides/admin-guides/references/man1/gettab.1.rst index 71bb19c0f..b158b6122 100644 --- a/docs/source/guides/admin-guides/references/man1/gettab.1.rst +++ b/docs/source/guides/admin-guides/references/man1/gettab.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **gettab**\ [\ **-H**\ | \ **-**\ **-with-fieldname**\ ] \ *key=value,... table.attribute ...*\ +\ **gettab**\ [\ **-H**\ | \ **-**\ **-with-fieldname**\ ] \ *key=value,... table.attribute ...*\ \ **gettab**\ [\ **-?**\ | \ **-h**\ | \ **-**\ **-help**\ ] @@ -41,17 +41,17 @@ OPTIONS -\ **-H|-**\ **-with-fieldname**\ - +\ **-H|-**\ **-with-fieldname**\ + Always display table.attribute name next to result. By default, this is done only if more than one table.attribute is requested. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -77,39 +77,39 @@ EXAMPLES 1. To display setting for \ **master**\ (management node) in the site table: - - + + .. code-block:: perl - + gettab -H key=master site.value - - + + The output would be similar to: - - + + .. code-block:: perl - + site.value: mgmtnode.cluster.com - - + + 2. To display the first node or group name that has \ **mgt**\ set to \ **blade**\ in the nodehm table: - - + + .. code-block:: perl - + gettab mgt=blade nodehm.node - - + + The output would be similar to: - - + + .. code-block:: perl - + blades - - + + diff --git a/docs/source/guides/admin-guides/references/man1/groupfiles4dsh.1.rst b/docs/source/guides/admin-guides/references/man1/groupfiles4dsh.1.rst index 8ebbde2dd..3a2675767 100644 --- a/docs/source/guides/admin-guides/references/man1/groupfiles4dsh.1.rst +++ b/docs/source/guides/admin-guides/references/man1/groupfiles4dsh.1.rst @@ -82,7 +82,7 @@ To use with dsh: export DSH_CONTEXT=DSH ( default unless CSM is installed) export DSH_NODE_RSH=/bin/ssh (default is rsh) export DSH_NODEGROUP_PATH= /tmp/nodegroupfiles - + dsh -N all date (where all is a group defined in xCAT) dsh -a date (will look in all nodegroupfiles and build a list of all nodes) diff --git a/docs/source/guides/admin-guides/references/man1/imgcapture.1.rst b/docs/source/guides/admin-guides/references/man1/imgcapture.1.rst index 5e2546dbb..663064609 100644 --- a/docs/source/guides/admin-guides/references/man1/imgcapture.1.rst +++ b/docs/source/guides/admin-guides/references/man1/imgcapture.1.rst @@ -58,80 +58,80 @@ OPTIONS -\ **-t | -**\ **-type**\ - +\ **-t | -**\ **-type**\ + Specify the osimage type you want to capture, two types are supported: diskless and sysclone. + - -\ **-p|-**\ **-profile**\ \ *profile*\ - +\ **-p|-**\ **-profile**\ \ *profile*\ + Assign \ *profile*\ as the profile of the image to be created. + - -\ **-o|-**\ **-osimage**\ \ *osimage*\ - +\ **-o|-**\ **-osimage**\ \ *osimage*\ + The osimage name. + - -\ **-i**\ \ *nodebootif*\ - +\ **-i**\ \ *nodebootif*\ + The network interface the diskless node will boot over (e.g. eth0), which is used by the \ **genimage**\ command to generate initial ramdisks. + - -\ **-n**\ \ *nodenetdrivers*\ - +\ **-n**\ \ *nodenetdrivers*\ + The driver modules needed for the network interface, which is used by the \ **genimage**\ command to generate initial ramdisks. - + By default, the \ **genimage**\ command can provide drivers for the following network interfaces: - + For x86 or x86_64 platform: - - + + .. code-block:: perl - + tg3 bnx2 bnx2x e1000 e1000e igb m1x_en - - + + For ppc64 platform: - - + + .. code-block:: perl - + e1000 e1000e igb ibmveth ehea - - + + For S390x: - - + + .. code-block:: perl - + qdio ccwgroup - - + + If the network interface is not in the above list, you'd better specify the driver modules with this option. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Display the version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. - + diff --git a/docs/source/guides/admin-guides/references/man1/imgexport.1.rst b/docs/source/guides/admin-guides/references/man1/imgexport.1.rst index c9359d8cf..3626725f1 100644 --- a/docs/source/guides/admin-guides/references/man1/imgexport.1.rst +++ b/docs/source/guides/admin-guides/references/man1/imgexport.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **imgexport [-h| -**\ **-help]**\ +\ **imgexport [-h| -**\ **-help]**\ \ **imgexport**\ \ *image_name*\ [\ *destination*\ ] [[\ **-e | -**\ **-extra**\ \ *file:dir*\ ] ... ] [\ **-p | -**\ **-postscripts**\ \ *node_name*\ ] [\ **-v | -**\ **-verbose**\ ] @@ -72,40 +72,40 @@ OPTIONS -\ **-e|-**\ **-extra**\ \ *srcfile:destdir*\ - +\ **-e|-**\ **-extra**\ \ *srcfile:destdir*\ + Pack up extra files. If \ *destdir*\ is omitted, the destination directory will be the same as the source directory. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-p|-**\ **-postscripts**\ \ *node_name*\ - +\ **-p|-**\ **-postscripts**\ \ *node_name*\ + Get the names of the postscripts and postbootscripts for the given node and pack them into the image. + - -\ **-v|-**\ **-verbose**\ - +\ **-v|-**\ **-verbose**\ + Verbose output. + - -\ *image_name*\ - +\ *image_name*\ + The name of the image. Use \ **lsdef -t osimage**\ to find out all the image names. + - -\ *destination*\ - +\ *destination*\ + The output bundle file name. - + diff --git a/docs/source/guides/admin-guides/references/man1/imgimport.1.rst b/docs/source/guides/admin-guides/references/man1/imgimport.1.rst index df19fae09..e813f3377 100644 --- a/docs/source/guides/admin-guides/references/man1/imgimport.1.rst +++ b/docs/source/guides/admin-guides/references/man1/imgimport.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **imgimport [-h|-**\ **-help]**\ +\ **imgimport [-h|-**\ **-help]**\ \ **imgimport**\ \ *bundle_file_name*\ [\ **-p | -**\ **-postscripts**\ \ *nodelist*\ ] [\ **-f | -**\ **-profile**\ \ *new_profile*\ ] [\ **-v | -**\ **-verbose**\ ] @@ -91,28 +91,28 @@ OPTIONS -\ **-f|-**\ **-profile**\ \ *new_profile*\ - +\ **-f|-**\ **-profile**\ \ *new_profile*\ + Import the image with a new profile name. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-p|-**\ **-postscripts**\ \ *nodelist*\ - +\ **-p|-**\ **-postscripts**\ \ *nodelist*\ + Import the postscripts. The postscripts contained in the image will be set in the postscripts table for \ *nodelist*\ . + - -\ **-v|-**\ **-verbose**\ - +\ **-v|-**\ **-verbose**\ + Verbose output. - + diff --git a/docs/source/guides/admin-guides/references/man1/liteimg.1.rst b/docs/source/guides/admin-guides/references/man1/liteimg.1.rst index 8235e1717..a2b0f6588 100644 --- a/docs/source/guides/admin-guides/references/man1/liteimg.1.rst +++ b/docs/source/guides/admin-guides/references/man1/liteimg.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **liteimg [-h| -**\ **-help]**\ +\ **liteimg [-h| -**\ **-help]**\ -\ **liteimg [-v| -**\ **-version]**\ +\ **liteimg [-v| -**\ **-version]**\ -\ **liteimg**\ \ *imagename*\ +\ **liteimg**\ \ *imagename*\ *********** @@ -36,24 +36,24 @@ It creates 2 levels of indirection so that files can be modified while in their image state as well as during runtime. For example, a file like <$imgroot>/etc/ntp.conf will have the following operations done to it: -\ * mkdir -p $imgroot/.default/etc*\ +\ * mkdir -p $imgroot/.default/etc*\ -\ * mkdir -p $imgroot/.statelite/tmpfs/etc*\ +\ * mkdir -p $imgroot/.statelite/tmpfs/etc*\ -\ * mv $imgroot/etc/ntp.conf $imgroot/.default/etc*\ +\ * mv $imgroot/etc/ntp.conf $imgroot/.default/etc*\ -\ * cd $imgroot/.statelite/tmpfs/etc*\ +\ * cd $imgroot/.statelite/tmpfs/etc*\ -\ * ln -sf ../../../.default/etc/ntp.conf .*\ +\ * ln -sf ../../../.default/etc/ntp.conf .*\ -\ * cd $imgroot/etc*\ +\ * cd $imgroot/etc*\ -\ * ln -sf ../.statelite/tmpfs/etc/ntp.conf .*\ +\ * ln -sf ../.statelite/tmpfs/etc/ntp.conf .*\ When finished, the original file will reside in \ *$imgroot/.default/etc/ntp.conf*\ . \ *$imgroot/etc/ntp.conf*\ will link to \ *$imgroot/.statelite/tmpfs/etc/ntp.conf*\ which will in turn link to -\ *$imgroot/.default/etc/ntp.conf*\ +\ *$imgroot/.default/etc/ntp.conf*\ Note: If you make any changes to your litefile table after running liteimg then you will need to rerun liteimg again. diff --git a/docs/source/guides/admin-guides/references/man1/lsdef.1.rst b/docs/source/guides/admin-guides/references/man1/lsdef.1.rst index 85cf5b30f..e5585d61b 100644 --- a/docs/source/guides/admin-guides/references/man1/lsdef.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsdef.1.rst @@ -45,113 +45,113 @@ OPTIONS -\ **-a|-**\ **-all**\ - +\ **-a|-**\ **-all**\ + Display all definitions. For performance consideration, the auditlog and eventlog objects will not be listed. To list auditlog or eventlog objects, use lsdef -t auditlog or lsdef -t eventlog instead. + - -\ **-c|-**\ **-compress**\ - +\ **-c|-**\ **-compress**\ + Display information in compressed mode, each output line has format ": ". The output can be passed to command xcoll or xdshbak for formatted output. The -c flag must be used with -i flag. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-i**\ \ *attr-list*\ - +\ **-i**\ \ *attr-list*\ + Comma separated list of attribute names to display. + - -\ **-l|-**\ **-long**\ - +\ **-l|-**\ **-long**\ + List the complete object definition. + - -\ **-s|-**\ **-short**\ - +\ **-s|-**\ **-short**\ + Only list the object names. + - -\ **-S**\ - +\ **-S**\ + List all the hidden nodes (FSP/BPA nodes) with other ones. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on supported formats. + - -\ **-o**\ \ *object-names*\ - +\ **-o**\ \ *object-names*\ + A set of comma delimited object names. - + \ **-**\ **-template**\ [\ *template-object-name*\ ] - + Show the object definition templates \ *template-object-name*\ shipped in xCAT. If no \ *template-object-name*\ is specified, all the object definition templates of the specified type \ **-t**\ \ *object-types*\ will be listed. Use \ **-a|-**\ **-all**\ option to list all the object definition templates. + - -\ **-**\ **-osimage**\ - +\ **-**\ **-osimage**\ + Show all the osimage information for the node. + - -\ **-**\ **-nics**\ - +\ **-**\ **-nics**\ + Show the nics configuration information for the node. + - -\ **-t**\ \ *object-types*\ - +\ **-t**\ \ *object-types*\ + A set of comma delimited object types. Use the help option to get a list of valid objects. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. - + \ **-w**\ \ *attr==val*\ \ **-w**\ \ *attr=~val*\ ... - + Use one or multiple -w flags to specify the selection string that can be used to select objects. The operators ==, !=, =~ and !~ are available. Use the help option to get a list of valid attributes for each object type. - + Operator descriptions: == Select nodes where the attribute value is exactly this value. != Select nodes where the attribute value is not this specific value. =~ Select nodes where the attribute value matches this regular expression. !~ Select nodes where the attribute value does not match this regular expression. - + Note: if the "val" fields includes spaces or any other characters that will be parsed by shell, the "attrval" needs to be quoted. If the operator is "!~", the "attrval" needs to be quoted using single quote. + - -\ **-z|-**\ **-stanza**\ - +\ **-z|-**\ **-stanza**\ + Display output in stanza format. See the xcatstanzafile man page for details on using xCAT stanza files. - + @@ -172,253 +172,253 @@ EXAMPLES 1. - + To display a description of all the valid attributes that could be used when defining an xCAT node. - - + + .. code-block:: perl - + lsdef -t node -h - - + + 2. - + To get a list of all the objects that have been defined. - - + + .. code-block:: perl - + lsdef OR lsdef -a - - + + 3. - + To get all the attributes of the node1 - - + + .. code-block:: perl - + lsdef node1 OR lsdef -t node node1 OR lsdef -t node -o node1 - - + + 4. - + To get the object name of node1 instead of all the attributes - - + + .. code-block:: perl - + lsdef -s node1 - - + + 5. - + To get a list of all the network definitions. - - + + .. code-block:: perl - + lsdef -t network - - + + 6. - + To get a complete listing of all network definitions. - - + + .. code-block:: perl - + lsdef -l -t network - - + + 7. - + To list the whole xCAT database and write it to a stanza file. (backup database) - - + + .. code-block:: perl - + lsdef -a -l -z > mydbstanzafile - - + + 8. - + To list the MAC and install adapter name for each node. - - + + .. code-block:: perl - + lsdef -t node -i mac,installnic - - + + 9. - + To list an osimage definition named "aix53J". - - + + .. code-block:: perl - + lsdef -t osimage -l -o aix53J - - + + 10. - + To list all node definitions that have a status value of "booting". - - + + .. code-block:: perl - + lsdef -t node -w status==booting - - + + 11. - + To list all the attributes of the group "service". - - + + .. code-block:: perl - + lsdef -l -t group -o service - - + + 12. - + To list all the attributes of the nodes that are members of the group "service". - - + + .. code-block:: perl - + lsdef -t node -l service - - + + 13. - + To get a listing of object definitions that includes information about what xCAT database tables are used to store the data. - - + + .. code-block:: perl - + lsdef -V -l -t node -o node01 - - + + 14. - + To list the hidden nodes that can't be seen with other flags. The hidden nodes are FSP/BPAs. - - + + .. code-block:: perl - + lsdef -S - - + + 15. - + To list the nodes status and use xcoll to format the output. - - + + .. code-block:: perl - + lsdef -t node -i status -c | xcoll - - + + 16. - + To display the description for some specific attributes that could be used when defining an xCAT node. - - + + .. code-block:: perl - + lsdef -t node -h -i profile,pprofile - - + + 17. - + To display the nics configuration information for node cn1. - - + + .. code-block:: perl - + lsdef cn1 --nics - - + + 18. - + To list all the object definition templates shipped in xCAT. - - + + .. code-block:: perl - + lsdef --template -a - - + + 19. - + To display the details of "node" object definition template "ppc64le-template" shipped in xCAT. - - + + .. code-block:: perl - + lsdef -t node --template ppc64le-template - - + + 20. - + To list all the "node" object definition templates shipped in xCAT. - - + + .. code-block:: perl - + lsdef -t node --template - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lsdocker.1.rst b/docs/source/guides/admin-guides/references/man1/lsdocker.1.rst index 239e7408d..67b5fd0fa 100644 --- a/docs/source/guides/admin-guides/references/man1/lsdocker.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsdocker.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **lsdocker**\ \ *noderange*\ [\ **-l | -**\ **-logs**\ ] -\ **lsdocker**\ \ *dockerhost*\ +\ **lsdocker**\ \ *dockerhost*\ \ **lsdocker**\ [\ **-h | -**\ **-help**\ ] @@ -42,7 +42,7 @@ OPTIONS -\ **-l|-**\ **-logs**\ +\ **-l|-**\ **-logs**\ @@ -56,40 +56,40 @@ EXAMPLES 1. To get info for docker instance "host01c01" - - + + .. code-block:: perl - + lsdocker host01c01 - - + + Output is similar to: - - + + .. code-block:: perl - + host01c01: 50800dfd8b5f ubuntu /bin/bash 2016-01-13T06:32:59 running /host01c01 - - + + 2. To get info for running docker instance on dockerhost "host01" - - + + .. code-block:: perl - + lsdocker host01 - - + + Output is similar to: - - + + .. code-block:: perl - + host01: 50800dfd8b5f ubuntu /bin/bash 2016-1-13 - 1:32:59 Up 12 minutes /host01c01 host01: 875ce11d5987 ubuntu /bin/bash 2016-1-21 - 1:12:37 Up 5 seconds /host01c02 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lsflexnode.1.rst b/docs/source/guides/admin-guides/references/man1/lsflexnode.1.rst index 68c3d604a..e72fc0ce0 100644 --- a/docs/source/guides/admin-guides/references/man1/lsflexnode.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsflexnode.1.rst @@ -23,7 +23,7 @@ SYNOPSIS \ **lsflexnode**\ [\ **-v**\ | \ **-**\ **-version**\ ] -\ **lsflexnode**\ \ *noderange*\ +\ **lsflexnode**\ \ *noderange*\ *********** @@ -55,16 +55,16 @@ OPTIONS -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display the usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the version information. - + @@ -76,102 +76,102 @@ ATTRIBUTES The meaning of attributes which displayed by the \ **lsflexnode**\ . The word 'node' in this section means \ **Blade slot node**\ . -\ **Complex**\ - +\ **Complex**\ + The unique numeric identifier for a complex installed in the chassis. + - -\ **Partition number**\ - +\ **Partition number**\ + The number of partitions currently defined for this complex. + - -\ **Complex node number**\ - +\ **Complex node number**\ + The number of nodes existing in this complex, regardless of their assignment to any given partition. + - -\ **Partition**\ - +\ **Partition**\ + The unique numeric identifier for a partition defined within a complex installed in the chassis. + - -\ **Partition Mode**\ - +\ **Partition Mode**\ + The currently configured mode of this partition. It can be 'partition' or 'standalone'. + - -\ **Partition node number**\ - +\ **Partition node number**\ + The number of nodes currently defined for this partition. + - -\ **Partition status**\ - +\ **Partition status**\ + The current power status of this partition when the partition has a valid partition configuration. It can be 'poweredoff', 'poweredon', 'resetting' or 'invalid'. + - -\ **Node**\ - +\ **Node**\ + The unique numeric identifier for this node, unique within the partition. If this node does not belong to a partition, the slot number will be displayed. + - -\ **Node state**\ - +\ **Node state**\ + The physical power state of this node. It can be 'poweredoff', 'poweredon' or 'resetting'. + - -\ **Node slot**\ - +\ **Node slot**\ + The base slot number where the node exists in the chassis. + - -\ **Node resource**\ - +\ **Node resource**\ + A string providing a summary overview of the resources provided by this node. It includes the CPU number, CPU frequency and Memory size. + - -\ **Node type**\ - +\ **Node type**\ + The general categorization of the node. It can be 'processor', 'memory' or 'io'. + - -\ **Node role**\ - +\ **Node role**\ + Indicates if the node is assigned to a partition, and if so, provides an indication of whether the node is the primary node of the partition or not. + - -\ **Flexnode state**\ - +\ **Flexnode state**\ + The state of a flexible node. It is the state of the partition which this node belongs to. If this node does NOT belong to a partition, the value should be 'invalid'. - + It can be 'poweredoff', 'poweredon', 'resetting' or 'invalid'. + - -\ **Complex id**\ - +\ **Complex id**\ + The identifier of the complex this node belongs to. + - -\ **Partition id**\ - +\ **Partition id**\ + The identifier of the partition this node belongs to. - + @@ -182,18 +182,18 @@ EXAMPLES 1 Display all the \ **Complex**\ , \ **Partition**\ and \ **Blade slot node**\ which managed by a AMM. - - + + .. code-block:: perl - + lsflexnode amm1 - - + + The output: - - + + .. code-block:: perl - + amm1: Complex - 24068 amm1: ..Partition number - 1 amm1: ..Complex node number - 2 @@ -214,23 +214,23 @@ EXAMPLES amm1: ......Node type - processor amm1: ......Node resource - 2 (1866 MHz) / 8 (2 GB) amm1: ......Node role - unassigned - - + + 2 Display a flexible node. - - + + .. code-block:: perl - + lsflexnode blade1 - - + + The output: - - + + .. code-block:: perl - + blade1: Flexnode state - poweredoff blade1: Complex id - 24068 blade1: Partition id - 1 @@ -239,8 +239,8 @@ EXAMPLES blade1: Slot14: Node type - processor blade1: Slot14: Node resource - 2 (1866 MHz) / 8 (2 GB) blade1: Slot14: Node role - secondary - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lshwconn.1.rst b/docs/source/guides/admin-guides/references/man1/lshwconn.1.rst index e3ae23a33..017ef1cc2 100644 --- a/docs/source/guides/admin-guides/references/man1/lshwconn.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lshwconn.1.rst @@ -27,14 +27,14 @@ PPC (with HMC) specific: ======================== -\ **lshwconn**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ +\ **lshwconn**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ PPC (without HMC, using FSPAPI) specific: ========================================= -\ **lshwconn**\ \ *noderange*\ \ **-T**\ \ *tooltype*\ +\ **lshwconn**\ \ *noderange*\ \ **-T**\ \ *tooltype*\ @@ -52,22 +52,22 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. + - -\ **-T**\ - +\ **-T**\ + The tooltype is used to communicate to the CEC/Frame. The value could be lpar or fnm. The tooltype value lpar is for xCAT and fnm is for CNM. - + @@ -88,66 +88,66 @@ EXAMPLES 1. - + To display connection status for all CEC nodes in node group CEC: - - + + .. code-block:: perl - + lshwconn cec - - + + Output is similar to: - - + + .. code-block:: perl - + cec1: ipaddr=192.168.200.245,alt_ipaddr=unavailable,state=Connected cec2: Connection not found - - + + 2. - + To display connection status for Frame node frame1: - - + + .. code-block:: perl - + lshwconn frame1 - - + + Output is similar to: - - + + .. code-block:: perl - + frame1: side=a,ipaddr=192.168.200.247,alt_ipaddr=unavailable,state=Connected frame1: side=b,ipaddr=192.168.200.248,alt_ipaddr=unavailable,state=Connected - - + + 3. - + To display connection status for all CEC nodes in node group CEC to hardware server, and using lpar tooltype: - - + + .. code-block:: perl - + lshwconn cec -T lpar - - + + Output is similar to: - - + + .. code-block:: perl - + cec1: sp=primary,ipadd=40.3.7.1,alt_ipadd=unavailable,state=LINE UP cec2: Connection not found - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lskit.1.rst b/docs/source/guides/admin-guides/references/man1/lskit.1.rst index c845cadb3..07081e15d 100644 --- a/docs/source/guides/admin-guides/references/man1/lskit.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lskit.1.rst @@ -46,44 +46,44 @@ OPTIONS -\ **-F|-**\ **-framework**\ \ *kit_path_name*\ - +\ **-F|-**\ **-framework**\ \ *kit_path_name*\ + Use this option to display the framework values of the specified Kit tarfile. This information is retreived directly from the tarfile and can be done before the Kit has been defined in the xCAT database. This option cannot be combined with other options. + - -\ **-K|-**\ **-kitattr**\ \ *kitattr_names*\ - +\ **-K|-**\ **-kitattr**\ \ *kitattr_names*\ + Where \ *kitattr_names*\ is a comma-delimited list of kit attribute names. The names correspond to attribute names in the \ **kit**\ table. The \ **lskit**\ command will only display the specified kit attributes. + - -\ **-R|-**\ **-repoattr**\ \ *repoattr_names*\ - +\ **-R|-**\ **-repoattr**\ \ *repoattr_names*\ + Where \ *repoattr_names*\ is a comma-delimited list of kit repository attribute names. The names correspond to attribute names in the \ **kitrepo**\ table. The \ **lskit**\ command will only display the specified kit repository attributes. + - -\ **-C|-**\ **-compattr**\ \ *compattr_names*\ - +\ **-C|-**\ **-compattr**\ \ *compattr_names*\ + where \ *compattr_names*\ is a comma-delimited list of kit component attribute names. The names correspond to attribute names in the \ **kitcomponent**\ table. The \ **lskit**\ command will only display the specified kit component attributes. + - -\ *kit_names*\ - +\ *kit_names*\ + is a comma-delimited list of kit names. The \ **lskit**\ command will only display the kits matching these names. + - -\ **-x|-**\ **-xml|-**\ **-XML**\ - +\ **-x|-**\ **-xml|-**\ **-XML**\ + Need XCATXMLTRACE=1 env when using -x|--xml|--XML, for example: XCATXMLTRACE=1 lskit -x testkit-1.0.0 Return the output with XML tags. The data is returned as: - - + + .. code-block:: perl - + ... @@ -95,58 +95,58 @@ OPTIONS ... - - + + Each tag contains info for one kit. The info inside is structured as follows: - - + + .. code-block:: perl - + The sub-tag contains the kit's basic info. The sub-tags store info about the kit's repositories. The sub-tags store info about the kit's components. - - + + The data inside is returned as: - - + + .. code-block:: perl - + ... - + ... ... - + ... ... + + - - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Display additional progress and error messages. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -172,64 +172,64 @@ EXAMPLES 1. To list all kits, enter: - - + + .. code-block:: perl - + lskit - - + + 2. To list the kit "kit-test1-1.0-Linux", enter: - - + + .. code-block:: perl - + lskit kit-test1-1.0-Linux - - + + 3. To list the kit "kit-test1-1.0-Linux" for selected attributes, enter: - - + + .. code-block:: perl - + lskit -K basename,description -R kitreponame -C kitcompname kit-test1-1.0-Linux - - + + 4. To list the framework value of a Kit tarfile. - - + + .. code-block:: perl - + lskit -F /myhome/mykits/pperte-1.3.0.2-0-x86_64.tar.bz2 - - + + Output is similar to: - - + + .. code-block:: perl - + Extracting the kit.conf file from /myhome/mykits/pperte-1.3.0.2-0-x86_64.tar.bz2. Please wait. - + kitframework=2 compatible_kitframeworks=0,1,2 - - + + 5. To list kit "testkit-1.0-1" with XML tags, enter: - - + + .. code-block:: perl - + XCATXMLTRACE=1 lskit -x testkit-1.0-1 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lskitcomp.1.rst b/docs/source/guides/admin-guides/references/man1/lskitcomp.1.rst index 615db005a..895a065e1 100644 --- a/docs/source/guides/admin-guides/references/man1/lskitcomp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lskitcomp.1.rst @@ -44,38 +44,38 @@ OPTIONS -\ **-C|-**\ **-compattr**\ \ *compattr_names*\ - +\ **-C|-**\ **-compattr**\ \ *compattr_names*\ + where \ *compattr_names*\ is a comma-delimited list of kit component attribute names. The names correspond to attribute names in the \ **kitcomponent**\ table. The \ **lskitcomp**\ command will only display the specified kit component attributes. + - -\ **-O|-**\ **-osdistro**\ \ *os_distro*\ - +\ **-O|-**\ **-osdistro**\ \ *os_distro*\ + where \ *os_distro*\ is the name of an osdistro in \ **osdistro**\ table. The \ **lskitcomp**\ command will only display the kit components matching the specified osdistro. + - -\ **-S|-**\ **-serverrole**\ \ *server_role*\ - +\ **-S|-**\ **-serverrole**\ \ *server_role*\ + where \ *server_role*\ is the name of a server role. The typical server roles are: mgtnode, servicenode, computenode, loginnode, storagennode. The \ **lskitcomp**\ command will only display the kit components matching the specified server role. + - -\ *kitcomp_names*\ - +\ *kitcomp_names*\ + is a comma-delimited list of kit component names. The \ **lskitcomp**\ command will only display the kit components matching the specified names. + - -\ **-x|-**\ **-xml|-**\ **-XML**\ - +\ **-x|-**\ **-xml|-**\ **-XML**\ + Need XCATXMLTRACE=1 env when using -x|--xml|--XML. Return the output with XML tags. The data is returned as: - - + + .. code-block:: perl - + ... @@ -87,52 +87,52 @@ OPTIONS ... - - + + Each tag contains info for a group of kit components belonging to the same kit. The info inside is structured as follows: - - + + .. code-block:: perl - + The sub-tag contains the kit's name. The sub-tags store info about the kit's components. - - + + The data inside is returned as: - - + + .. code-block:: perl - + ... - + ... ... + + - - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Display additional progress and error messages. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -158,75 +158,75 @@ EXAMPLES 1. - + To list all kit components, enter: - - + + .. code-block:: perl - + lskitcomp - - + + 2. - + To list the kit component "comp-server-1.0-1-rhels-6-x86_64", enter: - - + + .. code-block:: perl - + lskitcomp comp-server-1.0-1-rhels-6-x86_64 - - + + 3. - + To list the kit component "comp-server-1.0-1-rhels-6-x86_64" for selected kit component attributes, enter: - - + + .. code-block:: perl - + lskitcomp -C kitcompname,desc comp-server-1.0-1-rhels-6-x86_64 - - + + 4. - + To list kit components compatible with "rhels-6.2-x86_64" osdistro, enter: - - + + .. code-block:: perl - + lskitcomp -O rhels-6.2-x86_64 - - + + 5. - + To list kit components compatible with "rhels-6.2-x86_64" osdistro and "computenode" server role, enter: - - + + .. code-block:: perl - + lskitcomp -O rhels-6.2-x86_64 -S computenode - - + + 6. - + To list the kit component "testkit-compute-1.0-1-ubuntu-14.04-ppc64el" with XML tags, enter: - - + + .. code-block:: perl - + XCATXMLTRACE=1 lskitcomp -x testkit-compute-1.0-1-ubuntu-14.04-ppc64el - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lskitdeployparam.1.rst b/docs/source/guides/admin-guides/references/man1/lskitdeployparam.1.rst index 099688d2d..28cc34092 100644 --- a/docs/source/guides/admin-guides/references/man1/lskitdeployparam.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lskitdeployparam.1.rst @@ -44,25 +44,25 @@ OPTIONS -\ **-k|-**\ **-kitname**\ \ *kit_names*\ - +\ **-k|-**\ **-kitname**\ \ *kit_names*\ + Where \ *kit_names*\ is a comma-delimited list of kit names. The \ **lskitdeployparam**\ command will only display the deployment parameters for the kits with the matching names. + - -\ **-c|-**\ **-compname**\ \ *comp_names*\ - +\ **-c|-**\ **-compname**\ \ *comp_names*\ + Where \ *comp_names*\ is a comma-delimited list of kit component names. The \ **lskitdeployparam**\ command will only display the deployment parameters for the kit components with the matching names. + - -\ **-x|-**\ **-xml|-**\ **-XML**\ - +\ **-x|-**\ **-xml|-**\ **-XML**\ + Return the output with XML tags. The data is returned as: - - + + .. code-block:: perl - + KIT_KIT1_PARAM1 @@ -76,26 +76,26 @@ OPTIONS ... + + - - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Display additional progress and error messages. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -121,27 +121,27 @@ EXAMPLES 1. - + To list kit deployment parameters for kit "kit-test1-1.0-Linux", enter: - - + + .. code-block:: perl - + lskitdeployparam -k kit-test1-1.0-Linux - - + + 2. - + To list kit deployment parameters for kit component "comp-server-1.0-1-rhels-6-x86_64", enter: - - + + .. code-block:: perl - + lskitdeployparam -c comp-server-1.0-1-rhels-6-x86_64 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lskmodules.1.rst b/docs/source/guides/admin-guides/references/man1/lskmodules.1.rst index 39042bd4e..f2787f892 100644 --- a/docs/source/guides/admin-guides/references/man1/lskmodules.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lskmodules.1.rst @@ -40,63 +40,63 @@ OPTIONS -\ **-i|-**\ **-osimage**\ \ *osimage_names*\ - +\ **-i|-**\ **-osimage**\ \ *osimage_names*\ + where \ *osimage_names*\ is a comma-delimited list of xCAT database osimage object names. For each \ *osimage_name*\ , lskmodules will use the entries in osimage.driverupdatesrc for the rpms and driver disk image files to search. + - -\ **-c|-**\ **-kitcomponent**\ \ *kitcomponent_names*\ - +\ **-c|-**\ **-kitcomponent**\ \ *kitcomponent_names*\ + where \ *kitcomponent_names*\ is a comma-delimited list of xCAT database kitcomponent object names. For each \ *kitcomponent_name*\ , lskmodules will use the entries in kitcomponent.driverpacks for the rpm list and the repodir of the kitcomponent.kitreponame for the location of the rpm files to search. + - -\ **-o|-**\ **-osdistro**\ \ *osdistro_names*\ - +\ **-o|-**\ **-osdistro**\ \ *osdistro_names*\ + where \ *osdistro_names*\ is a comma-delimited list of xCAT database osdistro object names. For each \ *osdistro_name*\ , lskmodules will search each /Packages/kernel-.rpm file. + - -\ **-u|-**\ **-osdistroupdate**\ \ *osdistroupdate_names*\ - +\ **-u|-**\ **-osdistroupdate**\ \ *osdistroupdate_names*\ + where \ *osdistroupdate_names*\ is a comma-delimited list of xCAT database osdistroupdate table entries. For each \ *osdistroupdate_name*\ , lskmodules will search the /kernel-.rpm file. + - -\ **-x|-**\ **-xml|-**\ **-XML**\ - +\ **-x|-**\ **-xml|-**\ **-XML**\ + Return the output with XML tags. The data is returned as: - - + + .. code-block:: perl - + xxx.ko this is module xxx - - + + This option is intended for use by other programs. The XML will not be displayed. To view the returned XML, set the XCATSHOWXML=yes environment variable before running this command. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Display additional progress and error messages. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -122,15 +122,15 @@ EXAMPLES 1. - + To list the kernel modules included in the driverpacks shipped with kitcomponent kit1_comp1-x86_64, enter: - - + + .. code-block:: perl - + lskmodules -c kit1_comp1-x86_64 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lslite.1.rst b/docs/source/guides/admin-guides/references/man1/lslite.1.rst index ebff6f37b..fce8f56e9 100644 --- a/docs/source/guides/admin-guides/references/man1/lslite.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lslite.1.rst @@ -38,28 +38,28 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-i**\ \ *imagename*\ - +\ **-i**\ \ *imagename*\ + The name of an existing xCAT osimage definition. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. - + @@ -80,61 +80,61 @@ EXAMPLES 1. - + To list the statelite information for an xCAT node named "node01". - - + + .. code-block:: perl - + lslite node01 - - + + Output is similar to: - - + + .. code-block:: perl - + >>>Node: node01 - + Osimage: 61img - + Persistent directory (statelite table): xcatmn1:/statelite - + Litefiles (litefile table): tmpfs,rw /etc/adjtime tmpfs,rw /etc/lvm/.cache tmpfs,rw /etc/mtab ........ - + Litetree path (litetree table): 1,MN:/etc 2,server1:/etc - - + + 2. - + To list the statelite information for an xCAT osimage named "osimage01". - - + + .. code-block:: perl - + lslite -i osimage01 - - + + Output is similar to: - - + + .. code-block:: perl - + tmpfs,rw /etc/adjtime tmpfs,rw /etc/lvm/.cache tmpfs,rw /etc/mtab ........ - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lsslp.1.rst b/docs/source/guides/admin-guides/references/man1/lsslp.1.rst index 89add6b84..66772f3b4 100644 --- a/docs/source/guides/admin-guides/references/man1/lsslp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsslp.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **lsslp [-h| -**\ **-help]**\ +\ **lsslp [-h| -**\ **-help]**\ -\ **lsslp [-v| -**\ **-version]**\ +\ **lsslp [-v| -**\ **-version]**\ \ **lsslp**\ [\ *noderange*\ ] [\ **-V**\ ] [\ **-i**\ \ *ip[,ip..]*\ ] \ **[-w] [-r|-x|-z] [-n] [-s CEC|FRAME|MM|IVM|RSA|HMC|CMM|IMM2|FSP]**\ [\ **-t**\ \ *tries*\ ] [\ **-I**\ ] [\ **-C**\ \ *counts*\ ] [\ **-T**\ \ *timeout*\ ] [\ **-**\ **-vpdtable**\ ] @@ -251,7 +251,7 @@ Output is similar to: id=0 mac=00:14:5E:F0:5C:FD otherinterfaces=50.0.0.5 - + bpa01: objtype=node nodetype=bpa @@ -271,7 +271,7 @@ Output is similar to: .. code-block:: perl lsslp -s CEC - + device type-model serial-number side ip-addresses hostname FSP 9117-MMB 105EBEP A-1 20.0.0.138 20.0.0.138 FSP 9117-MMB 105EBEP B-1 20.0.0.139 20.0.0.139 @@ -292,7 +292,7 @@ Output is similar to: .. code-block:: perl These nodes defined in database but can't be discovered: f17c00bpcb_b,f17c01bpcb_a,f17c01bpcb_b,f17c02bpcb_a, - + device type-model serial-number side ip-addresses hostname bpa 9458-100 BPCF017 A-0 40.17.0.1 f17c00bpca_a bpa 9458-100 BPCF017 B-0 40.17.0.2 f17c00bpcb_a @@ -305,7 +305,7 @@ Output is similar to: lsslp CEC1-CEC3 or lsslp CEC1,CEC2,CEC3 - + device type-model serial-number side ip-addresses hostname FSP 9A01-100 0P1P336 A-0 192.168.200.34 192.168.200.34 FSP 9A01-100 0P1P336 B-0 192.168.200.35 192.168.200.35 diff --git a/docs/source/guides/admin-guides/references/man1/lstree.1.rst b/docs/source/guides/admin-guides/references/man1/lstree.1.rst index 677690c31..efe936b48 100644 --- a/docs/source/guides/admin-guides/references/man1/lstree.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lstree.1.rst @@ -38,34 +38,34 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-s|-**\ **- servicenode**\ - +\ **-s|-**\ **- servicenode**\ + Show the tree of service node hierarchy. + - -\ **-H|-**\ **-hardwaremgmt**\ - +\ **-H|-**\ **-hardwaremgmt**\ + Show the tree of hardware hierarchy. + - -\ **-**\ **-v|-**\ **-virtualmachine**\ - +\ **-**\ **-v|-**\ **-virtualmachine**\ + Show the tree of VM hierarchy. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. - + @@ -86,173 +86,169 @@ EXAMPLES 1. To display the tree of service node hierarchy for all the nodes. - - + + .. code-block:: perl - + lstree -s - - + + Output is similar to: - - + + .. code-block:: perl - + Service Node: mysn01 |__mycn01 |__mycn02 |__mycn03 - + Service Node: mysn02 |__mycn11 |__mycn12 |__mycn13 ...... + + - - -2. - - To display the tree of service node hierarchy for service node "mysn01". - - +2. To display the tree of service node hierarchy for service node "mysn01". + + .. code-block:: perl - + lstree -s mysn01 - - + + Output is similar to: - - + + .. code-block:: perl - + Service Node: mysn01 |__mycn01 |__mycn02 |__mycn03 + + - - -3. - - To display the tree of hardware hierarchy for all the nodes. - - +3. To display the tree of hardware hierarchy for all the nodes. + + .. code-block:: perl - + lstree -H - - + + Output is similar to: - - + + .. code-block:: perl - + HMC: myhmc01 |__Frame: myframe01 |__CEC: mycec01 |__CEC: mycec02 ...... - + Service Focal Point: myhmc02 |__Frame: myframe01 |__CEC: mycec01 |__CEC: mycec02 |__CEC: mycec03 ...... - + Management Module: mymm01 |__Blade 1: js22n01 |__Blade 2: js22n02 |__Blade 3: js22n03 ...... - + BMC: 192.168.0.1 |__Server: x3650n01 - - + + 4. To display the tree of hardware hierarchy for HMC "myhmc01". - - + + .. code-block:: perl - + lstree -H myhmc01 - - + + Output is similar to: - - + + .. code-block:: perl - + HMC: myhmc01 |__Frame: myframe01 |__CEC: mycec01 |__CEC: mycec02 ...... - - + + 5. To display the tree of VM hierarchy for all the nodes. - - + + .. code-block:: perl - + lstree -v - - + + Output is similar to: - - + + .. code-block:: perl - + Server: hs22n01 |__ hs22vm1 - + Server: x3650n01 |__ x3650n01kvm1 |__ x3650n01kvm2 - - + + 6. To display the tree of VM hierarchy for the node "x3650n01". - - + + .. code-block:: perl - + lstree -v x3650n01 - - + + Output is similar to: - - + + .. code-block:: perl - + Server: x3650n01 |__ x3650n01kvm1 |__ x3650n01kvm2 - - + + 7. To display both the hardware tree and VM tree for all nodes. - - + + .. code-block:: perl - + lstree - - + + Output is similar to: - - + + .. code-block:: perl - + HMC: myhmc01 |__Frame: myframe01 |__CEC: mycec01 @@ -265,7 +261,7 @@ EXAMPLES |__LPAR 2: node12 |__LPAR 3: node13 ...... - + Service Focal Point: myhmc02 |__Frame: myframe01 |__CEC: mycec01 @@ -279,7 +275,7 @@ EXAMPLES |__LPAR 2: node22 |__LPAR 3: node23 ...... - + Management Module: mymm01 |__Blade 1: hs22n01 |__hs22n01vm1 @@ -288,13 +284,13 @@ EXAMPLES |__hs22n02vm1 |__hs22n02vm2 ...... - + BMC: 192.168.0.1 |__Server: x3650n01 |__ x3650n01kvm1 |__ x3650n01kvm2 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lsve.1.rst b/docs/source/guides/admin-guides/references/man1/lsve.1.rst index ab01f49fb..8ffd7b3b0 100644 --- a/docs/source/guides/admin-guides/references/man1/lsve.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsve.1.rst @@ -36,7 +36,7 @@ manager of virtual environment. xCAT needs it to access the RHEV manager. The mandatory parameter \ **-t**\ \ *type*\ is used to specify the type of the target object. -Basically, \ **lsve**\ command supports three types of object: \ **dc**\ , \ **cl**\ , \ **sd**\ , \ **nw**\ +Basically, \ **lsve**\ command supports three types of object: \ **dc**\ , \ **cl**\ , \ **sd**\ , \ **nw**\ and \ **tpl**\ . The parameter \ **-o object**\ is used to specify which object to list. If no \ **-o**\ is specified, @@ -54,9 +54,9 @@ OPTIONS \ **-m**\ Specify the manager of the virtual environment. - + For RHEV, the FQDN (Fully Qualified Domain Name) of the rhev manager have to be specified. - + \ **-o**\ The target object to display. @@ -64,19 +64,19 @@ OPTIONS \ **-t**\ Specify the \ **type**\ of the target object. - + Supported types: - - + + .. code-block:: perl - + B - Data Center (For type of 'dc', all the elements belongs to the data center will be listed.) B - Cluster B - Storage Domain (To get the status of Storage Doamin, show it from I it attached to. B - Network B - Template - - + + @@ -97,18 +97,18 @@ EXAMPLES 1. To list the data center 'Default', enter: - - + + .. code-block:: perl - + lsve -t dc -m -o Default - - + + Output is similar to: - - + + .. code-block:: perl - + datacenters: [Default] description: The default Data Center state: up @@ -148,44 +148,44 @@ EXAMPLES state: ok stateless: false type: desktop - - + + 2. To list the cluster 'Default', enter: - - + + .. code-block:: perl - + lsve -t cl -m -o Default - - + + Output is similar to: - - + + .. code-block:: perl - + cpu: Intel Westmere Family description: The default server cluster memory_hugepage: true memory_overcommit: 10 - - + + 3. To list the Storage Domain 'image', enter: - - + + .. code-block:: perl - + lsve -t sd -m -o image - - + + Output is similar to: - - + + .. code-block:: perl - + storagedomains: [image] available: 55834574848 committed: 13958643712 @@ -197,44 +197,44 @@ EXAMPLES storage_type: nfs type: data used: 9663676416 - - + + 4. To list the network 'rhevm', enter: - - + + .. code-block:: perl - + lsve -t nw -m -o rhevm - - + + Output is similar to: - - + + .. code-block:: perl - + networks: [rhevm] description: Management Network state: operational stp: false - - + + 5. To list the template 'tpl01', enter: - - + + .. code-block:: perl - + lsve -t tpl -m -o tpl01 - - + + Output is similar to: - - + + .. code-block:: perl - + templates: [tpl01] bootorder: network cpucore: 2 @@ -245,8 +245,8 @@ EXAMPLES state: ok stateless: false type: server - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lsvlan.1.rst b/docs/source/guides/admin-guides/references/man1/lsvlan.1.rst index e9a797b8c..00a70be90 100644 --- a/docs/source/guides/admin-guides/references/man1/lsvlan.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsvlan.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **lsvlan**\ +\ **lsvlan**\ \ **lsvlan**\ [\ *vlanid*\ ] @@ -76,54 +76,54 @@ EXAMPLES 1. To list all the vlans in the cluster - - + + .. code-block:: perl - + lsvlan - - + + Output is similar to: - - + + .. code-block:: perl - + vlan 3: subnet 10.3.0.0 netmask 255.255.0.0 - + vlan 4: subnet 10.4.0.0 netmask 255.255.0.0 - - + + 2. To list the details for vlan3 - - + + .. code-block:: perl - + lsvlan 3 - - + + Output is similar to: - - + + .. code-block:: perl - + vlan 3 subnet 10.3.0.0 netmask 255.255.0.0 - + hostname ip address node vm host v3n1 10.3.0.1 c68m4hsp06 v3n2 10.3.0.2 x3455n01 v3n3 10.3.0.3 x3650n01 v3n4 10.3.0.4 x3650n01kvm1 x3650n01 v3n5 10.3.0.5 x3650n01kvm2 x3650n01 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/lsvm.1.rst b/docs/source/guides/admin-guides/references/man1/lsvm.1.rst index 4b7f5dd20..12cd9662d 100644 --- a/docs/source/guides/admin-guides/references/man1/lsvm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsvm.1.rst @@ -19,35 +19,35 @@ SYNOPSIS ******** -\ **lsvm**\ [\ **-h**\ | \ **-**\ **-help]**\ +\ **lsvm**\ [\ **-h**\ | \ **-**\ **-help]**\ \ **lsvm**\ [\ **-v**\ | \ **-**\ **-version**\ ] -\ **lsvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ +\ **lsvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ -\ **lsvm**\ [\ **-a**\ | \ **-**\ **-all**\ ] \ *noderange*\ +\ **lsvm**\ [\ **-a**\ | \ **-**\ **-all**\ ] \ *noderange*\ For PPC (using Direct FSP Management): ====================================== -\ **lsvm**\ [\ **-l**\ | \ **-**\ **-long**\ ] \ **-**\ **-p775**\ \ *noderange*\ +\ **lsvm**\ [\ **-l**\ | \ **-**\ **-long**\ ] \ **-**\ **-p775**\ \ *noderange*\ -\ **lsvm**\ \ *noderange*\ +\ **lsvm**\ \ *noderange*\ For KVM and VMware ================== -\ **lsvm**\ \ *noderange*\ +\ **lsvm**\ \ *noderange*\ For zVM: ======== -\ **lsvm**\ \ *noderange*\ +\ **lsvm**\ \ *noderange*\ @@ -101,27 +101,27 @@ OPTIONS ******* -\ **-h**\ +\ **-h**\ Display usage message. -\ **-v**\ +\ **-v**\ Command version. -\ **-V**\ +\ **-V**\ Verbose output. -\ **-a**\ +\ **-a**\ List all the profiles for one partition -\ **-**\ **-p775**\ +\ **-**\ **-p775**\ Specify the operation is for Power 775 machines. -\ **-l**\ +\ **-l**\ Show lparnames for lpars. It shall work with option \ **-**\ **-p775**\ . diff --git a/docs/source/guides/admin-guides/references/man1/lsxcatd.1.rst b/docs/source/guides/admin-guides/references/man1/lsxcatd.1.rst index 51a5ecb35..86b95f19b 100644 --- a/docs/source/guides/admin-guides/references/man1/lsxcatd.1.rst +++ b/docs/source/guides/admin-guides/references/man1/lsxcatd.1.rst @@ -36,34 +36,34 @@ OPTIONS -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-d|-**\ **-database**\ - +\ **-d|-**\ **-database**\ + Displays information about the current database being used by xCAT. + - -\ **-t|-**\ **-nodetype**\ - +\ **-t|-**\ **-nodetype**\ + Displays whether the node is a Management Node or a Service Node. + - -\ **-a|-**\ **-all**\ - +\ **-a|-**\ **-all**\ + Displays all information about the daemon supported by the command. - + @@ -84,44 +84,44 @@ EXAMPLES 1. - + To display information about the current database: - - + + .. code-block:: perl - + lsxcatd -d - - + + Output is similar to: - - + + .. code-block:: perl - + cfgloc=Pg:dbname=xcatdb;host=7.777.47.250|xcatadm dbengine=Pg dbname=xcatdb dbhost=7.777.47.250 dbadmin=xcatadm - - + + 2. - + To display all information: - - + + .. code-block:: perl - + lsxcatd -a - - + + Output is similar to: - - + + .. code-block:: perl - + Version 2.8.5 (git commit 0d4888af5a7a96ed521cb0e32e2c918a9d13d7cc, built Tue Jul 29 02:22:47 EDT 2014) This is a Management Node cfgloc=mysql:dbname=xcatdb;host=9.114.34.44|xcatadmin @@ -129,8 +129,8 @@ EXAMPLES dbname=xcatdb dbhost=9.114.34.44 dbadmin=xcatadmin - - + + diff --git a/docs/source/guides/admin-guides/references/man1/makentp.1.rst b/docs/source/guides/admin-guides/references/man1/makentp.1.rst index 3632e838a..866d2e20f 100644 --- a/docs/source/guides/admin-guides/references/man1/makentp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/makentp.1.rst @@ -11,11 +11,11 @@ SYNOPSIS ******** -\ **makentp [-h|-**\ **-help]**\ +\ **makentp [-h|-**\ **-help]**\ -\ **makentp [-v|-**\ **-version]**\ +\ **makentp [-v|-**\ **-version]**\ -\ **makentp [-a|-**\ **-all] [-V|-**\ **-verbose]**\ +\ **makentp [-a|-**\ **-all] [-V|-**\ **-verbose]**\ *********** @@ -41,28 +41,28 @@ OPTIONS -\ **-a|-**\ **-all**\ - +\ **-a|-**\ **-all**\ + Setup NTP servers for both management node and the service node. If management node has SLES installed and used as \ *ntpservers*\ , it is recommanded to use the \ **setupntp**\ postscript to set up NTP server for service nodes. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. - + @@ -83,23 +83,23 @@ EXAMPLES 1. To setup NTP server on the management node: - - + + .. code-block:: perl - + makentp - - + + 2. To setup NTP servers on both management node and the service node: - - + + .. code-block:: perl - + makentp -a - - + + diff --git a/docs/source/guides/admin-guides/references/man1/mkdef.1.rst b/docs/source/guides/admin-guides/references/man1/mkdef.1.rst index ddc68d3e8..066084735 100644 --- a/docs/source/guides/admin-guides/references/man1/mkdef.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkdef.1.rst @@ -38,89 +38,89 @@ OPTIONS -\ *attr=val [attr=val ...]*\ - +\ *attr=val [attr=val ...]*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr=val pairs must be specified last on the command line. Use the help option to get a list of valid attributes for each object type. - + Note: when creating node object definitions, the 'groups' attribute is required. + - -\ **-d|-**\ **-dynamic**\ - +\ **-d|-**\ **-dynamic**\ + Use the dynamic option to create dynamic node groups. This option must be used with -w option. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Use the force option to re-create object definitions. This option removes the old definition before creating the new one. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. (must be the first parameter) See the "noderange" man page for details on supported formats. + - -\ **-o**\ \ *object-names*\ - +\ **-o**\ \ *object-names*\ + A set of comma delimited object names. + - -\ **-t**\ \ *object-types*\ - +\ **-t**\ \ *object-types*\ + A set of comma delimited object types. Use the help option to get a list of valid object types. + - -\ **-**\ **-template**\ \ *template-object-name*\ - +\ **-**\ **-template**\ \ *template-object-name*\ + Name of the xCAT shipped object definition template or an existing object, from which the new object definition will be created. The newly created object will inherit the attributes of the template definition unless the attribute is specified in the arguments of \ **mkdef**\ command. If there are a template and an existing object with the same name \ *template-object-name*\ , the template object takes precedence over the existing object. For the details of xCAT shipped object definition templates, refer to the manpage of \ **-**\ **-template**\ option in lsdef(1)|lsdef.1. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. - + \ **-w**\ \ *attr==val*\ \ **-w**\ \ *attr=~val*\ ... - + Use one or multiple -w flags to specify the selection string that can be used to select objects. The operators ==, !=, =~ and !~ are available. For mkdef command, the -w flag only makes sense for creating dynamic node group. Use the help option to get a list of valid attributes for each object type. - + Operator descriptions: == Select nodes where the attribute value is exactly this value. != Select nodes where the attribute value is not this specific value. =~ Select nodes where the attribute value matches this regular expression. !~ Select nodes where the attribute value does not match this regular expression. - + Note: if the "val" fields includes spaces or any other characters that will be parsed by shell, the "attrval" needs to be quoted. If the operator is "!~", the "attrval" needs to be quoted using single quote. + - -\ **-z|-**\ **-stanza**\ - +\ **-z|-**\ **-stanza**\ + Indicates that the file being piped to the command is in stanza format. See the xcatstanzafile man page for details on using xCAT stanza files. + - -\ **-u**\ - +\ **-u**\ + Fill in the attributes such as template file, pkglist file and otherpkglist file of osimage object based on the specified parameters. It will search "/install/custom/" directory first, and then "/opt/xcat/share/". The \ *provmethod*\ and \ *profile*\ must be specified. If \ *osvers*\ or \ *osarch*\ is not specified, the corresponding value of the management node will be used. - + Note: this option only works for objtype \ **osimage**\ . - + @@ -141,173 +141,173 @@ EXAMPLES 1. - + To create a site definition. - - + + .. code-block:: perl - + mkdef -t site -o clustersite installdir=/xcatinstall - - + + 2. - + To create a basic node definition. - - + + .. code-block:: perl - + mkdef -t node -o node01 groups="all,aix" - - + + 3. - + To re-create the current definition of "node01". - - + + .. code-block:: perl - + mkdef -f -t node -o node01 nodetype=osi groups="linux" - - + + (The group definitions are also created if they don't already exist.) - + 4. - + To create a set of different types of definitions based on information contained in a stanza file. - - + + .. code-block:: perl - + cat defstanzafile | mkdef -z - - + + 5. - + To create a group definition called LinuxNodes containing the nodes clstrn01 and clstrn02. - - + + .. code-block:: perl - + mkdef -t group -o LinuxNodes members="clstrn01,clstrn02" - - + + 6. - + To create a node definition for an FSP node using the attributes provided by the group fspnodes. - - + + .. code-block:: perl - + mkdef -t node fspn1 groups=fspnodes nodetype=fsp - - + + 7. - + To create node definitions for a set of node host names contained in the node range "node1,node2,node3" - - + + .. code-block:: perl - + mkdef -t node node1,node2,node3 power=hmc groups="all,aix" - - + + 8. - + To create a dynamic node group definition called HMCMgtNodes containing all the HMC managed nodes" - - + + .. code-block:: perl - + mkdef -t group -o HMCMgtNodes -d -w mgt==hmc -w cons==hmc - - + + 9. - + To create a dynamic node group definition called SLESNodes containing all the SLES nodes - - + + .. code-block:: perl - + mkdef -t group -o SLESNodes -d -w "os=~^sles[0-9]+$" - - + + 10. - + To create a entry (7.0) in the policy table for user admin1 - - + + .. code-block:: perl - + mkdef -t policy -o 7.0 name=admin1 rule=allow - - + + 11. - + To create a node definition with nic attributes - - + + .. code-block:: perl - + mkdef -t node cn1 groups=all nicips.eth0="1.1.1.1|1.2.1.1" nicnetworks.eth0="net1|net2" nictypes.eth0="Ethernet" - - + + 12. - + To create an osimage definition and fill in attributes automatically. - - + + .. code-block:: perl - + mkdef redhat6img -u profile=compute provmethod=statelite - - + + 13. - + To create a PowerLE kvm node definition with the xCAT shipped template "ppc64lekvmguest-template". - - + + .. code-block:: perl - + mkdef -t node cn1 --template ppc64lekvmguest-template ip=1.1.1.1 mac=42:3d:0a:05:27:0b vmhost=1.1.0.1 vmnics=br0 - - + + 14. - + To create a node definition from an existing node definition "cn1" - - + + .. code-block:: perl - + mkdef -t node cn2 --template cn1 ip=1.1.1.2 mac=42:3d:0a:05:27:0c - - + + diff --git a/docs/source/guides/admin-guides/references/man1/mkdocker.1.rst b/docs/source/guides/admin-guides/references/man1/mkdocker.1.rst index 808b1eda9..f1e2d2e47 100644 --- a/docs/source/guides/admin-guides/references/man1/mkdocker.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkdocker.1.rst @@ -40,79 +40,79 @@ OPTIONS -\ **image**\ - +\ **image**\ + The docker image name that the instance will use. + - -\ **command**\ - +\ **command**\ + The command that the instance will run based on the \ **image**\ specified. The \ **image**\ option must be specified in order to use this option. + - -\ **dockerflag**\ - +\ **dockerflag**\ + A JSON string which will be used as parameters to create a docker. Reference https://docs.docker.com/engine/reference/api/docker_remote_api_v1.22/ for more information about which parameters can be specified. - + Some useful flags are: - - - \ **AttachStdin**\ =\ **true | false**\ - + + + \ **AttachStdin**\ =\ **true | false**\ + Whether attaches to stdin. - - - - \ **AttachStdout**\ =\ **true | false**\ - + + + + \ **AttachStdout**\ =\ **true | false**\ + Whether attaches to stdout. - - - - \ **AttachStderr**\ =\ **true | false**\ - + + + + \ **AttachStderr**\ =\ **true | false**\ + Whether attaches to stderr. - - - - \ **OpenStdin**\ =\ **true | false**\ - + + + + \ **OpenStdin**\ =\ **true | false**\ + Whether opens stdin. - - - - \ **Tty**\ =\ **true | false**\ - + + + + \ **Tty**\ =\ **true | false**\ + Attach standard streams to a tty, including stdin if it is not closed. - - - - \ **ExposedPorts**\ - + + + + \ **ExposedPorts**\ + An object mapping ports to an empty object in the form of: - - + + .. code-block:: perl - + "ExposedPorts": { "/\: {}" } - - - - - \ **HostConfig: {"Binds"}**\ - + + + + + \ **HostConfig: {"Binds"}**\ + A list of volume bindings for this docker instance, the form will be: - - + + .. code-block:: perl - + "HostConfig": {"Binds":[":"]} - - - - + + + + diff --git a/docs/source/guides/admin-guides/references/man1/mkdsklsnode.1.rst b/docs/source/guides/admin-guides/references/man1/mkdsklsnode.1.rst index 35eda685e..d70d18c3a 100644 --- a/docs/source/guides/admin-guides/references/man1/mkdsklsnode.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkdsklsnode.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mkdsklsnode [-h|-**\ **-help ]**\ +\ **mkdsklsnode [-h|-**\ **-help ]**\ \ **mkdsklsnode [-V|-**\ **-verbose] [-f|-**\ **-force] [-n|-**\ **-newname] [-i**\ \ *osimage_name*\ ] [\ **-l**\ \ *location*\ ] [\ **-u | -**\ **-updateSN**\ ] [\ **-k | -**\ **-skipsync**\ ] [\ **-p | -**\ **-primarySN**\ ] [\ **-b | -**\ **-backupSN**\ ] [\ **-S | -**\ **-setuphanfs**\ ] \ *noderange*\ [\ *attr=val [attr=val ...]*\ ] @@ -70,46 +70,46 @@ OPTIONS -\ *attr=val [attr=val ...]*\ - +\ *attr=val [attr=val ...]*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr= val pairs must be specified last on the command line. These are used to specify additional values that can be passed to the underlying NIM commands. - + Valid values: - - - \ **duplex**\ - + + + \ **duplex**\ + Specifies the duplex setting (optional). Used when defining the NIM machine. Use this setting to configure the client's network interface. This value can be full or half. The default is full. (ex. "duplex=full") - - - - \ **speed**\ - + + + + \ **speed**\ + Specifies the speed setting (optional). Used when defining the NIM machine. This is the communication speed to use when configuring the client's network interface. This value can be 10, 100, or 1000. The default is 100. (ex. "speed=100") - - - - \ **psize**\ - + + + + \ **psize**\ + Specifies the size in Megabytes of the paging space for the diskless node.(optional) Used when initializing the NIM machine. The minimum and default size is 64 MB of paging space. (ex. "psize=256") - - - - \ **sparse_paging**\ - + + + + \ **sparse_paging**\ + Specifies that the paging file should be created as an AIX sparse file, (ex. "sparse_paging=yes"). The default is "no". - - - - \ **dump_iscsi_port**\ - + + + + \ **dump_iscsi_port**\ + The tcpip port number to use to communicate dump images from the client to the dump resource server. Normally set by default. This port number is used by a dump resource server. - - - - \ **configdump**\ - + + + + \ **configdump**\ + Specifies the type dump to be collected from the client. The values are "selective", "full", and "none". If the configdump attribute is set to "full" or "selective" the client will automatically be configured to dump to an iSCSI @@ -118,81 +118,81 @@ OPTIONS and full memory dumps will be stored in subdirectory of the dump resource allocated to the client. This attribute is saved in the xCAT osimage definition. + + + - - - -\ **-b |-**\ **-backupSN**\ - +\ **-b |-**\ **-backupSN**\ + When using backup service nodes only update the backup. The default is to update both the primary and backup service nodes. + - -\ **-f |-**\ **-force**\ - +\ **-f |-**\ **-force**\ + Use the force option to reinitialize the NIM machines. + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-i**\ \ *image_name*\ - +\ **-i**\ \ *image_name*\ + The name of an existing xCAT osimage definition. If this information is not provided on the command line the code checks the node definition for the value of the "provmethod" attribute. If the "-i" value is provided on the command line then that value will be used to set the "provmethod" attribute of the node definitions. + - -\ **-k|-**\ **-skipsync**\ - +\ **-k|-**\ **-skipsync**\ + Use this option to have the mkdsklsnode command skip the NIM sync_roots operation. This option should only be used if you are certain that the shared_root resource does not have to be updated from the SPOT. Normally, when the SPOT is updated, you should do a sync_roots on the shared_root resource. + - -\ **-l|-**\ **-location**\ - +\ **-l|-**\ **-location**\ + The directory location to use when creating new NIM resolv_conf resources. The default location is /install/nim. + - -\ **-n|-**\ **-newname**\ - +\ **-n|-**\ **-newname**\ + Create a new NIM machine object name for the xCAT node. Use the naming convention "_" for the new NIM machine definition. + - -\ **-p|-**\ **-primarySN**\ - +\ **-p|-**\ **-primarySN**\ + When using backup service nodes only update the primary. The default is to update both the primary and backup service nodes. + - -\ **-S|-**\ **-setuphanfs**\ - +\ **-S|-**\ **-setuphanfs**\ + Setup NFSv4 replication between the primary service nodes and backup service nodes to provide high availability NFS for the compute nodes. This option only exports the /install directory with NFSv4 replication settings, the data synchronization between the primary service nodes and backup service nodes needs to be taken care of through some mechanism. + - -\ **-u|-**\ **-updateSN**\ - +\ **-u|-**\ **-updateSN**\ + Use this option if you wish to update the osimages but do not want to define or initialize the NIM client definitions. This option is only valid when the xCAT "site" definition attribute "sharedinstall" is set to either "sns" or "all". + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + @@ -218,45 +218,43 @@ EXAMPLES 1. Initialize an xCAT node named "node01" as an AIX diskless machine. The xCAT osimage named "61spot" should be used to boot the node. - - + + .. code-block:: perl - + mkdsklsnode -i 61spot node01 - - + + 2. Initialize all AIX diskless nodes contained in the xCAT node group called "aixnodes" using the image definitions pointed to by the "provmethod" attribute of the xCAT node definitions. - - + + .. code-block:: perl - + mkdsklsnode aixnodes - - + + 3. Initialize diskless node "clstrn29" using the xCAT osimage called "61dskls". Also set the paging size to be 128M and specify the paging file be an AIX sparse file. - - + + .. code-block:: perl - + mkdsklsnode -i 61dskls clstrn29 psize=128 sparse_paging=yes + + - - -4. - - Initialize an xCAT node called "node02" as an AIX diskless node. Create a new NIM machine definition name with the osimage as an extension to the xCAT node name. - - +4. Initialize an xCAT node called "node02" as an AIX diskless node. Create a new NIM machine definition name with the osimage as an extension to the xCAT node name. + + .. code-block:: perl - + mkdsklsnode -n -i 61spot node02 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/mkflexnode.1.rst b/docs/source/guides/admin-guides/references/man1/mkflexnode.1.rst index 159d42042..853e34221 100644 --- a/docs/source/guides/admin-guides/references/man1/mkflexnode.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkflexnode.1.rst @@ -23,7 +23,7 @@ SYNOPSIS \ **mkflexnode**\ [\ **-v**\ | \ **-**\ **-version**\ ] -\ **mkflexnode**\ \ *noderange*\ +\ **mkflexnode**\ \ *noderange*\ *********** @@ -48,16 +48,16 @@ OPTIONS -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display the usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the version information. - + @@ -68,15 +68,15 @@ EXAMPLES 1. Create a flexible node base on the xCAT node blade1. - + The blade1 should belong to a complex, the \ *id*\ attribute should be set correctly and all the slots should be in \ **power off**\ state. - - + + .. code-block:: perl - + mkflexnode blade1 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/mkhwconn.1.rst b/docs/source/guides/admin-guides/references/man1/mkhwconn.1.rst index c8fe55adf..87ece91f7 100644 --- a/docs/source/guides/admin-guides/references/man1/mkhwconn.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkhwconn.1.rst @@ -77,53 +77,53 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-t**\ - +\ **-t**\ + Read connection information from xCAT DB (ppc and ppcdirect tables). Use this option if you need to connect multiple CECs/Frames to multiple HMCs in a single command. + - -\ **-p**\ - +\ **-p**\ + The HMC node name. Only one HMC nodes can be specified by this flag. To setup connection for multiple HMC nodes, use flag \ **-t**\ . + - -\ **-P**\ - +\ **-P**\ + The password of HMC based CEC/Frame login user(Default user name is 'HMC'). This flag is optional. + - -\ **-T**\ - +\ **-T**\ + The tooltype is used to communicate to the CEC/Frame. The value could be \ **lpar**\ or \ **fnm**\ . The tooltype value \ **lpar**\ is for xCAT and \ **fnm**\ is for CNM. The default value is "\ **lpar**\ ". + - -\ **-**\ **-port**\ - +\ **-**\ **-port**\ + The port value specifies which special side will be used to create the connection to the CEC/Frame. The value could only be specified as "\ **0**\ " or "\ **1**\ " and the default value is "\ **0,1**\ ". If the user wants to use all ports to create the connection, he should not specify this value. If the port value is specified as "\ **0**\ ", in the vpd table, the side column should be \ **A-0**\ and \ **B-0**\ ; If the port value is specified as "\ **1**\ ", the side column should be \ **A-1**\ and \ **B-1**\ . When making hardware connection between CEC/Frame and HMC, the value is used to specify the fsp/bpa port of the cec/frame and will be organized in order of "\ **A-0,A-1,B-0,B-1**\ ". If any side does not exist, the side would simply be ignored. Generally, only one port of a fsp/bap can be connected while another port be used as backup. + - -\ **-s**\ - +\ **-s**\ + The flag -s is used to make the connection between the frame and its Service Focal Point(HMC). -s flag is not supposed to work with other functional flags. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. - + @@ -144,63 +144,63 @@ EXAMPLES 1. - + To setup the connection for all CEC nodes in node group cec to HMC node, according to the definition in xCAT DB: - - + + .. code-block:: perl - + mkhwconn cec -t - - + + 2. - + To setup the connection for Frame nodes in node group frame to HMC node hmc1, with password 'abc123': - - + + .. code-block:: perl - + mkhwconn frame -p hmc1 -P abc123 - - + + 3. - + To setup the connections for all CEC nodes in node group cec to hardware server, and the tooltype value is lpar: - - + + .. code-block:: perl - + mkhwconn cec -t -T lpar - - + + 4. - + To setup the connections for all cecs nodes in node group cec to hardware server, and the tooltype value is lpar, and the port value is 1: - - + + .. code-block:: perl - + mkhwconn cec -t -T lpar --port 1 - - + + 5. - + To setup the connection between the frame and it's SFP node. This command will also set the connections between the CECs within this frame and their SFP node. User need to define HMC_name in the database in advance, but no need to set the sfp attribute for these node, xCAT will set the HMC_name as ppc.sfp for these nodes. The CECs within this frame should have the same sfp attribute as the frame. - - + + .. code-block:: perl - + mkhwconn cec -s HMC_name -P HMC_passwd - - + + diff --git a/docs/source/guides/admin-guides/references/man1/mknimimage.1.rst b/docs/source/guides/admin-guides/references/man1/mknimimage.1.rst index 5428ec80e..a8b7596e0 100644 --- a/docs/source/guides/admin-guides/references/man1/mknimimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mknimimage.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mknimimage [-h | -**\ **-help ]**\ +\ **mknimimage [-h | -**\ **-help ]**\ \ **mknimimage [-V] -u**\ \ *osimage_name [attr=val [attr=val ...]*\ ] @@ -39,13 +39,13 @@ The naming convention for the NIM SPOT resource definition is to use the same na When creating a mksysb image definition you must specify either the "-n" or the "-b" option. The "-n" option can be used to create a mksysb image from an existing NIM client machine. The "-b" option can be used to specify an existing mksysb backup file. -\ **Adding software and configuration files to the osimage.**\ +\ **Adding software and configuration files to the osimage.**\ When creating a diskless osimage definition you also have the option of automatically updating the NIM SPOT resource. You can have additional software installed or you can have configuration files added or updated. To have software installed you must provide either the names of NIM installp_bundle resources or fileset names on the command line using the "attr=val" option. You may also supply the installp flags, RPM flags, emgr flags to use when installing the software. To have configuration files updated you must provide the full path name of a "synclists" file which contains the list of actual files to update. The xCAT osimage definition that is created will contain the installp_bundle, otherpkgs, and synclists files that are provided on the command line. -\ **Updating an existing xCAT osimage**\ +\ **Updating an existing xCAT osimage**\ If you wish to update an existing diskless image after it has already been created you can use the "-u" (update) option. In this case the xCAT osimage definition will not be updated. @@ -57,7 +57,7 @@ Or, you could do a more ad hoc update by providing one or more of the "installp_ WARNING: Installing random RPM packages in a SPOT may have unpredictable consequences. The SPOT is a very restricted environment and some RPM packages may corrupt the SPOT or even hang your management system. Try to be very careful about the packages you install. When installing RPMs, if the mknimimage command hangs or if there are file systems left mounted after the command completes you may need to reboot your management node to recover. This is a limitation of the current AIX support for diskless systems -\ **Copying an xCAT osimage.**\ +\ **Copying an xCAT osimage.**\ You can use the "-i" and "-p" options to copy an existing diskless osimage. To do this you must supply the name of an existing xCAT osimage definition and the name of the new osimage you wish to create. The \ **mknimimage**\ command will do the following: @@ -71,7 +71,7 @@ You can use the "-i" and "-p" options to copy an existing diskless osimage. To - if the "-p" option is specified then the original NIM lpp_source resource will be copied to a new location and redefined to NIM. (The default would be to use the original lpp_source - to save file system space.) -\ **Additional information**\ +\ **Additional information**\ IMPORTANT: The NIM lpp_source and SPOT resources can get quite large. Always make sure that you have sufficient file system space available before running the \ **mknimimage**\ command. @@ -94,265 +94,265 @@ OPTIONS -\ *attr=val [attr=val ...]*\ - +\ *attr=val [attr=val ...]*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr=val pairs must be specified last on the command line. - + Currently supported attributes: - - - \ **bosinst_data**\ - + + + \ **bosinst_data**\ + The name of a NIM bosinst_data resource. - - - - \ **dump**\ - + + + + \ **dump**\ + The name of the NIM dump resource. - - - - \ **fb_script**\ - + + + + \ **fb_script**\ + The name of a NIM fb_script resource. - - - - \ **home**\ - + + + + \ **home**\ + The name of the NIM home resource. - - - - \ **installp_bundle**\ - + + + + \ **installp_bundle**\ + One or more comma separated NIM installp_bundle resources. - - - - \ **lpp_source**\ - + + + + \ **lpp_source**\ + The name of the NIM lpp_source resource. - - - - \ **mksysb**\ - + + + + \ **mksysb**\ + The name of a NIM mksysb resource. - - - - \ **otherpkgs**\ - + + + + \ **otherpkgs**\ + One or more comma separated installp, emgr, or rpm packages. The packages must have prefixes of 'I:', 'E:', or 'R:', respectively. (ex. R:foo.rpm) - - - - \ **paging**\ - + + + + \ **paging**\ + The name of the NIM paging resource. - - - - \ **resolv_conf**\ - + + + + \ **resolv_conf**\ + The name of the NIM resolv_conf resource. - - - - \ **root**\ - + + + + \ **root**\ + The name of the NIM root resource. - - - - \ **script**\ - + + + + \ **script**\ + The name of a NIM script resource. - - - - \ **shared_home**\ - + + + + \ **shared_home**\ + The name of the NIM shared_home resource. - - - - \ **shared_root**\ - + + + + \ **shared_root**\ + A shared_root resource represents a directory that can be used as a / (root) directory by one or more diskless clients. - - - - \ **spot**\ - + + + + \ **spot**\ + The name of the NIM SPOT resource. - - - - \ **synclists**\ - + + + + \ **synclists**\ + The fully qualified name of a file containing a list of files to synchronize on the nodes. - - - - \ **tmp**\ - + + + + \ **tmp**\ + The name of the NIM tmp resource. - - - - \ **installp_flags**\ - + + + + \ **installp_flags**\ + The alternate flags to be passed along to the AIX installp command. (The default for installp_flags is "-abgQXY".) - - - - \ **rpm_flags**\ - + + + + \ **rpm_flags**\ + The alternate flags to be passed along to the AIX rpm command. (The default for rpm_flags is "-Uvh ".) The mknimimage command will check each rpm to see if it is installed. It will not be reinstalled unless you specify the appropriate rpm option, such as '--replacepkgs'. - - - - \ **emgr_flags**\ - + + + + \ **emgr_flags**\ + The alternate flags to be passed along to the AIX emgr command. (There is no default flags for the emgr command.) - - - - \ **dumpsize**\ - + + + + \ **dumpsize**\ + The maximum size for a single dump image the dump resource will accept. Space is not allocated until a client starts to dump. The default size is 50GB. The dump resource should be large enough to hold the expected AIX dump and snap data. - - - - \ **max_dumps**\ - + + + + \ **max_dumps**\ + The maximum number of archived dumps for an individual client. The default is one. - - - - \ **snapcollect**\ - + + + + \ **snapcollect**\ + Indicates that after a dump is collected then snap data should be collected. The snap data will be collected in the clients dump resource directory. Values are "yes" or "no". The default is "no". - - - - \ **nfs_vers**\ - + + + + \ **nfs_vers**\ + Value Specifies the NFS protocol version required for NFS access. - - - - \ **nfs_sec**\ - + + + + \ **nfs_sec**\ + Value Specifies the security method required for NFS access. - - - + + + Note that you may specify multiple "script", "otherpkgs", and "installp_bundle" resources by using a comma separated list. (ex. "script=ascript,bscript"). RPM names may be included in the "otherpkgs" list by using a "R:" prefix(ex. "R:whatever.rpm"). epkg (AIX interim fix package) file names may be included in the "otherpkgs" using the 'E:' prefix. (ex. "otherpkgs=E:IZ38930TL0.120304.epkg.Z"). + - -\ **-b**\ \ *mksysbfile*\ - +\ **-b**\ \ *mksysbfile*\ + Used to specify the path name of a mksysb file to use when defining a NIM mksysb resource. + - -\ **-c|-**\ **-completeosimage**\ - +\ **-c|-**\ **-completeosimage**\ + Complete the creation of the osimage definition passed in on the command line. This option will use any additional values passed in on the command line and/or it will attempt to create required resources in order to complete the definition of the xCAT osimage. For example, if the osimage definition is missing a spot or shared_root resource the command will create those resources and add them to the osimage definition. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Use the force option to re-create xCAT osimage definition. This option removes the old definition before creating the new one. It does not remove any of the NIM resource definitions named in the osimage definition. Use the \ **rmnimimage**\ command to remove the NIM resources associated with an xCAT osimage definition. + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ *osimage_name*\ - +\ *osimage_name*\ + The name of the xCAT osimage definition. This will be used as the name of the xCAT osimage definition as well as the name of the NIM SPOT resource. + - -\ **-D|-**\ **-mkdumpres**\ - +\ **-D|-**\ **-mkdumpres**\ + Create a diskless dump resource. + - -\ **-i**\ \ *current_image*\ - +\ **-i**\ \ *current_image*\ + The name of an existing xCAT osimage that should be copied to make a new xCAT osimage definition. Only valid when defining a "diskless" or "dataless" type image. + - -\ **-l**\ \ *location*\ - +\ **-l**\ \ *location*\ + The directory location to use when creating new NIM resources. The default location is /install/nim. + - -\ **-m**\ \ *nimmethod*\ - +\ **-m**\ \ *nimmethod*\ + Used to specify the NIM installation method to use. The possible values are "rte" and "mksysb". The default is "rte". + - -\ **-n**\ \ *mksysbnode*\ - +\ **-n**\ \ *mksysbnode*\ + The xCAT node to use to create a mksysb image. The node must be a defined as a NIM client machine. + - -\ **-p|-**\ **-cplpp**\ - +\ **-p|-**\ **-cplpp**\ + Use this option when copying existing diskless osimages to indicate that you also wish to have the lpp_resource copied. This option is only valid when using the "-i" option. + - -\ **-r|-**\ **-sharedroot**\ - +\ **-r|-**\ **-sharedroot**\ + Use this option to specify that a NIM "shared_root" resource be created for the AIX diskless nodes. The default is to create a NIM "root" resource. This feature is only available when using AIX version 6.1.4 or beyond. See the AIX/NIM documentation for a description of the "root" and "shared_root" resources. + - -\ **-s**\ \ *image_source*\ - +\ **-s**\ \ *image_source*\ + The source of software to use when creating the new NIM lpp_source resource. This could be a source directory or a previously defined NIM lpp_source resource name. + - -\ **-t nimtype**\ - +\ **-t nimtype**\ + Used to specify the NIM machine type. The possible values are "standalone", "diskless" or "dataless". The default is "standalone". + - -\ **-u**\ - +\ **-u**\ + Used to update an AIX/NIM SPOT resource with additional software and configuration files. This option is only valid for xCAT diskless osimage objects. The SPOT resource associated with the xCAT osimage definition will be updated. This option can also be used to update the nfs_vers attribute from NFSv3 to NFSv4 for the NIM resources associated with diskful or diskless image. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + diff --git a/docs/source/guides/admin-guides/references/man1/mkvlan.1.rst b/docs/source/guides/admin-guides/references/man1/mkvlan.1.rst index 7bf761def..1221f5c16 100644 --- a/docs/source/guides/admin-guides/references/man1/mkvlan.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkvlan.1.rst @@ -147,65 +147,65 @@ The following is an example of the switches table 1. - + To make a private vlan for node1, node2 and node3 - - + + .. code-block:: perl - + mkvlan -n node1,node2,node3 - - + + The vlan will be created on eth0 for the nodes. - + 2. - + To make a private vlan for node1, node2 and node3 on eth1, - - + + .. code-block:: perl - + mkvlan -n node1,node2,node3 -i eth1 - - + + 3. - + To make a private vlan for node1, node2 with given subnet and netmask. - - + + .. code-block:: perl - + mkvlan -n node1,node2,node3 -t 10.3.2.0 -m 255.255.255.0 - - + + 4. - + To make a private vlan for KVM guests node1 and node2 - - + + .. code-block:: perl - + chtab key=usexhrm site.vlaue=1 - + mkdef node1 arch=x86_64 groups=kvm,all installnic=mac primarynic=mac mgt=kvm netboot=pxe nfsserver=10.1.0.204 os=rhels6 profile=compute provmethod=install serialport=0 serialspeed=115200 vmcpus=1 vmhost=x3650n01 vmmemory=512 vmnics=br0 vmstorage=nfs://10.1.0.203/vms - + mkdef node2 arch=x86_64 groups=kvm,all installnic=mac primarynic=mac mgt=kvm netboot=pxe nfsserver=10.1.0.204 os=rhels6 profile=compute provmethod=install serialport=0 serialspeed=115200 vmcpus=1 vmhost=x3650n01 vmmemory=512 vmnics=br0 vmstorage=nfs://10.1.0.203/vms - + mkvlan -n node1,node2 - + mkvm node1,node2 -s 20G - + rpower node1,node2 on - + rinstall node1,node2 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/mkvm.1.rst b/docs/source/guides/admin-guides/references/man1/mkvm.1.rst index 862686779..effaaa109 100644 --- a/docs/source/guides/admin-guides/references/man1/mkvm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkvm.1.rst @@ -32,11 +32,11 @@ For PPC (with HMC) specific: ============================ -\ **mkvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ \ **-i**\ \ *id*\ \ **-l**\ \ *singlenode*\ +\ **mkvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ \ **-i**\ \ *id*\ \ **-l**\ \ *singlenode*\ -\ **mkvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ \ **-c**\ \ *destcec*\ \ **-p**\ \ *profile*\ +\ **mkvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ \ **-c**\ \ *destcec*\ \ **-p**\ \ *profile*\ -\ **mkvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ \ **-**\ **-full**\ +\ **mkvm**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ \ **-**\ **-full**\ For PPC (using Direct FSP Management) specific: @@ -122,84 +122,84 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-c**\ - +\ **-c**\ + The cec (fsp) name for the destination. + - -\ **-**\ **-cpus**\ - +\ **-**\ **-cpus**\ + The cpu count which will be created for the kvm/vmware virtual machine. + - -\ **-**\ **-full**\ - +\ **-**\ **-full**\ + Request to create a new full system partition for each CEC. - + \ **vmcpus=**\ \ *value*\ \ **vmmemory=**\ \ *value*\ \ **vmphyslots=**\ \ *value*\ \ **vmothersetting=**\ \ *value*\ \ **vmnics=**\ \ *value*\ \ **vmstorage=**\ \ *value*\ [\ **-**\ **-vios**\ ] - + To specify the parameters which are used to create a partition. The \ *vmcpus*\ , \ *vmmemory*\ are necessary, and the value specified with this command have a more high priority. If the value of any of the three options is not specified, the corresponding value specified for the node object will be used. If any of the three attributes is neither specified with this command nor specified with the node object, error information will be returned. To reference to lsvm(1)|lsvm.1 for more information about 'drc_index' for \ *vmphyslots*\ . - + The option \ *vios*\ is used to specify the partition that will be created is a VIOS partition. If specified, the value for \ *vmstorage*\ shall be number which indicate the number of vSCSI server adapter will be created, and if no value specified for \ *vmphyslots*\ , all the physical slot of the power machine will be asigned to VIOS partition. If not specified, it shall be in form of \ *vios_name:server_slotid*\ to specify the vios and the virtual slot id of the vSCSI server adapter that will be connected from the Logical partition. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + If the storage already exists, remove it before creating a new virtual machine. + - -\ **-i**\ - +\ **-i**\ + Starting numeric id of the newly created partitions. + - -\ **-l**\ - +\ **-l**\ + The partition name of the source. + - -\ **-**\ **-mem**\ - +\ **-**\ **-mem**\ + The memory size which will be used for the new created kvm/vmware virtual machine. Unit is Megabyte. + - -\ **-p**\ - +\ **-p**\ + The file that contains the profiles for the source partitions. + - -\ **-s|-**\ **-size**\ - +\ **-s|-**\ **-size**\ + The size of storage which will be created for the kvm/vmware virtual machine. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. - + diff --git a/docs/source/guides/admin-guides/references/man1/mkzone.1.rst b/docs/source/guides/admin-guides/references/man1/mkzone.1.rst index fa7ce76c9..ecbd71059 100644 --- a/docs/source/guides/admin-guides/references/man1/mkzone.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mkzone.1.rst @@ -7,7 +7,7 @@ mkzone.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,7 +15,7 @@ mkzone.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -25,7 +25,7 @@ mkzone.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* @@ -36,151 +36,145 @@ Note: if any zones in the zone table, there must be one and only one defaultzone *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Displays usage information. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Displays command version and build date. + - -\ **-k | -**\ **-sshkeypath**\ \ *full path to the ssh RSA private key*\ - +\ **-k | -**\ **-sshkeypath**\ \ *full path to the ssh RSA private key*\ + This is the path to the id_rsa key that will be used to build root's ssh keys for the zone. If -k is used, it will generate the ssh public key from the input ssh RSA private key and store both in /etc/xcat/sshkeys//.ssh directory. If -f is not used, then it will generate a set of root ssh keys for the zone and store them in /etc/xcat/sshkeys//.ssh. + - -\ **-**\ **-default**\ - +\ **-**\ **-default**\ + if --defaultzone is input, then it will set the zone defaultzone attribute to yes; otherwise it will set to no. if --defaultzone is input and another zone is currently the default, then the -f flag must be used to force a change to the new defaultzone. If -f flag is not use an error will be returned and no change made. Note: if any zones in the zone table, there must be one and only one defaultzone. Otherwise, errors will occur. + - -\ **-a | -**\ **-addnoderange**\ \ *noderange*\ - +\ **-a | -**\ **-addnoderange**\ \ *noderange*\ + For each node in the noderange, it will set the zonename attribute for that node to the input zonename. If the -g flag is also on the command, then it will add the group name "zonename" to each node in the noderange. + - -\ **-s| -**\ **-sshbetweennodes**\ \ **yes|no**\ - +\ **-s| -**\ **-sshbetweennodes**\ \ **yes|no**\ + If -s entered, the zone sshbetweennodes attribute will be set to yes or no. It defaults to yes. When this is set to yes, then ssh will be setup to allow passwordless root access between nodes. If no, then root will be prompted for a password when running ssh between the nodes in the zone. + - -\ **-f | -**\ **-force**\ - +\ **-f | -**\ **-force**\ + Used with the (--defaultzone) flag to override the current default zone. + - -\ **-g | -**\ **-assigngroup**\ - +\ **-g | -**\ **-assigngroup**\ + Used with the (-a) flag to create the group zonename for all nodes in the input noderange. + - -\ **-V | -**\ **-Verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode. - + **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. To make a new zone1 using defaults, enter: - - + + .. code-block:: perl - + mkzone zone1 - - + + Note: with the first \ **mkzone**\ , you will automatically get the xcatdefault zone created as the default zone. This zone uses ssh keys from /.ssh directory. - + 2. To make a new zone2 using defaults and make it the default zone enter: - - + + .. code-block:: perl - + mkzone> zone2 --defaultzone -f + + - - -3. - - To make a new zone2A using the ssh id_rsa private key in /root/.ssh: - - +3. To make a new zone2A using the ssh id_rsa private key in /root/.ssh: + + .. code-block:: perl - + mkzone zone2A -k /root/.ssh + + - - -4. - - To make a new zone3 and assign the noderange compute3 to the zone enter: - - +4. To make a new zone3 and assign the noderange compute3 to the zone enter: + + .. code-block:: perl - + mkzone zone3 -a compute3 - - + + 5. To make a new zone4 and assign the noderange compute4 to the zone and add zone4 as a group to each node enter: - - + + .. code-block:: perl - + mkzone zone4 -a compute4 -g + + - - -6. - - To make a new zone5 and assign the noderange compute5 to the zone and add zone5 as a group to each node but not allow passwordless ssh between the nodes enter: - - +6. To make a new zone5 and assign the noderange compute5 to the zone and add zone5 as a group to each node but not allow passwordless ssh between the nodes enter: + + .. code-block:: perl - + mkzone zone5 -a compute5 -g -s no - - + + ************* -\ **Files**\ +\ **Files**\ ************* @@ -190,7 +184,7 @@ Location of the mkzone command. **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/monadd.1.rst b/docs/source/guides/admin-guides/references/man1/monadd.1.rst index 5e9f0f5cd..bb8f629e8 100644 --- a/docs/source/guides/admin-guides/references/man1/monadd.1.rst +++ b/docs/source/guides/admin-guides/references/man1/monadd.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **monadd [-h| -**\ **-help]**\ +\ **monadd [-h| -**\ **-help]**\ -\ **monadd [-v| -**\ **-version]**\ +\ **monadd [-v| -**\ **-version]**\ -\ **monadd name [-n|-**\ **-nodestatmon] [-s|-**\ **-settings**\ \ *settings]*\ +\ **monadd name [-n|-**\ **-nodestatmon] [-s|-**\ **-settings**\ \ *settings]*\ *********** @@ -50,28 +50,28 @@ OPTIONS -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display usage message. + - -\ **-n | -**\ **-nodestatmon**\ - +\ **-n | -**\ **-nodestatmon**\ + Indicate that this monitoring plug-in will be used for feeding the node liveness status to the xCAT \ *nodelist*\ table. + - -\ **-s | -**\ **-settings**\ - +\ **-s | -**\ **-settings**\ + Specifies the plug-in specific settings. These settings will be used by the plug-in to customize certain entities for the plug-in or the third party monitoring software. e.g. -s mon_interval=10 -s toggle=1. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Command Version. - + @@ -92,52 +92,52 @@ EXAMPLES 1. - + To register gangliamon plug-in module (which interacts with Ganglia monitoring software) to monitor the xCAT cluster, enter: - - + + .. code-block:: perl - + monadd gangliamon - - + + 2. - + To register rmcmon plug-in module (which interacts with IBM's RSCT monitoring software) to monitor the xCAT cluster and have it feed the node liveness status to xCAT's \ *nodelist*\ table, enter: - - + + .. code-block:: perl - + monadd rmcmon -n - - + + This will also add the \ *configrmcnode*\ to the \ *postscripts*\ table. To view the content of the \ *postscripts*\ table, enter: - - + + .. code-block:: perl - + tabdump postscritps #node,postscripts,comments,disable "service","servicenode",, "xcatdefaults","syslog,remoteshell,configrmcnode",, - - + + 3. - + To register xcatmon plug-in module to feed the node liveness status to xCAT's \ *nodelist*\ table, enter: - - + + .. code-block:: perl - + monadd xcatmon -n -s ping-interval=2 - - + + where 2 is the number of minutes between the pings. - + diff --git a/docs/source/guides/admin-guides/references/man1/moncfg.1.rst b/docs/source/guides/admin-guides/references/man1/moncfg.1.rst index 047d2aa6e..a7ac99ccd 100644 --- a/docs/source/guides/admin-guides/references/man1/moncfg.1.rst +++ b/docs/source/guides/admin-guides/references/man1/moncfg.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **moncfg [-h| -**\ **-help]**\ +\ **moncfg [-h| -**\ **-help]**\ -\ **moncfg [-v| -**\ **-version]**\ +\ **moncfg [-v| -**\ **-version]**\ -\ **moncfg**\ \ *name*\ \ *[noderange]*\ \ **[-r|-**\ **-remote]**\ +\ **moncfg**\ \ *name*\ \ *[noderange]*\ \ **[-r|-**\ **-remote]**\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/mondecfg.1.rst b/docs/source/guides/admin-guides/references/man1/mondecfg.1.rst index c06c5b8a2..eeb0dc747 100644 --- a/docs/source/guides/admin-guides/references/man1/mondecfg.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mondecfg.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **mondecfg [-h| -**\ **-help]**\ +\ **mondecfg [-h| -**\ **-help]**\ -\ **mondecfg [-v| -**\ **-version]**\ +\ **mondecfg [-v| -**\ **-version]**\ -\ **mondecfg**\ \ *name*\ \ *[noderange]*\ \ **[-r|-**\ **-remote]**\ +\ **mondecfg**\ \ *name*\ \ *[noderange]*\ \ **[-r|-**\ **-remote]**\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/monls.1.rst b/docs/source/guides/admin-guides/references/man1/monls.1.rst index 15eda4174..f5241006d 100644 --- a/docs/source/guides/admin-guides/references/man1/monls.1.rst +++ b/docs/source/guides/admin-guides/references/man1/monls.1.rst @@ -19,13 +19,13 @@ SYNOPSIS ******** -\ **monls [-h| -**\ **-help]**\ +\ **monls [-h| -**\ **-help]**\ -\ **monls [-v| -**\ **-version]**\ +\ **monls [-v| -**\ **-version]**\ -\ **monls**\ \ *name*\ \ **[-d|-**\ **-description]**\ +\ **monls**\ \ *name*\ \ **[-d|-**\ **-description]**\ -\ **monls [-a|-**\ **-all] [-d|-**\ **-description]**\ +\ **monls [-a|-**\ **-all] [-d|-**\ **-description]**\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/monrm.1.rst b/docs/source/guides/admin-guides/references/man1/monrm.1.rst index 8d2edc16a..27d4563b9 100644 --- a/docs/source/guides/admin-guides/references/man1/monrm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/monrm.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **monrm [-h| -**\ **-help]**\ +\ **monrm [-h| -**\ **-help]**\ -\ **monrm [-v| -**\ **-version]**\ +\ **monrm [-v| -**\ **-version]**\ -\ **monrm**\ \ *name*\ +\ **monrm**\ \ *name*\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/monshow.1.rst b/docs/source/guides/admin-guides/references/man1/monshow.1.rst index 07b343994..2c8ff130c 100644 --- a/docs/source/guides/admin-guides/references/man1/monshow.1.rst +++ b/docs/source/guides/admin-guides/references/man1/monshow.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **monshow [-h| -**\ **-help]**\ +\ **monshow [-h| -**\ **-help]**\ -\ **monshow [-v| -**\ **-version]**\ +\ **monshow [-v| -**\ **-version]**\ \ **monshow**\ \ *name*\ \ *[noderange]*\ [\ **-s**\ ] [\ **-t**\ \ *time*\ ] [\ **-a**\ \ *attributes*\ ] [\ **-w**\ \ *attr*\ < \ *operator*\ > \ *val*\ [\ **-w**\ \ *attr*\ < \ *operator*\ > \ *val*\ ] ... ][\ **-o {p|e}**\ ] diff --git a/docs/source/guides/admin-guides/references/man1/monstart.1.rst b/docs/source/guides/admin-guides/references/man1/monstart.1.rst index 3c1c3a557..1595b28b8 100644 --- a/docs/source/guides/admin-guides/references/man1/monstart.1.rst +++ b/docs/source/guides/admin-guides/references/man1/monstart.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **monstart [-h| -**\ **-help]**\ +\ **monstart [-h| -**\ **-help]**\ -\ **monstart [-v| -**\ **-version]**\ +\ **monstart [-v| -**\ **-version]**\ \ **monstart**\ \ *name*\ \ *[noderange]*\ [\ **-r|-**\ **-remote**\ ] diff --git a/docs/source/guides/admin-guides/references/man1/monstop.1.rst b/docs/source/guides/admin-guides/references/man1/monstop.1.rst index d776f408b..4a0502ba4 100644 --- a/docs/source/guides/admin-guides/references/man1/monstop.1.rst +++ b/docs/source/guides/admin-guides/references/man1/monstop.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **monstop [-h| -**\ **-help]**\ +\ **monstop [-h| -**\ **-help]**\ -\ **monstop [-v| -**\ **-version]**\ +\ **monstop [-v| -**\ **-version]**\ \ **monstop**\ \ *name*\ [\ *noderange*\ ] [\ **-r|-**\ **-remote**\ ] diff --git a/docs/source/guides/admin-guides/references/man1/mysqlsetup.1.rst b/docs/source/guides/admin-guides/references/man1/mysqlsetup.1.rst index d604f9551..cd6566407 100644 --- a/docs/source/guides/admin-guides/references/man1/mysqlsetup.1.rst +++ b/docs/source/guides/admin-guides/references/man1/mysqlsetup.1.rst @@ -39,7 +39,7 @@ DESCRIPTION \ **mysqlsetup**\ - Sets up the MySQL or MariaDB database (linux only for MariaDB) for xCAT to use. The mysqlsetup script is run on the Management Node as root after the MySQL code or MariaDB code has been installed. Before running the init option, the MySQL server should be stopped, if it is running. The xCAT daemon, xcatd, must be running, do not stop it. No xCAT commands should be run during the init process, because we will be migrating the xCAT database to MySQL or MariaDB and restarting the xcatd daemon as well as the MySQL daemon. For full information on all the steps that will be done, read the "Configure MySQL and Migrate xCAT Data to MySQL" sections in -\ **Setting_Up_MySQL_as_the_xCAT_DB**\ +\ **Setting_Up_MySQL_as_the_xCAT_DB**\ Two passwords must be supplied for the setup, a password for the xcatadmin id and a password for the root id in the MySQL database. These will be prompted for interactively, unless the environment variables XCATMYSQLADMIN_PW and XCATMYSQLROOT_PW are set to the passwords for the xcatadmin id and root id in the database,resp. @@ -52,57 +52,57 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the release version of the code. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Displays verbose messages. + - -\ **-i|-**\ **-init**\ - +\ **-i|-**\ **-init**\ + The init option is used to setup a xCAT database on an installed MySQL or MariaDB server for xCAT to use. The mysqlsetup script will check for the installed MariaDB server rpm first and will use MariaDB if it is installed. This involves creating the xcatdb database, the xcatadmin id, allowing access to the xcatdb database by the Management Node. It customizes the my.cnf configuration file for xcat and starts the MySQL server. It also backs up the current xCAT database and restores it into the newly setup xcatdb MySQL database. It creates the /etc/xcat/cfgloc file to point the xcatd daemon to the MySQL database and restarts the xcatd daemon using the database. On AIX, it additionally setup the mysql id and group and corrects the permissions in the MySQL install directories. For AIX, you should be using the MySQL rpms available from the xCAT website. For Linux, you should use the MySQL or MariaDB rpms shipped with the OS. You can chose the -f and/or the -o option, to run after the init. + - -\ **-u|-**\ **-update**\ - +\ **-u|-**\ **-update**\ + To run the update option, you must first have run the -i option and have xcat successfully running on the MySQL database. You can chose the -f and/or the -o option, to update. + - -\ **-f|-**\ **-hostfile**\ - +\ **-f|-**\ **-hostfile**\ + This option runs during update, it will take all the host from the input file (provide a full path) and give them database access to the xcatdb in MySQL for the xcatadmin id. Wildcards and ipaddresses may be used. xCAT must have been previously successfully setup to use MySQL. xcatadmin and MySQL root password are required. + - -\ **-o|-**\ **-odbc**\ - +\ **-o|-**\ **-odbc**\ + This option sets up the ODBC /etc/../odbcinst.ini, /etc/../odbc.ini and the .odbc.ini file in roots home directory will be created and initialized to run off the xcatdb MySQL database. See "Add ODBC Support" in Setting_Up_MySQL_as_the_xCAT_DB + - -\ **-L|-**\ **-LL**\ - +\ **-L|-**\ **-LL**\ + Additional database configuration specifically for the LoadLeveler product. See "Add ODBC Support" in Setting_Up_MySQL_as_the_xCAT_DB - + @@ -128,61 +128,61 @@ EXAMPLES 1. - + To setup MySQL for xCAT to run on the MySQL xcatdb database : - - + + .. code-block:: perl - + mysqlsetup -i - - + + 2. - + Add hosts from /tmp/xcat/hostlist that can access the xcatdb database in MySQL: - - + + .. code-block:: perl - + mysqlsetup -u -f /tmp/xcat/hostlist - - + + Where the file contains a host per line, for example: - - + + .. code-block:: perl - + node1 1.115.85.2 10.%.%.% nodex.cluster.net - - + + 3. - + To setup the ODBC for MySQL xcatdb database access : - - + + .. code-block:: perl - + mysqlsetup -o - - + + 4. - + To setup MySQL for xCAT and add hosts from /tmp/xcat/hostlist and setup the ODBC in Verbose mode: - - + + .. code-block:: perl - + mysqlsetup -i -f /tmp/xcat/hostlist -o -V - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nimnodecust.1.rst b/docs/source/guides/admin-guides/references/man1/nimnodecust.1.rst index 0beb84a00..1fd244764 100644 --- a/docs/source/guides/admin-guides/references/man1/nimnodecust.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nimnodecust.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **nimnodecust [-h|-**\ **-help ]**\ +\ **nimnodecust [-h|-**\ **-help ]**\ -\ **nimnodecust [-V] -s**\ \ *lpp_source_name*\ [\ **-p**\ \ *packages*\ ] [\ **-b**\ \ *installp_bundles*\ ] \ *noderange [attr=val [attr=val ...]]*\ +\ **nimnodecust [-V] -s**\ \ *lpp_source_name*\ [\ **-p**\ \ *packages*\ ] [\ **-b**\ \ *installp_bundles*\ ] \ *noderange [attr=val [attr=val ...]]*\ *********** @@ -43,7 +43,7 @@ A bundle file contains a list of package names. The RPMs must have a prefix of # RPM R:expect-5.42.1-3.aix5.1.ppc.rpm R:ping-2.4b2_to-1.aix5.3.ppc.rpm - + #installp I:openssh.base I:openssh.license @@ -68,41 +68,41 @@ OPTIONS -\ *attr=val [attr=val ...]*\ - +\ *attr=val [attr=val ...]*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr=val pairs must be specified last on the command line. These are used to specify additional values that can be passed to the underlying NIM commands, ("nim -o cust..."). See the NIM documentation for valid "nim" command line options. + - -\ **-b**\ \ *installp_bundle_names*\ - +\ **-b**\ \ *installp_bundle_names*\ + A comma separated list of NIM installp_bundle names. + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-p**\ \ *package_names*\ - +\ **-p**\ \ *package_names*\ + A comma-separated list of software packages to install. Packages may be RPM or installp. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + diff --git a/docs/source/guides/admin-guides/references/man1/nimnodeset.1.rst b/docs/source/guides/admin-guides/references/man1/nimnodeset.1.rst index 2370ec466..5f3511342 100644 --- a/docs/source/guides/admin-guides/references/man1/nimnodeset.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nimnodeset.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **nimnodeset [-h|-**\ **-help ]**\ +\ **nimnodeset [-h|-**\ **-help ]**\ -\ **nimnodeset [-V|-**\ **-verbose] [-f|-**\ **-force] [-i**\ \ *osimage_name*\ ] [\ **-l**\ \ *location*\ ] [\ **-p|-**\ **-primarySN**\ ] [\ **-b | -**\ **-backupSN**\ ] \ *noderange [attr=val [attr=val ...]]*\ +\ **nimnodeset [-V|-**\ **-verbose] [-f|-**\ **-force] [-i**\ \ *osimage_name*\ ] [\ **-l**\ \ *location*\ ] [\ **-p|-**\ **-primarySN**\ ] [\ **-b | -**\ **-backupSN**\ ] \ *noderange [attr=val [attr=val ...]]*\ *********** @@ -73,59 +73,59 @@ OPTIONS -\ *attr=val [attr=val ...]*\ - +\ *attr=val [attr=val ...]*\ + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr= val pairs must be specified last on the command line. These are used to specify additional values that can be passed to the underlying NIM commands, ("nim -o bos_inst ..."). See the NIM documentation for valid "nim" command line options. Note that you may specify multiple "script" and "installp_bundle" values by using a comma separated list. (ex. "script=ascript,bscript"). + - -\ **-b|-**\ **-backupSN**\ - +\ **-b|-**\ **-backupSN**\ + When using backup service nodes only update the backup. The default is to update both the primary and backup service nodes + - -\ **-f |-**\ **-force**\ - +\ **-f |-**\ **-force**\ + Use the force option to reinitialize the NIM machines. + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-i**\ \ *image_name*\ - +\ **-i**\ \ *image_name*\ + The name of an existing xCAT osimage definition. + - -\ **-l|-**\ **-location**\ - +\ **-l|-**\ **-location**\ + The directory location to use when creating new NIM resolv_conf resources. The default location is /install/nim. + - -\ **-p|-**\ **-primarySN**\ - +\ **-p|-**\ **-primarySN**\ + When using backup service nodes only update the primary. The default is to update both the primary and backup service nodes. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + diff --git a/docs/source/guides/admin-guides/references/man1/nodeaddunmged.1.rst b/docs/source/guides/admin-guides/references/man1/nodeaddunmged.1.rst index 0578103ef..2ce52c742 100644 --- a/docs/source/guides/admin-guides/references/man1/nodeaddunmged.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodeaddunmged.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **nodeaddunmged**\ [\ **-h**\ | \ **-**\ **-help**\ | \ **-v**\ | \ **-**\ **-version**\ ] -\ **nodeaddunmged hostname=**\ \ *node-name*\ \ **ip=**\ \ *ip-address*\ +\ **nodeaddunmged hostname=**\ \ *node-name*\ \ **ip=**\ \ *ip-address*\ *********** @@ -37,19 +37,19 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. -\ **hostname=**\ \ *node-name*\ +\ **hostname=**\ \ *node-name*\ Sets the name of the new unmanaged node, where is the name of the node. -\ **ip=**\ \ *ip-address*\ +\ **ip=**\ \ *ip-address*\ Sets the IP address of the unmanaged node, where \ *ip-address*\ is the IP address of the new node in the form xxx.xxx.xxx.xxx diff --git a/docs/source/guides/admin-guides/references/man1/nodech.1.rst b/docs/source/guides/admin-guides/references/man1/nodech.1.rst index 5d4c89f86..22341d5b3 100644 --- a/docs/source/guides/admin-guides/references/man1/nodech.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodech.1.rst @@ -58,22 +58,22 @@ OPTIONS -\ **-d|-**\ **-delete**\ - +\ **-d|-**\ **-delete**\ + Delete the nodes' row in the specified tables. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -99,53 +99,53 @@ EXAMPLES 1. To update nodes in noderange node1-node4 to be in only group all: - - + + .. code-block:: perl - + nodech node1-node4 groups=all - - + + 2. To put all nodes with nodepos.rack value of 2 into a group called rack2: - - + + .. code-block:: perl - + nodech all nodepos.rack==2 groups,=rack2 - - + + 3. To add nodes in noderange node1-node4 to the nodetype table with os=rhel5: - - + + .. code-block:: perl - + nodech node1-node4 groups=all,rhel5 nodetype.os=rhel5 - - + + 4. To add node1-node4 to group1 in addition to the groups they are already in: - - + + .. code-block:: perl - + nodech node1-node4 groups,=group1 - - + + 5. To put node1-node4 in group2, instead of group1: - - + + .. code-block:: perl - + nodech node1-node4 groups^=group1 groups,=group2 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodechmac.1.rst b/docs/source/guides/admin-guides/references/man1/nodechmac.1.rst index 18a44c46e..0d35e40dc 100644 --- a/docs/source/guides/admin-guides/references/man1/nodechmac.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodechmac.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **nodechmac**\ [\ **-h**\ | \ **-**\ **-help**\ | \ **-v**\ | \ **-**\ **-version**\ ] -\ **nodechmac**\ \ *node-name*\ \ **mac=**\ \ *mac-address*\ +\ **nodechmac**\ \ *node-name*\ \ **mac=**\ \ *mac-address*\ *********** @@ -29,7 +29,7 @@ DESCRIPTION *********** -The \ **nodechmac**\ command changes the MAC address for provisioned node’s network interface. +The \ **nodechmac**\ command changes the MAC address for provisioned node's network interface. You can use this command to keep an existing node configuration. For example, if an existing node has hardware problems, the replacement node can use the old configurations. By using the nodechmac command, the node name and network settings of the old node can be used by the new node. @@ -39,19 +39,19 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. -\ *node-name*\ +\ *node-name*\ Specifies the name of the node you want to update, where is the node that is updated. -\ **mac=**\ \ *mac-address*\ +\ **mac=**\ \ *mac-address*\ Sets the new MAC address for the NIC used by the provisioning node, where is the NICs new MAC address. diff --git a/docs/source/guides/admin-guides/references/man1/nodechprofile.1.rst b/docs/source/guides/admin-guides/references/man1/nodechprofile.1.rst index 77bff5084..be6b5300e 100644 --- a/docs/source/guides/admin-guides/references/man1/nodechprofile.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodechprofile.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nodechprofile**\ \ **[-h| -**\ **-help | -v | -**\ **-version]**\ +\ **nodechprofile**\ \ **[-h| -**\ **-help | -v | -**\ **-version]**\ \ **nodechprofile**\ \ *noderange*\ [\ **imageprofile=**\ \ *image-profile*\ ] [\ **networkprofile=**\ \ *network-profile*\ ] [\ **hardwareprofile=**\ \ *hardware-profile*\ ] @@ -47,27 +47,27 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. -\ *noderange*\ +\ *noderange*\ The nodes to be removed. -\ **imageprofile=**\ \ *image-profile*\ +\ **imageprofile=**\ \ *image-profile*\ Sets the new image profile name used by the node, where is the new image profile. An image profile defines the provisioning method, OS information, kit information, and provisioning parameters for a node. If the "__ImageProfile_imgprofile" group already exists in the nodehm table, then "imgprofile" is used as the image profile name. -\ **networkprofile=**\ \ *network-profile*\ +\ **networkprofile=**\ \ *network-profile*\ Sets the new network profile name used by the node, where is the new network profile. A network profile defines the network, NIC, and routes for a node. If the "__NetworkProfile_netprofile" group already exists in the nodehm table, then "netprofile" is used as the network profile name. -\ **hardwareprofile=**\ \ *hardware-profile*\ +\ **hardwareprofile=**\ \ *hardware-profile*\ Sets the new hardware profile name used by the node, where is the new hardware management profile used by the node. If a "__HardwareProfile_hwprofile" group exists, then "hwprofile" is the hardware profile name. A hardware profile defines hardware management related information for imported nodes, including: IPMI, HMC, CEC, CMM. @@ -89,23 +89,23 @@ EXAMPLES 1. To change the image profile to rhels6.3_packaged for compute nodes compute-000 and compute-001, use the following command: - - + + .. code-block:: perl - + nodechprofile compute-000,compute-001 imageprofile=rhels6.3_packaged - - + + 2. To change all of the profiles for compute node compute-000, enter the following command: - - + + .. code-block:: perl - + nodechprofile compute-000 imageprofile=rhels6.3_packaged networkprofile=default_cn hardwareprofile=default_ipmi - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodediscoverdef.1.rst b/docs/source/guides/admin-guides/references/man1/nodediscoverdef.1.rst index da7d60081..2d7235f90 100644 --- a/docs/source/guides/admin-guides/references/man1/nodediscoverdef.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodediscoverdef.1.rst @@ -21,9 +21,9 @@ SYNOPSIS ******** -\ **nodediscoverdef**\ \ **-u**\ \ *uuid*\ \ **-n**\ \ *node*\ +\ **nodediscoverdef**\ \ **-u**\ \ *uuid*\ \ **-n**\ \ *node*\ -\ **nodediscoverdef**\ \ **-r**\ \ **-u**\ \ *uuid*\ +\ **nodediscoverdef**\ \ **-r**\ \ **-u**\ \ *uuid*\ \ **nodediscoverdef**\ \ **-r**\ \ **-t**\ {\ **seq | profile | switch | blade | manual | undef | all**\ } @@ -56,69 +56,69 @@ OPTIONS -\ **-t seq|profile|switch|blade|manual|undef|all**\ - +\ **-t seq|profile|switch|blade|manual|undef|all**\ + Specify the nodes that have been discovered by the specified discovery method: - - + + \* \ **seq**\ - Sequential discovery (started via nodediscoverstart noderange= ...). - - - + + + \* \ **profile**\ - Profile discovery (started via nodediscoverstart networkprofile= ...). - - - + + + \* \ **switch**\ - Switch-based discovery (used when the switch and switches tables are filled in). - - - + + + \* \ **blade**\ - Blade discovery (used for IBM Flex blades). - - - + + + \* \ **manual**\ - Manually discovery (used when defining node by nodediscoverdef command). - - - + + + \* \ **undef**\ - Display the nodes that were in the discovery pool, but for which xCAT has not yet received a discovery request. - - - + + + \* \ **all**\ - All discovered nodes. + + + - - - -\ **-n**\ \ *node*\ - +\ **-n**\ \ *node*\ + The xCAT node that the discovery entry will be defined to. + - -\ **-r**\ - +\ **-r**\ + Remove the discovery entries from discoverydata table. + - -\ **-u**\ \ *uuid*\ - +\ **-u**\ \ *uuid*\ + The uuid of the discovered entry. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. - + @@ -139,57 +139,57 @@ EXAMPLES 1. Define the discovery entry which uuid is 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB4 to node node1 - - + + .. code-block:: perl - + nodediscoverdef -u 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB4 -n node1 - - + + Output is similar to: - - + + .. code-block:: perl - + Defined [51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB4] to node node1. - - + + 2. Remove the discovery entry which uuid is 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB4 from the discoverydata table - - + + .. code-block:: perl - + nodediscoverdef -r -u 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB4 - - + + Output is similar to: - - + + .. code-block:: perl - + Removing discovery entries finished. - - + + 3. Remove the discovery entries which discover type is \ **seq**\ from the discoverydata table - - + + .. code-block:: perl - + nodediscoverdef -r -t seq - - + + Output is similar to: - - + + .. code-block:: perl - + Removing discovery entries finished. - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodediscoverls.1.rst b/docs/source/guides/admin-guides/references/man1/nodediscoverls.1.rst index beda1bb93..8d1458b64 100644 --- a/docs/source/guides/admin-guides/references/man1/nodediscoverls.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodediscoverls.1.rst @@ -47,63 +47,63 @@ OPTIONS -\ **-t seq|profile|switch|blade|manual|undef|all**\ - +\ **-t seq|profile|switch|blade|manual|undef|all**\ + Display the nodes that have been discovered by the specified discovery method: - - + + \* \ **seq**\ - Sequential discovery (started via nodediscoverstart noderange= ...). - - - + + + \* \ **profile**\ - Profile discovery (started via nodediscoverstart networkprofile= ...). - - - + + + \* \ **switch**\ - Switch-based discovery (used when the switch and switches tables are filled in). - - - + + + \* \ **blade**\ - Blade discovery (used for IBM Flex blades). - - - + + + \* \ **manual**\ - Manually discovery (used when defining node by nodediscoverdef command). - - - + + + \* \ **undef**\ - Display the nodes that were in the discovery pool, but for which xCAT has not yet received a discovery request. - - - + + + \* \ **all**\ - All discovered nodes. + + + - - - -\ **-l**\ - +\ **-l**\ + Display more detailed information about the discovered nodes. + - -\ **-u**\ \ *uuid*\ - +\ **-u**\ \ *uuid*\ + Display the discovered node that has this uuid. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. - + @@ -124,80 +124,80 @@ EXAMPLES 1. Display the discovered nodes when sequential discovery is running: - - + + .. code-block:: perl - + nodediscoverls - - + + Output is similar to: - - + + .. code-block:: perl - + UUID NODE METHOD MTM SERIAL 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB2 distest1 sequential 786310X 1052EF2 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB3 distest2 sequential 786310X 1052EF3 - - + + 2. Display the nodes that were in the discovery pool, but for which xCAT has not yet received a discovery request: - - + + .. code-block:: perl - + nodediscoverls -t undef - - + + Output is similar to: - - + + .. code-block:: perl - + UUID NODE METHOD MTM SERIAL 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB0 undef undef 786310X 1052EF0 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB1 undef undef 786310X 1052EF1 - - + + 3. Display all the discovered nodes: - - + + .. code-block:: perl - + nodediscoverls -t all - - + + Output is similar to: - - + + .. code-block:: perl - + UUID NODE METHOD MTM SERIAL 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB0 undef undef 786310X 1052EF0 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB1 undef undef 786310X 1052EF1 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB2 distest1 sequential 786310X 1052EF2 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB3 distest2 sequential 786310X 1052EF3 - - + + 4. Display the discovered node whose uuid is \ **51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB2**\ , with detailed information: - - + + .. code-block:: perl - + nodediscoverls -u 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB2 -l - - + + Output is similar to: - - + + .. code-block:: perl - + Object uuid: 51E5F2D7-0D59-11E2-A7BC-3440B5BEDBB2 node=distest1 method=sequential @@ -219,8 +219,8 @@ EXAMPLES switchaddr=eth0!192.168.70.120 switchdesc=eth0!IBM Flex System Fabric EN4093 10Gb Scalable Switch, flash image: version 7.2.6, boot image: version 7.2.6 switchport=eth0!INTA2 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodediscoverstart.1.rst b/docs/source/guides/admin-guides/references/man1/nodediscoverstart.1.rst index 87a280799..2171f8da9 100644 --- a/docs/source/guides/admin-guides/references/man1/nodediscoverstart.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodediscoverstart.1.rst @@ -21,12 +21,12 @@ SYNOPSIS \ **nodediscoverstart**\ [\ **-h | -**\ **-help | -v | -**\ **-version**\ ] -\ **Sequential Discovery Specific:**\ +\ **Sequential Discovery Specific:**\ \ **nodediscoverstart**\ \ **noderange=**\ \ *noderange*\ [\ **hostiprange=**\ \ *imageprofile*\ ] [\ **bmciprange=**\ \ *bmciprange*\ ] [\ **groups=**\ \ *groups*\ ] [\ **rack=**\ \ *rack*\ ] [\ **chassis=**\ \ *chassis*\ ] [\ **height=**\ \ *height*\ ] [\ **unit=**\ \ *unit*\ ] [\ **osimage=**\ \ *osimagename*\ >] [\ **-n | -**\ **-dns**\ ] [\ **-s | -**\ **-skipbmcsetup**\ ] [\ **-V|-**\ **-verbose**\ ] -\ **Profile Discovery Specific:**\ +\ **Profile Discovery Specific:**\ \ **nodediscoverstart**\ \ **networkprofile=**\ \ *network-profile*\ \ **imageprofile=**\ \ *image-profile*\ \ **hostnameformat=**\ \ *nost-name-format*\ [\ **hardwareprofile=**\ \ *hardware-profile*\ ] [\ **groups=**\ \ *node-groups*\ ] [\ **rack=**\ \ *rack-name*\ ] [\ **chassis=**\ \ *chassis-name*\ ] [\ **height=**\ \ *rack-server-height*\ ] [\ **unit=**\ \ *rack-server-unit-location*\ ] [\ **rank=**\ \ *rank-num*\ ] @@ -40,7 +40,7 @@ DESCRIPTION The \ **nodediscoverstart**\ command starts either the \ **Sequential Discovery**\ or \ **Profile Discovery**\ process. They can not both be running at the same time. -\ **Sequential Discovery Specific:**\ +\ **Sequential Discovery Specific:**\ This is the simplest discovery approach. You only need to specify the \ **noderange**\ , \ **hostiprange**\ and \ **bmciprange**\ that should be @@ -49,7 +49,7 @@ then you only need to specify the \ **noderange**\ to the \ **nodediscoverstart physically power on the nodes in the sequence that you want them to receive the node names and IPs, waiting a short time (e.g. 30 seconds) between each node. -\ **Profile Discovery Specific:**\ +\ **Profile Discovery Specific:**\ This is the PCM discovery approach. \ *networkprofile*\ , \ *imageprofile*\ , \ *hostnameformat*\ arguments must be specified to start the \ **Profile Discovery**\ . @@ -68,124 +68,124 @@ OPTIONS -\ **noderange=**\ \ *noderange*\ - +\ **noderange=**\ \ *noderange*\ + The set of node names that should be given to nodes that are discovered via the \ **Sequential Discovery**\ method. This argument is required to \ **Sequential Discovery**\ . Any valid xCAT \ **noderange**\ is allowed, e.g. node[01-10]. + - -\ **hostiprange=**\ \ *ip range*\ - +\ **hostiprange=**\ \ *ip range*\ + The ip range which will be assigned to the host of new discovered nodes in the \ **Sequential Discovery**\ method. The format can be: \ *start_ip*\ \ **-**\ \ *end_ip*\ or \ *noderange*\ , e.g. 192.168.0.1-192.168.0.10 or 192.168.0.[1-10]. + - -\ **bmciprange=**\ \ *ip range*\ - +\ **bmciprange=**\ \ *ip range*\ + The ip range which will be assigned to the bmc of new discovered nodes in the \ **Sequential Discovery**\ method. The format can be: \ *start_ip*\ \ **-**\ \ *end_ip*\ or \ *noderange*\ , e.g. 192.168.1.1-192.168.1.10 or 192.168.1.[1-10]. + - -\ **imageprofile=**\ \ *image-profile*\ - +\ **imageprofile=**\ \ *image-profile*\ + Sets the new image profile name used by the discovered nodes in the \ **Profile Discovery**\ method. An image profile defines the provisioning method, OS information, kit information, and provisioning parameters for a node. If the "__ImageProfile_imgprofile" group already exists in the nodehm table, then "imgprofile" is used as the image profile name. + - -\ **networkprofile=**\ \ *network-profile*\ - +\ **networkprofile=**\ \ *network-profile*\ + Sets the new network profile name used by the discovered nodes in the \ **Profile Discovery**\ method. A network profile defines the network, NIC, and routes for a node. If the "__NetworkProfile_netprofile" group already exists in the nodehm table, then "netprofile" is used as the network profile name. + - -\ **hardwareprofile=**\ \ *hardware-profile*\ - +\ **hardwareprofile=**\ \ *hardware-profile*\ + Sets the new hardware profile name used by the discovered nodes in the \ **Profile Discovery**\ method. If a "__HardwareProfile_hwprofile" group exists, then "hwprofile" is the hardware profile name. A hardware profile defines hardware management related information for imported nodes, including: IPMI, HMC, CEC, CMM. + - -\ **hostnameformat=**\ \ *nost-name-format*\ - +\ **hostnameformat=**\ \ *nost-name-format*\ + Sets the node name format for all discovered nodes in the \ **Profile Discovery**\ method. The two types of formats supported are prefix#NNNappendix and prefix#RRand#NNappendix, where wildcard #NNN and #NN are replaced by a system generated number that is based on the provisioning order. Wildcard #RR represents the rack number and stays constant. - + For example, if the node name format is compute-#NN, the node name is generated as: compute-00, compute-01, ..., compute-99. If the node name format is blade#NNN-x64, the node name is generated as: blade001-x64, blade002-x64, ..., blade999-x64 - + For example, if the node name format is compute-#RR-#NN and the rack number is 2, the node name is generated as: compute-02-00, compute-02-01, ..., compute-02-99. If node name format is node-#NN-in-#RR and rack number is 1, the node name is generated as: node-00-in-01, node-01-in-01, ..., node-99-in-01 + - -\ **groups=**\ \ *node-groups*\ - +\ **groups=**\ \ *node-groups*\ + Sets the node groups that the discovered nodes should be put in for either the Sequential Discovery or Profile Discovery methods, where \ *node-group*\ is a comma-separated list of node groups. - + \ **rack=**\ \ *rack-name*\ > - + Sets the rack name where the node is located for either the Sequential Discovery or Profile Discovery methods. + - -\ **chassis=**\ \ *chassis-name*\ - +\ **chassis=**\ \ *chassis-name*\ + Sets the chassis name that the Blade server or PureFlex blade is located in, for either the Sequential Discovery or Profile Discovery methods. This option is used for the Blade server and PureFlex system only. You cannot specify this option with the rack option. + - -\ **height=**\ \ *rack-server-height*\ - +\ **height=**\ \ *rack-server-height*\ + Sets the height of a rack-mounted server in U units for either the Sequential Discovery or Profile Discovery methods. If the rack option is not specified, the default value is 1. + - -\ **unit=**\ \ *rack-server-unit-location*\ - +\ **unit=**\ \ *rack-server-unit-location*\ + Sets the start unit value for the node in the rack, for either the Sequential Discovery or Profile Discovery methods. This option is for a rack server only. If the unit option is not specified, the default value is 1 + - -\ **rank=**\ \ *rank-num*\ - +\ **rank=**\ \ *rank-num*\ + Specifies the starting rank number that is used in the node name format, for the Profile Discovery method. The rank number must be a valid integer between 0 and 254. This option must be specified with nodenameformat option. For example, if your node name format is compute-#RR-#NN. The rack's number is 2 and rank is specified as 5, the node name is generated as follows: compute-02-05, compute-02-06, ..., compute-02-99. + - -\ **osimage=**\ \ *osimagename*\ - +\ **osimage=**\ \ *osimagename*\ + Specifies the osimage name that will be associated with the new discovered node, the os provisioning will be started automatically at the end of the discovery process. + - -\ **-n|-**\ **-dns**\ - +\ **-n|-**\ **-dns**\ + Specifies to run makedns for any new discovered node. This is useful mainly for non-predefined configuration, before running the "nodediscoverstart -n", the user needs to run makedns -n to initialize the named setup on the management node. + - -\ **-s|-**\ **-skipbmcsetup**\ - +\ **-s|-**\ **-skipbmcsetup**\ + Specifies to skip the bmcsetup during the sequential discovery process, if the bmciprange is specified with nodediscoverstart command, the BMC will be setup automatically during the discovery process, if the user does not want to run bmcsetup, could specify the "-s|--skipbmcsetup" with nodediscoverstart command to skip the bmcsetup. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Enumerates the free node names and host/bmc ips that are being specified in the ranges given. Use this option with Sequential Discovery to ensure that you are specifying the ranges you intend. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. - + @@ -206,18 +206,18 @@ EXAMPLES 1. \ **Sequential Discovery**\ : To discover nodes with noderange and host/bmc ip range: - - + + .. code-block:: perl - + nodediscoverstart noderange=n[1-10] hostiprange='172.20.101.1-172.20.101.10' bmciprange='172.20.102.1-172.20.102.10' -V - - + + Output is similar to: - - + + .. code-block:: perl - + Sequential Discovery: Started: Number of free node names: 10 Number of free host ips: 10 @@ -227,18 +227,18 @@ EXAMPLES n01 172.20.101.1 172.20.102.1 n02 172.20.101.2 172.20.102.2 ... ... ... - - + + 2. \ **Profile Discovery**\ : To discover nodes using the default_cn network profile and the rhels6.3_packaged image profile, use the following command: - - + + .. code-block:: perl - + nodediscoverstart networkprofile=default_cn imageprofile=rhels6.3_packaged hostnameformat=compute#NNN - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodediscoverstatus.1.rst b/docs/source/guides/admin-guides/references/man1/nodediscoverstatus.1.rst index 610e8bef0..182800616 100644 --- a/docs/source/guides/admin-guides/references/man1/nodediscoverstatus.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodediscoverstatus.1.rst @@ -27,7 +27,7 @@ DESCRIPTION *********** -The \ **nodediscoverstatus**\ command detects if the sequential or profile node discovery process is currently running, i.e. \ **nodediscoverstart**\ +The \ **nodediscoverstatus**\ command detects if the sequential or profile node discovery process is currently running, i.e. \ **nodediscoverstart**\ has been run, but \ **nodediscoverstop**\ has not. @@ -36,11 +36,11 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. diff --git a/docs/source/guides/admin-guides/references/man1/nodediscoverstop.1.rst b/docs/source/guides/admin-guides/references/man1/nodediscoverstop.1.rst index 4f4046b0a..f95b1b43f 100644 --- a/docs/source/guides/admin-guides/references/man1/nodediscoverstop.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodediscoverstop.1.rst @@ -37,11 +37,11 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. diff --git a/docs/source/guides/admin-guides/references/man1/nodegrpch.1.rst b/docs/source/guides/admin-guides/references/man1/nodegrpch.1.rst index 522d4a769..0256f0703 100644 --- a/docs/source/guides/admin-guides/references/man1/nodegrpch.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodegrpch.1.rst @@ -55,16 +55,16 @@ OPTIONS -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -90,15 +90,15 @@ EXAMPLES 1. - + To declare all members of ipmi group to have nodehm.mgt be ipmi - - + + .. code-block:: perl - + nodegrpch ipmi nodehm.mgt=ipmi - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodeimport.1.rst b/docs/source/guides/admin-guides/references/man1/nodeimport.1.rst index bd3a82f54..ca43f6f4a 100644 --- a/docs/source/guides/admin-guides/references/man1/nodeimport.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodeimport.1.rst @@ -39,31 +39,31 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. -\ **file=**\ \ *nodeinfo-filename*\ +\ **file=**\ \ *nodeinfo-filename*\ Specifies the node information file, where is the full path and file name of the node information file. -\ **imageprofile=**\ \ *image-profile*\ +\ **imageprofile=**\ \ *image-profile*\ Sets the new image profile name used by the node, where is the new image profile. An image profile defines the provisioning method, OS information, kit information, and provisioning parameters for a node. If the "__ImageProfile_imgprofile" group already exists in the nodehm table, then "imgprofile" is used as the image profile name. -\ **networkprofile=**\ \ *network-profile*\ +\ **networkprofile=**\ \ *network-profile*\ Sets the new network profile name used by the node, where is the new network profile. A network profile defines the network, NIC, and routes for a node. If the "__NetworkProfile_netprofile" group already exists in the nodehm table, then "netprofile" is used as the network profile name. -\ **hardwareprofile=**\ \ *hardware-profile*\ +\ **hardwareprofile=**\ \ *hardware-profile*\ Sets the new hardware profile name used by the node, where is the new hardware management profile used by the node. If a "__HardwareProfile_hwprofile" group exists, then "hwprofile" is the hardware profile name. A hardware profile defines hardware management related information for imported nodes, including: IPMI, HMC, CEC, CMM. -\ **hostnameformat=**\ \ *host-name-format*\ +\ **hostnameformat=**\ \ *host-name-format*\ Sets the node name format for all nodes discovered, where is a supported format. The two types of formats supported are prefix#NNNappendix and prefix#RRand#NNappendix, where wildcard #NNN and #NN are replaced by a system generated number that is based on the provisioning order. Wildcard #RR represents the rack number and stays constant. @@ -71,7 +71,7 @@ For example, if the node name format is compute-#NN, the node name is generated For example, if the node name format is compute-#RR-#NN and the rack number is 2, the node name is generated as: compute-02-00, compute-02-01, ..., compute-02-99. If node name format is node-#NN-in-#RR and rack number is 1, the node name is generated as: node-00-in-01, node-01-in-01, ... , node-99-in-01 -\ **groups=**\ \ *node-groups*\ +\ **groups=**\ \ *node-groups*\ Sets the node groups that the imported node belongs to, where is a comma-separated list of node groups. @@ -107,7 +107,7 @@ To import nodes using a profile, follow the following steps: "__NetworkProfile_default_mn","static","static",,,, "__NetworkProfile_default_cn","static",,,,, "__ImageProfile_rhels6.2-x86_64-install-compute","static","static",,,, - + # lsdef -t group __NetworkProfile_default_cn Object name: __NetworkProfile_default_cn grouptype=static @@ -132,7 +132,7 @@ To import nodes using a profile, follow the following steps: mac=b8:ac:6f:37:59:24 ip=192.168.1.20 chassis=chassis01 - + # This entry defines a rack server. __hostname__: mac=b8:ac:6f:37:59:25 @@ -140,9 +140,9 @@ To import nodes using a profile, follow the following steps: rack=rack01 height=1 unit=2 - + # hostinfo end. - + Another example of a node information file, a PureFlex X/P node defined: # hostinfo begin # To define a PureFlex P/X node, chassis and slot id must be specified. @@ -152,28 +152,28 @@ To import nodes using a profile, follow the following steps: chassis=cmm01 slotid=1 # hostinfo end. - + Example of a node information file, a switch auto discovery node defined: # hostinfo begin # This entry defines a blade. __hostname__: switches=eth0!switch1!1,eth0!switch2!1!eth1 - + Example of a node information file that specifies a CEC-based rack-mounted Power node that uses direct FSP management: # Node information file begins # This entry defines a Power rack-mount node. __hostname__: mac=b8:ac:6f:37:59:28 cec=mycec - + __hostname__: mac=b8:ac:6f:37:59:28 cec=mycec lparid=2 # Node information file ends. - + Example of a node information file that specifies a PowerKVM Guest node that uses KVM management: - + # Node information file begins # This entry defines a PowerKVM Guest node. # Make sure the node 'vm01' is already created on Hypervisor diff --git a/docs/source/guides/admin-guides/references/man1/nodels.1.rst b/docs/source/guides/admin-guides/references/man1/nodels.1.rst index 2843e2bfa..395c72848 100644 --- a/docs/source/guides/admin-guides/references/man1/nodels.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodels.1.rst @@ -38,49 +38,49 @@ are specified after the noderange in the form: \ *table.column*\ . A few shor also be used as aliases to common attributes: -\ **groups**\ - +\ **groups**\ + nodelist.groups + - -\ **tags**\ - +\ **tags**\ + nodelist.groups + - -\ **mgt**\ - +\ **mgt**\ + nodehm.mgt - + nodels can also select based on table value criteria. The following operators are available: -\ **==**\ - +\ **==**\ + Select nodes where the table.column value is exactly a certain value. + - -\ **!=**\ - +\ **!=**\ + Select nodes where the table.column value is not a given specific value. + - -\ **=~**\ - +\ **=~**\ + Select nodes where the table.column value matches a given regular expression. + - -\ **!~**\ - +\ **!~**\ + Select nodes where the table.column value does not match a given regular expression. - + The \ **nodels**\ command with a specific node and one or more table.attribute parameters is a good substitute @@ -95,34 +95,34 @@ OPTIONS -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-H|-**\ **-with-fieldname**\ - +\ **-H|-**\ **-with-fieldname**\ + Force display of table name and column name context for each result + - -\ **-b|-**\ **-blame**\ - +\ **-b|-**\ **-blame**\ + For values inherited from groups, display which groups provided the inheritance + - -\ **-S**\ - +\ **-S**\ + List all the hidden nodes (FSP/BPA nodes) with other ones. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -143,153 +143,153 @@ EXAMPLES 1. - + To list all defined nodes, enter: - - + + .. code-block:: perl - + nodels - - + + Output is similar to: - - + + .. code-block:: perl - + node1 node2 node3 - - + + 2. - + To list all defined attributes in a table for a node or noderange, enter: - - + + .. code-block:: perl - + nodels rra001a noderes - - + + Output is similar to: - - + + .. code-block:: perl - + rra001a: noderes.primarynic: eth0 rra001a: noderes.xcatmaster: rra000 rra001a: noderes.installnic: eth0 rra001a: noderes.netboot: pxe rra001a: noderes.servicenode: rra000 rra001a: noderes.node: rra001a - - + + 3. - + To list nodes in node group ppc, enter: - - + + .. code-block:: perl - + nodels ppc - - + + Output is similar to: - - + + .. code-block:: perl - + ppcnode1 ppcnode2 ppcnode3 - - + + 4. - + To list the groups each node is part of: - - + + .. code-block:: perl - + nodels all groups - - + + Output is similar to: - - + + .. code-block:: perl - + node1: groups: all node2: groups: all,storage node3: groups: all,blade - - + + 5. - + To list the groups each node is part of: - - + + .. code-block:: perl - + nodels all nodehm.power - - + + Output is similar to: - - + + .. code-block:: perl - + node1: nodehm.power: blade node2: nodehm.power: ipmi node3: nodehm.power: ipmi - - + + 6. - + To list the out-of-band mgt method for blade1: - - + + .. code-block:: perl - + nodels blade1 nodehm.mgt - - + + Output is similar to: - - + + .. code-block:: perl - + blade1: blade - - + + 7. - + Listing blades managed through an AMM named 'amm1' - - + + .. code-block:: perl - + nodels all mp.mpa==amm1 - - + + Output is similar to: - - + + .. code-block:: perl - + blade1 blade10 blade11 @@ -303,25 +303,25 @@ EXAMPLES blade7 blade8 blade9 - - + + 8. - + Listing the switch.switch value for nodes in the second rack: - - + + .. code-block:: perl - + nodels all nodepos.rack==2 switch.switch - - + + Output is similar to: - - + + .. code-block:: perl - + n41: switch.switch: switch2 n42: switch.switch: switch2 n43: switch.switch: switch2 @@ -335,25 +335,25 @@ EXAMPLES n58: switch.switch: switch2 n59: switch.switch: switch2 n60: switch.switch: switch2 - - + + 9. - + Listing the blade slot number for anything managed through a device with a name beginning with amm: - - + + .. code-block:: perl - + nodels all mp.mpa=~/^amm.*/ mp.id - - + + Output looks like: - - + + .. code-block:: perl - + blade1: mp.id: 1 blade10: mp.id: 10 blade11: mp.id: 11 @@ -367,21 +367,21 @@ EXAMPLES blade7: mp.id: 7 blade8: mp.id: 8 blade9: mp.id: 9 - - + + 10. - + To list the hidden nodes that can't be seen with other flags. The hidden nodes are FSP/BPAs. - - + + .. code-block:: perl - + lsdef -S - - + + diff --git a/docs/source/guides/admin-guides/references/man1/nodepurge.1.rst b/docs/source/guides/admin-guides/references/man1/nodepurge.1.rst index 50f18ad0d..847eb6c7b 100644 --- a/docs/source/guides/admin-guides/references/man1/nodepurge.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodepurge.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **nodepurge [-h| -**\ **-help | -v | -**\ **-version]**\ +\ **nodepurge [-h| -**\ **-help | -v | -**\ **-version]**\ -\ **nodepurge**\ \ *noderange*\ +\ **nodepurge**\ \ *noderange*\ *********** @@ -39,15 +39,15 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version -\ *noderange*\ +\ *noderange*\ The nodes to be removed. diff --git a/docs/source/guides/admin-guides/references/man1/noderefresh.1.rst b/docs/source/guides/admin-guides/references/man1/noderefresh.1.rst index d7919f311..7f110d908 100644 --- a/docs/source/guides/admin-guides/references/man1/noderefresh.1.rst +++ b/docs/source/guides/admin-guides/references/man1/noderefresh.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **noderefresh [-h| -**\ **-help | -v | -**\ **-version]**\ +\ **noderefresh [-h| -**\ **-help | -v | -**\ **-version]**\ -\ **noderefresh**\ \ *noderange*\ +\ **noderefresh**\ \ *noderange*\ *********** @@ -37,15 +37,15 @@ OPTIONS ******* -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. -\ *noderange*\ +\ *noderange*\ The nodes to be updated. diff --git a/docs/source/guides/admin-guides/references/man1/noderm.1.rst b/docs/source/guides/admin-guides/references/man1/noderm.1.rst index 222e558b0..4f5eac74a 100644 --- a/docs/source/guides/admin-guides/references/man1/noderm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/noderm.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **noderm [-h| -**\ **-help]**\ +\ **noderm [-h| -**\ **-help]**\ -\ **noderm noderange**\ +\ **noderm noderange**\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/nodestat.1.rst b/docs/source/guides/admin-guides/references/man1/nodestat.1.rst index 2c8944375..68d3f2cfa 100644 --- a/docs/source/guides/admin-guides/references/man1/nodestat.1.rst +++ b/docs/source/guides/admin-guides/references/man1/nodestat.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -25,7 +25,7 @@ Name ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -81,144 +81,144 @@ For the command specified by 'dcmd', no input is needed, the output can be a str *************** -\ **Options**\ +\ **Options**\ *************** -\ **-f | -**\ **-usefping**\ - +\ **-f | -**\ **-usefping**\ + Uses fping instead of nmap even if nmap is available. If you seem to be having a problem with false negatives, fping can be more forgiving, but slower. + - -\ **-m | -**\ **-usemon**\ - +\ **-m | -**\ **-usemon**\ + Uses the settings from the \ **monsetting**\ table to determine a list of applications that need to get status for. + - -\ **-p | -**\ **-powerstat**\ - +\ **-p | -**\ **-powerstat**\ + Gets the power status for the nodes that are 'noping'. + - -\ **-u | -**\ **-updatedb**\ - +\ **-u | -**\ **-updatedb**\ + Updates the status and appstatus columns of the nodelist table with the returned running status from the given nodes. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. - - + + .. code-block:: perl - + nodestat compute - - + + Output is similar to: - - + + .. code-block:: perl - + node1 sshd node2 sshd node3 ping node4 pbs node5 noping - - + + 2. - - + + .. code-block:: perl - + nodestat compute -p - - + + Output is similar to: - - + + .. code-block:: perl - + node1 sshd node2 sshd node3 ping node4 pbs node5 noping(Shutting down) - - + + 3. - - + + .. code-block:: perl - + nodestat compute -u - - + + Output is similar to: - - + + .. code-block:: perl - + node1 sshd node2 sshd node3 ping node4 netboot node5 noping - - + + 4. - - + + .. code-block:: perl - + nodestat compute -m - - + + Output is similar to: - - + + .. code-block:: perl - + node1 ping,sshd,ll,gpfs=ok node2 ping,sshd,ll,gpfs=not ok,someapp=something is wrong node3 netboot node4 noping - - + + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/packimage.1.rst b/docs/source/guides/admin-guides/references/man1/packimage.1.rst index d02606404..6af0c9223 100644 --- a/docs/source/guides/admin-guides/references/man1/packimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/packimage.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **packimage [-h| -**\ **-help]**\ +\ **packimage [-h| -**\ **-help]**\ -\ **packimage [-v| -**\ **-version]**\ +\ **packimage [-v| -**\ **-version]**\ -\ **packimage**\ [\ **-m | -**\ **-method**\ \ *cpio|tar*\ ] [\ **-c | -**\ **-compress**\ \ *gzip|pigz|xz*\ ] [\ **--nosyncfiles**\ ] \ *imagename*\ +\ **packimage**\ [\ **-m | -**\ **-method**\ \ *cpio|tar*\ ] [\ **-c | -**\ **-compress**\ \ *gzip|pigz|xz*\ ] [\ **-**\ **-nosyncfiles**\ ] \ *imagename*\ *********** @@ -57,7 +57,7 @@ OPTIONS \ **-c| -**\ **-compress**\ Compress Method (pigz,gzip,xz, default is pigz/gzip) -\ **--nosyncfiles**\ Bypass of syncfiles requested, will not sync files to root image directory +\ **-**\ **-nosyncfiles**\ Bypass of syncfiles requested, will not sync files to root image directory ************ diff --git a/docs/source/guides/admin-guides/references/man1/pasu.1.rst b/docs/source/guides/admin-guides/references/man1/pasu.1.rst index 519043875..e7af74980 100644 --- a/docs/source/guides/admin-guides/references/man1/pasu.1.rst +++ b/docs/source/guides/admin-guides/references/man1/pasu.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **pasu**\ [\ **-V**\ ] [\ **-d**\ ] [\ **-l**\ \ *user*\ ] [\ **-p**\ \ *passwd*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-i**\ \ *hostname-suffix*\ ] \ *noderange*\ \ *command*\ +\ **pasu**\ [\ **-V**\ ] [\ **-d**\ ] [\ **-l**\ \ *user*\ ] [\ **-p**\ \ *passwd*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-i**\ \ *hostname-suffix*\ ] \ *noderange*\ \ *command*\ -\ **pasu**\ [\ **-V**\ ] [\ **-d**\ ] [\ **-l**\ \ *user*\ ] [\ **-p**\ \ *passwd*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-i**\ \ *hostname-suffix*\ ] \ **-b**\ \ *batchfile*\ \ *noderange*\ +\ **pasu**\ [\ **-V**\ ] [\ **-d**\ ] [\ **-l**\ \ *user*\ ] [\ **-p**\ \ *passwd*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-i**\ \ *hostname-suffix*\ ] \ **-b**\ \ *batchfile*\ \ *noderange*\ \ **pasu**\ [\ **-h**\ | \ **-**\ **-help**\ ] @@ -47,66 +47,66 @@ OPTIONS -\ **-l|-**\ **-loginname**\ \ *username*\ - +\ **-l|-**\ **-loginname**\ \ *username*\ + The username to use to connect to the IMMs. If not specified, the row in the xCAT \ **passwd**\ table with key "ipmi" will be used to get the username. + - -\ **-p|-**\ **-passwd**\ \ *passwd*\ - +\ **-p|-**\ **-passwd**\ \ *passwd*\ + The password to use to connect to the IMMs. If not specified, the row in the xCAT passwd table with key "ipmi" will be used to get the password. + - -\ **-f|-**\ **-fanout**\ - +\ **-f|-**\ **-fanout**\ + How many processes to run in parallel simultaneously. The default is 64. You can also set the XCATPSHFANOUT environment variable. + - -\ **-b|-**\ **-batch**\ -\ *batchfile*\ - +\ **-b|-**\ **-batch**\ -\ *batchfile*\ + A simple text file that contains multiple ASU commands, each on its own line. + - -\ **-d|-**\ **-donotfilter**\ - +\ **-d|-**\ **-donotfilter**\ + By default, pasu filters out (i.e. does not display) the standard initial output from ASU: - - + + .. code-block:: perl - + IBM Advanced Settings Utility version 9.30.79N Licensed Materials - Property of IBM (C) Copyright IBM Corp. 2007-2012 All Rights Reserved Connected to IMM at IP address node2-imm - - + + If you want this output to be displayed, use this flag. + - -\ **-i|-**\ **-interface**\ \ *hostname-suffix*\ - +\ **-i|-**\ **-interface**\ \ *hostname-suffix*\ + The hostname suffix to be appended to the node names. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Display verbose messages. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. - + @@ -127,147 +127,147 @@ EXAMPLES 1. - + To display the Com1ActiveAfterBoot setting on 2 nodes: - - + + .. code-block:: perl - + pasu node1,node2 show DevicesandIOPorts.Com1ActiveAfterBoot - - + + Output is similar to: - - + + .. code-block:: perl - + node1: DevicesandIOPorts.Com1ActiveAfterBoot=Enable node2: DevicesandIOPorts.Com1ActiveAfterBoot=Enable - - + + 2. - + To display the Com1ActiveAfterBoot setting on all compute nodes: - - + + .. code-block:: perl - + pasu compute show DevicesandIOPorts.Com1ActiveAfterBoot | xcoll - - + + Output is similar to: - - + + .. code-block:: perl - + ==================================== compute ==================================== DevicesandIOPorts.Com1ActiveAfterBoot=Enable - - + + 3. - + To set several settings on all compute nodes, create a batch file called (for example) asu-settings with contents: - - + + .. code-block:: perl - + set DevicesandIOPorts.Com1ActiveAfterBoot Enable set DevicesandIOPorts.SerialPortSharing Enable set DevicesandIOPorts.SerialPortAccessMode Dedicated set DevicesandIOPorts.RemoteConsole Enable - - + + Then run: - - + + .. code-block:: perl - + pasu -b asu-settings compute | xcoll - - + + Output is similar to: - - + + .. code-block:: perl - + ==================================== compute ==================================== Batch mode start. [set DevicesandIOPorts.Com1ActiveAfterBoot Enable] DevicesandIOPorts.Com1ActiveAfterBoot=Enable - + [set DevicesandIOPorts.SerialPortSharing Enable] DevicesandIOPorts.SerialPortSharing=Enable - + [set DevicesandIOPorts.SerialPortAccessMode Dedicated] DevicesandIOPorts.SerialPortAccessMode=Dedicated - + [set DevicesandIOPorts.RemoteConsole Enable] DevicesandIOPorts.RemoteConsole=Enable - + Beginning intermediate batch update. Waiting for command completion status. Command completed successfully. Completed intermediate batch update. Batch mode competed successfully. - - + + 4. - + To confirm that all the settings were made on all compute nodes, create a batch file called (for example) asu-show with contents: - - + + .. code-block:: perl - + show DevicesandIOPorts.Com1ActiveAfterBoot show DevicesandIOPorts.SerialPortSharing show DevicesandIOPorts.SerialPortAccessMode show DevicesandIOPorts.RemoteConsole - - + + Then run: - - + + .. code-block:: perl - + pasu -b asu-show compute | xcoll - - + + Output is similar to: - - + + .. code-block:: perl - + ==================================== compute ==================================== Batch mode start. [show DevicesandIOPorts.Com1ActiveAfterBoot] DevicesandIOPorts.Com1ActiveAfterBoot=Enable - + [show DevicesandIOPorts.SerialPortSharing] DevicesandIOPorts.SerialPortSharing=Enable - + [show DevicesandIOPorts.SerialPortAccessMode] DevicesandIOPorts.SerialPortAccessMode=Dedicated - + [show DevicesandIOPorts.RemoteConsole] DevicesandIOPorts.RemoteConsole=Enable - + Batch mode competed successfully. - - + + diff --git a/docs/source/guides/admin-guides/references/man1/pcons.1.rst b/docs/source/guides/admin-guides/references/man1/pcons.1.rst index 27cf7e628..25cd3dce7 100644 --- a/docs/source/guides/admin-guides/references/man1/pcons.1.rst +++ b/docs/source/guides/admin-guides/references/man1/pcons.1.rst @@ -11,12 +11,12 @@ SYNOPSIS ******** -\ **pcons**\ \ *noderange*\ \ *command*\ +\ **pcons**\ \ *noderange*\ \ *command*\ -\ **pcons**\ +\ **pcons**\ [\ **-h | -**\ **-help**\ ] -\ **pcons**\ +\ **pcons**\ [\ **-v | -**\ **-version**\ ] diff --git a/docs/source/guides/admin-guides/references/man1/pgsqlsetup.1.rst b/docs/source/guides/admin-guides/references/man1/pgsqlsetup.1.rst index e291a087b..6a64febc3 100644 --- a/docs/source/guides/admin-guides/references/man1/pgsqlsetup.1.rst +++ b/docs/source/guides/admin-guides/references/man1/pgsqlsetup.1.rst @@ -43,62 +43,62 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the release version of the code. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Displays verbose messages. + - -\ **-i|-**\ **-init**\ - +\ **-i|-**\ **-init**\ + The init option is used to setup an installed PostgreSQL database so that xCAT can use the database. This involves creating the xcat database, the xcat admin id, allowing access to the xcatdb database by the Management Node. It customizes the postgresql.conf configuration file, adds the management server to the pg_hba.conf and starts the PostgreSQL server. It also backs up the current xCAT database and restores it into the newly setup xcatdb PostgreSQL database. It creates the /etc/xcat/cfgloc file to point the xcatd daemon to the PostgreSQL database and restarts the xcatd daemon using the database. On AIX, it additionally setup the xcatadm unix id and the postgres id and group. For AIX, you should be using the PostgreSQL rpms available from the xCAT website. For Linux, you should use the PostgreSQL rpms shipped with the OS. You can chose the -o option, to run after the init. To add additional nodes to access the PostgreSQL server, setup on the Management Node, use the -a option. - + For more documentation see:Setting_Up_PostgreSQL_as_the_xCAT_DB + - -\ **-N|-**\ **-nostart**\ - +\ **-N|-**\ **-nostart**\ + This option with the -i flag will create the database, but will not backup and restore xCAT tables into the database. It will create the cfgloc file such that the next start of xcatd will try and contact the database. This can be used to setup the xCAT PostgreSQL database during or before install. + - -\ **-l|-**\ **-listen**\ \ *address*\ - +\ **-l|-**\ **-listen**\ \ *address*\ + This option is used to specify additional IP addresses on which the PostgreSQL database will listen. Without it, only localhost (on Linux) and the management node's main IP (on Linux and AIX) will be configured. This option can be specified multiple times. + - -\ **-a|-**\ **-access**\ \ *address*\ - +\ **-a|-**\ **-access**\ \ *address*\ + This option is used to specify additional IP addresses from which the additional nodes will connect to the PostgreSQL database, for example, service nodes IP addresses or MN HA primary/standby nodes physical IP addresses. Without it, only the management node will be configured for database access. This option can be specified multiple times. + - -\ **-P|-**\ **-PCM**\ - +\ **-P|-**\ **-PCM**\ + This option sets up PostgreSQL database to be used with xCAT running with PCM. + - -\ **-o|-**\ **-odbc**\ - +\ **-o|-**\ **-odbc**\ + This option sets up the ODBC /etc/../odbcinst.ini, /etc/../odbc.ini and the .odbc.ini file in roots home directory will be created and initialized to run off the xcatdb PostgreSQL database. - + @@ -108,10 +108,10 @@ ENVIRONMENT VARIABLES -\ **XCATPGPW**\ - +\ **XCATPGPW**\ + The password to be used to setup the xCAT admin id for the database. - + @@ -122,22 +122,22 @@ EXAMPLES 1. To setup PostgreSQL for xCAT to run on the PostgreSQL xcatdb database : - - + + .. code-block:: perl - + pgsqlsetup -i + + - - -2. To setup the ODBC for PostgreSQL xcatdb database access : - - +2. To setup the ODBC for PostgreSQL xcatdb database access : + + .. code-block:: perl - + pgsqlsetup -o - - + + diff --git a/docs/source/guides/admin-guides/references/man1/piflash.1.rst b/docs/source/guides/admin-guides/references/man1/piflash.1.rst index 1959a893e..887cab7c3 100644 --- a/docs/source/guides/admin-guides/references/man1/piflash.1.rst +++ b/docs/source/guides/admin-guides/references/man1/piflash.1.rst @@ -11,7 +11,7 @@ SYNOPSIS ******** -\ **piflash**\ -**\ **-package +\ **piflash**\ \ *noderange*\ -**\ **-package \ *filename*\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/pping.1.rst b/docs/source/guides/admin-guides/references/man1/pping.1.rst index 20bad2a90..92e680380 100644 --- a/docs/source/guides/admin-guides/references/man1/pping.1.rst +++ b/docs/source/guides/admin-guides/references/man1/pping.1.rst @@ -11,7 +11,7 @@ SYNOPSIS ******** -\ **pping**\ [\ **-i | -**\ **-interface**\ \ *interfaces*\ ] [\ **-f | -**\ **-use_fping**\ ] \ *noderange*\ +\ **pping**\ [\ **-i | -**\ **-interface**\ \ *interfaces*\ ] [\ **-f | -**\ **-use_fping**\ ] \ *noderange*\ \ **pping**\ [\ **-h | -**\ **-help**\ ] @@ -36,32 +36,32 @@ OPTIONS -\ **-i | -**\ **-interface**\ \ *interfaces*\ - +\ **-i | -**\ **-interface**\ \ *interfaces*\ + A comma separated list of network interface names that should be pinged instead of the interface represented by the nodename/hostname. The following name resolution convention is assumed: an interface is reachable by the hostname -. For example, the ib2 interface on node3 has a hostname of node3-ib2. - + If more than one interface is specified, each interface will be combined with the nodenames as described above and will be pinged in turn. + - -\ **-f | -**\ **-use_fping**\ - - Use \ **fping**\ instead of \ **nmap**\ +\ **-f | -**\ **-use_fping**\ + + Use \ **fping**\ instead of \ **nmap**\ + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Show usage information. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the installed version of xCAT. - + @@ -72,46 +72,46 @@ EXAMPLES 1. - - + + .. code-block:: perl - + pping all - - + + Output is similar to: - - + + .. code-block:: perl - + node1: ping node2: ping node3: noping - - + + 2. - - + + .. code-block:: perl - + pping all -i ib0,ib1 - - + + Output is similar to: - - + + .. code-block:: perl - + node1-ib0: ping node2-ib0: ping node3-ib0: noping node1-ib1: ping node2-ib1: ping node3-ib1: noping - - + + diff --git a/docs/source/guides/admin-guides/references/man1/ppping.1.rst b/docs/source/guides/admin-guides/references/man1/ppping.1.rst index 2dd33df35..c957e330d 100644 --- a/docs/source/guides/admin-guides/references/man1/ppping.1.rst +++ b/docs/source/guides/admin-guides/references/man1/ppping.1.rst @@ -11,7 +11,7 @@ SYNOPSIS ******** -\ **ppping**\ [\ **-i | -**\ **-interface**\ \ *interfaces*\ ] [\ **-d | -**\ **-debug**\ ] [\ **-V | -**\ **-verbose**\ ] [\ **-q | -**\ **-quiet**\ ] [\ **-s | -**\ **-serial**\ ] \ *noderange*\ +\ **ppping**\ [\ **-i | -**\ **-interface**\ \ *interfaces*\ ] [\ **-d | -**\ **-debug**\ ] [\ **-V | -**\ **-verbose**\ ] [\ **-q | -**\ **-quiet**\ ] [\ **-s | -**\ **-serial**\ ] \ *noderange*\ \ **ppping**\ [\ **-h | -**\ **-help**\ ] @@ -35,52 +35,52 @@ OPTIONS -\ **-s**\ - +\ **-s**\ + Ping serially instead of in parallel. + - -\ **-i | -**\ **-interface**\ \ *interfaces*\ - +\ **-i | -**\ **-interface**\ \ *interfaces*\ + A comma separated list of network interface names that should be pinged instead of the interface represented by the nodename/hostname. The following name resolution convention is assumed: an interface is reachable by the hostname -. For example, the ib2 interface on node3 has a hostname of node3-ib2. - + If more than one interface is specified, each interface will be combined with the nodenames as described above and will be pinged in turn. + - -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Display verbose output. The result of every ping attempt from every node will be displayed. Without this option, just a summary of the successful pings are displayed, along with all of the unsuccessful pings. + - -\ **-q | -**\ **-quiet**\ - +\ **-q | -**\ **-quiet**\ + Display minimum output: just the unsuccessful pings. This option has the effect that if all pings are successful, nothing is displayed. But it also has the performance benefit that each node does not have to send successful ping info back to the management node. + - -\ **-d | -**\ **-debug**\ - +\ **-d | -**\ **-debug**\ + Print debug information. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Show usage information. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the installed version of xCAT. - + @@ -91,40 +91,40 @@ EXAMPLES 1. - - + + .. code-block:: perl - + ppping all -q - - + + Output is similar to: - - + + .. code-block:: perl - + blade7: node2: noping blade8: node2: noping blade9: node2: noping devmaster: node2: noping node2: noping - - + + 2. - - + + .. code-block:: perl - + ppping node1,node2 -i ib0,ib1,ib2,ib3 - - + + Output is similar to: - - + + .. code-block:: perl - + node1: pinged all nodes successfully on interface ib0 node1: pinged all nodes successfully on interface ib1 node1: pinged all nodes successfully on interface ib2 @@ -133,8 +133,8 @@ EXAMPLES node2: pinged all nodes successfully on interface ib1 node2: pinged all nodes successfully on interface ib2 node2: pinged all nodes successfully on interface ib3 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/prsync.1.rst b/docs/source/guides/admin-guides/references/man1/prsync.1.rst index 55e447be7..7bee4871f 100644 --- a/docs/source/guides/admin-guides/references/man1/prsync.1.rst +++ b/docs/source/guides/admin-guides/references/man1/prsync.1.rst @@ -15,20 +15,20 @@ prsync - parallel rsync **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **prsync**\ \ *filename*\ [\ *filename*\ \ *...*\ ] \ *noderange:destinationdirectory*\ +\ **prsync**\ \ *filename*\ [\ *filename*\ \ *...*\ ] \ *noderange:destinationdirectory*\ \ **prsync**\ [\ **-o**\ \ *rsyncopts*\ ] [\ **-f**\ \ *fanout*\ ] [\ *filename*\ \ *filename*\ \ *...*\ ] [\ *directory*\ \ *directory*\ \ *...*\ ] -\ *noderange:destinationdirectory*\ +\ *noderange:destinationdirectory*\ \ **prsync**\ {\ **-h | -**\ **-help | -v | -**\ **-version**\ } ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -40,91 +40,91 @@ Note: this command does not support the xcatd client/server communication and t *************** -\ **Options**\ +\ **Options**\ *************** -\ **-o**\ \ *rsyncopts*\ - +\ **-o**\ \ *rsyncopts*\ + rsync options. See \ **rsync(1)**\ . + - -\ **-f**\ \ *fanout*\ - +\ **-f**\ \ *fanout*\ + Specifies a fanout value for the maximum number of concurrently executing remote shell processes. + - -\ *filename*\ - +\ *filename*\ + A space delimited list of files to rsync. + - -\ *directory*\ - +\ *directory*\ + A space delimited list of directories to rsync. + - -\ *noderange:destination*\ - +\ *noderange:destination*\ + A noderange(3)|noderange.3 and destination directory. The : is required. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. + - -\ **XCATPSHFANOUT**\ - +\ **XCATPSHFANOUT**\ + Specifies the fanout value. This variable is overridden by the \ **-f**\ flag. Default is 64. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. - - + + .. code-block:: perl - + cd /install; prsync -o "crz" post stage:/install - - + + 2. - - + + .. code-block:: perl - + prsync passwd group rack01:/etc - - + + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/pscp.1.rst b/docs/source/guides/admin-guides/references/man1/pscp.1.rst index 0a98b5f2d..48d9a2af9 100644 --- a/docs/source/guides/admin-guides/references/man1/pscp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/pscp.1.rst @@ -15,17 +15,17 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **pscp**\ [\ **-i**\ \ *suffix*\ ] [\ *scp options*\ \ *...*\ ] [\ **-f**\ \ *fanout*\ ] \ *filename*\ [\ *filename*\ \ *...*\ ] \ *noderange:destinationdirectory*\ +\ **pscp**\ [\ **-i**\ \ *suffix*\ ] [\ *scp options*\ \ *...*\ ] [\ **-f**\ \ *fanout*\ ] \ *filename*\ [\ *filename*\ \ *...*\ ] \ *noderange:destinationdirectory*\ \ **pscp**\ {\ **-h | -**\ **-help | -v | -**\ **-version**\ } ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -41,92 +41,92 @@ management node to the compute node via a service node. *************** -\ **Options**\ +\ **Options**\ *************** -\ **-f**\ \ *fanout*\ - +\ **-f**\ \ *fanout*\ + Specifies a fanout value for the maximum number of concur- rently executing remote shell processes. + - -\ **-i**\ \ *suffix*\ - +\ **-i**\ \ *suffix*\ + Interfaces to be used. + - -\ *scp options*\ - - See \ **scp(1)**\ +\ *scp options*\ + + See \ **scp(1)**\ + - -\ *filename*\ - +\ *filename*\ + A space delimited list of files to copy. If \ **-r**\ is passed as an scp option, directories may be specified as well. + - -\ *noderange:destination*\ - +\ *noderange:destination*\ + A noderange(3)|noderange.3 and destination directory. The : is required. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. + - -\ **XCATPSHFANOUT**\ - +\ **XCATPSHFANOUT**\ + Specifies the fanout value. This variable is overridden by the \ **-f**\ flag. Default is 64. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. - - + + .. code-block:: perl - + pscp -r /usr/local node1,node3:/usr/local - - + + 2. - - + + .. code-block:: perl - + pscp passwd group rack01:/etc - - + + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/psh.1.rst b/docs/source/guides/admin-guides/references/man1/psh.1.rst index dc847a489..e264a9e75 100644 --- a/docs/source/guides/admin-guides/references/man1/psh.1.rst +++ b/docs/source/guides/admin-guides/references/man1/psh.1.rst @@ -15,17 +15,17 @@ psh - parallel remote shell **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **psh**\ [\ **-i**\ \ *interface*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-l**\ \ *user*\ ] \ *noderange*\ \ *command*\ +\ **psh**\ [\ **-i**\ \ *interface*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-l**\ \ *user*\ ] \ *noderange*\ \ *command*\ \ **psh**\ {\ **-h | -**\ **-help | -v | -**\ **-version**\ } ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -44,129 +44,129 @@ management node to the compute node via a service node. *************** -\ **Options**\ +\ **Options**\ *************** -\ **-i**\ \ *interface*\ - +\ **-i**\ \ *interface*\ + The NIC on the node that psh should communicate with. For example, if \ *interface*\ is \ **eth1**\ , then psh will concatenate \ **-eth1**\ to the end of every node name before ssh'ing to it. This assumes those host names have been set up to resolve to the IP address of each of the eth1 NICs. + - -\ **-f**\ \ *fanout*\ - +\ **-f**\ \ *fanout*\ + Specifies a fanout value for the maximum number of concur- rently executing remote shell processes. + - -\ **-l**\ \ *user*\ - +\ **-l**\ \ *user*\ + Log into the nodes as the specified username. The default is to use the same username as you are running the psh command as. + - -\ **-n|-**\ **-nonodecheck**\ - +\ **-n|-**\ **-nonodecheck**\ + Do not send the noderange to xcatd to expand it into a list of nodes. Instead, use the noderange exactly as it is specified. In this case, the noderange must be a simple list of comma-separated hostnames of the nodes. This allows you to run \ **psh**\ even when xcatd is not running. + - -\ *noderange*\ - +\ *noderange*\ + See noderange(3)|noderange.3. + - -\ *command*\ - - Command to be run in parallel. If no command is give then \ **psh**\ +\ *command*\ + + Command to be run in parallel. If no command is give then \ **psh**\ enters interactive mode. In interactive mode a ">" prompt is displayed. Any command entered is executed in parallel to the nodes in the noderange. Use "exit" or "Ctrl-D" to end the interactive session. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. - + ************************************* -\ **Environment**\ \ **Variables**\ +\ **Environment**\ \ **Variables**\ ************************************* -\ **XCATPSHFANOUT**\ - +\ **XCATPSHFANOUT**\ + Specifies the fanout value. This variable is overridden by the \ **-f**\ flag. Default is 64. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. Run uptime on 3 nodes: - - + + .. code-block:: perl - + psh node4-node6 uptime - - + + Output is similar to: - - + + .. code-block:: perl - + node4: Sun Aug 5 17:42:06 MDT 2001 node5: Sun Aug 5 17:42:06 MDT 2001 node6: Sun Aug 5 17:42:06 MDT 2001 - - + + 2. Run a command on some BladeCenter management modules: - - + + .. code-block:: perl - + psh amm1-amm5 'info -T mm[1]' - - + + 3. Remove the tmp files on the nodes in the 1st frame: - - + + .. code-block:: perl - + psh rack01 'rm -f /tmp/*' - - + + Notice the use of '' to forward shell expansion. This is not necessary in interactive mode. - + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/pushinitrd.1.rst b/docs/source/guides/admin-guides/references/man1/pushinitrd.1.rst index 42e359602..7b1ea8919 100644 --- a/docs/source/guides/admin-guides/references/man1/pushinitrd.1.rst +++ b/docs/source/guides/admin-guides/references/man1/pushinitrd.1.rst @@ -49,24 +49,24 @@ OPTIONS -\ **-w**\ \ *waittime*\ - +\ **-w**\ \ *waittime*\ + The number of seconds the initrd should wait before trying to communicate over the network. The default is 75. This translates into the netwait kernel parameter and is usually needed in a SoftLayer environment because it can take a while for a NIC to be active after changing state. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. - + @@ -87,15 +87,15 @@ EXAMPLES 1. - + Configure nodes for net installing in a SoftLayer environment: - - + + .. code-block:: perl - + pushinitrd - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rbootseq.1.rst b/docs/source/guides/admin-guides/references/man1/rbootseq.1.rst index 6075619ea..fece3a79f 100644 --- a/docs/source/guides/admin-guides/references/man1/rbootseq.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rbootseq.1.rst @@ -17,21 +17,21 @@ Blade specific: =============== -\ **rbootseq**\ \ *noderange*\ {\ **hd0 | hd1 | hd2 | hd3 | net | iscsi | iscsicrit | cdrom | usbflash | floppy | none | list | stat**\ }\ **,**\ \ *...*\ +\ **rbootseq**\ \ *noderange*\ {\ **hd0 | hd1 | hd2 | hd3 | net | iscsi | iscsicrit | cdrom | usbflash | floppy | none | list | stat**\ }\ **,**\ \ *...*\ HP Blade specific: ================== -\ **rbootseq**\ \ *noderange*\ {\ **hd | net1 | net2 | net3 | net4 | cdrom | usbflash | floppy | none**\ }\ **,**\ \ *...*\ +\ **rbootseq**\ \ *noderange*\ {\ **hd | net1 | net2 | net3 | net4 | cdrom | usbflash | floppy | none**\ }\ **,**\ \ *...*\ PPC (using Direct FSP Management) specific: =========================================== -\ **rbootseq**\ \ *noderange*\ \ **[hfi|net]**\ +\ **rbootseq**\ \ *noderange*\ \ **[hfi|net]**\ @@ -58,106 +58,106 @@ OPTIONS -\ **hd0 | harddisk0 | hd | harddisk**\ - +\ **hd0 | harddisk0 | hd | harddisk**\ + The first hard disk. + - -\ **hd1 | harddisk1**\ - +\ **hd1 | harddisk1**\ + The second hard disk. + - -\ **hd2 | harddisk2**\ - +\ **hd2 | harddisk2**\ + The third hard disk. + - -\ **hd3 | harddisk3**\ - +\ **hd3 | harddisk3**\ + The fourth hard disk. + - -\ **n | net | network**\ - +\ **n | net | network**\ + Boot over the ethernet network, using a PXE or BOOTP broadcast. - + \ **n | net | network | net1 | nic1**\ (HP Blade Only) - + Boot over the first ethernet network, using a PXE or BOOTP broadcast. - + \ **net2 | nic2**\ (HP Blade Only) - + Boot over the second ethernet network, using a PXE or BOOTP broadcast. - + \ **net3 | nic3**\ (HP Blade Only) - + Boot over the third ethernet network, using a PXE or BOOTP broadcast. - + \ **net3 | nic3**\ (HP Blade Only) - + Boot over the fourth ethernet network, using a PXE or BOOTP broadcast. + - -\ **hfi**\ - +\ **hfi**\ + Boot p775 nodes over the HFI network, using BOOTP broadcast. + - -\ **iscsi**\ - +\ **iscsi**\ + Boot to an iSCSI disk over the network. + - -\ **iscsicrit**\ - +\ **iscsicrit**\ + ?? + - -\ **cd | cdrom**\ - +\ **cd | cdrom**\ + The CD or DVD drive. + - -\ **usbflash | usb | flash**\ - +\ **usbflash | usb | flash**\ + A USB flash drive. + - -\ **floppy**\ - +\ **floppy**\ + The floppy drive. + - -\ **none**\ - +\ **none**\ + If it gets to this part of the sequence, do not boot. Can not be specified 1st, or before any real boot devices. + - -\ **list | stat**\ - +\ **list | stat**\ + Display the current boot sequence. - + @@ -168,16 +168,16 @@ EXAMPLES 1. - + Set blades 14-56 and 70-203 to try to boot first from the CD drive, then the floppy drive, then the network, and finally from the 1st hard disk: - - + + .. code-block:: perl - + rbootseq blade[14-56],blade[70-203] c,f,n,hd0 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rcons.1.rst b/docs/source/guides/admin-guides/references/man1/rcons.1.rst index 0a9ddc63a..e8f4ad2d7 100644 --- a/docs/source/guides/admin-guides/references/man1/rcons.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rcons.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -25,7 +25,7 @@ Name ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -39,41 +39,41 @@ To exit the console session, enter: 'ctrl-e c .' (3 characters: ctrl-e, 'c' and *************** -\ **Options**\ +\ **Options**\ *************** -\ **-f**\ - +\ **-f**\ + If another console for this node is already open in read-write mode, force that console into read-only (spy) mode, and open this console in read-write mode. If -f is not specified, this console will be put in spy mode if another console is already open in read-write mode. The -f flag can not be used with the -s flag. + - -\ **-s**\ - +\ **-s**\ + Open the console in read-only (spy) mode, in this mode all the escape sequences work, but all other keyboard input is discarded. The -s flag can not be used with the -f flag. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. - + ************* -\ **Files**\ +\ **Files**\ ************* @@ -84,7 +84,7 @@ method. **************** -\ **Examples**\ +\ **Examples**\ **************** @@ -96,7 +96,7 @@ method. ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/regnotif.1.rst b/docs/source/guides/admin-guides/references/man1/regnotif.1.rst index 17d38a4c5..2460784b2 100644 --- a/docs/source/guides/admin-guides/references/man1/regnotif.1.rst +++ b/docs/source/guides/admin-guides/references/man1/regnotif.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **regnotif [-h| -**\ **-help]**\ +\ **regnotif [-h| -**\ **-help]**\ -\ **regnotif [-v| -**\ **-version]**\ +\ **regnotif [-v| -**\ **-version]**\ \ **regnotif**\ \ *filename tablename[,tablename]...*\ [\ **-o | -**\ **-operation**\ \ *actions*\ ] diff --git a/docs/source/guides/admin-guides/references/man1/renergy.1.rst b/docs/source/guides/admin-guides/references/man1/renergy.1.rst index d9e5a5be4..59917da15 100644 --- a/docs/source/guides/admin-guides/references/man1/renergy.1.rst +++ b/docs/source/guides/admin-guides/references/man1/renergy.1.rst @@ -7,7 +7,7 @@ renergy.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,7 +15,7 @@ renergy.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -23,76 +23,76 @@ renergy.1 \ **renergy**\ [\ **-v**\ | \ **-**\ **-version**\ ] -\ **Power 6 server specific :**\ +\ **Power 6 server specific :**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | [savingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] [syssbpower] [sysIPLtime]**\ } \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **savingstatus={on | off} | cappingstatus={on | off} | cappingwatt=watt | cappingperc=percentage**\ } -\ **Power 7 server specific :**\ +\ **Power 7 server specific :**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | [savingstatus] [dsavingstatus] [cappingstatus] [cappingmaxmin] [cappingvalue] [cappingsoftmin] [averageAC] [averageDC] [ambienttemp] [exhausttemp] [CPUspeed] [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin] [ffoTurbo] [ffoNorm] [ffovalue]**\ } \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **savingstatus={on | off} | dsavingstatus={on-norm | on-maxp | off} | fsavingstatus={on | off} | ffovalue=MHZ | cappingstatus={on | off} | cappingwatt=watt | cappingperc=percentage**\ } -\ **Power 8 server specific :**\ +\ **Power 8 server specific :**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | [savingstatus] [dsavingstatus] [averageAC] [averageAChistory] [averageDC] [averageDChistory] [ambienttemp] [ambienttemphistory] [exhausttemp] [exhausttemphistory] [fanspeed] [fanspeedhistory] [CPUspeed] [CPUspeedhistory] [syssbpower] [sysIPLtime] [fsavingstatus] [ffoMin] [ffoVmin] [ffoTurbo] [ffoNorm] [ffovalue]**\ } -\ **renergy**\ \ *noderange*\ \ **[-V] {savingstatus={on | off} | dsavingstatus={on-norm | on-maxp | off} | fsavingstatus={on | off} | ffovalue=MHZ }**\ +\ **renergy**\ \ *noderange*\ \ **[-V] {savingstatus={on | off} | dsavingstatus={on-norm | on-maxp | off} | fsavingstatus={on | off} | ffovalue=MHZ }**\ \ *NOTE:*\ The setting operation for \ **Power 8**\ server is only supported for the server which is running in PowerVM mode. Do NOT run the setting for the server which is running in OPAL mode. -\ **BladeCenter specific :**\ +\ **BladeCenter specific :**\ -\ **For Management Modules:**\ +\ **For Management Modules:**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | pd1all | pd2all | [pd1status] [pd2status] [pd1policy] [pd2policy] [pd1powermodule1] [pd1powermodule2] [pd2powermodule1] [pd2powermodule2] [pd1avaiablepower] [pd2avaiablepower] [pd1reservedpower] [pd2reservedpower] [pd1remainpower] [pd2remainpower] [pd1inusedpower] [pd2inusedpower] [availableDC] [averageAC] [thermaloutput] [ambienttemp] [mmtemp]**\ } -\ **For a blade server nodes:**\ +\ **For a blade server nodes:**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | [averageDC] [capability] [cappingvalue] [CPUspeed] [maxCPUspeed] [savingstatus] [dsavingstatus]**\ } \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **savingstatus={on | off} | dsavingstatus={on-norm | on-maxp | off}**\ } -\ **Flex specific :**\ +\ **Flex specific :**\ -\ **For Flex Management Modules:**\ +\ **For Flex Management Modules:**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | [powerstatus] [powerpolicy] [powermodule] [avaiablepower] [reservedpower] [remainpower] [inusedpower] [availableDC] [averageAC] [thermaloutput] [ambienttemp] [mmtemp]**\ } -\ **For Flex node (power and x86):**\ +\ **For Flex node (power and x86):**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **all | [averageDC] [capability] [cappingvalue] [cappingmaxmin] [cappingmax] [cappingmin] [cappingGmin] [CPUspeed] [maxCPUspeed] [savingstatus] [dsavingstatus]**\ } \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **cappingstatus={on | off} | cappingwatt=watt | cappingperc=percentage | savingstatus={on | off} | dsavingstatus={on-norm | on-maxp | off}**\ } -\ **iDataPlex specific :**\ +\ **iDataPlex specific :**\ \ **renergy**\ \ *noderange*\ [\ **-V**\ ] [{\ **cappingmaxmin | cappingmax | cappingmin}] [cappingstatus] [cappingvalue] [relhistogram]**\ } \ **renergy**\ \ *noderange*\ [\ **-V**\ ] {\ **cappingstatus={on | enable | off | disable} | {cappingwatt|cappingvalue}=watt**\ } -\ **OpenPOWER server specific :**\ +\ **OpenPOWER server specific :**\ \ **renergy**\ \ *noderange*\ {\ **powerusage | temperature**\ } ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* @@ -114,7 +114,7 @@ management module node names or blade server node names. Lpar name is not acceptable here. \ **renergy**\ command can accept multiple of energy attributes to query or one of energy -attribute to set. If only the attribute name is specified, without the '=', \ **renergy**\ +attribute to set. If only the attribute name is specified, without the '=', \ **renergy**\ gets and displays the current value. Otherwise, if specifying the attribute with '=' like 'savingstatus=on', \ **renergy**\ will set the attribute savingstatus to value 'on'. @@ -128,7 +128,7 @@ server, the return value of this attribute will be 'na'. The supported attributes for each specific system p hardware type is listed as follows: -\ **8203-E4A**\ , \ **8204-E8A**\ +\ **8203-E4A**\ , \ **8204-E8A**\ Supported attributes: @@ -139,7 +139,7 @@ exhausttemp,CPUspeed,syssbpower,sysIPLtime \ **Set**\ : savingstatus,cappingstatus,cappingwatt,cappingperc -\ **9125-F2A**\ +\ **9125-F2A**\ Supported attributes: @@ -149,7 +149,7 @@ CPUspeed \ **Set**\ : savingstatus -\ **8233-E8B**\ , \ **8236-E8C**\ +\ **8233-E8B**\ , \ **8236-E8C**\ Supported attributes: @@ -161,7 +161,7 @@ ambienttemp,exhausttemp,CPUspeed,syssbpower,sysIPLtime \ **Set**\ : savingstatus,dsavingstatus,cappingstatus,cappingwatt, cappingperc -\ **9125-F2C**\ , \ **9119-FHB**\ +\ **9125-F2C**\ , \ **9119-FHB**\ Supported attributes: @@ -174,7 +174,7 @@ fsavingstatus,ffoMin,ffoVmin,ffoTurbo,ffoNorm,ffovalue \ **Set**\ : savingstatus,dsavingstatus,cappingstatus,cappingwatt, cappingperc,fsavingstatus,ffovalue -\ **Non of Above**\ +\ **Non of Above**\ For the machine type which is not in the above list, the following @@ -194,7 +194,7 @@ will get response immediately. ********************* -\ **PREREQUISITES**\ +\ **PREREQUISITES**\ ********************* @@ -214,519 +214,519 @@ so no additional plugins are needed for BladeCenter.) *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display the usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the version information. + - -\ **-V**\ - +\ **-V**\ + Verbose output. + - -\ **all**\ - +\ **all**\ + Query all energy attributes which supported by the specific type of hardware. - + For \ *Power8*\ machines, will not display the attributes for historical records. + - -\ **pd1all**\ - +\ **pd1all**\ + Query all energy attributes of the power domain 1 for blade management module node. + - -\ **pd2all**\ - +\ **pd2all**\ + Query all energy attributes of the power domain 2 for blade management module node. + - -\ **ambienttemp**\ - +\ **ambienttemp**\ + Query the current ambient temperature. (Unit is centigrade) + - -\ **ambienttemphistory**\ - +\ **ambienttemphistory**\ + Query the historical records which were generated in last one hour for \ **ambienttemp**\ . + - -\ **availableDC**\ - +\ **availableDC**\ + Query the total DC power available for the entire blade center chassis. + - -\ **averageAC**\ - +\ **averageAC**\ + Query the average power consumed (Input). (Unit is watt) - + Note: For 9125-F2A,9125-F2C server, the value of attribute averageAC is the aggregate for all of the servers in a rack. - + Note: For Blade Center, the value of attribute averageAC is the total AC power being consumed by all modules in the chassis. It also includes power consumed by the Chassis Cooling Devices for BCH chassis. + - -\ **averageAChistory**\ - +\ **averageAChistory**\ + Query the historical records which were generated in last one hour for \ **averageAC**\ . + - -\ **averageDC**\ - +\ **averageDC**\ + Query the average power consumed (Output). (Unit is watt) + - -\ **averageDChistory**\ - +\ **averageDChistory**\ + Query the historical records which were generated in last one hour for \ **averageDC**\ . + - -\ **capability**\ - +\ **capability**\ + Query the Power Capabilities of the blade server. - + staticPowerManagement: the module with the static worst case power values. - + fixedPowermanagement: the module with the static power values but ability to throttle. - + dynamicPowerManagement: the module with power meter capability, measurement enabled, but capping disabled. - + dynamicPowerMeasurement1: the module with power meter capability, measurement enabled, phase 1 only - + dynamicPowerMeasurement2: the module with power meter capability, measurement enabled, phase 2 or higher - + dynamicPowerMeasurementWithPowerCapping: the module with power meter capability, both measurement and capping enabled, phase 2 or higher + - -\ **cappingGmin**\ - +\ **cappingGmin**\ + Query the Guaranteed Minimum power capping value in watts. + - -\ **cappingmax**\ - +\ **cappingmax**\ + Query the Maximum of power capping value in watts. + - -\ **cappingmaxmin**\ - +\ **cappingmaxmin**\ + Query the Maximum and Minimum of power capping value in watts. + - -\ **cappingmin**\ - +\ **cappingmin**\ + Query the Minimum of power capping value in watts. + - -\ **cappingperc**\ =\ **percentage**\ - +\ **cappingperc**\ =\ **percentage**\ + Set the power capping value base on the percentage of the max-min of capping value which getting from \ *cappingmaxmim*\ attribute. The valid value must be from 0 to 100. + - -\ **cappingsoftmin**\ - +\ **cappingsoftmin**\ + Query the minimum value that can be assigned to power capping without guaranteed enforceability. (Unit is watt) + - -\ **cappingstatus**\ - +\ **cappingstatus**\ + Query the power capping status. The result should be 'on' or 'off'. - + \ **cappingstatus**\ ={\ **on**\ | \ **off**\ } - + Set the power capping status. The value must be 'on' or 'off'. This is the switch to turn on or turn off the power capping function. + - -\ **cappingvalue**\ - +\ **cappingvalue**\ + Query the current power capping value. (Unit is watt) + - -\ **cappingwatt**\ =\ **watt**\ - +\ **cappingwatt**\ =\ **watt**\ + Set the power capping value base on the watt unit. - + If the 'watt' > maximum of \ *cappingmaxmin*\ or 'watt' < \ *cappingsoftmin*\ , the setting operation will be failed. If the 'watt' > \ *cappingsoftmin*\ and 'watt' < minimum of \ *cappingmaxmin*\ , the value can NOT be guaranteed. + - -\ **CPUspeed**\ - +\ **CPUspeed**\ + Query the effective processor frequency. (Unit is MHz) + - -\ **CPUspeedhistory**\ - - Query the historical records which were generated in last one hour for \ **CPUspeed**\ +\ **CPUspeedhistory**\ + + Query the historical records which were generated in last one hour for \ **CPUspeed**\ + - -\ **dsavingstatus**\ - +\ **dsavingstatus**\ + Query the dynamic power saving status. The result should be 'on-norm', 'on-maxp' or 'off'. - + If turning on the dynamic power saving, the processor frequency and voltage will be dropped dynamically based on the core utilization. It supports two modes for turn on state: - + \ *on-norm*\ - means normal, the processor frequency cannot exceed the nominal value; - + \ *on-maxp*\ - means maximum performance, the processor frequency can exceed the nominal value. - + \ **dsavingstatus**\ ={\ **on-norm**\ | \ **on-maxp**\ | \ **off**\ } - + Set the dynamic power saving. The value must be 'on-norm', 'on-maxp' or 'off'. - + The dsavingstatus setting operation needs about 2 minutes to take effect. (The used time depends on the hardware type) - + The \ **dsavingstatus**\ only can be turned on when the \ **savingstatus**\ is in turn off status. + - -\ **exhausttemp**\ - +\ **exhausttemp**\ + Query the current exhaust temperature. (Unit is centigrade) + - -\ **exhausttemphistory**\ - - Query the historical records which were generated in last one hour for \ **exhausttemp**\ +\ **exhausttemphistory**\ + + Query the historical records which were generated in last one hour for \ **exhausttemp**\ + - -\ **fanspeed**\ - +\ **fanspeed**\ + Query the fan speed for all the fans which installed in this node. (Unit is RPM - Rotations Per Minute)) - + If there are multiple fans for a node, multiple lines will be output. And a fan name in bracket will be appended after \ **fanspped**\ attribute name. + - -\ **fanspeedhistory**\ - +\ **fanspeedhistory**\ + Query the historical records which were generated in last one hour for \ **fanspeed**\ . + - -\ **ffoMin**\ - +\ **ffoMin**\ + Query the minimum cpu frequency which can be set for FFO. (Fixed Frequency Override) + - -\ **ffoNorm**\ - +\ **ffoNorm**\ + Query the maximum cpu frequency which can be set for FFO. + - -\ **ffoTurbo**\ - +\ **ffoTurbo**\ + Query the advertised maximum cpu frequency (selling point). + - -\ **ffoVmin**\ - +\ **ffoVmin**\ + Query the minimum cpu frequency which can be set for dropping down the voltage to save power. That means when you drop the cpu frequency from the ffoVmin to ffoVmin, the voltage won't change, then there's no obvious power to be saved. + - -\ **ffovalue**\ - +\ **ffovalue**\ + Query the current value of FFO. + - -\ **ffovalue**\ =\ **MHZ**\ - +\ **ffovalue**\ =\ **MHZ**\ + Set the current value of FFO. The valid value of ffovalue should be between the ffoMin and ffoNorm. - + Note1: Due to the limitation of firmware, the frequency in the range 3501 MHz - 3807 MHz can NOT be set to ffovalue. This range may be changed in future. - + Note2: The setting will take effect only when the fsavingstatus is in 'on' status. But you need to set the ffovalue to a valid value before enabling the fsavingstatus. (It's a limitation of the initial firmware and will be fixed in future.) - + The ffovalue setting operation needs about 1 minute to take effect. + - -\ **fsavingstatus**\ - +\ **fsavingstatus**\ + Query the status of FFO. The result should be 'on' or 'off'. 'on' - enable; 'off' - disable. - + \ **fsavingstatus**\ ={\ **on**\ | \ **off**\ } - + Set the status of FFO. The value must be 'on' or 'off'. - - 'on' - enable. It will take effect only when the \ **ffovalue**\ + + 'on' - enable. It will take effect only when the \ **ffovalue**\ has been set to a valid value. - + 'off' -disable. It will take effect immediately. - + Note: See the Note2 of ffovalue=MHZ. + - -\ **maxCPUspeed**\ - +\ **maxCPUspeed**\ + Query the maximum processor frequency. (Unit is MHz) + - -\ **mmtemp**\ - +\ **mmtemp**\ + Query the current temperature of management module. (Unit is centigrade) + - -\ **pd1status | powerstatus**\ - +\ **pd1status | powerstatus**\ + Query the status of power domain 1 for blade management module node. - + Note: for the attribute without the leading 'pd1' which means there's only one power doamin in the chassis. + - -\ **pd1policy | powerpolicy**\ - +\ **pd1policy | powerpolicy**\ + Query the power management policy of power domain 1. + - -\ **pd1powermodule1 | powermodule**\ - +\ **pd1powermodule1 | powermodule**\ + Query the First Power Module capacity in power domain 1. + - -\ **pd1powermodule2 | powermodule**\ - +\ **pd1powermodule2 | powermodule**\ + Query the Second Power Module capacity in power domain 1. + - -\ **pd1avaiablepower | avaiablepower**\ - +\ **pd1avaiablepower | avaiablepower**\ + Query the total available power in power domain 1. + - -\ **pd1reservedpower | reservedpower**\ - +\ **pd1reservedpower | reservedpower**\ + Query the power that has been reserved for power domain 1. + - -\ **pd1remainpower | remainpower**\ - +\ **pd1remainpower | remainpower**\ + Query the remaining power available in power domain 1. + - -\ **pd1inusedpower | inusedpower**\ - +\ **pd1inusedpower | inusedpower**\ + Query the total power being used in power domain 1. + - -\ **pd2status**\ - +\ **pd2status**\ + Query the status of power domain 2 for blade management module node. + - -\ **pd2policy**\ - +\ **pd2policy**\ + Query the power management policy of power domain 2. + - -\ **pd2powermodule1**\ - +\ **pd2powermodule1**\ + Query the First Power Module capacity in power domain 2. + - -\ **pd2powermodule2**\ - +\ **pd2powermodule2**\ + Query the Second Power Module capacity in power domain 2. + - -\ **pd2avaiablepower**\ - +\ **pd2avaiablepower**\ + Query the total available power in power domain 2. + - -\ **pd2reservedpower**\ - +\ **pd2reservedpower**\ + Query the power that has been reserved for power domain 2. + - -\ **pd2remainpower**\ - +\ **pd2remainpower**\ + Query the remaining power available in power domain 2. + - -\ **pd2inusedpower**\ - +\ **pd2inusedpower**\ + Query the total power being used in power domain 2. + - -\ **relhistogram**\ - +\ **relhistogram**\ + Query histogram data for wattage information + - -\ **savingstatus**\ - +\ **savingstatus**\ + Query the static power saving status. The result should be 'on' or 'off'. 'on' - enable; 'off' - disable. - + \ **savingstatus**\ ={\ **on**\ | \ **off**\ } - + Set the static power saving. The value must be 'on' or 'off'. - + If turning on the static power saving, the processor frequency and voltage will be dropped to a fixed value to save energy. - + The savingstatus setting operation needs about 2 minutes to take effect. (The used time depends on the hardware type) - + The \ **savingstatus**\ only can be turned on when the \ **dsavingstatus**\ is in turn off status. + - -\ **sysIPLtime**\ - +\ **sysIPLtime**\ + Query the time used from FSP standby to OS standby. (Unit is Second) + - -\ **syssbpower**\ - +\ **syssbpower**\ + Query the system power consumed prior to power on. (Unit is Watt) + - -\ **thermaloutput**\ - +\ **thermaloutput**\ + Query the thermal output (load) in BTUs per hour for the blade center chassis. + - -\ **powerusage**\ - +\ **powerusage**\ + Query System Power Statistics with DCMI (Data Center Manageability Interface). + - -\ **temperature**\ - +\ **temperature**\ + Query the temperature from DCMI (Data Center Manageability Interface) Temperature sensor. Currently, only CPU temperature and baseboard temperature sensor available for OpenPOWER servers. - + ******************** -\ **RETURN VALUE**\ +\ **RETURN VALUE**\ ******************** @@ -736,24 +736,24 @@ so no additional plugins are needed for BladeCenter.) **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. Query all attributes which CEC1,CEC2 supported. - - + + .. code-block:: perl - + renergy CEC1,CEC2 all - - + + The output of the query operation: - - + + .. code-block:: perl - + CEC1: savingstatus: off CEC1: dsavingstatus: off CEC1: cappingstatus: off @@ -779,23 +779,23 @@ so no additional plugins are needed for BladeCenter.) CEC2: ambienttemp: 25 C CEC2: exhausttemp: 40 C CEC2: CPUspeed: 4695 MHz - - + + 2. Query the \ **fanspeed**\ attribute for Power8 CEC. - - + + .. code-block:: perl - + renergy CEC1 fanspeed - - + + The output of the query operation: - - + + .. code-block:: perl - + CEC1: fanspeed (Fan U78CB.001.WZS00MA-A1 00002101): 5947 RPM CEC1: fanspeed (Fan U78CB.001.WZS00MA-A2 00002103): 6081 RPM CEC1: fanspeed (Fan U78CB.001.WZS00MA-A3 00002105): 6108 RPM @@ -804,19 +804,19 @@ so no additional plugins are needed for BladeCenter.) CEC1: fanspeed (Fan U78CB.001.WZS00MA-A6 0000210B): 6013 RPM CEC1: fanspeed (Fan U78CB.001.WZS00MA-E1 0000210C): 4992 RPM CEC1: fanspeed (Fan U78CB.001.WZS00MA-E2 0000210D): 5016 RPM - - + + 3. Query the historical records for the \ **CPUspeed**\ attribute. (Power8 CEC) - + \ **renergy**\ CEC1 CPUspeedhistory - + The output of the query operation: - - + + .. code-block:: perl - + CEC1: CPUspeedhistory: 2027 MHZ: 20141226042900 CEC1: CPUspeedhistory: 2027 MHZ: 20141226042930 CEC1: CPUspeedhistory: 2244 MHZ: 20141226043000 @@ -828,25 +828,23 @@ so no additional plugins are needed for BladeCenter.) CEC1: CPUspeedhistory: 2393 MHZ: 20141226043300 CEC1: CPUspeedhistory: 2393 MHZ: 20141226043330 ... + + - - -4 - - Query all the attirbutes for management module node MM1. (For chassis) - - +4 Query all the attributes for management module node MM1. (For chassis) + + .. code-block:: perl - + renergy MM1 all - - + + The output of the query operation: - - + + .. code-block:: perl - + mm1: availableDC: 5880W mm1: frontpaneltmp: 18.00 Centigrade mm1: inusedAC: 2848W @@ -868,23 +866,23 @@ so no additional plugins are needed for BladeCenter.) mm1: pd2reservedpower: 2889W mm1: pd2status: 2 - Warning: Power redundancy does not exist in this power domain. mm1: thermaloutput: 9717.376000 BTU/hour - - + + 5. Query all the attirbutes for blade server node blade1. - - + + .. code-block:: perl - + renergy blade1 all - - + + The output of the query operation: - - + + .. code-block:: perl - + blade1: CPUspeed: 4204MHZ blade1: averageDC: 227W blade1: capability: dynamicPowerMeasurement2 @@ -892,87 +890,87 @@ so no additional plugins are needed for BladeCenter.) blade1: dsavingstatus: off blade1: maxCPUspeed: 4204MHZ blade1: savingstatus: off - - + + 6. Query the attributes savingstatus, cappingstatus and CPUspeed for server CEC1. - - + + .. code-block:: perl - + renergy CEC1 savingstatus cappingstatus CPUspeed - - + + The output of the query operation: - - + + .. code-block:: perl - + CEC1: savingstatus: off CEC1: cappingstatus: on CEC1: CPUspeed: 3621 MHz - - + + 7. Turn on the power saving function of CEC1. - - + + .. code-block:: perl - + renergy CEC1 savingstatus=on - - + + The output of the setting operation: - - + + .. code-block:: perl - + CEC1: Set savingstatus succeeded. CEC1: This setting may need some minutes to take effect. - - + + 8. Set the power capping value base on the percentage of the max-min capping value. Here, set it to 50%. - - + + .. code-block:: perl - + renergy CEC1 cappingperc=50 - - + + If the maximum capping value of the CEC1 is 850w, and the minimum capping value of the CEC1 is 782w, the Power Capping value will be set as ((850-782)\*50% + 782) = 816w. - + The output of the setting operation: - - + + .. code-block:: perl - + CEC1: Set cappingperc succeeded. CEC1: cappingvalue: 816 - - + + 9. Query powerusage and temperature for OpenPOWER servers. - - + + .. code-block:: perl - + renergy ops01 powerusage temperature - - + + The output will be like this: - - + + .. code-block:: perl - + ops01: Current Power : 591W ops01: Minimum Power over sampling duration : 558W ops01: Maximum Power over sampling duration : 607W @@ -982,38 +980,38 @@ max-min capping value. Here, set it to 50%. ops01: Power Measurement : Active ops01: CPU Temperature Instance 0 : +39 Centigrade ops01: Baseboard temperature Instance 0 : +28 Centigrade - - + + ****************** -\ **REFERENCES**\ +\ **REFERENCES**\ ****************** 1. For more information on 'Power System Energy Management': - + http://www-03.ibm.com/systems/power/software/energy/index.html - + 2. EnergyScale white paper for Power6: - + http://www-03.ibm.com/systems/power/hardware/whitepapers/energyscale.html - + 3. EnergyScale white paper for Power7: - + http://www-03.ibm.com/systems/power/hardware/whitepapers/energyscale7.html - + ************* -\ **FILES**\ +\ **FILES**\ ************* diff --git a/docs/source/guides/admin-guides/references/man1/replaycons.1.rst b/docs/source/guides/admin-guides/references/man1/replaycons.1.rst index aee76d34d..c4b1929b3 100644 --- a/docs/source/guides/admin-guides/references/man1/replaycons.1.rst +++ b/docs/source/guides/admin-guides/references/man1/replaycons.1.rst @@ -43,28 +43,28 @@ OPTIONS -\ *bps*\ - +\ *bps*\ + The display rate to use to play back the console output. Default is 19200. + - -\ *tail_amount*\ - +\ *tail_amount*\ + The place in the console log file to start play back, specified as the # of lines from the end. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. - + @@ -90,15 +90,15 @@ EXAMPLES 1. - + To replay the console for node1 at the default rate, starting 2000 lines from the end: - - + + .. code-block:: perl - + replaycons 19200 2000 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/restartxcatd.1.rst b/docs/source/guides/admin-guides/references/man1/restartxcatd.1.rst index 57c6e4fb4..a4348f73f 100644 --- a/docs/source/guides/admin-guides/references/man1/restartxcatd.1.rst +++ b/docs/source/guides/admin-guides/references/man1/restartxcatd.1.rst @@ -29,7 +29,7 @@ DESCRIPTION The \ **restartxcatd**\ command restarts the xCAT daemon (xcatd). -\ **Linux Specific**\ +\ **Linux Specific**\ It will perform the xcatd \ *fast restart*\ . The xcatd \ *fast restart*\ is a specific restart which has two advantages compares to the \ *stop*\ and then \ *start*\ . @@ -40,7 +40,7 @@ It does the same thing as 'service xcatd restart' on NON-systemd enabled Operati It's recommended to use \ **restartxcatd**\ command to restart xcatd on systemd enable system like rh7 and sles12 instead of 'service xcatd restart' or 'systemctl restart xcatd'. -\ **AIX Specific**\ +\ **AIX Specific**\ It runs 'stopsrc -s xcatd' to stop xcatd first if xcatd is active, then runs 'startsrc -s xcatd' to start xcatd. diff --git a/docs/source/guides/admin-guides/references/man1/reventlog.1.rst b/docs/source/guides/admin-guides/references/man1/reventlog.1.rst index 76a0d9a20..108ccbe9d 100644 --- a/docs/source/guides/admin-guides/references/man1/reventlog.1.rst +++ b/docs/source/guides/admin-guides/references/man1/reventlog.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -32,7 +32,7 @@ OpenPOWER OpenBMC specific : ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -42,73 +42,73 @@ logs are stored on each servers service processor. *************** -\ **Options**\ +\ **Options**\ *************** -\ *number-of-entries*\ - +\ *number-of-entries*\ + Retrieve the specified number of entries from the nodes' service processors. + - -\ **all**\ - +\ **all**\ + Retrieve all entries. + - -\ **-s**\ - +\ **-s**\ + To sort the entries from latest (always the last entry in event DB) to oldest (always the first entry in event DB). If \ **number-of-entries**\ specified, the latest \ **number-of-entries**\ events will be output in the order of latest to oldest. + - -\ **clear**\ - +\ **clear**\ + Clear event logs. - + \ **resolved=**\ {\ *id-list*\ |\ **LED**\ } - + Mark event log entries as resolved. Use comma separated list of entry ids to specify individual entries. Use \ **LED**\ to mark as resolved all event log entries that contribute to LED fault. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. List last 5 event log entries from node4 and node5 - - + + .. code-block:: perl - + reventlog node4,node5 5 - - + + Output is similar to: - - + + .. code-block:: perl - + node4: SERVPROC I 09/06/00 15:23:33 Remote Login Successful User ID = USERID[00] node4: SERVPROC I 09/06/00 15:23:32 System spn1 started a RS485 connection with us[00] node4: SERVPROC I 09/06/00 15:22:35 RS485 connection to system spn1 has ended[00] @@ -119,48 +119,48 @@ logs are stored on each servers service processor. node5: SERVPROC I 09/06/00 15:21:34 RS485 connection to system spn1 has ended[00] node5: SERVPROC I 09/06/00 15:21:30 Remote Login Successful User ID = USERID[00] node5: SERVPROC I 09/06/00 15:21:29 System spn1 started a RS485 connection with us[00] - - + + 2. Clear all event log entries from node4 and node5 - - + + .. code-block:: perl - + reventlog node4,node5 clear - - + + Output is similar to: - - + + .. code-block:: perl - + node4: clear node5: clear - - + + 3. Mark as resolved all event log entries from node4 that contribute to LED fault - - + + .. code-block:: perl - + reventlog node4 resolved=LED - - + + Output is similar to: - - + + .. code-block:: perl - + Attempting to resolve the following log entries: LED... node4: Resolved 51. node4: Resolved 52. node4: Resolved 58. - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rflash.1.rst b/docs/source/guides/admin-guides/references/man1/rflash.1.rst index 4c494b23d..90c3ed721 100644 --- a/docs/source/guides/admin-guides/references/man1/rflash.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rflash.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -43,7 +43,7 @@ NeXtScale FPC specific: ======================= -\ **rflash**\ \ *noderange*\ \ *http_directory*\ +\ **rflash**\ \ *noderange*\ \ *http_directory*\ OpenPOWER BMC specific (using IPMI): @@ -52,7 +52,7 @@ OpenPOWER BMC specific (using IPMI): \ **rflash**\ \ *noderange*\ [\ *hpm_file_path*\ | \ **-d**\ \ *data_directory*\ ] [\ **-c | -**\ **-check**\ ] [\ **-**\ **-retry=**\ \ *count*\ ] -\ **rflash**\ \ *noderange*\ \ **-**\ **-recover**\ \ *bmc_file_path*\ +\ **rflash**\ \ *noderange*\ \ **-**\ **-recover**\ \ *bmc_file_path*\ OpenPOWER OpenBMC specific : @@ -70,7 +70,7 @@ OpenPOWER OpenBMC specific : ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -181,110 +181,110 @@ This delete option will delete update image from BMC. It expects an ID as the in *************** -\ **Options**\ +\ **Options**\ *************** -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Writes the command's usage statement to standard output. + - -\ **-c|-**\ **-check**\ - +\ **-c|-**\ **-check**\ + Check the firmware version of BMC and an update file. + - -\ **-p**\ \ *directory*\ - +\ **-p**\ \ *directory*\ + Specifies the directory where the packages are located. + - -\ **-d**\ \ *data_directory*\ - +\ **-d**\ \ *data_directory*\ + PPC (without HMC, using Direct FSP Management) specific: - + Specifies the directory where the raw data from rpm packages for each CEC/Frame are located. The default directory is /tmp. The option is only used in Direct FSP/BPA Management. - + OpenPOWER BMC specific (using IPMI): - + Used for IBM Power S822LC for Big Data systems only. Specifies the directory where the \ **pUpdate**\ utility and at least one of BMC or Host update files are located. The utility and update files can be downloaded from FixCentral. - + \ **-**\ **-activate**\ {\ **concurrent**\ | \ **disruptive**\ } - + Must be specified to activate the new Licensed Internal Code. The "disruptive" option will cause the target systems to be recycled. Without this flag, LIC updates will be installed only, not activated. + - -\ **-**\ **-commit**\ - +\ **-**\ **-commit**\ + Used to commit the flash image in the temporary side of the chip to the permanent side for both managed systems and power subsystems. + - -\ **-**\ **-recover**\ - +\ **-**\ **-recover**\ + PPC (with HMC) and PPC (without HMC, using Direct FSP Management) specific: - + Used to recover the flash image in the permanent side of the chip to the temporary side for both managed systems and power subsystems. - + OpenPOWER BMC specific (using IPMI): - + Used for IBM Power S822LC for Big Data systems only. Used to recover the BMC with a BMC image downloaded from FixCentral. This option will only work if BMC is in "Brick protection" state. + - -\ **-**\ **-retry=**\ \ *count*\ - +\ **-**\ **-retry=**\ \ *count*\ + Specify number of times to retry the update if failure is detected. Default value is 2. Value of 0 can be used to indicate no retries. + - -\ **-a|-**\ **-activate**\ - +\ **-a|-**\ **-activate**\ + Activate update image. Image id or update file must be specified. + - -\ **-l|-**\ **-list**\ - +\ **-l|-**\ **-list**\ + List currently uploaded update images. "(\*)" indicates currently active image. + - -\ **-u|-**\ **-upload**\ - +\ **-u|-**\ **-upload**\ + Upload update image. Specified file must be in .tar format. + - -\ **-**\ **-delete**\ - +\ **-**\ **-delete**\ + Delete update image from BMC + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the command's version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. - + ******************* -\ **Exit Status**\ +\ **Exit Status**\ ******************* @@ -294,96 +294,96 @@ This delete option will delete update image from BMC. It expects an ID as the in **************** -\ **Examples**\ +\ **Examples**\ **************** 1. To update only the power subsystem attached to a single HMC-attached pSeries CEC(cec_name), and recycle the power subsystem and all attached managed systems when the update is complete, and the Microcode update package and associated XML file are in /tmp/fw, enter: - - + + .. code-block:: perl - + rflash cec_name -p /tmp/fw --activate disruptive - - + + 2. To update only the power subsystem attached to a single HMC-attached pSeries node, and recycle the power subsystem and all attached managed systems when the update is complete, and the Microcode update package and associated XML file are in /tmp/fw, enter: - - + + .. code-block:: perl - + rflash bpa_name -p /tmp/fw --activate disruptive - - + + 3. To commit a firmware update to permanent flash for both managed system and the related power subsystems, enter: - - + + .. code-block:: perl - + rflash cec_name --commit - - + + 4. To update the firmware on a NeXtScale FPC specify the FPC node name and the HTTP location of the file including the xCAT MN IP address and the directory on the xCAT MN containing the firmware as follows: - - + + .. code-block:: perl - + rflash fpc01 http://10.1.147.169/install/firmware/fhet17a/ibm_fw_fpc_fhet17a-2.02_anyos_noarch.rom - - + + 5. To update the firmware on OpenPOWER machine specify the node name and the file path of the HPM firmware file as follows: - - + + .. code-block:: perl - + rflash fs3 /firmware/8335_810.1543.20151021b_update.hpm - - + + Print verbose message to rflash log file (/var/log/xcat/rflash/fs3.log) when updading firmware: - - + + .. code-block:: perl - + rflash fs3 /firmware/8335_810.1543.20151021b_update.hpm -V - - + + 6. To update the firmware on IBM Power S822LC for Big Data machine specify the node name and the file path of the data directory containing pUpdate utility, both BMC and Host update files: - - + + .. code-block:: perl - + rflash briggs01 -d /root/supermicro/OP825 - - + + 7. To update the firmware on the OpenBMC machine, specify the firmare update file to upload and activate: - - + + .. code-block:: perl - + rflash p9euh02 -a /tmp/witherspoon.pnor.squashfs.tar - - + + **************** -\ **Location**\ +\ **Location**\ **************** -\ **/opt/xcat/bin/rflash**\ +\ **/opt/xcat/bin/rflash**\ ***** diff --git a/docs/source/guides/admin-guides/references/man1/rinv.1.rst b/docs/source/guides/admin-guides/references/man1/rinv.1.rst index 128ee6fbe..a1e47f34f 100644 --- a/docs/source/guides/admin-guides/references/man1/rinv.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rinv.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -76,7 +76,7 @@ pdu specific: ============= -\ **rinv**\ \ *noderange*\ +\ **rinv**\ \ *noderange*\ zVM specific: @@ -110,7 +110,7 @@ zVM specific: ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -121,220 +121,220 @@ Calling \ **rinv**\ for VMware will display the UUID/GUID, number of CPUs, amou *************** -\ **Options**\ +\ **Options**\ *************** -\ **bus**\ - +\ **bus**\ + List all buses for each I/O slot. + - -\ **config**\ - +\ **config**\ + Retrieves number of processors, speed, total memory, and DIMM locations. + - -\ **model**\ - +\ **model**\ + Retrieves model number. + - -\ **serial**\ - +\ **serial**\ + Retrieves serial number. + - -\ **firm**\ - +\ **firm**\ + Retrieves firmware versions. + - -\ **deconfig**\ - +\ **deconfig**\ + Retrieves deconfigured resources. Deconfigured resources are hw components (cpus, memory, etc.) that have failed so the firmware has automatically turned those components off. This option is only capable of listing some of the deconfigured resources and should not be the only method used to check the hardware status. + - -\ **-x**\ - +\ **-x**\ + To output the raw information of deconfigured resources for CEC. + - -\ **asset**\ - +\ **asset**\ + Retrieves asset tag. Usually it's the MAC address of eth0. + - -\ **vpd**\ - +\ **vpd**\ + Same as specifying model, serial, deviceid, and mprom. + - -\ **diag**\ - +\ **diag**\ + Diagnostics information of firmware. + - -\ **mprom**\ - +\ **mprom**\ + Retrieves mprom firmware level. + - -\ **dimm**\ - +\ **dimm**\ + Retrieves dual in-line memory module information. + - -\ **deviceid**\ - +\ **deviceid**\ + Retrieves device identification. Usually device, manufacturing and product IDs. + - -\ **uuid**\ - +\ **uuid**\ + Retrieves the universally unique identifier. + - -\ **guid**\ - +\ **guid**\ + Retrieves the global unique identifier . + - -\ **all**\ - +\ **all**\ + All of the above. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. + - -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Prints verbose output, if available. + - -\ **-t**\ - +\ **-t**\ + Set the values in the vm table to what vCenter has for the indicated nodes. + - -\ **zVM specific :**\ +\ **zVM specific :**\ -\ **-**\ **-diskpoolspace**\ - +\ **-**\ **-diskpoolspace**\ + Calculates the total size of every known storage pool. + - -\ **-**\ **-diskpool**\ \ *pool*\ \ *space*\ - +\ **-**\ **-diskpool**\ \ *pool*\ \ *space*\ + Lists the storage devices (ECKD and FBA) contained in a disk pool. Space can be: all, free, or used. + - -\ **-**\ **-fcpdevices**\ \ *state*\ \ *details*\ - +\ **-**\ **-fcpdevices**\ \ *state*\ \ *details*\ + Lists the FCP device channels that are active, free, or offline. State can be: active, free, or offline. + - -\ **-**\ **-diskpoolnames**\ - +\ **-**\ **-diskpoolnames**\ + Lists the known disk pool names. + - -\ **-**\ **-networknames**\ - +\ **-**\ **-networknames**\ + Lists the known network names. + - -\ **-**\ **-network**\ \ *name*\ - +\ **-**\ **-network**\ \ *name*\ + Shows the configuration of a given network device. + - -\ **-**\ **-ssi**\ - +\ **-**\ **-ssi**\ + Obtain the SSI and system status. + - -\ **-**\ **-smapilevel**\ - +\ **-**\ **-smapilevel**\ + Obtain the SMAPI level installed on the z/VM system. + - -\ **-**\ **-wwpns**\ \ *fcp_channel*\ - +\ **-**\ **-wwpns**\ \ *fcp_channel*\ + Query a given FCP device channel on a z/VM system and return a list of WWPNs. + - -\ **-**\ **-zfcppool**\ \ *pool*\ \ *space*\ - +\ **-**\ **-zfcppool**\ \ *pool*\ \ *space*\ + List the SCSI/FCP devices contained in a zFCP pool. Space can be: free or used. + - -\ **-**\ **-zfcppoolnames**\ - +\ **-**\ **-zfcppoolnames**\ + List the known zFCP pool names. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. To retrieve all information available from blade node4, enter: - - + + .. code-block:: perl - + rinv node5 all - - + + Output is similar to: - - + + .. code-block:: perl - + node5: Machine Type/Model 865431Z node5: Serial Number 23C5030 node5: Asset Tag 00:06:29:1F:01:1A @@ -355,23 +355,23 @@ Calling \ **rinv**\ for VMware will display the UUID/GUID, number of CPUs, amou node5: Processor Speed: 866 MHz node5: Total Memory: 512 MB node5: Memory DIMM locations: Slot(s) 3 4 - - + + 2. To output the raw information of deconfigured resources for CEC cec01, enter: - - + + .. code-block:: perl - + rinv cec01 deconfig -x - - + + Output is similar to: - - + + .. code-block:: perl - + cec01: IH @@ -380,74 +380,68 @@ Calling \ **rinv**\ for VMware will display the UUID/GUID, number of CPUs, amou 800 + + - - -3. - - To retrieve 'config' information from the HMC-managed LPAR node3, enter: - - +3. To retrieve 'config' information from the HMC-managed LPAR node3, enter: + + .. code-block:: perl - + rinv node3 config - - + + Output is similar to: - - + + .. code-block:: perl - + node5: Machine Configuration Info node5: Number of Processors: 1 node5: Total Memory (MB): 1024 + + - - -4. - - To retrieve information about a VMware node vm1, enter: - - +4. To retrieve information about a VMware node vm1, enter: + + .. code-block:: perl - + rinv vm1 - - + + Output is similar to: - - + + .. code-block:: perl - + vm1: UUID/GUID: 42198f65-d579-fb26-8de7-3ae49e1790a7 vm1: CPUs: 1 vm1: Memory: 1536 MB vm1: Network adapter 1: 36:1b:c2:6e:04:02 vm1: Hard disk 1 (d0): 9000 MB @ [nfs_192.168.68.21_vol_rc1storage_vmware] vm1_3/vm1.vmdk vm1: Hard disk 2 (d4): 64000 MB @ [nfs_192.168.68.21_vol_rc1storage_vmware] vm1_3/vm1_5.vmdk + + + \ **zVM specific :**\ + - \ **zVM specific :**\ - - - -5. - - To list the defined network names available for a given node: - - +5. To list the defined network names available for a given node: + + .. code-block:: perl - + rinv pokdev61 --getnetworknames - - + + Output is similar to: - - + + .. code-block:: perl - + pokdev61: LAN:QDIO SYSTEM GLAN1 pokdev61: LAN:HIPERS SYSTEM GLAN2 pokdev61: LAN:QDIO SYSTEM GLAN3 @@ -456,122 +450,112 @@ Calling \ **rinv**\ for VMware will display the UUID/GUID, number of CPUs, amou pokdev61: VSWITCH SYSTEM VSW1 pokdev61: VSWITCH SYSTEM VSW2 pokdev61: VSWITCH SYSTEM VSW3 + + - - -6. - - To list the configuration for a given network: - - +6. To list the configuration for a given network: + + .. code-block:: perl - + rinv pokdev61 --getnetwork GLAN1 - - + + Output is similar to: - - + + .. code-block:: perl - + pokdev61: LAN SYSTEM GLAN1 Type: QDIO Connected: 1 Maxconn: INFINITE pokdev61: PERSISTENT UNRESTRICTED IP Accounting: OFF pokdev61: IPTimeout: 5 MAC Protection: Unspecified pokdev61: Isolation Status: OFF + + - - -7. - - To list the disk pool names available: - - +7. To list the disk pool names available: + + .. code-block:: perl - + rinv pokdev61 --diskpoolnames - - + + Output is similar to: - - + + .. code-block:: perl - + pokdev61: POOL1 pokdev61: POOL2 pokdev61: POOL3 + + - - -8. - - List the configuration for a given disk pool: - - +8. List the configuration for a given disk pool: + + .. code-block:: perl - + rinv pokdev61 --diskpool POOL1 free - - + + Output is similar to: - - + + .. code-block:: perl - + pokdev61: #VolID DevType StartAddr Size pokdev61: EMC2C4 3390-09 0001 10016 pokdev61: EMC2C5 3390-09 0001 10016 + + - - -9. - - List the known zFCP pool names. - - +9. List the known zFCP pool names. + + .. code-block:: perl - + rinv pokdev61 --zfcppoolnames - - + + Output is similar to: - - + + .. code-block:: perl - + pokdev61: zfcp1 pokdev61: zfcp2 pokdev61: zfcp3 + + - - -10. - - List the SCSI/FCP devices contained in a given zFCP pool: - - +10. List the SCSI/FCP devices contained in a given zFCP pool: + + .. code-block:: perl - + rinv pokdev61 --zfcppool zfcp1 - - + + Output is similar to: - - + + .. code-block:: perl - + pokdev61: #status,wwpn,lun,size,range,owner,channel,tag pokdev61: used,500512345678c411,4014412100000000,2g,3B40-3B7F,ihost13,3b77, pokdev61: used,500512345678c411,4014412200000000,8192M,3B40-3B7F,ihost13,3b77,replace_root_device pokdev61: free,500512345678c411,4014412300000000,8g,3B40-3B7F,,, pokdev61: free,5005123456789411,4014412400000000,2g,3B40-3B7F,,, pokdev61: free,5005123456789411;5005123456789411,4014412600000000,2G,3B40-3B7F,,, - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rmdef.1.rst b/docs/source/guides/admin-guides/references/man1/rmdef.1.rst index 2b3ea96cf..c7913da80 100644 --- a/docs/source/guides/admin-guides/references/man1/rmdef.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmdef.1.rst @@ -39,65 +39,65 @@ OPTIONS -\ **-a|-**\ **-all**\ - +\ **-a|-**\ **-all**\ + Clear the whole xCAT database. A backup of the xCAT definitions should be saved before using this option as the xCAT daemons will no longer work once cleared. - + To restore: - - + + 1. \ **export XCATBYPASS=1**\ and run the \ **restorexCATdb**\ command. - + or - - - + + + 2. Run \ **xcatconfig -d**\ which initializes the database the same as when xCAT was installed. + + + - - - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Use this with the \ **-**\ **-all**\ option as an extra indicator that ALL definitions are to be removed. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display a usage message. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on supported formats. + - -\ **-o**\ \ *object-names*\ - +\ **-o**\ \ *object-names*\ + A set of comma delimited object names. + - -\ **-t**\ \ *object-types*\ - +\ **-t**\ \ *object-types*\ + A set of comma delimited object types. + - -\ **-C|-**\ **-cleanup**\ - +\ **-C|-**\ **-cleanup**\ + Perform additional cleanup by running \ **nodeset offline**\ , \ **makeconservercf -d**\ and \ **makegocons -**\ **-cleanup**\ on the objects specified in the \ *noderange*\ . + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. - + @@ -118,35 +118,35 @@ EXAMPLES 1. To remove a range of node definitions. - - + + .. code-block:: perl - + rmdef -t node node1-node4 - - + + 2. To remove all node definitions for the nodes contained in the group bpcnodes. - - + + .. code-block:: perl - + rmdef -t node -o bpcnodes - - + + 3. To remove the group called bpcnodes. - - + + .. code-block:: perl - + rmdef -t group -o bpcnodes - - + + (This will also update the values of the "groups" attribute of the member nodes.) - + diff --git a/docs/source/guides/admin-guides/references/man1/rmdocker.1.rst b/docs/source/guides/admin-guides/references/man1/rmdocker.1.rst index b1d7849e3..db021f2a9 100644 --- a/docs/source/guides/admin-guides/references/man1/rmdocker.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmdocker.1.rst @@ -32,7 +32,7 @@ OPTIONS -\ **-f|-**\ **-force**\ +\ **-f|-**\ **-force**\ diff --git a/docs/source/guides/admin-guides/references/man1/rmdsklsnode.1.rst b/docs/source/guides/admin-guides/references/man1/rmdsklsnode.1.rst index 4fa5ccde5..b9dd2625d 100644 --- a/docs/source/guides/admin-guides/references/man1/rmdsklsnode.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmdsklsnode.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **rmdsklsnode [-h | -**\ **-help ]**\ +\ **rmdsklsnode [-h | -**\ **-help ]**\ -\ **rmdsklsnode [-V|-**\ **-verbose] [-f|-**\ **-force] [-r|-**\ **-remdef] [-i**\ \ *image_name*\ ] \ **[-p|-**\ **-primarySN] [-b|-**\ **-backupSN]**\ \ *noderange*\ +\ **rmdsklsnode [-V|-**\ **-verbose] [-f|-**\ **-force] [-r|-**\ **-remdef] [-i**\ \ *image_name*\ ] \ **[-p|-**\ **-primarySN] [-b|-**\ **-backupSN]**\ \ *noderange*\ *********** @@ -37,7 +37,7 @@ If you are using xCAT service nodes the \ **rmdsklsnode**\ command will automat If the node you are trying to remove is currently running the \ **rmdsklsnode**\ command will not remove the definitions. You can use the "-f" option to shut down the node and remove the definition. -\ **Removing alternate NIM client definitions**\ +\ **Removing alternate NIM client definitions**\ If you used the "-n" option when you created the NIM client definitions with the \ **mkdsklsnode**\ command then the NIM client machine names would be a combination of the xCAT node name and the osimage name used to initialize the NIM machine. To remove these definitions, you must provide the name of the osimage that was used using the "-i" option. @@ -52,52 +52,52 @@ OPTIONS -\ **-f |-**\ **-force**\ - +\ **-f |-**\ **-force**\ + Use the force option to stop and remove running nodes. This handles the situation where a NIM machine definition indicates that a node is still running even though it is not. + - -\ **-b |-**\ **-backupSN**\ - +\ **-b |-**\ **-backupSN**\ + When using backup service nodes only update the backup. The default is to update both the primary and backup service nodes. + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-i**\ \ *image_name*\ - +\ **-i**\ \ *image_name*\ + The name of an xCAT image definition. + - -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. + - -\ **-p|-**\ **-primarySN**\ - +\ **-p|-**\ **-primarySN**\ + When using backup service nodes only update the primary. The default is to update both the primary and backup service nodes. + - -\ **-r|-**\ **-remdef**\ - +\ **-r|-**\ **-remdef**\ + Use this option to reset, deallocate, and remove NIM client definitions. This option will not attempt to shut down running nodes. This option should be used when remove alternate NIM client definitions that were created using \ **mkdsklsnode -n**\ . + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + diff --git a/docs/source/guides/admin-guides/references/man1/rmflexnode.1.rst b/docs/source/guides/admin-guides/references/man1/rmflexnode.1.rst index 5859588de..4aebb1f7a 100644 --- a/docs/source/guides/admin-guides/references/man1/rmflexnode.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmflexnode.1.rst @@ -23,7 +23,7 @@ SYNOPSIS \ **rmflexnode**\ [\ **-v**\ | \ **-**\ **-version**\ ] -\ **rmflexnode**\ \ *noderange*\ +\ **rmflexnode**\ \ *noderange*\ *********** @@ -48,16 +48,16 @@ OPTIONS -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display the usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the version information. - + @@ -68,15 +68,15 @@ EXAMPLES 1 Delete a flexible node base on the xCAT node blade1. - + The blade1 should belong to a complex, the \ *id*\ attribute should be set correctly and all the slots should be in \ **power off**\ state. - - + + .. code-block:: perl - + rmflexnode blade1 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rmhwconn.1.rst b/docs/source/guides/admin-guides/references/man1/rmhwconn.1.rst index 0229cf313..225bb4627 100644 --- a/docs/source/guides/admin-guides/references/man1/rmhwconn.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmhwconn.1.rst @@ -27,21 +27,21 @@ PPC (with HMC) specific: ======================== -\ **rmhwconn**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ +\ **rmhwconn**\ [\ **-V**\ | \ **-**\ **-verbose**\ ] \ *noderange*\ PPC (without HMC, using FSPAPI) specific: ========================================= -\ **rmhwconn**\ \ *noderange*\ \ **-T**\ \ *tooltype*\ +\ **rmhwconn**\ \ *noderange*\ \ **-T**\ \ *tooltype*\ PPC (use HMC as SFP) specific: ============================== -\ **rmhwconn**\ \ **-s**\ +\ **rmhwconn**\ \ **-s**\ @@ -71,22 +71,22 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose output. + - -\ **-T**\ - +\ **-T**\ + The tooltype is used to communicate to the CEC/Frame. The value could be \ **lpar**\ or \ **fnm**\ . The tooltype value \ **lpar**\ is for xCAT and \ **fnm**\ is for CNM. - + @@ -107,39 +107,39 @@ EXAMPLES 1. - + To disconnect all CEC nodes in node group cec from their HMC nodes: - - + + .. code-block:: perl - + rmhwconn cec - - + + 2. - + To remove the connection for Frame node frame1: - - + + .. code-block:: perl - + rmhwconn frame1 - - + + 3. - + To disconnect all CEC nodes in node group cec from their related hardware serveri, using lpar tooltype: - - + + .. code-block:: perl - + rmhwconn cec -T lpar - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rmhypervisor.1.rst b/docs/source/guides/admin-guides/references/man1/rmhypervisor.1.rst index 222ccef1d..5ada8fcbb 100644 --- a/docs/source/guides/admin-guides/references/man1/rmhypervisor.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmhypervisor.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **RHEV specific :**\ +\ **RHEV specific :**\ \ **rmhypervisor**\ \ *noderange*\ [\ **-f**\ ] @@ -39,10 +39,10 @@ OPTIONS -\ **-f**\ - +\ **-f**\ + If \ **-f**\ is specified, the host will be deactivated to maintenance before the removing. - + @@ -63,13 +63,13 @@ EXAMPLES 1. To remove the host 'host1', enter: - - + + .. code-block:: perl - + rmhypervisor host1 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rmigrate.1.rst b/docs/source/guides/admin-guides/references/man1/rmigrate.1.rst index dcb4a6a2e..c76a6584e 100644 --- a/docs/source/guides/admin-guides/references/man1/rmigrate.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmigrate.1.rst @@ -15,11 +15,11 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **rmigrate**\ \ *noderange*\ \ *target_host*\ +\ **rmigrate**\ \ *noderange*\ \ *target_host*\ For zVM: ======== @@ -30,7 +30,7 @@ For zVM: ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -83,7 +83,7 @@ zVM specific: ************* -\ **Files**\ +\ **Files**\ ************* @@ -93,7 +93,7 @@ This is used to determine the current host to migrate from. **************** -\ **Examples**\ +\ **Examples**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/rmimage.1.rst b/docs/source/guides/admin-guides/references/man1/rmimage.1.rst index 637e0ade5..1d49195a4 100644 --- a/docs/source/guides/admin-guides/references/man1/rmimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmimage.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **rmimage [-h | -**\ **-help]**\ +\ **rmimage [-h | -**\ **-help]**\ -\ **rmimage [-V | -**\ **-verbose]**\ \ *imagename*\ \ **[-**\ **-xcatdef]**\ +\ **rmimage [-V | -**\ **-verbose]**\ \ *imagename*\ \ **[-**\ **-xcatdef]**\ *********** @@ -32,7 +32,7 @@ DESCRIPTION Removes the Linux stateless or statelite image from the file system. The install dir is setup by using "installdir" attribute set in the site table. -If \ *imagename*\ is specified, this command uses the information in the \ *imagename*\ +If \ *imagename*\ is specified, this command uses the information in the \ *imagename*\ to calculate the image root directory; otherwise, this command uses the operating system name, architecture and profile name to calculate the image root directory. diff --git a/docs/source/guides/admin-guides/references/man1/rmkit.1.rst b/docs/source/guides/admin-guides/references/man1/rmkit.1.rst index a4aec473b..d83ca67ce 100644 --- a/docs/source/guides/admin-guides/references/man1/rmkit.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmkit.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **rmkit**\ [\ **-? | -h | -**\ **-help**\ ] [\ **-v | -**\ **-version**\ ] -\ **rmkit**\ [\ **-V | -**\ **-verbose**\ ] [\ **-f | -**\ **-force**\ ] [\ **-t | -**\ **-test**\ ] \ *kitlist*\ +\ **rmkit**\ [\ **-V | -**\ **-verbose**\ ] [\ **-f | -**\ **-force**\ ] [\ **-t | -**\ **-test**\ ] \ *kitlist*\ *********** @@ -40,40 +40,40 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Remove this kit even there is any component in this kit is listed by osimage.kitcomponents. If this option is not specified, this kit will not be removed if any kit components listed in an osimage.kitcomponents + - -\ **-t|-**\ **-test**\ - +\ **-t|-**\ **-test**\ + Test if kitcomponents in this kit are used by osimage + - -\ *kitlist*\ - +\ *kitlist*\ + A comma delimited list of kits that are to be removed from the xCAT cluster. Each entry can be a kitname or kit basename. For kit basename, rmkit command will remove all the kits that have that kit basename. - + diff --git a/docs/source/guides/admin-guides/references/man1/rmkitcomp.1.rst b/docs/source/guides/admin-guides/references/man1/rmkitcomp.1.rst index 3dbd0bf13..183372691 100644 --- a/docs/source/guides/admin-guides/references/man1/rmkitcomp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmkitcomp.1.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **rmkitcomp**\ [\ **-? | -h | -**\ **-help**\ ] [\ **-v | -**\ **-version**\ ] -\ **rmkitcomp**\ [\ **-V | -**\ **-verbose**\ ] [\ **-u | -**\ **-uninstall**\ ] [\ **-f | -**\ **-force**\ ] [\ **-**\ **-noscripts**\ ] \ **-i**\ \ *osimage*\ \ *kitcompname_list*\ +\ **rmkitcomp**\ [\ **-V | -**\ **-verbose**\ ] [\ **-u | -**\ **-uninstall**\ ] [\ **-f | -**\ **-force**\ ] [\ **-**\ **-noscripts**\ ] \ **-i**\ \ *osimage*\ \ *kitcompname_list*\ *********** @@ -40,52 +40,52 @@ OPTIONS -\ **-u|-**\ **-uninstall**\ - +\ **-u|-**\ **-uninstall**\ + All the kit component meta rpms and package rpms in otherpkglist will be uninstalled during genimage for stateless image and updatenode for stateful nodes. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command version. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Remove this kit component from osimage no matter it is a dependency of other kit components. + - -\ **-**\ **-noscripts**\ - +\ **-**\ **-noscripts**\ + Do not remove kitcomponent's postbootscripts from osimage + - -\ **-i**\ \ *osimage*\ - +\ **-i**\ \ *osimage*\ + osimage name that include this kit component. + - -\ *kitcompname_list*\ - +\ *kitcompname_list*\ + A comma-delimited list of valid full kit component names or kit component basenames that are to be removed from the osimage. If a basename is specified, all kitcomponents matching that basename will be removed from the osimage. - + diff --git a/docs/source/guides/admin-guides/references/man1/rmnimimage.1.rst b/docs/source/guides/admin-guides/references/man1/rmnimimage.1.rst index 134b409af..f6b6ffe7a 100644 --- a/docs/source/guides/admin-guides/references/man1/rmnimimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmnimimage.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **rmnimimage [-h|-**\ **-help]**\ +\ **rmnimimage [-h|-**\ **-help]**\ -\ **rmnimimage [-V|-**\ **-verbose] [-f|-**\ **-force] [-d|-**\ **-delete] [-x|-**\ **-xcatdef] [-M|-**\ **-managementnode] [-s**\ \ *servicenoderange*\ ] \ *osimage_name*\ +\ **rmnimimage [-V|-**\ **-verbose] [-f|-**\ **-force] [-d|-**\ **-delete] [-x|-**\ **-xcatdef] [-M|-**\ **-managementnode] [-s**\ \ *servicenoderange*\ ] \ *osimage_name*\ *********** @@ -31,7 +31,7 @@ DESCRIPTION Use this xCAT command to remove the AIX resources specified in an xCAT osimage definition. -To list the contents of the xCAT osimage definition use the xCAT \ **lsdef**\ command ("lsdef -t osimage -l -o "). \ **Before running the rmnimimage command you should be absolutely certain that you really want to remove the NIM resources specified in the xCAT osimage definition!**\ +To list the contents of the xCAT osimage definition use the xCAT \ **lsdef**\ command ("lsdef -t osimage -l -o "). \ **Before running the rmnimimage command you should be absolutely certain that you really want to remove the NIM resources specified in the xCAT osimage definition!**\ The default behavior of this command is to remove all the NIM resources, except the lpp_source, on the xCAT management node in addition to the resources that were replicated on any xCAT service nodes. @@ -58,52 +58,52 @@ OPTIONS -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-d|-**\ **-delete**\ - +\ **-d|-**\ **-delete**\ + Delete any files or directories that were left after the "nim -o remove" command was run. This option will also remove the lpp_source resouce and all files contained in the lpp_source directories. When this command completes all definitions and files will be completely erased so use with caution! + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + Override the check for shared resources when removing an xCAT osimage. + - -\ **-M|-**\ **-managementnode**\ - +\ **-M|-**\ **-managementnode**\ + Remove NIM resources from the xCAT management node only. + - -\ **-s**\ \ *servicenoderange*\ - +\ **-s**\ \ *servicenoderange*\ + Remove the NIM resources on these xCAT service nodes only. Do not remove the NIM resources from the xCAT management node. + - -\ *osimage_name*\ - +\ *osimage_name*\ + The name of the xCAT osimage definition. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. This option will display the underlying NIM commands that are being called. + - -\ **-x|-**\ **-xcatdef**\ - +\ **-x|-**\ **-xcatdef**\ + Remove the xCAT osimage definition. - + diff --git a/docs/source/guides/admin-guides/references/man1/rmvlan.1.rst b/docs/source/guides/admin-guides/references/man1/rmvlan.1.rst index f5a8674c0..67b48992a 100644 --- a/docs/source/guides/admin-guides/references/man1/rmvlan.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmvlan.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **rmvlan**\ \ *vlanid*\ +\ **rmvlan**\ \ *vlanid*\ \ **rmvlan**\ [\ **-h | -**\ **-help**\ ] @@ -76,19 +76,19 @@ EXAMPLES 1. - + To remove vlan 3 - - + + .. code-block:: perl - + rmvlan 3 - - + + If the nodes are KVM guest then the do the following after the vlan is removed: rpower node1,node2 off rmvm node1,node2 - + diff --git a/docs/source/guides/admin-guides/references/man1/rmvm.1.rst b/docs/source/guides/admin-guides/references/man1/rmvm.1.rst index d1d7a5e5a..39a083ec7 100644 --- a/docs/source/guides/admin-guides/references/man1/rmvm.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmvm.1.rst @@ -19,24 +19,24 @@ SYNOPSIS ******** -\ **rmvm [-h| -**\ **-help]**\ +\ **rmvm [-h| -**\ **-help]**\ -\ **rmvm [-v| -**\ **-version]**\ +\ **rmvm [-v| -**\ **-version]**\ -\ **rmvm [-V| -**\ **-verbose]**\ \ *noderange*\ \ **[-r] [-**\ **-service]**\ +\ **rmvm [-V| -**\ **-verbose]**\ \ *noderange*\ \ **[-r] [-**\ **-service]**\ For KVM and VMware: =================== -\ **rmvm [-p] [-f]**\ \ *noderange*\ +\ **rmvm [-p] [-f]**\ \ *noderange*\ PPC (using Direct FSP Management) specific: =========================================== -\ **rmvm [-p]**\ \ *noderange*\ +\ **rmvm [-p]**\ \ *noderange*\ diff --git a/docs/source/guides/admin-guides/references/man1/rmzone.1.rst b/docs/source/guides/admin-guides/references/man1/rmzone.1.rst index 0ce98ee7d..aebfb16ef 100644 --- a/docs/source/guides/admin-guides/references/man1/rmzone.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rmzone.1.rst @@ -7,7 +7,7 @@ rmzone.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,7 +15,7 @@ rmzone.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -25,7 +25,7 @@ rmzone.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* @@ -38,94 +38,90 @@ Note: if any zones in the zone table, there must be one and only one defaultzone *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Displays usage information. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Displays command version and build date. + - -\ **-f | -**\ **-force**\ - +\ **-f | -**\ **-force**\ + Used to remove a zone that is defined as current default zone. This should only be done if you are removing all zones, or you will adding a new zone or changing an existing zone to be the default zone. + - -\ **-g | -**\ **-assigngroup**\ - +\ **-g | -**\ **-assigngroup**\ + Remove the assigned group named \ **zonename**\ from all nodes assigned to the zone being removed. + - -\ **-V | -**\ **-Verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. To remove zone1 from the zone table and the zonename attribute on all it's assigned nodes , enter: - - + + .. code-block:: perl - + rmzone zone1 + + - - -2. - - To remove zone2 from the zone table, the zone2 zonename attribute, and the zone2 group assigned to all nodes that were in zone2, enter: - - +2. To remove zone2 from the zone table, the zone2 zonename attribute, and the zone2 group assigned to all nodes that were in zone2, enter: + + .. code-block:: perl - + rmzone zone2 -g + + - - -3. - - To remove zone3 from the zone table, all the node zone attributes and override the fact it is the defaultzone, enter: - - +3. To remove zone3 from the zone table, all the node zone attributes and override the fact it is the defaultzone, enter: + + .. code-block:: perl - + rmzone zone3 -g -f + + +\ **Files**\ - -\ **Files**\ - -\ **/opt/xcat/bin/rmzone/**\ +\ **/opt/xcat/bin/rmzone/**\ Location of the rmzone command. **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** -L ,L ,L , updatenode(1)|updatenode.1 +mkzone(1)|mkzone.1, chzone(1)|chzone.1, xdsh(1)|xdsh.1, updatenode(1)|updatenode.1 diff --git a/docs/source/guides/admin-guides/references/man1/rnetboot.1.rst b/docs/source/guides/admin-guides/references/man1/rnetboot.1.rst index c86ad1317..866e10306 100644 --- a/docs/source/guides/admin-guides/references/man1/rnetboot.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rnetboot.1.rst @@ -46,41 +46,41 @@ OPTIONS ******* -\ **-s**\ +\ **-s**\ Set the boot device order. Accepted boot devices are hd and net. -\ **-F**\ +\ **-F**\ Force reboot the system no matter what state the node is. By default, rnetboot will not reboot the node if node is in 'boot' state. -\ **-f**\ +\ **-f**\ Force immediate shutdown of the partition. -\ **-m**\ +\ **-m**\ Use one or multiple -m flags to specify the node attributes and the expected status for the node installation monitoring and automatic retry mechanism. The operators ==, !=, =~ and !~ are valid. This flag must be used with -t flag. Note: if the "val" fields includes spaces or any other characters that will be parsed by shell, the "attrval" needs to be quoted. If the operator is "!~", the "attrval" needs to be quoted using single quote. -\ **-r**\ +\ **-r**\ specify the number of retries that the monitoring process will perform before declaring the failure. The default value is 3. Setting the retrycount to 0 means only monitoring the os installation progress and will not re-initiate the installation if the node status has not been changed to the expected value after timeout. This flag must be used with -m flag. -\ **-t**\ +\ **-t**\ Specify the timeout, in minutes, to wait for the expectedstatus specified by -m flag. This is a required flag if the -m flag is specified. -\ **-V|-**\ **-verbose**\ +\ **-V|-**\ **-verbose**\ Verbose output. -\ **-h|-**\ **-help**\ +\ **-h|-**\ **-help**\ Display usage message. -\ **-v|-**\ **-version**\ +\ **-v|-**\ **-version**\ Command Version. @@ -104,15 +104,15 @@ EXAMPLES .. code-block:: perl rnetboot 1,3 - + rnetboot 14-56,70-203 - + rnetboot 1,3,14-56,70-203 - + rnetboot all,-129-256 - + rnetboot all -s hd,net - + rnetboot all ipl=00c diff --git a/docs/source/guides/admin-guides/references/man1/rollupdate.1.rst b/docs/source/guides/admin-guides/references/man1/rollupdate.1.rst index 385666d8b..3d445eeaa 100644 --- a/docs/source/guides/admin-guides/references/man1/rollupdate.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rollupdate.1.rst @@ -48,28 +48,28 @@ OPTIONS -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Display additional progress and error messages. Output is also logged in /var/log/xcat/rollupdate.log. + - -\ **-t|-**\ **-test**\ - +\ **-t|-**\ **-test**\ + Run the rollupdate command in test mode only to verify the output files that are created. No scheduler reservation requests will be submitted. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -95,17 +95,17 @@ EXAMPLES 1. - + To run a cluster rolling update based on the information you have created in the file /u/admin/rolling_updates/update_all.stanza enter: - - + + .. code-block:: perl - + cat /u/admin/rolling_updates/update_all.stanza | rollupdate - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rpower.1.rst b/docs/source/guides/admin-guides/references/man1/rpower.1.rst index 3756d063e..71bdc73a8 100644 --- a/docs/source/guides/admin-guides/references/man1/rpower.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rpower.1.rst @@ -149,94 +149,94 @@ OPTIONS -\ **on**\ - +\ **on**\ + Turn power on. + - -\ **onstandby**\ - +\ **onstandby**\ + Turn power on to standby state + - -\ **-T**\ - +\ **-T**\ + The value could be \ **lpar**\ or \ **fnm**\ . The tooltype value \ **lpar**\ is for xCAT and \ **fnm**\ is for CNM. The default value is "\ **lpar**\ ". For cold start in the large cluster, it will save a lot of time if the admins use "\ **rpower**\ \ *noderange*\ \ **onstandby**\ \ **-T**\ \ **fnm**\ " to power on all the CECs from the management node through the \ **fnm**\ connections. + - -\ **rackstandby**\ - +\ **rackstandby**\ + Places the rack in the rack standby state. It requires that all CECs and DE be powered off before it will run. + - -\ **exit_rackstandby**\ - +\ **exit_rackstandby**\ + Exit Rack standby will be the default state that a rack goes into when power is initially applied to the rack. It simply moves the BPA from Rack standby to both bpa's in standby state. + - -\ **resetsp**\ - +\ **resetsp**\ + Reboot the service processor. If there are primary and secondary FSPs/BPAs of one cec/frame, it will reboot them almost at the same time. + - -\ **softoff**\ - +\ **softoff**\ + Attempt to request clean shutdown of OS (may not detect failures in completing command) + - -\ **off**\ - +\ **off**\ + Turn power off. + - -\ **suspend**\ - +\ **suspend**\ + Suspend the target nodes execution. - + The \ **suspend**\ action could be run together with \ **-w**\ \ **-o**\ \ **-r**\ . - + Refer to the following steps to enable the \ **suspend**\ function: - + 1. Add the 'acpid' and 'suspend'(the suspend package is not needed on RHEL) package to the .pkglist of your osimage so that the required package could be installed correctly to your target system. - + 2. Add two configuration files for the base function: - - + + .. code-block:: perl - + /etc/pm/config.d/suspend S2RAM_OPTS="--force --vbe_save --vbe_post --vbe_mode" - + /etc/acpi/events/suspend_event event=button/sleep.* action=/usr/sbin/pm-suspend - - + + 3. Add the hook files for your specific applications which need specific action before or after the suspend action. - + Refer to the 'pm-utils' package for how to create the specific hook files. + - -\ **wake**\ - +\ **wake**\ + Wake up the target nodes which is in \ **suspend**\ state. - + Don't try to run \ **wake**\ against the 'on' state node, it would cause the node gets to 'off' state. - + For some of xCAT hardware such as NeXtScale, it may need to enable S3 before using \ **wake**\ . The following steps can be used to enable S3. Reference pasu(1)|pasu.1 for "pasu" usage. - - + + .. code-block:: perl - + [root@xcatmn home]# echo "set Power.S3Enable Enable" > power-setting [root@xcatmn home]# pasu -b power-setting node01 node01: Batch mode start. @@ -248,7 +248,7 @@ OPTIONS node01: Command completed successfully. node01: Completed intermediate batch update. node01: Batch mode completed successfully. - + [root@xcatmn home]# pasu node01 show all|grep -i s3 node01: IMM.Community_HostIPAddress3.1= node01: IMM.Community_HostIPAddress3.2= @@ -256,158 +256,158 @@ OPTIONS node01: IMM.DNS_IP_Address3=0.0.0.0 node01: IMM.IPv6DNS_IP_Address3=:: node01: Power.S3Enable=Enable + + - - -\ **stat | state**\ - +\ **stat | state**\ + Print the current power state/status. + - -\ **reset**\ - +\ **reset**\ + Send a hard reset. + - -\ **boot**\ - +\ **boot**\ + If off, then power on. If on, then hard reset. This option is recommended over \ **cycle**\ . + - -\ **cycle**\ - +\ **cycle**\ + Power off, then on. + - -\ **reseat**\ - +\ **reseat**\ + For Lenovo high-density servers, simulates unplugging and replugging the node into the chassis. + - -\ **of**\ - +\ **of**\ + Boot the node to open firmware console mode. + - -\ **sms**\ - +\ **sms**\ + Boot the node to open firmware SMS menu mode. + - -\ **-m**\ \ *table.column*\ ==\ *expectedstatus*\ \ **-m**\ \ *table.column*\ =~\ *expectedstatus*\ - +\ **-m**\ \ *table.column*\ ==\ *expectedstatus*\ \ **-m**\ \ *table.column*\ =~\ *expectedstatus*\ + Use one or multiple \ **-m**\ flags to specify the node attributes and the expected status for the node installation monitoring and automatic retry mechanism. The operators ==, !=, =~ and !~ are valid. This flag must be used with -t flag. - + Note: if the "val" fields includes spaces or any other characters that will be parsed by shell, the "attrval" needs to be quoted. If the operator is "!~", the "attrval" needs to be quoted using single quote. + - -\ **-**\ **-nodeps**\ - +\ **-**\ **-nodeps**\ + Do not use dependency table (default is to use dependency table). Valid only with \ **on|off|boot|reset|cycle**\ for blade power method and \ **on|off|reset|softoff**\ for hmc/fsp power method. + - -\ **-r**\ \ *retrycount*\ - +\ **-r**\ \ *retrycount*\ + specify the number of retries that the monitoring process will perform before declaring the failure. The default value is 3. Setting the retrycount to 0 means only monitoring the os installation progress and will not re-initiate the installation if the node status has not been changed to the expected value after timeout. This flag must be used with -m flag. + - -\ **-t**\ \ *timeout*\ - +\ **-t**\ \ *timeout*\ + Specify the timeout, in minutes, to wait for the expectedstatus specified by -m flag. This is a required flag if the -m flag is specified. - + Power off, then on. + - -\ **-w**\ \ *timeout*\ - +\ **-w**\ \ *timeout*\ + To set the \ *timeout*\ for the \ **suspend**\ action to wait for the success. + - -\ **-o**\ - +\ **-o**\ + To specify that the target node will be power down if \ **suspend**\ action failed. + - -\ **-r**\ - +\ **-r**\ + To specify that the target node will be reset if \ **suspend**\ action failed. + - -\ **start**\ - +\ **start**\ + To start a created docker instance. + - -\ **stop**\ - +\ **stop**\ + To stop a created docker instance. + - -\ **restart**\ - +\ **restart**\ + To restart a created docker instance. + - -\ **pause**\ - +\ **pause**\ + To pause all processes in the instance. + - -\ **unpause**\ - +\ **unpause**\ + To unpause all processes in the instance. + - -\ **bmcreboot**\ - +\ **bmcreboot**\ + To reboot BMC. + - -\ **bmcstate**\ - +\ **bmcstate**\ + To get state of the BMC. + - -\ **state**\ - +\ **state**\ + To get state of the instance. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Prints out a brief usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display the version number. - + @@ -418,40 +418,40 @@ EXAMPLES 1. To display power status of nodes4 and note5 - - + + .. code-block:: perl - + rpower node4,node5 stat - - + + Output is similar to: - - + + .. code-block:: perl - + node4: on node5: off - - + + 2. To power on node5 - - + + .. code-block:: perl - + rpower node5 on - - + + Output is similar to: - - + + .. code-block:: perl - + node5: on - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rscan.1.rst b/docs/source/guides/admin-guides/references/man1/rscan.1.rst index fa143d57a..9d6ff5082 100644 --- a/docs/source/guides/admin-guides/references/man1/rscan.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rscan.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **rscan [-h|-**\ **-help]**\ +\ **rscan [-h|-**\ **-help]**\ -\ **rscan [-v|-**\ **-version]**\ +\ **rscan [-v|-**\ **-version]**\ -\ **rscan [-V|-**\ **-verbose]**\ \ *noderange*\ \ **[-u][-w][-x|-z]**\ +\ **rscan [-V|-**\ **-verbose]**\ \ *noderange*\ \ **[-u][-w][-x|-z]**\ *********** @@ -101,7 +101,7 @@ Output is similar to: .. code-block:: perl type name id type-model serial-number address - + hmc hmc01 7310-C05 10F426A hmc01 fsp Server-9117-MMA-SN10F6F3D 9117-MMA 10F6F3D 3.3.3.197 lpar lpar3 4 9117-MMA 10F6F3D @@ -136,7 +136,7 @@ Output is similar to: fsp,all 10 - + ivm lpar01 @@ -150,7 +150,7 @@ Output is similar to: lpar,all 1 - + ivm lpar02 @@ -191,7 +191,7 @@ Output is similar to: groups=bpa,all mgt=hmc cons= - + Server-9119-590-SN02C5F9E: objtype=node type=fsp @@ -204,7 +204,7 @@ Output is similar to: groups=fsp,all mgt=hmc cons= - + lpar01: objtype=node nodetype=lpar,osi @@ -217,7 +217,7 @@ Output is similar to: groups=lpar,all mgt=hmc cons=hmc - + lpar02: objtype=node nodetype=lpar,osi diff --git a/docs/source/guides/admin-guides/references/man1/rsetboot.1.rst b/docs/source/guides/admin-guides/references/man1/rsetboot.1.rst index a38804cb1..f25aa0bed 100644 --- a/docs/source/guides/admin-guides/references/man1/rsetboot.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rsetboot.1.rst @@ -30,46 +30,46 @@ OPTIONS -\ **hd**\ - +\ **hd**\ + Boot from the hard disk. + - -\ **net**\ - +\ **net**\ + Boot over the network, using a PXE or BOOTP broadcast. + - -\ **cd**\ - +\ **cd**\ + Boot from the CD or DVD drive. + - -\ **def | default**\ - +\ **def | default**\ + Boot using the default set in BIOS. + - -\ **stat**\ - +\ **stat**\ + Display the current boot setting. + - -\ **-u**\ - +\ **-u**\ + To specify the next boot mode to be "UEFI Mode". (Not supported for OpenBMC) + - -\ **-p**\ - +\ **-p**\ + To make the specified boot device and boot mode settings persistent. - + @@ -80,47 +80,47 @@ EXAMPLES 1. - + Set nodes 1 and 3 to boot from the network on the next boot: - - + + .. code-block:: perl - + rsetboot node1,node3 net - - + + 2. - + Display the next-boot value for nodes 14-56 and 70-203: - - + + .. code-block:: perl - + rsetboot node[14-56],node[70-203] stat - - + + Or: - - + + .. code-block:: perl - + rsetboot node[14-56],node[70-203] - - + + 3. - + Restore the next-boot value for these nodes back to their default set in the BIOS: - - + + .. code-block:: perl - + rsetboot node1,node3,node[14-56],node[70-203] default - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rspconfig.1.rst b/docs/source/guides/admin-guides/references/man1/rspconfig.1.rst index 957b8848d..d85e1eb50 100644 --- a/docs/source/guides/admin-guides/references/man1/rspconfig.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rspconfig.1.rst @@ -29,7 +29,7 @@ BMC/MPA specific: \ **rspconfig**\ \ *noderange*\ \ **alert**\ ={\ **on | enable | off | disable**\ } -\ **rspconfig**\ \ *noderange*\ \ **snmpdest**\ =\ *snmpmanager-IP*\ +\ **rspconfig**\ \ *noderange*\ \ **snmpdest**\ =\ *snmpmanager-IP*\ \ **rspconfig**\ \ *noderange*\ \ **community**\ ={\ **public**\ | \ *string*\ } @@ -40,7 +40,7 @@ BMC specific: \ **rspconfig**\ \ *noderange*\ {\ **ip | netmask | gateway | backupgateway | garp | vlan**\ } -\ **rspconfig**\ \ *noderange*\ \ **garp**\ =\ *time*\ +\ **rspconfig**\ \ *noderange*\ \ **garp**\ =\ *time*\ OpenBMC specific: @@ -51,41 +51,41 @@ OpenBMC specific: \ **rspconfig**\ \ *noderange*\ \ **admin_passwd**\ ={\ *currentpasswd,newpasswd*\ } -\ **rspconfig**\ \ *noderange*\ \ **autoreboot**\ +\ **rspconfig**\ \ *noderange*\ \ **autoreboot**\ -\ **rspconfig**\ \ *noderange*\ \ **autoreboot={0|1}**\ +\ **rspconfig**\ \ *noderange*\ \ **autoreboot={0|1}**\ -\ **rspconfig**\ \ *noderange*\ \ **bootmode**\ +\ **rspconfig**\ \ *noderange*\ \ **bootmode**\ -\ **rspconfig**\ \ *noderange*\ \ **bootmode={safe|regular|setup}**\ +\ **rspconfig**\ \ *noderange*\ \ **bootmode={safe|regular|setup}**\ \ **rspconfig**\ \ *noderange*\ \ **dump**\ [\ **-l | -**\ **-list**\ ] [\ **-g | -**\ **-generate**\ ] [\ **-c | -**\ **-clear**\ {\ *id*\ | \ **all**\ }] [\ **-d | -**\ **-download**\ {\ *id*\ | \ **all**\ }] -\ **rspconfig**\ \ *noderange*\ \ **gard -c|-**\ **-clear**\ +\ **rspconfig**\ \ *noderange*\ \ **gard -c|-**\ **-clear**\ -\ **rspconfig**\ \ *noderange*\ \ **ip=dhcp**\ +\ **rspconfig**\ \ *noderange*\ \ **ip=dhcp**\ -\ **rspconfig**\ \ *noderange*\ \ **hostname**\ +\ **rspconfig**\ \ *noderange*\ \ **hostname**\ \ **rspconfig**\ \ *noderange*\ \ **hostname**\ ={\* | \ *name*\ } -\ **rspconfig**\ \ *noderange*\ \ **ntpservers**\ +\ **rspconfig**\ \ *noderange*\ \ **ntpservers**\ \ **rspconfig**\ \ *noderange*\ \ **ntpservers**\ ={\ *ntpservers*\ } -\ **rspconfig**\ \ *noderange*\ \ **powerrestorepolicy**\ +\ **rspconfig**\ \ *noderange*\ \ **powerrestorepolicy**\ -\ **rspconfig**\ \ *noderange*\ \ **powerrestorepolicy={always_on|restore|always_off}**\ +\ **rspconfig**\ \ *noderange*\ \ **powerrestorepolicy={always_on|restore|always_off}**\ -\ **rspconfig**\ \ *noderange*\ \ **powersupplyredundancy**\ +\ **rspconfig**\ \ *noderange*\ \ **powersupplyredundancy**\ -\ **rspconfig**\ \ *noderange*\ \ **powersupplyredundancy={disabled|enabled}**\ +\ **rspconfig**\ \ *noderange*\ \ **powersupplyredundancy={disabled|enabled}**\ -\ **rspconfig**\ \ *noderange*\ \ **sshcfg**\ +\ **rspconfig**\ \ *noderange*\ \ **sshcfg**\ -\ **rspconfig**\ \ *noderange*\ \ **timesyncmethod**\ +\ **rspconfig**\ \ *noderange*\ \ **timesyncmethod**\ -\ **rspconfig**\ \ *noderange*\ \ **timesyncmethod={manual|ntp}**\ +\ **rspconfig**\ \ *noderange*\ \ **timesyncmethod={manual|ntp}**\ MPA specific: @@ -131,9 +131,9 @@ FSP/CEC specific: \ **rspconfig**\ \ *noderange*\ \ **iocap**\ ={\ **enable | disable**\ } -\ **rspconfig**\ \ *noderange*\ \ **time**\ =\ *hh:mm:ss*\ +\ **rspconfig**\ \ *noderange*\ \ **time**\ =\ *hh:mm:ss*\ -\ **rspconfig**\ \ *noderange*\ \ **date**\ =\ *mm:dd:yyyy*\ +\ **rspconfig**\ \ *noderange*\ \ **date**\ =\ *mm:dd:yyyy*\ \ **rspconfig**\ \ *noderange*\ \ **decfg**\ ={\ **enable|disable**\ :\ *policyname,...*\ } @@ -159,7 +159,7 @@ FSP/CEC specific: \ **rspconfig**\ \ *noderange*\ \ **hostname**\ ={\* | \ *name*\ } -\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ +\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ Flex system Specific: @@ -203,7 +203,7 @@ BPA/Frame Specific: \ **rspconfig**\ \ *noderange*\ \ **hostname**\ ={\* | \ *name*\ } -\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ +\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ FSP/CEC (using Direct FSP Management) Specific: @@ -242,7 +242,7 @@ FSP/CEC (using Direct FSP Management) Specific: \ **rspconfig**\ \ *noderange*\ {\ **force_failover**\ } -\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ +\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ BPA/Frame (using Direct FSP Management) Specific: @@ -269,7 +269,7 @@ BPA/Frame (using Direct FSP Management) Specific: \ **rspconfig**\ \ *noderange*\ \ **pending_power_on_side**\ ={\ **temp | perm**\ } -\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ +\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ HMC Specific: @@ -280,7 +280,7 @@ HMC Specific: \ **rspconfig**\ \ *noderange*\ \ **sshcfg**\ ={\ **enable | disable**\ } -\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ +\ **rspconfig**\ \ *noderange*\ \ **-**\ **-resetnet**\ @@ -300,418 +300,418 @@ OPTIONS -\ **alert={on | enable | off | disable}**\ - +\ **alert={on | enable | off | disable}**\ + Turn on or off SNMP alerts. - + \ **autopower**\ ={\ *enable*\ | \ *disable*\ } - + Select the policy for auto power restart. If enabled, the system will boot automatically once power is restored after a power disturbance. + - -\ **backupgateway**\ - +\ **backupgateway**\ + Get the BMC backup gateway ip address. - + \ **community**\ ={\ **public**\ | \ *string*\ } - - Get or set the SNMP commmunity value. The default is \ **public**\ . + + Get or set the SNMP community value. The default is \ **public**\ . + - -\ **date**\ =\ *mm:dd:yyy*\ - +\ **date**\ =\ *mm:dd:yyy*\ + Enter the current date. - + \ **decfg**\ ={\ **enable | disable**\ :\ *policyname,...*\ } - + Enables or disables deconfiguration policies. - + \ **frame**\ ={\ *framenumber*\ | \*} - + Set or get frame number. If no framenumber and \* specified, framenumber for the nodes will be displayed and updated in xCAAT database. If framenumber is specified, it only supports single node and the framenumber will be set for that frame. If \* is specified, it supports noderange and all the frame numbers for the noderange will be read from xCAT database and set to frames. Setting the frame number is a disruptive command which requires all CECs to be powered off prior to issuing the command. - + \ **cec_off_policy**\ ={\ **poweroff | stayon**\ } - + Set or get cec off policy after lpars are powered off. If no cec_off_policy value specified, the cec_off_policy for the nodes will be displayed. the cec_off_policy has two values: \ **poweroff**\ and \ **stayon**\ . \ **poweroff**\ means Power off when last partition powers off. \ **stayon**\ means Stay running after last partition powers off. If cec_off_policy value is specified, the cec off policy will be set for that cec. - + \ **HMC_passwd**\ ={\ *currentpasswd,newpasswd*\ } - + Change the password of the userid \ **HMC**\ for CEC/Frame. If the CEC/Frame is the factory default, the currentpasswd should NOT be specified; otherwise, the currentpasswd should be specified to the current password of the userid \ **HMC**\ for the CEC/Frame. - + \ **admin_passwd**\ ={\ *currentpasswd,newpasswd*\ } - + Change the password of the userid \ **admin**\ for CEC/Frame from currentpasswd to newpasswd. If the CEC/Frame is the factory default, the currentpasswd should NOT be specified; otherwise, the currentpasswd should be specified to the current password of the userid \ **admin**\ for the CEC/Frame. - + \ **general_passwd**\ ={\ *currentpasswd,newpasswd*\ } - + Change the password of the userid \ **general**\ for CEC/Frame from currentpasswd to newpasswd. If the CEC/Frame is the factory default, the currentpasswd should NOT be specified; otherwise, the currentpasswd should be specified to the current password of the userid \ **general**\ for the CEC/Frame. - + \*\ **_passwd**\ ={\ *currentpasswd,newpasswd*\ } - + Change the passwords of the userids \ **HMC**\ , \ **admin**\ and \ **general**\ for CEC/Frame from currentpasswd to newpasswd. If the CEC/Frame is the factory default, the currentpasswd should NOT be specified; otherwise, if the current passwords of the userids \ **HMC**\ , \ **admin**\ and \ **general**\ for CEC/Frame are the same one, the currentpasswd should be specified to the current password, and then the password will be changed to the newpasswd. If the CEC/Frame is NOT the factory default, and the current passwords of the userids \ **HMC**\ , \ **admin**\ and \ **general**\ for CEC/Frame are NOT the same one, this option could NOT be used, and we should change the password one by one. + - -\ **frequency**\ - +\ **frequency**\ + The NTP update frequency (in minutes). + - -\ **gard -c|-**\ **-clear**\ - +\ **gard -c|-**\ **-clear**\ + Clear gard file. [OpenBMC] + - -\ **garp**\ =\ *time*\ - +\ **garp**\ =\ *time*\ + Get or set Gratuitous ARP generation interval. The unit is number of 1/2 second. + - -\ **gateway**\ - +\ **gateway**\ + The gateway ip address. + - -\ **hostname**\ - +\ **hostname**\ + Display the CEC/BPA system names. + - -\ **BSR**\ - +\ **BSR**\ + Get Barrier Synchronization Register (BSR) allocation for a CEC. + - -\ **huge_page**\ - +\ **huge_page**\ + Query huge page information or request NUM of huge pages for CEC. If no value specified, it means query huge page information for the specified CECs, if a CEC is specified, the specified huge_page value NUM will be used as the requested number of huge pages for the CEC, if CECs are specified, it means to request the same NUM huge pages for all the specified CECs. - + \ **setup_failover**\ ={\ **enable**\ | \ **disable**\ } - + Enable or disable the service processor failover function of a CEC or display status of this function. + - -\ **force_failover**\ - +\ **force_failover**\ + Force a service processor failover from the primary service processor to the secondary service processor. - + \ **hostname**\ ={\* | \ *name*\ } - + Set CEC/BPA system names to the names in xCAT DB or the input name. - + \ **iocap**\ ={\ **enable**\ | \ **disable**\ } - + Select the policy for I/O Adapter Enlarged Capacity. This option controls the size of PCI memory space allocated to each PCI slot. + - -\ **hostname**\ - +\ **hostname**\ + Get or set hostname on the service processor. + - -\ **vlan**\ - - Get or set vlan ID. For get vlan ID, if vlan is not enabled, 'BMC VLAN disabled' will be outputed. For set vlan ID, the valid value are [1-4096]. +\ **vlan**\ + + Get or set vlan ID. For get vlan ID, if vlan is not enabled, 'BMC VLAN disabled' will be displayed. For set vlan ID, the valid value are [1-4096]. + - -\ **ipsrc**\ - +\ **ipsrc**\ + Get the IP source for OpenBMC. + - -\ **ip**\ - +\ **ip**\ + The IP address. - + \ **memdecfg**\ ={\ **configure | deconfigure**\ :\ *processingunit*\ :\ *unit|bank*\ :\ *id,...*\ } - + Select whether each memory bank should be enabled or disabled. State changes take effect on the next platform boot. + - -\ **netmask**\ - +\ **netmask**\ + The subnet mask. + - -\ **powerrestorepolicy**\ - +\ **powerrestorepolicy**\ + Display or control BMC Power Restore Policy attribute setting. [OpenBMC] + - -\ **powersupplyredundancy**\ - +\ **powersupplyredundancy**\ + Display or control BMC Power Supply Redundancy attribute setting. [OpenBMC] + - -\ **autoreboot**\ - +\ **autoreboot**\ + Display or control BMC Auto Reboot attribute setting. [OpenBMC] + - -\ **bootmode**\ - +\ **bootmode**\ + Display or control BMC Boot Mode attribute setting. [OpenBMC] + - -\ **dump**\ - +\ **dump**\ + Generate/Manage BMC system dumps. If no sub-option is provided, will generate, wait, and download the dump. [OpenBMC] - - + + \ **-c**\ will clear a single specified dump, or use 'all' to clear all dumps on the BMC. - - - + + + \ **-l**\ will list all the generated dumps on the BMC. - - - + + + \ **-g**\ will generate a new dump on the BMC. Dump generation can take a few minutes. - - - + + + \ **-d**\ will download a single dump or all generated dumps from the BMC to /var/log/xcat/dump on management or service node. + + + - - - -\ **timesyncmethod**\ - +\ **timesyncmethod**\ + Set the method for time synchronization on the BMC. [OpenBMC] - + \ **network**\ ={[\ *ip*\ ],[\ *host*\ ],[\ *gateway*\ ],[\ *netmask*\ ]|\*} - + For MPA: get or set the MPA network parameters. If '\*' is specified, all parameters are read from the xCAT database. - + For FSP of Flex system P node: set the network parameters. If '\*' is specified, all parameters are read from the xCAT database. - + \ **initnetwork**\ ={[\ *ip*\ ],[\ *host*\ ],[\ *gateway*\ ],[\ *netmask*\ ]|\*} - + For MPA only. Connecting to the IP of MPA from the hosts.otherinterfaces to set the MPA network parameters. If '\*' is specified, all parameters are read from the xCAT database. - + \ **network**\ ={\ *nic*\ ,{[\ *ip*\ ],[\ *host*\ ],[\ *gateway*\ ],[\ *netmask*\ ]}|\*} - + Not only for FSP/BPA but also for IMM. Get or set the FSP/BPA/IMM network parameters. If '\*' is specified, all parameters are read from the xCAT database. If the value of \ *ip*\ is '0.0.0.0', this \ *nic*\ will be configured as a DHCP client. Otherwise this \ *nic*\ will be configured with a static IP. - + Note that IPs of FSP/BPAs will be updated with this option, user needs to put the new IPs to /etc/hosts manually or with xCAT command makehosts. For more details, see the man page of makehosts. + - -\ **nonred**\ - +\ **nonred**\ + Allows loss of redundancy. - + \ **ntp**\ ={[\ *ntpenable*\ ],[\ *ntpserver*\ ],[\ *frequency*\ ],[\ *v3*\ ]} - + Get or set the MPA Network Time Protocol (NTP) parameters. + - -\ **ntpenable**\ - +\ **ntpenable**\ + Enable or disable NTP (enable|disable). + - -\ **ntpserver**\ - +\ **ntpserver**\ + Get or set NTP server IP address or name. + - -\ **ntpservers**\ - +\ **ntpservers**\ + Get or set NTP servers name. [OpenBMC] - + \ **pd1**\ ={\ **nonred | redwoperf | redwperf**\ } - + Power Domain 1 - determines how an MPA responds to a loss of redundant power. - + \ **pd2**\ ={\ **nonred | redwoperf | redwperf**\ } - + Power Domain 2 - determines how an MPA responds to a loss of redundant power. - + \ **procdecfg**\ ={\ **configure|deconfigure**\ :\ *processingunit*\ :\ *id,...*\ } - + Selects whether each processor should be enabled or disabled. State changes take effect on the next platform boot. + - -\ **redwoperf**\ - +\ **redwoperf**\ + Prevents components from turning on that will cause loss of power redundancy. + - -\ **redwperf**\ - +\ **redwperf**\ + Power throttles components to maintain power redundancy and prevents components from turning on that will cause loss of power redundancy. - + \ **snmpcfg**\ ={\ **enable | disable**\ } - + Enable or disable SNMP on MPA. + - -\ **snmpdest**\ =\ *snmpmanager-IP*\ - +\ **snmpdest**\ =\ *snmpmanager-IP*\ + Get or set where the SNMP alerts should be sent to. - + \ **solcfg**\ ={\ **enable | disable**\ } - + Enable or disable the sol on MPA (or CMM) and blade servers belongs to it. + - -\ **spdump**\ - +\ **spdump**\ + Performs a service processor dump. - + \ **sshcfg**\ ={\ **enable | disable**\ } - + Enable or disable SSH on MPA. + - -\ **sshcfg**\ - +\ **sshcfg**\ + Copy SSH keys. - + \ **swnet**\ ={[\ *ip*\ ],[\ *gateway*\ ],[\ *netmask*\ ]} - + Set the Switch network parameters. + - -\ **sysdump**\ - +\ **sysdump**\ + Performs a system dump. + - -\ **sysname**\ - +\ **sysname**\ + Query or set sysname for CEC or Frame. If no value specified, means to query sysname of the specified nodes. If '\*' specified, it means to set sysname for the specified nodes, and the sysname values would get from xCAT datebase. If a string is specified, it means to use the string as sysname value to set for the specified node. - + \ **pending_power_on_side**\ ={\ **temp|perm**\ } - + List or set pending power on side for CEC or Frame. If no pending_power_on_side value specified, the pending power on side for the CECs or frames will be displayed. If specified, the pending_power_on_side value will be set to CEC's FSPs or Frame's BPAs. The value 'temp' means T-side or temporary side. The value 'perm' means P-side or permanent side. + - -\ **time**\ =\ *hh:mm:ss*\ - +\ **time**\ =\ *hh:mm:ss*\ + Enter the current time in UTC (Coordinated Universal Time) format. - + \ **textid**\ ={\ *\\*|textid*\ } - + Set the blade or MPA textid. When using '\*', the textid used is the node name specified on the command-line. Note that when specifying an actual textid, only a single node can be specified in the noderange. - + \ **USERID**\ ={\ *newpasswd*\ } \ **updateBMC**\ ={\ **y|n**\ } - + Change the password of the userid \ **USERID**\ for CMM in Flex system cluster. The option \ *updateBMC*\ can be used to specify whether updating the password of BMCs that connected to the specified CMM. The value is 'y' by default which means whenever updating the password of CMM, the password of BMCs will be also updated. Note that there will be several seconds needed before this command complete. - + If value "\*" is specified for USERID and the object node is \ *Flex System X node*\ , the password used to access the BMC of the System X node through IPMI will be updated as the same password of the userid \ **USERID**\ of the CMM in the same cluster. + - -\ **-**\ **-resetnet**\ - +\ **-**\ **-resetnet**\ + Reset the network interfaces of the specified nodes. + - -\ **v3**\ - +\ **v3**\ + Enable or disable v3 authentication (enable|disable). + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Prints out a brief usage message. + - -\ **-v**\ | \ **-**\ **-version**\ - +\ **-v**\ | \ **-**\ **-version**\ + Display the version number. - + @@ -722,181 +722,181 @@ EXAMPLES 1. To setup new ssh keys on the Management Module mm: - - + + .. code-block:: perl - + rspconfig mm snmpcfg=enable sshcfg=enable - - + + 2. To turn on SNMP alerts for node5: - - + + .. code-block:: perl - + rspconfig node5 alert=on - - + + Output is similar to: - - + + .. code-block:: perl - + node5: Alerts: enabled - - + + 3. To display the destination setting for SNMP alerts for node4: - - + + .. code-block:: perl - + rspconfig node4 snmpdest - - + + Output is similar to: - - + + .. code-block:: perl - + node4: BMC SNMP Destination 1: 9.114.47.227 - - + + 4. - + To display the frame number for frame 9A00-10000001 - - + + .. code-block:: perl - + rspconfig> 9A00-10000001 frame - - + + Output is similar to: - - + + .. code-block:: perl - + 9A00-10000001: 1 - - + + 5. To set the frame number for frame 9A00-10000001 - - + + .. code-block:: perl - + rspconfig 9A00-10000001 frame=2 - - + + Output is similar to: - - + + .. code-block:: perl - + 9A00-10000001: SUCCESS - - + + 6. To set the frame numbers for frame 9A00-10000001 and 9A00-10000002 - - + + .. code-block:: perl - + rspconfig 9A00-10000001,9A00-10000002 frame=* - - + + Output is similar to: - - + + .. code-block:: perl - + 9A00-10000001: SUCCESS 9A00-10000002: SUCCESS - - + + 7. To display the MPA network parameters for mm01: - - + + .. code-block:: perl - + rspconfig mm01 network - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: MM IP: 192.168.1.47 mm01: MM Hostname: MM001125C31F28 mm01: Gateway: 192.168.1.254 mm01: Subnet Mask: 255.255.255.224 - - + + 8. To change the MPA network parameters with the values in the xCAT database for mm01: - - + + .. code-block:: perl - + rspconfig mm01 network=* - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: MM IP: 192.168.1.47 mm01: MM Hostname: mm01 mm01: Gateway: 192.168.1.254 mm01: Subnet Mask: 255.255.255.224 - - + + 9. To change only the gateway parameter for the MPA network mm01: - - + + .. code-block:: perl - + rspconfig mm01 network=,,192.168.1.1, - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: Gateway: 192.168.1.1 - - + + 10. To display the FSP network parameters for fsp01: - - + + .. code-block:: perl - + rspconfig> fsp01 network - - + + Output is similar to: - - + + .. code-block:: perl - + fsp01: eth0: IP Type: Dynamic @@ -904,237 +904,237 @@ EXAMPLES Hostname: Gateway: Netmask: 255.255.255.0 - + eth1: IP Type: Dynamic IP Address: 192.168.200.51 Hostname: fsp01 Gateway: Netmask: 255.255.255.0 - - + + 11. To change the FSP network parameters with the values in command line for eth0 on fsp01: - - + + .. code-block:: perl - + rspconfig fsp01 network=eth0,192.168.1.200,fsp01,,255.255.255.0 - - + + Output is similar to: - - + + .. code-block:: perl - + fsp01: Success to set IP address,hostname,netmask - - + + 12. To change the FSP network parameters with the values in the xCAT database for eth0 on fsp01: - - + + .. code-block:: perl - + rspconfig fsp01 network=eth0,* - - + + Output is similar to: - - + + .. code-block:: perl - + fsp01: Success to set IP address,hostname,gateway,netmask - - + + 13. To configure eth0 on fsp01 to get dynamic IP address from DHCP server: - - + + .. code-block:: perl - + rspconfig fsp01 network=eth0,0.0.0.0 - - + + Output is similar to: - - + + .. code-block:: perl - + fsp01: Success to set IP type to dynamic. - - + + 14. To get the current power redundancy mode for power domain 1 on mm01: - - + + .. code-block:: perl - + rspconfig mm01 pd1 - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: Redundant without performance impact - - + + 15. To change the current power redundancy mode for power domain 1 on mm01 to non-redundant: - - + + .. code-block:: perl - + rspconfig mm01 pd1=nonred - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: nonred - - + + 16. To enable NTP with an NTP server address of 192.168.1.1, an update frequency of 90 minutes, and with v3 authentication enabled on mm01: - - + + .. code-block:: perl - + rspconfig mm01 ntp=enable,192.168.1.1,90,enable - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: NTP: disabled mm01: NTP Server: 192.168.1.1 mm01: NTP: 90 (minutes) mm01: NTP: enabled - - + + 17. To disable NTP v3 authentication only on mm01: - - + + .. code-block:: perl - + rspconfig mm01 ntp=,,,disable - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: NTP v3: disabled - - + + 18. To disable Predictive Failure and L2 Failure deconfiguration policies on mm01: - - + + .. code-block:: perl - + rspconfig mm01 decfg=disable:predictive,L3 - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: Success - - + + 19. To deconfigure processors 4 and 5 of Processing Unit 0 on mm01: - - + + .. code-block:: perl - + rspconfig mm01 procedecfg=deconfigure:0:4,5 - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: Success - - + + 20. To check if CEC sysname set correct on mm01: - - + + .. code-block:: perl - + rspconfig mm01 sysname - + mm01: mm01 - + rspconfig mm01 sysname=cec01 - + mm01: Success - + rspconfig mm01 sysname - + mm01: cec01 - - + + 21. To check and change the pending_power_on_side value of cec01's fsps: - - + + .. code-block:: perl - + rspconfig cec01 pending_power_on_side - + cec01: Pending Power On Side Primary: temp cec01: Pending Power On Side Secondary: temp - + rspconfig cec01 pending_power_on_side=perm - + cec01: Success - + rspconfig cec01 pending_power_on_side - + cec01: Pending Power On Side Primary: perm cec01: Pending Power On Side Secondary: perm - - + + 22. To show the BSR allocation for cec01: - - + + .. code-block:: perl - + rspconfig cec01 BSR - - + + Output is similar to: - - + + .. code-block:: perl - + cec01: Barrier Synchronization Register (BSR) cec01: Number of BSR arrays: 256 cec01: Bytes per BSR array : 4096 @@ -1148,23 +1148,23 @@ EXAMPLES cec01: lpar06 : 32 cec01: lpar07 : 32 cec01: lpar08 : 32 - - + + 23. To query the huge page information for CEC1, enter: - - + + .. code-block:: perl - + rspconfig CEC1 huge_page - - + + Output is similar to: - - + + .. code-block:: perl - + CEC1: Huge Page Memory CEC1: Available huge page memory(in pages): 0 CEC1: Configurable huge page memory(in pages): 12 @@ -1180,199 +1180,195 @@ EXAMPLES CEC1: lpar21 : 0 CEC1: lpar25 : 0 CEC1: lpar29 : 0 - - + + 24. To request 10 huge pages for CEC1, enter: - - + + .. code-block:: perl - + rspconfig CEC1 huge_page=10 - - + + Output is similar to: - - + + .. code-block:: perl - + CEC1: Success - - + + 25. To disable service processor failover for cec01, in order to complete this command, the user should power off cec01 first: - - + + .. code-block:: perl - + rspconfig cec01 setup_failover - + cec01: Failover status: Enabled - + rpower cec01 off - + rspconfig cec01 setup_failover=disable - + cec01: Success - + rspconfig cec01 setup_failover - + cec01: Failover status: Disabled - - + + 26. To force service processor failover for cec01: - - + + .. code-block:: perl - + lshwconn cec01 - + cec01: 192.168.1.1: LINE DOWN cec01: 192.168.2.1: sp=primary,ipadd=192.168.2.1,alt_ipadd=unavailable,state=LINE UP cec01: 192.168.1.2: sp=secondary,ipadd=192.168.1.2,alt_ipadd=unavailable,state=LINE UP cec01: 192.168.2.2: LINE DOWN - + rspconfig cec01 force_failover - + cec01: Success. - + lshwconn> cec01 - + cec01: 192.168.1.1: sp=secondary,ipadd=192.168.1.1,alt_ipadd=unavailable,state=LINE UP cec01: 192.168.2.1: LINE DOWN cec01: 192.168.1.2: LINE DOWN cec01: 192.168.2.2: sp=primary,ipadd=192.168.2.2,alt_ipadd=unavailable,state=LINE UP + + - - -27. - - To deconfigure memory bank 9 and 10 of Processing Unit 0 on mm01: - - +27. To deconfigure memory bank 9 and 10 of Processing Unit 0 on mm01: + + .. code-block:: perl - + rspconfig mm01 memdecfg=deconfigure:bank:0:9,10 - - + + Output is similar to: - - + + .. code-block:: perl - + mm01: Success + + - - -28. - - To reset the network interface of the specified nodes: - - +28. To reset the network interface of the specified nodes: + + .. code-block:: perl - + rspconfig --resetnet - - + + Output is similar to: - - + + .. code-block:: perl - + Start to reset network.. - + Reset network failed nodes: - + Reset network succeed nodes: Server-8233-E8B-SN1000ECP-A,Server-9119-FHA-SN0275995-B,Server-9119-FHA-SN0275995-A, - + Reset network finished. - - + + 29. To update the existing admin password on fsp: - - + + .. code-block:: perl - + rspconfig fsp admin_passwd=admin,abc123 - - + + Output is similar to: - - + + .. code-block:: perl - + fsp: Success - - + + 30. To set the initial password for user HMC on fsp: - - + + .. code-block:: perl - + rspconfig fsp HMC_passwd=,abc123 - - + + Output is similar to: - - + + .. code-block:: perl - + fsp: Success - - + + 31. To list BMC dumps available for download: - - + + .. code-block:: perl - + rspconfig p9euh02 dump -l - - + + Output is similar to: - - + + .. code-block:: perl - + p9euh02: [1] Generated: 09/06/2017 14:31:49, Size: 4528 p9euh02: [2] Generated: 09/06/2017 14:31:55, Size: 4516 p9euh02: [3] Generated: 09/06/2017 14:32:01, Size: 4236 p9euh02: [4] Generated: 09/06/2017 14:32:07, Size: 4248 p9euh02: [5] Generated: 09/06/2017 14:32:11, Size: 4268 - - + + 32. To generate and download BMC dump: - - + + .. code-block:: perl - + rspconfig p9euh02 dump - - + + Output is similar to: - - + + .. code-block:: perl - + Capturing BMC Diagnostic information, this will take some time... p9euh02: Dump requested. Target ID is 6, waiting for BMC to generate... p9euh02: Dump 6 generated. Downloading to /var/log/xcat/dump/20171211-0951_p9euh02_dump_6.tar.xz - - + + diff --git a/docs/source/guides/admin-guides/references/man1/rspreset.1.rst b/docs/source/guides/admin-guides/references/man1/rspreset.1.rst index 6d6fe60c4..a73320790 100644 --- a/docs/source/guides/admin-guides/references/man1/rspreset.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rspreset.1.rst @@ -15,17 +15,17 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **rspreset**\ \ *noderange*\ +\ **rspreset**\ \ *noderange*\ \ **rspreset**\ [\ **-h | -**\ **-help | -v | -**\ **-version**\ ] ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -36,45 +36,45 @@ the blade's on board service processor will be reset. *************** -\ **Options**\ +\ **Options**\ *************** -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. - + Reset the service processor that controls node5: - - + + .. code-block:: perl - + rspreset node5 - - + + **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/rvitals.1.rst b/docs/source/guides/admin-guides/references/man1/rvitals.1.rst index ee6ab3d18..862f224ae 100644 --- a/docs/source/guides/admin-guides/references/man1/rvitals.1.rst +++ b/docs/source/guides/admin-guides/references/man1/rvitals.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -72,7 +72,7 @@ OpenPOWER (OpenBMC) specific: ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -81,126 +81,126 @@ Processor for a single or range of nodes and groups. *************** -\ **Options**\ +\ **Options**\ *************** -\ **cputemp**\ - +\ **cputemp**\ + Retrieves CPU temperatures. + - -\ **disktemp**\ - +\ **disktemp**\ + Retrieves HD back plane temperatures. + - -\ **ambtemp**\ - +\ **ambtemp**\ + Retrieves ambient temperatures. + - -\ **temp**\ - +\ **temp**\ + Retrieves all temperatures. + - -\ **voltage**\ - +\ **voltage**\ + Retrieves power supply and VRM voltage readings. + - -\ **fanspeed**\ - +\ **fanspeed**\ + Retrieves fan speeds. + - -\ **lcds**\ - +\ **lcds**\ + Retrieves LCDs status. + - -\ **rackenv**\ - +\ **rackenv**\ + Retrieves rack environmentals. + - -\ **leds**\ - +\ **leds**\ + Retrieves LEDs status. + - -\ **chassis**\ - +\ **chassis**\ + Retrieves chassis status. + - -\ **altitude**\ - +\ **altitude**\ + Retrieves altitude related attributes. + - -\ **power**\ - +\ **power**\ + Retrieves power status. + - -\ **powertime**\ - +\ **powertime**\ + Retrieves total power uptime. This value only increases, unless the Service Processor flash gets updated. This option is not valid for x86 architecture systems. + - -\ **reboot**\ - +\ **reboot**\ + Retrieves total number of reboots. This value only increases, unless the Service Processor flash gets updated. This option is not valid for x86 architecture systems. + - -\ **state**\ - +\ **state**\ + Retrieves the system state. + - -\ **all**\ - +\ **all**\ + All of the above. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. - + **************** -\ **Examples**\ +\ **Examples**\ **************** @@ -240,7 +240,7 @@ Output is similar to: **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/sinv.1.rst b/docs/source/guides/admin-guides/references/man1/sinv.1.rst index a897a332f..f6d94768a 100644 --- a/docs/source/guides/admin-guides/references/man1/sinv.1.rst +++ b/docs/source/guides/admin-guides/references/man1/sinv.1.rst @@ -7,7 +7,7 @@ sinv.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,7 +15,7 @@ sinv.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -25,7 +25,7 @@ sinv.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* @@ -67,45 +67,45 @@ Command Protocol can be used. See man \ **xdsh**\ for more details. *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-o | -**\ **-output**\ \ *report output file*\ - +\ **-o | -**\ **-output**\ \ *report output file*\ + Optional output file. This is the location of the file that will contain the report of the nodes that match, and do not match, the input templates. If the flag is not used, the output will go to stdout. + - -\ **-p | -**\ **-tp**\ \ *template path*\ - +\ **-p | -**\ **-tp**\ \ *template path*\ + This is the path to the template file. The template contains the output of \ **xdsh**\ or \ **rinv**\ command, that has been run against a "seed" node, a node that contains the configuration that you would like all nodes in your noderange to match. - + The admin can create the template by running the \ **xdsh**\ or \ **rinv**\ command on the seed node, pipe to \ **xdshcoll**\ (required) and store the output in the template path. See examples. - + \ **Note:**\ The admin can also edit the template to remove any lines that they do not want checked. - + An alternative method is to use the [\ **-s**\ \ *seed node*\ ] parameter, which will automatically build the template for you from the seed node named. - + If a a seed node is not provided, then command will automatically use the first node in the noderange as the seed node. + - -\ **-t | -**\ **-tc**\ \ *template count*\ - +\ **-t | -**\ **-tc**\ \ *template count*\ + This count is the number of templates that the command will use to check for nodes matches. If the template in the template path does not match a node, the \ **sinv**\ will check additional templates up to the template count. - + For each node, it will compare the node against each template to see if there is a match. If there is no match, and we are not over the template count, @@ -114,258 +114,254 @@ Command Protocol can be used. See man \ **xdsh**\ for more details. their group at the end of the run in the output file. If no template count is specified, 0 is the default, and all nodes will be compared against the first template. + - -\ **-s | -**\ **-seed**\ \ *seed node*\ - +\ **-s | -**\ **-seed**\ \ *seed node*\ + This is the node that will be used to build the first template that is stored in template path. You can use this parameter instead of running the command yourself to build the template. - + \ **Note:**\ If no seed node is supplied, the first node in the noderange is automatically selected as a seed node. + - -\ **-i | -**\ **-ignorefirst**\ - +\ **-i | -**\ **-ignorefirst**\ + This flag suppresses the reporting of the nodes matching the first template. In very large systems, you may not want to show the nodes that have the correct configuration, since the list could contain thousands of nodes. This allows you to only report the nodes that do not match the required configuration. + - -\ **-e | -**\ **-exactmatch**\ - +\ **-e | -**\ **-exactmatch**\ + This requires the check of node output against template to be an exact match. If this flag is not set, \ **sinv**\ checks to see if the return from the \ **xdsh**\ or \ **rinv**\ command to the nodes contain a match for each line in the input template (except for xdshcoll header and comments). If not in exactmatch mode, there can be more lines in the \ **xdsh**\ or \ **rinv**\ return from the nodes. - + For example, if running a "rpm -qa | grep xCAT" command, without exactmatch set, if the node contains more xCAT rpms that listed in the template, it would be considered a match, as long as all rpms listed in the template were on the node. With exactmatch set, the output must be identical to the template. + - -\ **-**\ **-devicetype**\ \ *type_of_device*\ - +\ **-**\ **-devicetype**\ \ *type_of_device*\ + Specify a user-defined device type that references the location of relevant device configuration file. The devicetype value must correspond to a valid device configuration file. xCAT ships some default configuration files for Ethernet switches and IB switches under \ */opt/xcat/share/xcat/devicetype*\ directory. If you want to overwrite - any of the configuration files, copy them to \ */var/opt/xcat/*\ - directory and cutomize. + any of the configuration files, copy them to \ */var/opt/xcat/*\ + directory and customize. For example, \ *base/IBSwitch/Qlogic/config*\ is the configuration file location if devicetype is specified as IBSwitch::Qlogic. xCAT will first search config file using \ */var/opt/xcat/*\ as the base. If not found, it will search for it using \ */opt/xcat/share/xcat/devicetype/*\ as the base. + - -\ **-l | -**\ **-user**\ \ *user_ID*\ - +\ **-l | -**\ **-user**\ \ *user_ID*\ + Specifies a remote user name to use for remote command execution. + - -\ **-c | -**\ **-command**\ - +\ **-c | -**\ **-command**\ + The \ **xdsh**\ or \ **rinv**\ command that will be run. The command should be enclosed in double quotes to insure correct shell interpretation. This parameter must only contain, the node range or the image path (Linux) or spot name for AIX. It cannot be used to set additional input flags to \ **xdsh**\ or \ **rinv**\ (for example \ **-s**\ ,\ **-T**\ ,\ **-e**\ ). See examples below. - + \ **Note:**\ do not add the \ **| xdshcoll**\ to the command, it is automatically added by \ **sinv**\ . \ **sinv**\ also automatically sets the \ **-v**\ flag for \ **xdsh**\ . + - -\ **-f | -**\ **-file**\ - +\ **-f | -**\ **-file**\ + The file containing the \ **xdsh**\ or \ **rinv**\ command that will be run. This should be the fully qualified name of the file. - + \ **Note:**\ do not add the \ **| xdshcoll**\ to the command in the file, it is automatically added by \ **sinv**\ . + - -\ **-r | -**\ **-remove**\ - +\ **-r | -**\ **-remove**\ + This flag indicates that generated templates should be removed at the at the end of the \ **sinv**\ command execution. - - If the flag is specified, then all templates that are generated by the \ **sinv**\ + + If the flag is specified, then all templates that are generated by the \ **sinv**\ command, will be removed. If the first template is created by the admin, it will not be removed. - + If the flag is not specified, no templates will be removed. It is up to the admin to cleanup templates. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Displays usage information. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Displays xCAT release version. + - -\ **-V | -**\ **-Verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. To setup sinv.template (name optional) for input to the \ **sinv**\ command, enter: - - + + .. code-block:: perl - + xdsh node1,node2 "rpm -qa | grep ssh " | xdshcoll > /tmp/sinv.template - - + + Note: when setting up the template the output of \ **xdsh**\ must be piped to \ **xdshcoll**\ , \ **sinv**\ processing depends on it. - + 2. To setup rinv.template for input to the \ **sinv**\ command , enter: - - + + .. code-block:: perl - + rinv node1-node2 serial | xdshcoll > /tmp/rinv.template - - + + Note: when setting up the template the output of \ **rinv**\ must be piped to \ **xdshcoll**\ , \ **sinv**\ processing depends on it. - + 3. To execute \ **sinv**\ using the sinv.template generated above on the nodegroup, \ *testnodes*\ ,possibly generating up to two new templates, and removing all generated templates in the end, and writing output report to /tmp/sinv.output, enter: - - + + .. code-block:: perl - + sinv -c "xdsh testnodes rpm -qa | grep ssh" -p /tmp/sinv.template -t 2 -r -o /tmp/sinv.output - - + + Note: do not add the pipe to \ **xdshcoll**\ on the \ **-c**\ flag, it is automatically added by the \ **sinv**\ . - + 4. To execute \ **sinv**\ on noderange, \ *node1-node4*\ , using the seed node, \ *node8*\ , to generate the first template, using the \ **xdsh**\ command (\ **-c**\ ), possibly generating up to two additional templates and not removing any templates at the end, enter: - - + + .. code-block:: perl - + sinv -c "xdsh node1-node4 lslpp -l | grep bos.adt" -s node8 -p /tmp/sinv.template -t 2 -o /tmp/sinv.output - - + + 5. To execute \ **sinv**\ on noderange, \ *node1-node4*\ , using the seed node, \ *node8*\ , to generate the first template, using the \ **rinv**\ command (\ **-c**\ ), possibly generating up to two additional templates and removing any generated templates at the end, enter: - - + + .. code-block:: perl - + sinv -c "rinv node1-node4 serial" -s node8 -p /tmp/sinv.template -t 2 -r -o /tmp/rinv.output - - + + 6. To execute \ **sinv**\ on noderange, \ *node1-node4*\ , using \ *node1*\ as the seed node, to generate the sinv.template from the \ **xdsh**\ command (\ **-c**\ ), using the exact match option, generating no additional templates, enter: - - + + .. code-block:: perl - + sinv -c "xdsh node1-node4 lslpp -l | grep bos.adt" -s node1 -e -p /tmp/sinv.template -o /tmp/sinv.output - - + + Note: the /tmp/sinv.template file must be empty, otherwise it will be used as an admin generated template. - + 7. To execute \ **sinv**\ on the Linux osimage defined for cn1. First build a template from the /etc/hosts on the node. Then run \ **sinv**\ to compare. - - + + .. code-block:: perl - + xdsh cn1 "cat /etc/hosts" | xdshcoll > /tmp/sinv2/template" - + sinv -c "xdsh -i /install/netboot/rhels6/ppc64/test_ramdisk_statelite/rootimg cat /etc/hosts" -e -t 1 -p /tmp/sinv.template -o /tmp/sinv.output + + - - -8. - - To execute \ **sinv**\ on the AIX NIM 611dskls spot and compare /etc/hosts to compute1 node, run the following: - - +8. To execute \ **sinv**\ on the AIX NIM 611dskls spot and compare /etc/hosts to compute1 node, run the following: + + .. code-block:: perl - + xdsh compute1 "cat /etc/hosts" | xdshcoll > /tmp/sinv2/template" - + sinv -c "xdsh -i 611dskls cat /etc/hosts" -e -t1 -p /tmp/sinv.template -o /tmp/sinv.output + + - - -9. - - To execute \ **sinv**\ on the device mswitch2 and compare to mswitch1 - - +9. To execute \ **sinv**\ on the device mswitch2 and compare to mswitch1 + + .. code-block:: perl - + sinv -c "xdsh mswitch enable;show version" -s mswitch1 -p /tmp/sinv/template --devicetype IBSwitch::Mellanox -l admin -t 2 + + +\ **Files**\ - -\ **Files**\ - -\ **/opt/xcat/bin/sinv/**\ +\ **/opt/xcat/bin/sinv/**\ Location of the sinv command. **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** -L , noderange(3)|noderange.3 +xdsh(1)|xdsh.1, noderange(3)|noderange.3 diff --git a/docs/source/guides/admin-guides/references/man1/snmove.1.rst b/docs/source/guides/admin-guides/references/man1/snmove.1.rst index 53abb0129..f797e30d4 100644 --- a/docs/source/guides/admin-guides/references/man1/snmove.1.rst +++ b/docs/source/guides/admin-guides/references/man1/snmove.1.rst @@ -88,65 +88,65 @@ OPTIONS -\ **-d|-**\ **-dest**\ - +\ **-d|-**\ **-dest**\ + Specifies the hostname of the new destination service node as known by (facing) the management node. + - -\ **-D|-**\ **-destn**\ - +\ **-D|-**\ **-destn**\ + Specifies the hostname of the destination service node as known by (facing) the nodes. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-i|-**\ **-ignorenodes**\ - +\ **-i|-**\ **-ignorenodes**\ + No modifications will be made on the nodes. If not specified, several xCAT postscripts will be run on the nodes to complete the switch to the new service node. + - -\ **-l|-**\ **-liteonly**\ - +\ **-l|-**\ **-liteonly**\ + Use this option to ONLY synchronize any AIX statelite files from the primary server to the backup server for the nodes. It will not do the actual moving of the nodes to the backup servers. + - -\ **-P|-**\ **-postscripts**\ - +\ **-P|-**\ **-postscripts**\ + Specifies a list of extra postscripts to be run on the nodes after the nodes are moved over to the new service node. If \ **all**\ is specified, all the postscripts defined in the postscripts table will be run for the nodes. The specified postscripts must be stored under /install/postscripts directory. + - -\ **-s|-**\ **-source**\ - +\ **-s|-**\ **-source**\ + Specifies the hostname of the current (source) service node sa known by (facing) the management node. + - -\ **-S|-**\ **-sourcen**\ - +\ **-S|-**\ **-sourcen**\ + Specifies the hostname of the current service node adapter as known by (facing) the nodes. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. - + @@ -157,99 +157,99 @@ EXAMPLES 1. - + Move the nodes contained in group "group1" to the service node named "xcatsn02". - - + + .. code-block:: perl - + snmove group1 -d xcatsn02 -D xcatsn02-eth1 - - + + 2. - + Move all the nodes that use service node xcatsn01 to service node xcatsn02. - - + + .. code-block:: perl - + snmove -s xcatsn01 -S xcatsn01-eth1 -d xcatsn02 -D xcatsn02-eth1 - - + + 3. - + Move any nodes that have sn1 as their primary server to the backup service node set in the xCAT node definition. - - + + .. code-block:: perl - + snmove -s sn1 - - + + 4. - + Move all the nodes in the xCAT group named "nodegroup1" to their backup SNs. - - + + .. code-block:: perl - + snmove nodegroup1 - - + + 5. - + Move all the nodes in xCAT group "sngroup1" to the service node named "xcatsn2". - - + + .. code-block:: perl - + snmove sngroup1 -d xcatsn2 - - + + 6. - + Move all the nodes in xCAT group "sngroup1" to the SN named "xcatsn2" and run extra postscripts. - - + + .. code-block:: perl - + snmove sngroup1 -d xcatsn2 -P test1 - - + + 7. - + Move all the nodes in xCAT group "sngroup1" to the SN named "xcatsn2" and do not run anything on the nodes. - - + + .. code-block:: perl - + snmove sngroup1 -d xcatsn2 -i - - + + 8. - + Synchronize any AIX statelite files from the primary server for compute03 to the backup server. This will not actually move the node to it's backup service node. - - + + .. code-block:: perl - + snmove compute03 -l -V - - + + diff --git a/docs/source/guides/admin-guides/references/man1/swapnodes.1.rst b/docs/source/guides/admin-guides/references/man1/swapnodes.1.rst index 62e76a07b..158c5f4cf 100644 --- a/docs/source/guides/admin-guides/references/man1/swapnodes.1.rst +++ b/docs/source/guides/admin-guides/references/man1/swapnodes.1.rst @@ -53,28 +53,28 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-c**\ - +\ **-c**\ + \ *current_node*\ -- the defective non-compute node. + - -\ **-f**\ - +\ **-f**\ + \ *fip_node*\ -- a compute node which will be swapped as the non-compute node. + - -\ **-o**\ - +\ **-o**\ + one way. Only move the \ *current_node*\ definition to the \ *fip_node*\ 's hardware resource, and not move the fip_node definition to the \ *current_node*\ . And then the \ *current_node*\ will use the \ *fip_node*\ 's hardware resource, and the \ *fip_node*\ definition is not changed. if the two nodes are in the same CEC, the I/O adapter from the original \ *current_node*\ will be assigned to the \ *fip_node*\ . - + @@ -95,33 +95,33 @@ EXAMPLES 1. To swap the service node attributes and IO assignments between sn1 and compute2 which are in the same cec, all the attributes in the ppc table and nodepos table of the two node will be swapped, and the I/O adapters from the defective node (the original sn1) will be assigned to the available node (the original compute2). After the swapping, the sn1 will use the compute2's hardware resource and the I/O adapters from the original sn1. - - + + .. code-block:: perl - + swapnodes -c sn1 -f compute2 - - + + 2. To swap the service node attributes and IO assignments between sn1 and compute2 which are NOT in the same cec, all the attributes in the ppc table and nodepos table of the two node will be swapped. After the swapping, the sn1 will use the compute2's hardware resource. - - + + .. code-block:: perl - + swapnodes -c sn1 -f compute2 - - + + 3. Only to move the service node (sn1) definition to the compute node (compute2)'s hardware resource, and not move the compute2 definition to the sn1. After the swapping, the sn1 will use the compute2's hardware resource, and the compute2 definition is not changed. - - + + .. code-block:: perl - + swapnodes -c sn1 -f compute2 -o - - + + diff --git a/docs/source/guides/admin-guides/references/man1/switchblade.1.rst b/docs/source/guides/admin-guides/references/man1/switchblade.1.rst index 6421009aa..3d9ebad71 100644 --- a/docs/source/guides/admin-guides/references/man1/switchblade.1.rst +++ b/docs/source/guides/admin-guides/references/man1/switchblade.1.rst @@ -35,35 +35,35 @@ OPTIONS -\ **list | stat**\ - +\ **list | stat**\ + Display which blade the media tray and KVM are currently assigned to. + - -\ **media | mt**\ - +\ **media | mt**\ + Assign the media tray to the specified blade. + - -\ **kvm | video**\ - +\ **kvm | video**\ + Assign the KVM (video display) to the specified blade. + - -\ **both**\ - +\ **both**\ + Assign both the media tray and the KVM to the specified blade. + - -\ *slot_num*\ - +\ *slot_num*\ + The slot # of the blade that the resources should be assigned to. If not specified, it will use the slot # of the node specified. - + @@ -74,23 +74,23 @@ EXAMPLES 1. - + Switch the media tray to be assigned to the blade in slot 4 (assume it is node4): - - + + .. code-block:: perl - + switchblade node4 media - - + + Output will be like: - - + + .. code-block:: perl - + Media Tray slot: 4 - - + + diff --git a/docs/source/guides/admin-guides/references/man1/switchdiscover.1.rst b/docs/source/guides/admin-guides/references/man1/switchdiscover.1.rst index 2d67ecfae..2472d8d51 100644 --- a/docs/source/guides/admin-guides/references/man1/switchdiscover.1.rst +++ b/docs/source/guides/admin-guides/references/man1/switchdiscover.1.rst @@ -11,9 +11,9 @@ SYNOPSIS ******** -\ **switchdiscover [-h| -**\ **-help]**\ +\ **switchdiscover [-h| -**\ **-help]**\ -\ **switchdiscover [-v| -**\ **-version]**\ +\ **switchdiscover [-v| -**\ **-version]**\ \ **switchdiscover**\ [\ *noderange*\ | \ **-**\ **-range**\ \ *ip_ranges*\ ] \ **[-V] [-w][-r|-x|-z][-s**\ \ *scan_methods*\ ] [\ **-**\ **-setup**\ ] [\ **-c**\ \ *community*\ ] @@ -40,8 +40,8 @@ OPTIONS -\ *noderange*\ - +\ *noderange*\ + The switches which the user want to discover. If the user specify the noderange, switchdiscover will just return the switches in the node range. Which means it will @@ -50,78 +50,78 @@ OPTIONS specified in noderange should be defined in database in advance. The ips of the switches will be defined in /etc/hosts file. This command will fill the switch attributes for the switches defined. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-**\ **-range**\ - +\ **-**\ **-range**\ + Specify one or more IP ranges. Each can be an ip address (10.1.2.3) or an ip range (10.1.2.0/24). If the range is huge, for example, 192.168.1.1/8, the switch discover may take a very long time to scan. So the range should be exactly specified. - + For nmap and snmp scan method, it accepts multiple formats. For example: 192.168.1.1/24, 40-41.1-2.3-4.1-100. - + If the range is not specified, the command scans all the subnets that the active network interfaces (eth0, eth1) are on where this command is issued. + - -\ **-r**\ - +\ **-r**\ + Display Raw responses. + - -\ **-s**\ - +\ **-s**\ + It is a comma separated list of methods for switch discovery. The possible switch scan methods are: lldp, nmap or snmp. The default is nmap. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-V**\ - +\ **-V**\ + Verbose output. + - -\ **-w**\ - +\ **-w**\ + Writes output to xCAT database. + - -\ **-x**\ - +\ **-x**\ + XML formatted output. + - -\ **-z**\ - +\ **-z**\ + Stanza formatted output. + - -\ **-**\ **-setup**\ - +\ **-**\ **-setup**\ + Process switch-based switch discovery. Update discovered switch's ip address, hostname and enable snmpv3 configuration based on the predefined switch. + - -\ **-c**\ - +\ **-c**\ + User defined community string for snmp scan. - + @@ -142,45 +142,45 @@ EXAMPLES 1. To discover the switches on some subnets: - - + + .. code-block:: perl - + switchdiscover --range 10.2.3.0/24,192.168.3.0/24,11.5.6.7 - - + + 2. To do the switch discovery and save them to the xCAT database: - - + + .. code-block:: perl - + switchdiscover --range 10.2.3.4/24 -w - - + + It is recommended to run \ **makehosts**\ after the switches are saved in the DB. - + 3. To use lldp method to discover the switches: - - + + .. code-block:: perl - + switchdiscover -s lldp - - + + 4. To process switch-based switch discovery, the core switch has to be configured and top-of-rack (edge) switch has to be predefine into xCAT databse with attribute \ **switch**\ and \ **switchport**\ to core switch: - - + + .. code-block:: perl - + switchdiscover --range 192.168.5.150-170 -s snmp --setup - - + + diff --git a/docs/source/guides/admin-guides/references/man1/tabgrep.1.rst b/docs/source/guides/admin-guides/references/man1/tabgrep.1.rst index 7b4b1b427..7670799be 100644 --- a/docs/source/guides/admin-guides/references/man1/tabgrep.1.rst +++ b/docs/source/guides/admin-guides/references/man1/tabgrep.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **tabgrep**\ \ *nodename*\ +\ **tabgrep**\ \ *nodename*\ \ **tabgrep**\ [\ **-?**\ | \ **-h**\ | \ **-**\ **-help**\ ] @@ -40,10 +40,10 @@ OPTIONS -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -69,20 +69,20 @@ EXAMPLES 1. - + To display the tables that contain blade1: - - + + .. code-block:: perl - + tabgrep blade1 - - + + The output would be similar to: - - + + .. code-block:: perl - + nodelist nodehm mp @@ -91,8 +91,8 @@ EXAMPLES mac noderes nodetype - - + + diff --git a/docs/source/guides/admin-guides/references/man1/unregnotif.1.rst b/docs/source/guides/admin-guides/references/man1/unregnotif.1.rst index 52e735e61..a61c02d17 100644 --- a/docs/source/guides/admin-guides/references/man1/unregnotif.1.rst +++ b/docs/source/guides/admin-guides/references/man1/unregnotif.1.rst @@ -19,11 +19,11 @@ SYNOPSIS ******** -\ **unregnotif [-h| -**\ **-help]**\ +\ **unregnotif [-h| -**\ **-help]**\ -\ **unregnotif [-v| -**\ **-version]**\ +\ **unregnotif [-v| -**\ **-version]**\ -\ **unregnotif**\ \ *filename*\ +\ **unregnotif**\ \ *filename*\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/updateSNimage.1.rst b/docs/source/guides/admin-guides/references/man1/updateSNimage.1.rst index 560c0b973..cb3d0e024 100644 --- a/docs/source/guides/admin-guides/references/man1/updateSNimage.1.rst +++ b/docs/source/guides/admin-guides/references/man1/updateSNimage.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **updateSNimage [-h | -**\ **-help ]**\ +\ **updateSNimage [-h | -**\ **-help ]**\ -\ **updateSNimage [-v | -**\ **-version]**\ +\ **updateSNimage [-v | -**\ **-version]**\ \ **updateSNimage**\ [\ **-n**\ \ *node*\ ] [\ **-p**\ \ *path*\ ] diff --git a/docs/source/guides/admin-guides/references/man1/updatenode.1.rst b/docs/source/guides/admin-guides/references/man1/updatenode.1.rst index cffcf7c41..48ed01138 100644 --- a/docs/source/guides/admin-guides/references/man1/updatenode.1.rst +++ b/docs/source/guides/admin-guides/references/man1/updatenode.1.rst @@ -143,7 +143,7 @@ To install/update the packages, run: updatenode -S -\ **For Linux systems:**\ +\ **For Linux systems:**\ It this is equivalent to running the following command: @@ -165,7 +165,7 @@ To preserve the existing repositories, you can run the following command instead updatenode noderange -P "ospkgs --keeprepo,otherpkgs" -\ **For AIX systems:**\ +\ **For AIX systems:**\ Note: The updatenode command is used to update AIX diskful nodes only. For updating diskless AIX nodes refer to the xCAT for AIX update documentation and use the xCAT mknimimage command. For information on updating software on AIX cluster: @@ -266,7 +266,7 @@ xcatd's of management node and service node. -\ *Set up the SSH keys*\ +\ *Set up the SSH keys*\ A password for the user who is running this command is needed to setup the ssh keys. This user must have the same uid and gid as @@ -280,7 +280,7 @@ The non-root users public ssh keys and root's public ssh keys will be put in the authorized_keys\* files under the non-root users .ssh directory on the node(s ). -\ *Handle the hierarchical scenario*\ +\ *Handle the hierarchical scenario*\ When update security files for the node which is served by a service node, the service node will be updated automatically first, and then the target @@ -310,40 +310,40 @@ PARAMETERS -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited xCAT node names and/or group names. See the xCAT "noderange" man page for details on additional supported formats. + - -\ *script1,script2...*\ - +\ *script1,script2...*\ + A comma-separated list of script names. The scripts must be executable and copied to the /install/postscripts directory. Each script can take zero or more parameters. If parameters are specified, the whole list needs to be quoted by double quotes. For example: - - + + .. code-block:: perl - + "script1 p1 p2,script2" - - + + [\ *attr=val*\ [\ *attr=val...*\ ]] - + Specifies one or more "attribute equals value" pairs, separated by spaces. Attr=val pairs must be specified last on the command line. The currently supported attributes are: "installp_bundle", "otherpkgs", "installp_flags", "emgr_flags" and "rpm_flags". These attributes are only valid for AIX software maintenance support. - + @@ -353,34 +353,34 @@ OPTIONS -\ **-**\ **-fanout**\ =\ *fanout_value*\ - +\ **-**\ **-fanout**\ =\ *fanout_value*\ + Specifies a fanout value for the maximum number of concurrently executing remote shell processes. Serial execution can be specified by indicating a fanout value of \ **1**\ . If \ **-**\ **-fanout**\ is not specified, a default fanout value of \ **64**\ is used. + - -\ **-A|-**\ **-updateallsw**\ - +\ **-A|-**\ **-updateallsw**\ + Install or update all software contained in the source directory. (AIX only) + - -\ **-c|cmdlineonly**\ - +\ **-c|cmdlineonly**\ + Specifies that the updatenode command should only use software maintenance information provided on the command line. This flag is only valid when using AIX software maintenance support. + - -\ **-d**\ \ *alt_source_dir*\ - +\ **-d**\ \ *alt_source_dir*\ + Used to specify a source directory other than the standard lpp_source directory specified in the xCAT osimage definition. (AIX only) + - -\ **-F|-**\ **-sync**\ - +\ **-F|-**\ **-sync**\ + Specifies that file synchronization should be performed on the nodes. rsync/scp and ssh must be installed and configured on the nodes. @@ -388,11 +388,11 @@ OPTIONS For NFS-based statelite installations to sync files, you should use the read-only option for files/directories listed in litefile table with source location specified in the litetree table. + - -\ **-f|-**\ **-snsync**\ - +\ **-f|-**\ **-snsync**\ + Specifies that file synchronization should be performed to the service nodes that service the nodes in the noderange. This updates the service @@ -409,98 +409,98 @@ OPTIONS For statelite installations to sync files, you should use the read-only option for files/directories listed in litefile table with source location specified in the litetree table. - + [\ **-r | -**\ **-node-rcp**\ [\ *full_path_to_remote_copy_command*\ ]] - + Specifies the full path of the remote copy command used for syncing files to node targets, such as "/usr/bin/rsync" or "/usr/bin/scp". If not specified, rsync will be used by default. - + Notice: The synclist for "-r /usr/bin/scp" has some differences with "-r /usr/bin/rsync": - - 1) the ``EXECUTE`` clause is not supported in "-r /usr/bin/scp" - - 2) if the destination directory specified in synclist is an existing file on target node, "updatenode -r /usr/bin/scp" will fail with ``scp: : Not a directory`` - - 3) if the destination file specified in synclist is an existing directory on target node, "updatenode -r /usr/bin/scp" will fail with ``scp: : Is a directory`` + + 1) the \`\`EXECUTE\`\` clause is not supported in "-r /usr/bin/scp" + + 2) if the destination directory specified in synclist is an existing file on target node, "updatenode -r /usr/bin/scp" will fail with \`\`scp: : Not a directory\`\` + + 3) if the destination file specified in synclist is an existing directory on target node, "updatenode -r /usr/bin/scp" will fail with \`\`scp: : Is a directory\`\` + - -\ **-g|-**\ **-genmypost**\ - +\ **-g|-**\ **-genmypost**\ + Will generate a new mypostscript file for the nodes in the noderange, if site precreatemypostscripts is 1 or YES. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-k|-**\ **-security**\ - +\ **-k|-**\ **-security**\ + Update the ssh keys and host keys for the service nodes and compute nodes; Update the ca and credentials to the service nodes. Never run this command to the Management Node, it will take down xcatd. You must be running updatenode as root to use the -k flag. + - -\ **-l | -**\ **-user**\ \ *user_ID*\ - +\ **-l | -**\ **-user**\ \ *user_ID*\ + Specifies a non-root user name to use for remote command execution. This option is only available when running postscripts (-P) for AIX and Linux and updating software (-S) for Linux only. The non-root userid must be previously defined as an xCAT user. The userid sudo setup will have to be done by the admin on the node. This is not supported in a hierarchical cluster, that is the node is serviced by a service node. See the document Granting_Users_xCAT_privileges for required xcat/sudo setup. + - -\ **-P|-**\ **-scripts**\ - +\ **-P|-**\ **-scripts**\ + Specifies that postscripts and postbootscripts should be run on the nodes. updatenode -P syncfiles is not supported. The syncfiles postscript can only be run during install. You should use updatenode -F instead. + - -\ **-S|-**\ **-sw**\ - +\ **-S|-**\ **-sw**\ + Specifies that node software should be updated. In Sysclone environment, specifies pushing the delta changes to target nodes. + - -\ **-n|-**\ **-noverify**\ - +\ **-n|-**\ **-noverify**\ + Specifies that node network availability verification will be skipped. + - -\ **-s|-**\ **-sn**\ - +\ **-s|-**\ **-sn**\ + Set the server information stored on the nodes in /opt/xcat/xcatinfo on Linux. + - -\ **-t**\ \ *timeout*\ - +\ **-t**\ \ *timeout*\ + Specifies a timeout in seconds the command will wait for the remote targets to complete. If timeout is not specified it will wait indefinitely. updatenode -k is the exception that has a timeout of 10 seconds, unless overridden by this flag. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. - + @@ -521,82 +521,82 @@ EXAMPLES 1. To perform all updatenode features for the Linux nodes in the group "compute": - - + + .. code-block:: perl - + updatenode compute - - + + The command will: run any scripts listed in the nodes "postscripts and postbootscripts" attribute, install or update any software indicated in the /install/custom/install//profile.otherpkgs.pkglist (refer to the \ **To install or update software part**\ ), synchronize any files indicated by the synclist files specified in the osimage "synclists" attribute. - + 2. To run postscripts,postbootscripts and file synchronization only on the node "clstrn01": - - + + .. code-block:: perl - + updatenode clstrn01 -F -P - - + + 3. Running updatenode -P with the syncfiles postscript is not supported. You should use updatenode -F instead. - + Do not run: - - + + .. code-block:: perl - + updatenode clstrno1 -P syncfiles - - + + Run: - - + + .. code-block:: perl - + updatenode clstrn01 -F - - + + 4. To run the postscripts and postbootscripts indicated in the postscripts and postbootscripts attributes on the node "clstrn01": - - + + .. code-block:: perl - + updatenode clstrn01 -P - - + + 5. To run the postscripts script1 and script2 on the node "clstrn01": - - + + .. code-block:: perl - + cp script1,script2 /install/postscripts - + updatenode clstrn01 -P "script1 p1 p2,script2" - - + + Since flag '-P' can be omitted when only script names are specified, the following command is equivalent: - - + + .. code-block:: perl - + updatenode clstrn01 "script1 p1 p2,script2" - - + + p1 p2 are parameters for script1. - + 6. To synchronize the files on the node "clstrn01": Prepare the synclist file. @@ -604,191 +604,191 @@ For AIX, set the full path of synclist in the osimage table synclists attribute. For Linux, put the synclist file into the location: /install/custom///...synclist Then: - - + + .. code-block:: perl - + updatenode clstrn01 -F - - + + 7. To perform the software update on the Linux node "clstrn01": Copy the extra rpm into the /install/post/otherpkgs///\* and add the rpm names into the /install/custom/install//profile.otherpkgs.pkglist . Then: - - + + .. code-block:: perl - + updatenode clstrn01 -S - - + + 8. To update the AIX node named "xcatn11" using the "installp_bundle" and/or "otherpkgs" attribute values stored in the xCAT database. Use the default installp, rpm and emgr flags. - - + + .. code-block:: perl - + updatenode xcatn11 -V -S - - + + Note: The xCAT "xcatn11" node definition points to an xCAT osimage definition which contains the "installp_bundle" and "otherpkgs" attributes as well as the name of the NIM lpp_source resource. - + 9. To update the AIX node "xcatn11" by installing the "bos.cpr" fileset using the "-agQXY" installp flags. Also display the output of the installp command. - - + + .. code-block:: perl - + updatenode xcatn11 -V -S otherpkgs="I:bos.cpr" installp_flags="-agQXY" - - + + Note: The 'I:' prefix is optional but recommended for installp packages. - + 10. To uninstall the "bos.cpr" fileset that was installed in the previous example. - - + + .. code-block:: perl - + updatenode xcatn11 -V -S otherpkgs="I:bos.cpr" installp_flags="-u" - - + + 11. To update the AIX nodes "xcatn11" and "xcatn12" with the "gpfs.base" fileset and the "rsync" rpm using the installp flags "-agQXY" and the rpm flags "-i --nodeps". - - + + .. code-block:: perl - + updatenode xcatn11,xcatn12 -V -S otherpkgs="I:gpfs.base,R:rsync-2.6.2-1.aix5.1.ppc.rpm" installp_flags="-agQXY" rpm_flags="-i --nodeps" - - + + Note: Using the "-V" flag with multiple nodes may result in a large amount of output. - + 12. To uninstall the rsync rpm that was installed in the previous example. - - + + .. code-block:: perl - + updatenode xcatn11 -V -S otherpkgs="R:rsync-2.6.2-1" rpm_flags="-e" - - + + 13. Update the AIX node "node01" using the software specified in the NIM "sslbnd" and "sshbnd" installp_bundle resources and the "-agQXY" installp flags. - - + + .. code-block:: perl - + updatenode node01 -V -S installp_bundle="sslbnd,sshbnd" installp_flags="-agQXY" - - + + 14. To get a preview of what would happen if you tried to install the "rsct.base" fileset on AIX node "node42". (You must use the "-V" option to get the full output from the installp command.) - - + + .. code-block:: perl - + updatenode node42 -V -S otherpkgs="I:rsct.base" installp_flags="-apXY" - - + + 15. To check what rpm packages are installed on the AIX node "node09". (You must use the "-c" flag so updatenode does not get a list of packages from the database.) - - + + .. code-block:: perl - + updatenode node09 -V -c -S rpm_flags="-qa" - - + + 16. To install all software updates contained in the /images directory. - - + + .. code-block:: perl - + updatenode node27 -V -S -A -d /images - - + + Note: Make sure the directory is exportable and that the permissions are set correctly for all the files. (Including the .toc file in the case of installp filesets.) - + 17. Install the interim fix package located in the /efixes directory. - - + + .. code-block:: perl - + updatenode node29 -V -S -d /efixes otherpkgs=E:IZ38930TL0.120304.epkg.Z - - + + 18. To uninstall the interim fix that was installed in the previous example. - - + + .. code-block:: perl - + updatenode xcatsn11 -V -S -c emgr_flags="-r -L IZ38930TL0" - - + + 19. To update the security keys for the node "node01" - - + + .. code-block:: perl - + updatenode node01 -k - - + + 20. To update the service nodes with the files to be synchronized to node group compute: - - + + .. code-block:: perl - + updatenode compute -f - - + + 21. To run updatenode with the non-root userid "user1" that has been setup as an xCAT userid with sudo on node1 to run as root, do the following: See Granting_Users_xCAT_privileges for required sudo setup. - - + + .. code-block:: perl - + updatenode node1 -l user1 -P syslog - - + + 22. In Sysclone environment, after capturing the delta changes from golden client to management node, to run updatenode to push these delta changes to target nodes. - - + + .. code-block:: perl - + updatenode target-node -S - - + + diff --git a/docs/source/guides/admin-guides/references/man1/wcons.1.rst b/docs/source/guides/admin-guides/references/man1/wcons.1.rst index 2ca612b93..4ff69d007 100644 --- a/docs/source/guides/admin-guides/references/man1/wcons.1.rst +++ b/docs/source/guides/admin-guides/references/man1/wcons.1.rst @@ -15,17 +15,17 @@ wcons - windowed remote console **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **wcons**\ [\ **-t | -**\ **-tile**\ =\ *n*\ ] [\ *xterm-options*\ ] \ *noderange*\ +\ **wcons**\ [\ **-t | -**\ **-tile**\ =\ *n*\ ] [\ *xterm-options*\ ] \ *noderange*\ \ **wcons**\ [\ **-h | -**\ **-help | -v | -**\ **-version**\ ] ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -36,45 +36,45 @@ range or nodes or groups. *************** -\ **Options**\ +\ **Options**\ *************** -\ **-t | -**\ **-tile**\ =\ *n*\ - +\ **-t | -**\ **-tile**\ =\ *n*\ + Tile \ **wcons**\ windows from top left to bottom right. If \ *n*\ is spec- ified then tile \ *n*\ across. If \ *n*\ is not specified then tile to edge of screen. If tiled \ **wcons**\ windows reach bottom right, then the windows start at top left overlaying existing \ **wcons**\ windows. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. + - -\ *xterm options*\ - +\ *xterm options*\ + See xterm(1). Any options other than those listed above are passed directly to xterm. \ **Note:**\ when given multiple nodes, wcons will - override \ **-title**\ and tries to figure out optimal \ **-geometry**\ + override \ **-title**\ and tries to figure out optimal \ **-geometry**\ options for the xterms (however, \ **-geometry**\ can still be specified). - + ************* -\ **Files**\ +\ **Files**\ ************* @@ -84,21 +84,21 @@ method. **************** -\ **Examples**\ +\ **Examples**\ **************** -\ **wcons**\ \ *node1-node5*\ +\ **wcons**\ \ *node1-node5*\ -\ **wcons**\ \ **-**\ **-tile**\ \ **-**\ **-font**\ =\ *nil2*\ \ *all*\ +\ **wcons**\ \ **-**\ **-tile**\ \ **-**\ **-font**\ =\ *nil2*\ \ *all*\ -\ **wcons**\ \ **-t**\ \ *4*\ \ *node1-node16*\ +\ **wcons**\ \ **-t**\ \ *4*\ \ *node1-node16*\ -\ **wcons**\ \ **-f**\ \ *vs*\ \ **-t**\ \ *4*\ \ *node1-node4*\ +\ **wcons**\ \ **-f**\ \ *vs*\ \ **-t**\ \ *4*\ \ *node1-node4*\ ************ -\ **Bugs**\ +\ **Bugs**\ ************ @@ -109,7 +109,7 @@ window manager let me know. ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/wkill.1.rst b/docs/source/guides/admin-guides/references/man1/wkill.1.rst index b40658bcc..8d4cd02c7 100644 --- a/docs/source/guides/admin-guides/references/man1/wkill.1.rst +++ b/docs/source/guides/admin-guides/references/man1/wkill.1.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -25,7 +25,7 @@ Name ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -40,26 +40,26 @@ wcons windows on your $DISPLAY will be killed. *************** -\ **Options**\ +\ **Options**\ *************** -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. - + **************** -\ **Examples**\ +\ **Examples**\ **************** @@ -71,7 +71,7 @@ wcons windows on your $DISPLAY will be killed. ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man1/wvid.1.rst b/docs/source/guides/admin-guides/references/man1/wvid.1.rst index 10447f06d..5a1c178ad 100644 --- a/docs/source/guides/admin-guides/references/man1/wvid.1.rst +++ b/docs/source/guides/admin-guides/references/man1/wvid.1.rst @@ -7,7 +7,7 @@ wvid.1 ************ -\ **Name**\ +\ **Name**\ ************ @@ -15,15 +15,15 @@ wvid - windowed remote video console for nodes **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** -\ **wvid**\ \ *noderange*\ +\ **wvid**\ \ *noderange*\ ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -35,7 +35,7 @@ The \ **nodehm.cons**\ attribute of the node determines the method used to open *************** -\ **Options**\ +\ **Options**\ *************** @@ -43,26 +43,26 @@ No options are supported at this time. **************** -\ **Examples**\ +\ **Examples**\ **************** 1. - + To open video consoles for the 1st 2 nodes: - - + + .. code-block:: perl - + wvid node1,node2 - - + + **************** -\ **See Also**\ +\ **See Also**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/xCATWorld.1.rst b/docs/source/guides/admin-guides/references/man1/xCATWorld.1.rst index c29437dc1..f444a86fc 100644 --- a/docs/source/guides/admin-guides/references/man1/xCATWorld.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xCATWorld.1.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **xCATWorld**\ \ *noderange*\ +\ **xCATWorld**\ \ *noderange*\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/xcat2nim.1.rst b/docs/source/guides/admin-guides/references/man1/xcat2nim.1.rst index f855ea2cc..9069b27de 100644 --- a/docs/source/guides/admin-guides/references/man1/xcat2nim.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xcat2nim.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **xcat2nim [-h|-**\ **-help]**\ +\ **xcat2nim [-h|-**\ **-help]**\ -\ **xcat2nim [-V|-**\ **-verbose] [-u|-**\ **-update] [-l|-**\ **-list] [-r|-**\ **-remove] [-f|-**\ **-force] [-t object-types] [-o**\ \ *object-names*\ ] \ **[-a|-**\ **-allobjects] [-p|-**\ **-primarySN] [-b|-**\ **-backupSN]**\ \ *[noderange] [attr=val [attr=val...]]*\ +\ **xcat2nim [-V|-**\ **-verbose] [-u|-**\ **-update] [-l|-**\ **-list] [-r|-**\ **-remove] [-f|-**\ **-force] [-t object-types] [-o**\ \ *object-names*\ ] \ **[-a|-**\ **-allobjects] [-p|-**\ **-primarySN] [-b|-**\ **-backupSN]**\ \ *[noderange] [attr=val [attr=val...]]*\ *********** diff --git a/docs/source/guides/admin-guides/references/man1/xcatchroot.1.rst b/docs/source/guides/admin-guides/references/man1/xcatchroot.1.rst index 8d7b03e0e..c6507141f 100644 --- a/docs/source/guides/admin-guides/references/man1/xcatchroot.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xcatchroot.1.rst @@ -19,9 +19,9 @@ SYNOPSIS ******** -\ **xcatchroot -h**\ +\ **xcatchroot -h**\ -\ **xcatchroot [-V] -i**\ \ *osimage_name cmd_string*\ +\ **xcatchroot [-V] -i**\ \ *osimage_name cmd_string*\ *********** @@ -33,7 +33,7 @@ For AIX diskless images this command will modify the AIX SPOT resource using the chroot command. You must include the name of an xCAT osimage definition and the command that you wish to have run in the spot. -\ **WARNING:**\ +\ **WARNING:**\ Be very careful when using this command!!! Make sure you are @@ -89,29 +89,29 @@ OPTIONS -\ *cmd_string*\ - +\ *cmd_string*\ + The command you wish to have run in the chroot environment. (Use a quoted string.) + - -\ **-h |-**\ **-help**\ - +\ **-h |-**\ **-help**\ + Display usage message. + - -\ **-i**\ \ *osimage_name*\ - +\ **-i**\ \ *osimage_name*\ + The name of the xCAT osimage definition. + - -\ **-V |-**\ **-verbose**\ - +\ **-V |-**\ **-verbose**\ + Verbose mode. - + diff --git a/docs/source/guides/admin-guides/references/man1/xcatperftest.1.rst b/docs/source/guides/admin-guides/references/man1/xcatperftest.1.rst index 3c7bf5394..8276fcbb8 100644 --- a/docs/source/guides/admin-guides/references/man1/xcatperftest.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xcatperftest.1.rst @@ -54,22 +54,22 @@ OPTIONS -\ **-?|-h**\ - +\ **-?|-h**\ + Display usage message. - + - + Specifies the command list file with full-path. xCAT supports an example command file: /opt/xcat/share/xcat/tools/autotest/perfcmds.lst - + - + Total number of fake nodes will be defined during the testing. - + @@ -128,33 +128,33 @@ ENVIRONMENT VARIABLE The xcatperftest command supports be customized by some environment variables. -\ **FAKE_NODE_PREFIX**\ +\ **FAKE_NODE_PREFIX**\ Optional, the prefix of the fake compute node name. By default, the value is 'fake' -\ **FAKE_NODE_GROUP**\ +\ **FAKE_NODE_GROUP**\ # Optional, the group name of all the fake compute nodes. By default, the value is 'perftest' -\ **FAKE_NETWORK_PRO**\ +\ **FAKE_NETWORK_PRO**\ Mandatory, the Provision network for all the fake compute nodes. By default, the value is '192.168'. It must be a string like 'A.B', and be matched with \`tabdump networks\` -\ **FAKE_NETWORK_BMC**\ +\ **FAKE_NETWORK_BMC**\ Mandatory, the BMC network for all the fake compute nodes. By default, the value is '192.168'. Note: It could not be the same subnet as 'FAKE_NETWORK_PRO' It must be a string like 'A.B' and no need to be defined in 'networks' table. -\ **PERF_NODETEMPL**\ +\ **PERF_NODETEMPL**\ Optional, The node template name used for generating fake nodes. By default, it will be auto-detected according to the current arch. -\ **PERF_DRYRUN**\ +\ **PERF_DRYRUN**\ Optional, Indicate no real commands will be executed if the environment variable is set. -\ **PERF_NOCREATE**\ +\ **PERF_NOCREATE**\ Optional, Indicate no new fake nodes will be created if the environment variable is set. @@ -166,39 +166,39 @@ EXAMPLES 1. - + To run the performance testing for the commands defined in /tmp/cmd.lst on 5000 fake nodes: - - + + .. code-block:: perl - + xcatperftest 5000 /tmp/cmd.lst - - + + 2. - + To generate an xCAT node object stanz file for 10000 nodes in subnet 10.100.0.0: - - + + .. code-block:: perl - + FAKE_NETWORK_PRO=10.100 FAKE_NETWORK_BMC=10.200 xcatperftest 10000 - - + + 3. - + To run the performance testing for the commands defined in /opt/xcat/share/xcat/tools/autotest/perfcmds.lst on 5000 existing fake nodes: - - + + .. code-block:: perl - + PERF_NOCREATE=y xcatperftest 5000 /opt/xcat/share/xcat/tools/autotest/perfcmds.lst - - + + diff --git a/docs/source/guides/admin-guides/references/man1/xcattest.1.rst b/docs/source/guides/admin-guides/references/man1/xcattest.1.rst index fbc86963b..ba6727629 100644 --- a/docs/source/guides/admin-guides/references/man1/xcattest.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xcattest.1.rst @@ -54,46 +54,46 @@ OPTIONS -\ **-?|-h**\ - +\ **-?|-h**\ + Display usage message. + - -\ **-f**\ \ *configure file*\ - +\ **-f**\ \ *configure file*\ + Specifies the configuration file with full-path. xCAT supports an example config file: /opt/xcat/share/xcat/tools/autotest/linux.conf.template + - -\ **-b**\ \ *case bundle list*\ - +\ **-b**\ \ *case bundle list*\ + Comma separated list of test cases bundle files, each test cases bundle can contain multiple lines and each line for one test case name. The bundle files should be listed in: /opt/xcat/share/xcat/tools/autotest/bundle. + - -\ **-t**\ \ *cases list*\ - +\ **-t**\ \ *cases list*\ + Comma separated list of test cases that will be run. + - -\ **-c**\ \ *cmd list*\ - +\ **-c**\ \ *cmd list*\ + Comma separated list of commands which will be tested, i.e., all the test cases under the command sub directory will be run. + - -\ **-l**\ - +\ **-l**\ + Display the test cases names specified by the flag -b, -t or -c. + - -\ **-s**\ - +\ **-s**\ + Display the bundle files and command with value: bundle or command. - + @@ -146,50 +146,50 @@ EXAMPLES 1. - + To run all test cases related command rpower: - - + + .. code-block:: perl - + xcattest -f /tmp/config -c rpower - - + + 2. - + To run customized bundle with /tmp/config file: - - + + .. code-block:: perl - + xcattest -c lsdef -l > /opt/xcat/share/xcat/tools/autotest/bundle/custom.bundle Modify custom.bundle xcattest -f /tmp/config -b custom.bundle - - + + 3. - + To run specified test cases with /tmp/config file: - - + + .. code-block:: perl - + xcattest -f /tmp/config -t lsdef_t_o_l_z - - + + 4. - + To add a new case to test chvm. In the example, we assume that the min_mem should not be equal to 16 in the lpar profile of computenode. The case name is chvm_custom. It create a test lpar named testnode firstly, that change the min_mem of the lpar to 16 using chvm, then check if min_mem have changed correctly. At last, the testnode be remove to ensure no garbage produced in the cases. - - + + .. code-block:: perl - + add a new test case file in /opt/xcat/share/xcat/tools/autotest/chvm edit filename start:chvm_custom @@ -207,8 +207,8 @@ EXAMPLES cmd:rmvm testnode cmd:rm -f /tmp/autotest.profile end - - + + diff --git a/docs/source/guides/admin-guides/references/man1/xcoll.1.rst b/docs/source/guides/admin-guides/references/man1/xcoll.1.rst index ef49f4b13..678d76ac2 100644 --- a/docs/source/guides/admin-guides/references/man1/xcoll.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xcoll.1.rst @@ -7,7 +7,7 @@ xcoll.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,7 +15,7 @@ xcoll.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -23,11 +23,11 @@ xcoll.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* -The \ **xcoll**\ command formats and consolidates output from the \ **psh,rinv**\ command. The \ **xcoll**\ +The \ **xcoll**\ command formats and consolidates output from the \ **psh,rinv**\ command. The \ **xcoll**\ command takes, as input, lines in the following format: groupname: line of output from remote command, will use group name, if defined @@ -47,7 +47,7 @@ is identical: lines from psh for node1 with hostnames stripped off . . - + ==================================== node2 or nodegroup name ==================================== @@ -56,7 +56,7 @@ is identical: lines from psh for node2 with hostnames stripped off . . - + ==================================== node3, node4 or nodegroup name ==================================== @@ -69,44 +69,44 @@ is identical: *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-c**\ - +\ **-c**\ + Display a total nodecount for each set of output. + - -\ **-n**\ - +\ **-n**\ + Display output as nodenames instead of groupnames. - + **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. To display the results of a command issued on several nodes, in the format used in the Description, enter: - - + + .. code-block:: perl - + psh node1,node2,node3 cat /etc/passwd | xcoll - - + + **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/xdcp.1.rst b/docs/source/guides/admin-guides/references/man1/xdcp.1.rst index 4584d26c8..7b1ea700d 100644 --- a/docs/source/guides/admin-guides/references/man1/xdcp.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xdcp.1.rst @@ -7,7 +7,7 @@ xdcp.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,11 +15,11 @@ xdcp.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** -\ **xdcp**\ \ *noderange*\ [[\ **-B**\ | \ **-**\ **-bypass**\ ] [\ **-f**\ \ *fanout*\ ] [\ **-L**\ ] [\ **-l**\ \ *userID*\ ] [\ **-o**\ \ *node_options*\ ] [\ **-p**\ ] [\ **-P**\ ] [\ **-r**\ \ *node_remote_shell*\ ] [\ **-R**\ ] [\ **-t**\ \ *timeout*\ ] [\ **-T**\ ] [\ **-v**\ ] [\ **-q**\ ] [\ **-X**\ \ *env_list*\ ] \ *sourcefile.... targetpath*\ +\ **xdcp**\ \ *noderange*\ [[\ **-B**\ | \ **-**\ **-bypass**\ ] [\ **-f**\ \ *fanout*\ ] [\ **-L**\ ] [\ **-l**\ \ *userID*\ ] [\ **-o**\ \ *node_options*\ ] [\ **-p**\ ] [\ **-P**\ ] [\ **-r**\ \ *node_remote_shell*\ ] [\ **-R**\ ] [\ **-t**\ \ *timeout*\ ] [\ **-T**\ ] [\ **-v**\ ] [\ **-q**\ ] [\ **-X**\ \ *env_list*\ ] \ *sourcefile.... targetpath*\ \ **xdcp**\ \ *noderange*\ [\ **-F**\ \ *rsync input file*\ ] @@ -31,7 +31,7 @@ xdcp.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* @@ -47,7 +47,7 @@ If the Management Node is target node, it must be defined in the xCAT database w \ **REMOTE**\ \ **USER**\ : A user_ID can be specified for the remote copy command. Remote user -specification is identical for the xdcp and xdsh commands. See the xdsh +specification is identical for the \ **xdcp**\ and \ **xdsh**\ commands. See the \ **xdsh**\ command for more information. \ **REMOTE**\ \ **COMMAND**\ \ **COPY**\ : @@ -85,22 +85,22 @@ standard output or standard error is displayed. *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ *sourcefile...*\ - +\ *sourcefile...*\ + Specifies the complete path for the file to be copied to or from the target. Multiple files can be specified. When used with the -R flag, only a single directory can be specified. When used with the -P flag, only a single file can be specified. + - -\ *targetpath*\ - +\ *targetpath*\ + If one source_file file, then it specifies the file to copy the source_file file to on the target. If multiple source_file files, it specifies the directory to copy the source_file files to on the target. @@ -109,90 +109,90 @@ standard output or standard error is displayed. under target_path and the remote target name is appended to the copied source_file name in the target_path directory. Note: the targetpath directory must exist. + - -\ **-B | -**\ **-bypass**\ - +\ **-B | -**\ **-bypass**\ + Runs in bypass mode, use if the xcatd daemon is hung. + - -\ **-f | -**\ **-fanout**\ \ *fanout_value*\ - +\ **-f | -**\ **-fanout**\ \ *fanout_value*\ + Specifies a fanout value for the maximum number of concur- rently executing remote shell processes. Serial execution can be specified by indicating a fanout value of \ **1**\ . If \ **-f**\ is not specified, a default fanout value of \ **64**\ is used. + - -\ **-F | -**\ **-File**\ \ *rsync input file*\ - +\ **-F | -**\ **-File**\ \ *rsync input file*\ + Specifies the path to the file that will be used to build the \ **rsync**\ command. The format of the input file is as follows, each line contains: - - + + .. code-block:: perl - + ... -> < path to destination file/directory> - - + + or - - + + .. code-block:: perl - + -> - - + + or - - + + .. code-block:: perl - + -> - - + + For example: - - + + .. code-block:: perl - + /etc/password /etc/hosts -> /etc - + /tmp/file2 -> /tmp/file2 - + /tmp/file2 -> /tmp/ - + /tmp/filex -> /tmp/source/filey - + /etc/* -> /etc/ - - + + \ **Running postscripts after files are sync'd to the nodes**\ : - + After you define the files to rsync, you can add an \ **EXECUTE:**\ clause in the synclist file. The \ **EXECUTE:**\ clause will list all the postscripts that you would like to run after the files are sync'd to the node. The postscript file must be of the form \ **filename.post**\ , where the is the is the from , reside in the same directory as \ **filename**\ , and be executable. - If the file \ **filename**\ is rsync'd to the node, then the \ **filename.post**\ + If the file \ **filename**\ is rsync'd to the node, then the \ **filename.post**\ will automatically be run on the node. If the file \ **filename**\ is not updated on the node, the \ **filename.post**\ will not be run. - + Putting the \ **filename.post**\ in the file list to rsync to the node is required for hierarchical clusters. It is optional for non-hierarchical clusters. - + Another option is the \ **EXECUTEALWAYS:**\ clause in the synclist file. The \ **EXECUTEALWAYS:**\ will list all the postscripts that you would like to run after the files are sync'd to the nodes. These scripts will run whether or not any files are sync'd to the nodes. The scripts have no special format, but must contain the fully qualified path. - + The scripts must be also added to the file list to rsync to the node for hierarchical clusters. It is optional for non-hierarchical clusters. - + For example, your rsynclist file may look like this: - - + + .. code-block:: perl - + /tmp/share/file2 -> /tmp/file2 /tmp/share/file2.post -> /tmp/file2.post /tmp/share/file3 -> /tmp/filex @@ -204,18 +204,18 @@ standard output or standard error is displayed. /tmp/share/file3.post EXECUTEALWAYS: /tmp/myscript - - + + If /tmp/file2 and /tmp/file3 update /tmp/file2 and /tmp/filex on the node, then the postscripts /tmp/file2.post and /tmp/file3.post are automatically run on the node. /tmp/myscript will always be run on the node. - + Another option is the \ **APPEND:**\ clause in the synclist file. The \ **APPEND:**\ clause is used to append the contents of the input file to an existing file on the node. The file to append \ **must**\ already exist on the node and not be part of the synclist that contains the \ **APPEND:**\ clause. - + For example, your rsynclist file may look like this: - - + + .. code-block:: perl - + /tmp/share/file2 -> /tmp/file2 /tmp/share/file2.post -> /tmp/file2.post /tmp/share/file3 -> /tmp/filex @@ -230,12 +230,12 @@ standard output or standard error is displayed. APPEND: /etc/myappenddir/appendfile -> /etc/mysetup/setup /etc/myappenddir/appendfile2 -> /etc/mysetup/setup2 - - + + When you use the append script, the file (left) of the arrow is appended to the file right of the arrow. In this example, /etc/myappenddir/appendfile is appended to /etc/mysetup/setup file, which must already exist on the node. The /opt/xcat/share/xcat/scripts/xdcpappend.sh is used to accomplish this. - - Another option is the \ **MERGE:**\ clause in the synclist file. The \ **MERGE:**\ clause is used to append the contents of the input file to /etc/passwd, /etc/group, or /etc/shadow on a Linux node. It is only supported for those files and only on Linux. You must not use both the APPEND and MERGE funcion for these three files. The processing could end up not creating the file you desire. The MERGE function is the preferred method, becuase APPEND only adds to the file. MERGE will add to the file but also insure there are no duplicate entries. - + + Another option is the \ **MERGE:**\ clause in the synclist file. The \ **MERGE:**\ clause is used to append the contents of the input file to /etc/passwd, /etc/group, or /etc/shadow on a Linux node. It is only supported for those files and only on Linux. You must not use both the APPEND and MERGE funcion for these three files. The processing could end up not creating the file you desire. The MERGE function is the preferred method, because APPEND only adds to the file. MERGE will add to the file but also insure there are no duplicate entries. + For example, your rsynclist file may look like this: /tmp/share/file2 -> /tmp/file2 /tmp/share/file2.post -> /tmp/file2.post @@ -252,44 +252,44 @@ standard output or standard error is displayed. /custom/mypasswd -> /etc/passwd /custom/mygroups -> /etc/group /custom/myshadow -> /etc/shadow - + Note: no order can be assumed by the order that the EXECUTE,EXECUTEALWAYS and APPEND clause fall in the synclist file. - + For more information on syncing files to node, read Sync-ing_Config_Files_to_Nodes - + On Linux rsync always uses ssh remoteshell. On AIX, ssh or rsh is used depending on the site.useSSHonAIX attribute. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Displays usage information. + - -\ **-i | -**\ **-rootimg**\ \ *install image*\ - +\ **-i | -**\ **-rootimg**\ \ *install image*\ + Specifies the path to the install image on the local Linux node. + - -\ **-o | -**\ **-node-options**\ \ *node_options*\ - +\ **-o | -**\ **-node-options**\ \ *node_options*\ + Specifies options to pass to the remote shell command for node targets. The options must be specified within double quotation marks ("") to distinguish them from \ **xdsh**\ options. + - -\ **-p | -**\ **-preserve**\ - +\ **-p | -**\ **-preserve**\ + Preserves the source file characteristics as implemented by the configured remote copy command. + - -\ **-P | -**\ **-pull**\ - +\ **-P | -**\ **-pull**\ + Pulls (copies) the files from the targets and places them in the target_path directory on the local host. The target_path must be a directory. Files pulled from remote machines have @@ -300,47 +300,47 @@ standard output or standard error is displayed. Hierarchy is not automatically support yet. You must first pull the file to the Service Node and then pull the file to the Management node. + - -\ **-q | -**\ **-show-config**\ - +\ **-q | -**\ **-show-config**\ + Displays the current environment settings for all DSH Utilities commands. This includes the values of all environment variables and settings for all currently installed and valid contexts. Each setting is prefixed with \ *context*\ : to identify the source context of the setting. + - -\ **-r | -**\ **-node-rcp**\ \ *node_remote_copy*\ - +\ **-r | -**\ **-node-rcp**\ \ *node_remote_copy*\ + Specifies the full path of the remote copy command used for remote command execution on node targets. + - -\ **-R | -**\ **-recursive**\ \ *recursive*\ - +\ **-R | -**\ **-recursive**\ \ *recursive*\ + Recursively copies files from a local directory to the remote targets, or when specified with the \ **-P**\ flag, recursively pulls (copies) files from a remote directory to the local host. A single source directory can be specified using the source_file parameter. + - -\ **-s**\ \ *synch service nodes*\ - +\ **-s**\ \ *synch service nodes*\ + Will only sync the files listed in the synclist (\ **-F**\ ), to the service nodes for the input compute node list. The files will be placed in the directory defined by the site.SNsyncfiledir attribute, or the default /var/xcat/syncfiles directory. + - -\ **-t | -**\ **-timeout**\ \ *timeout*\ - +\ **-t | -**\ **-timeout**\ \ *timeout*\ + Specifies the time, in seconds, to wait for output from any currently executing remote targets. If no output is available from any target in the specified \ *timeout*\ , @@ -350,112 +350,112 @@ standard output or standard error is displayed. all remote targets. When specified with the \ **-i**\ flag, the user is prompted for an additional timeout interval to wait for output. + - -\ **-T | -**\ **-trace**\ - +\ **-T | -**\ **-trace**\ + Enables trace mode. The \ **xdcp**\ command prints diagnostic messages to standard output during execution to each target. + - -\ **-v | -**\ **-verify**\ - +\ **-v | -**\ **-verify**\ + Verifies each target before executing any remote commands on the target. If a target is not responding, execution of remote commands for the target is canceled. + - -\ **-V | -**\ **-version**\ - +\ **-V | -**\ **-version**\ + Displays the \ **xdcp**\ command version information. - + ************************************* -\ **Environment**\ \ **Variables**\ +\ **Environment**\ \ **Variables**\ ************************************* -\ **DSH_ENVIRONMENT**\ - +\ **DSH_ENVIRONMENT**\ + Specifies a file that contains environment variable definitions to export to the target before executing the remote command. This variable is overridden by the \ **-E**\ flag. + - -\ **DSH_FANOUT**\ - +\ **DSH_FANOUT**\ + Specifies the fanout value. This variable is overridden by the \ **-f**\ flag. + - -\ **DSH_NODE_OPTS**\ - +\ **DSH_NODE_OPTS**\ + Specifies the options to use for the remote shell command with node targets only. This variable is overridden by the \ **-o**\ flag. + - -\ **DSH_NODE_RCP**\ - +\ **DSH_NODE_RCP**\ + Specifies the full path of the remote copy command to use to copy local scripts and local environment configuration files to node targets. + - -\ **DSH_NODE_RSH**\ - +\ **DSH_NODE_RSH**\ + Specifies the full path of the remote shell to use for remote command execution on node targets. This variable is overridden by the \ **-r**\ flag. + - -\ **DSH_NODEGROUP_PATH**\ - +\ **DSH_NODEGROUP_PATH**\ + Specifies a colon-separated list of directories that contain node group files for the \ **DSH**\ context. When the \ **-a**\ flag is specified in the \ **DSH**\ context, a list of unique node names is collected from all node group files in the path. + - -\ **DSH_PATH**\ - +\ **DSH_PATH**\ + Sets the command path to use on the targets. If \ **DSH_PATH**\ is not set, the default path defined in the profile of the remote \ *user_ID*\ is used. + - -\ **DSH_SYNTAX**\ - +\ **DSH_SYNTAX**\ + Specifies the shell syntax to use on remote targets; \ **ksh**\ or \ **csh**\ . If not specified, the \ **ksh**\ syntax is assumed. This variable is overridden by the \ **-S**\ flag. + - -\ **DSH_TIMEOUT**\ - +\ **DSH_TIMEOUT**\ + Specifies the time, in seconds, to wait for output from - each remote target. This variable is overridden by the \ **-t**\ + each remote target. This variable is overridden by the \ **-t**\ flag. - + ******************* -\ **Exit Status**\ +\ **Exit Status**\ ******************* @@ -473,7 +473,7 @@ successfully, the xdcp command exit value is greater than 0. **************** -\ **Security**\ +\ **Security**\ **************** @@ -491,235 +491,233 @@ userdefined. **************** -\ **Examples**\ +\ **Examples**\ **************** 1. To copy the /etc/hosts file from all nodes in the cluster to the /tmp/hosts.dir directory on the local host, enter: - - + + .. code-block:: perl - + xdcp all -P /etc/hosts /tmp/hosts.dir - - + + A suffix specifying the name of the target is appended to each file name. The contents of the /tmp/hosts.dir directory are similar to: - - + + .. code-block:: perl - + hosts._node1 hosts._node4 hosts._node7 hosts._node2 hosts._node5 hosts._node8 hosts._node3 hosts._node6 - - + + 2. To copy the directory /var/log/testlogdir from all targets in NodeGroup1 with a fanout of 12, and save each directory on the local host as /var/log._target, enter: - - + + .. code-block:: perl - + xdcp NodeGroup1 -f 12 -RP /var/log/testlogdir /var/log - - + + 3. To copy /localnode/smallfile and /tmp/bigfile to /tmp on node1 using rsync and input -t flag to rsync, enter: - - + + .. code-block:: perl - + xdcp node1 -r /usr/bin/rsync -o "-t" /localnode/smallfile /tmp/bigfile /tmp - - + + 4. To copy the /etc/hosts file from the local host to all the nodes in the cluster, enter: - - + + .. code-block:: perl - + xdcp all /etc/hosts /etc/hosts - - + + 5. To copy all the files in /tmp/testdir from the local host to all the nodes in the cluster, enter: - - + + .. code-block:: perl - + xdcp all /tmp/testdir/* /tmp/testdir - - + + 6. To copy all the files in /tmp/testdir and it's subdirectories from the local host to node1 in the cluster, enter: - - + + .. code-block:: perl - + xdcp node1 -R /tmp/testdir /tmp/testdir - - + + 7. To copy the /etc/hosts file from node1 and node2 to the /tmp/hosts.dir directory on the local host, enter: - - + + .. code-block:: perl - + xdcp node1,node2 -P /etc/hosts /tmp/hosts.dir - - + + 8. To rsync the /etc/hosts file to your compute nodes: - + Create a rsync file /tmp/myrsync, with this line: - + /etc/hosts -> /etc/hosts - + or - + /etc/hosts -> /etc/ (last / is required) - + Run: - - + + .. code-block:: perl - + xdcp compute -F /tmp/myrsync + + - - -9. - - To rsync all the files in /home/mikev to the compute nodes: - +9. To rsync all the files in /home/mikev to the compute nodes: + Create a rsync file /tmp/myrsync, with this line: - + /home/mikev/\* -> /home/mikev/ (last / is required) - + Run: - - + + .. code-block:: perl - + xdcp compute -F /tmp/myrsync - - + + 10. To rsync to the compute nodes, using service nodes, the command will first rsync the files to the /var/xcat/syncfiles directory on the service nodes and then rsync the files from that directory to the compute nodes. The /var/xcat/syncfiles default directory on the service nodes, can be changed by putting a directory value in the site table SNsyncfiledir attribute. - + Create a rsync file /tmp/myrsync, with this line: - + /etc/hosts /etc/passwd -> /etc - + or - + /etc/hosts /etc/passwd -> /etc/ - + Run: - - + + .. code-block:: perl - + xdcp compute -F /tmp/myrsync - - + + to update the Compute Nodes - + 11. To rsync to the service nodes in preparation for rsyncing the compute nodes during an install from the service node. - + Create a rsync file /tmp/myrsync, with this line: - + /etc/hosts /etc/passwd -> /etc - + Run: - - + + .. code-block:: perl - + xdcp compute -s -F /tmp/myrsync - - + + to sync the service node for compute - + 12. To rsync the /etc/file1 and file2 to your compute nodes and rename to filex and filey: - + Create a rsync file /tmp/myrsync, with these line: - + /etc/file1 -> /etc/filex - + /etc/file2 -> /etc/filey - + Run: - - + + .. code-block:: perl - + xdcp compute -F /tmp/myrsync - - + + to update the Compute Nodes - + 13. To rsync files in the Linux image at /install/netboot/fedora9/x86_64/compute/rootimg on the MN: - + Create a rsync file /tmp/myrsync, with this line: - + /etc/hosts /etc/passwd -> /etc - + Run: - - + + .. code-block:: perl - + xdcp -i /install/netboot/fedora9/x86_64/compute/rootimg -F /tmp/myrsync - - + + 14. To define the Management Node in the database so you can use xdcp, run - - + + .. code-block:: perl - + xcatconfig -m - - + + ************* -\ **Files**\ +\ **Files**\ ************* **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/xdsh.1.rst b/docs/source/guides/admin-guides/references/man1/xdsh.1.rst index 03f6db8f2..1bedf8c7f 100644 --- a/docs/source/guides/admin-guides/references/man1/xdsh.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xdsh.1.rst @@ -7,7 +7,7 @@ xdsh.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,19 +15,19 @@ xdsh.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** \ **xdsh**\ \ *noderange*\ [\ **-B**\ | \ **-**\ **-bypass**\ ] [\ **-**\ **-devicetype**\ \ *type_of_device*\ ] [\ **-e**\ ] [\ **-E**\ \ *environment_file*\ ] [\ **-f**\ \ *fanout*\ ] [\ **-L**\ ] [\ **-l**\ \ *userID*\ ] [\ **-m**\ ] [\ **-o**\ \ *node_options*\ ] [\ **-Q**\ ] [\ **-r**\ \ *node_remote_shell*\ ] [\ **-s**\ ] [\ **-S**\ {\ **csh | ksh**\ }] [\ **-t**\ \ *timeout*\ ] -[\ **-T**\ ] [\ **-v**\ ] [\ **-X**\ \ *env_list*\ ] [\ **-z**\ ] [\ **-**\ **-sudo**\ ] \ *command_list*\ +[\ **-T**\ ] [\ **-v**\ ] [\ **-X**\ \ *env_list*\ ] [\ **-z**\ ] [\ **-**\ **-sudo**\ ] \ *command_list*\ \ **xdsh**\ \ *noderange*\ [\ **-K**\ ] -\ **xdsh**\ \ *noderange*\ [\ **-K**\ ] [\ **-l**\ \ *userID*\ ] \ **-**\ **-devicetype**\ \ *type_of_device*\ +\ **xdsh**\ \ *noderange*\ [\ **-K**\ ] [\ **-l**\ \ *userID*\ ] \ **-**\ **-devicetype**\ \ *type_of_device*\ -\ **xdsh**\ [\ **-i**\ \ *image path | nim image name*\ ] \ *command_list*\ +\ **xdsh**\ [\ **-i**\ \ *image path | nim image name*\ ] \ *command_list*\ \ **xdsh**\ \ *noderange*\ [\ **-c**\ ] @@ -35,7 +35,7 @@ xdsh.1 ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* @@ -87,8 +87,7 @@ The remote shell is determined as follows, in order of precedence: 4. The \ **/usr/bin/ssh**\ command. -The remote shell options are determined as follows, in order of prece- -dence: +The remote shell options are determined as follows, in order of precedence: 1. The \ **-o**\ flag. @@ -116,7 +115,7 @@ The file should be executable and contain one environment variable per line. \ **COMMAND**\ \ **EXECUTION**\ : The maximum number of concurrent remote shell command processes (the -fanout) can be specified with the \ **-f**\ flag or with the \ **DSH_FANOUT**\ +fanout) can be specified with the \ **-f**\ flag or with the \ **DSH_FANOUT**\ environment variable. The fanout is only restricted by the number of remote shell commands that can be run in parallel. You can experiment with the \ **DSH_FANOUT**\ value on your management server to see if higher values are @@ -177,87 +176,87 @@ the commands executing on the remote targets. Signal 19 (CONT), Signal 17 (STOP), and Signal 18 (TSTP) default to \ **xdsh**\ ; the \ **xdsh**\ command responds normally to these signals, but the signals do not have an effect on remotely executing commands. Other -signals are caught by \ **xdsh**\ and have their default effects on the \ **xdsh**\ +signals are caught by \ **xdsh**\ and have their default effects on the \ **xdsh**\ command; all current child processes, through propagation to remotely running commands, are terminated (SIGTERM). *************** -\ **OPTIONS**\ +\ **OPTIONS**\ *************** -\ **-B | -**\ **-bypass**\ - +\ **-B | -**\ **-bypass**\ + Runs in bypass mode, use if the xcatd daemon is hung. + - -\ **-c | -**\ **-cleanup**\ - +\ **-c | -**\ **-cleanup**\ + This flag will have xdsh remove all files from the subdirectories of the the directory on the servicenodes, where xdcp stages the copy to the compute nodes as defined in the site table SNsyncfiledir and nodesyncfiledir attribute, when the target is a service node. - + It can also be used to remove the nodesyncfiledir directory on the compute nodes, which keeps the backup copies of files for the xdcp APPEND function support, if a compute node is the target. + - -\ **-e | -**\ **-execute**\ - +\ **-e | -**\ **-execute**\ + Indicates that \ *command_list*\ specifies a local script filename and arguments to be executed on the remote targets. The script file is copied to the remote targets and then remotely executed with the given arguments. The \ **DSH_NODE_RCP**\ environment variables specify the remote copy command to use to copy the script file to node targets. + - -\ **-E | -**\ **-environment**\ \ *environment_file*\ - +\ **-E | -**\ **-environment**\ \ *environment_file*\ + Specifies that the \ *environment_file*\ contains environment variable definitions to export to the target before executing the \ *command_list*\ . + - -\ **-**\ **-devicetype**\ \ *type_of_device*\ - +\ **-**\ **-devicetype**\ \ *type_of_device*\ + Specify a user-defined device type that references the location of relevant device configuration file. The devicetype value must correspond to a valid device configuration file. xCAT ships some default configuration files for Ethernet switches and and IB switches under \ */opt/xcat/share/xcat/devicetype*\ directory. If you want to overwrite - any of the configuration files, copy them to \ */var/opt/xcat/*\ + any of the configuration files, copy them to \ */var/opt/xcat/*\ directory and cutomize. For example, \ *base/IBSwitch/Qlogic/config*\ is the configuration file location if devicetype is specified as IBSwitch::Qlogic. xCAT will first search config file using \ */var/opt/xcat/*\ as the base. If not found, it will search for it using \ */opt/xcat/share/xcat/devicetype/*\ as the base. + - -\ **-f | -**\ **-fanout**\ \ *fanout_value*\ - +\ **-f | -**\ **-fanout**\ \ *fanout_value*\ + Specifies a fanout value for the maximum number of concurrently executing remote shell processes. Serial execution can be specified by indicating a fanout value of \ **1**\ . If \ **-f**\ is not specified, a default fanout value of \ **64**\ is used. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Displays usage information. + - -\ **-i | -**\ **-rootimg**\ \ *install image*\ - +\ **-i | -**\ **-rootimg**\ \ *install image*\ + For Linux, Specifies the path to the install image on the local node. For AIX, specifies the name of the osimage on the local node. Run lsnim for valid names. @@ -265,19 +264,19 @@ running commands, are terminated (SIGTERM). install image. No other xdsh flags, environment variables apply with this input. A noderange is not accepted. Only runs on the local host, normally the Management Node. The command you run must not prompt for input, the prompt will not be returned to you, and it will appear that \ **xdsh**\ hangs. + + + +\ **-K | -**\ **-ssh-setup**\ -\ **-K | -**\ **-ssh-setup**\ - - - -\ **-K | -**\ **-ssh-setup**\ \ **-l | -**\ **-user**\ \ *user_ID*\ \ **-**\ **-devicetype**\ \ *type_of_device*\ - +\ **-K | -**\ **-ssh-setup**\ \ **-l | -**\ **-user**\ \ *user_ID*\ \ **-**\ **-devicetype**\ \ *type_of_device*\ + Set up the SSH keys for the user running the command to the specified node list. The userid must have the same uid, gid and password as the userid on the node where the keys will be setup. - + If the current user is root, roots public ssh keys will be put in the authorized_keys\* files under roots .ssh directory on the node(s). If the current user is non-root, the user must be in the policy table and have credential to run the xdsh command. @@ -287,78 +286,78 @@ running commands, are terminated (SIGTERM). device should be defined as a node and nodetype should be defined as switch before connecting. The \ **xdsh -K**\ command must be run from the Management Node. + - -\ **-l | -**\ **-user**\ \ *user_ID*\ - +\ **-l | -**\ **-user**\ \ *user_ID*\ + Specifies a remote user name to use for remote command execution. + - -\ **-L | -**\ **-no-locale**\ - +\ **-L | -**\ **-no-locale**\ + Specifies to not export the locale definitions of the local host to the remote targets. Local host locale definitions are exported by default to each remote target. + - -\ **-m | -**\ **-monitor**\ - +\ **-m | -**\ **-monitor**\ + Monitors remote shell execution by displaying status messages during execution on each target. + - -\ **-o | -**\ **-node-options**\ \ *node_options*\ - +\ **-o | -**\ **-node-options**\ \ *node_options*\ + Specifies options to pass to the remote shell command for node targets. The options must be specified within double quotation marks ("") to distinguish them from \ **xdsh**\ options. + - -\ **-q | -**\ **-show-config**\ - +\ **-q | -**\ **-show-config**\ + Displays the current environment settings for all DSH Utilities commands. This includes the values of all environment variables and settings for all currently installed and valid contexts. Each setting is prefixed with \ *context*\ : to identify the source context of the setting. + - -\ **-Q | -**\ **-silent**\ - +\ **-Q | -**\ **-silent**\ + Specifies silent mode. No target output is written to standard output or standard error. Monitoring messages are written to standard output. + - -\ **-r | -**\ **-node-rsh**\ \ *node_remote_shell*\ - +\ **-r | -**\ **-node-rsh**\ \ *node_remote_shell*\ + Specifies the path of the remote shell command used for remote command execution on node targets. + - -\ **-s | -**\ **-stream**\ - +\ **-s | -**\ **-stream**\ + Specifies that output is returned as it becomes available - from each target, instead of waiting for the \ *command_list*\ + from each target, instead of waiting for the \ *command_list*\ to be completed on a target before returning output. - + \ **-S | -**\ **-syntax**\ {\ **csh | ksh**\ } - + Specifies the shell syntax to be used on the remote target. If not specified, the \ **ksh**\ syntax is used. + - -\ **-**\ **-sudo**\ - +\ **-**\ **-sudo**\ + Adding the \ **-**\ **-sudo**\ flag to the xdsh command will have xdsh run sudo before running the command. This is particular useful when using the \ **-e**\ option. This is required when you input \ **-l**\ with a non-root user id and want that id @@ -370,47 +369,47 @@ running commands, are terminated (SIGTERM). You must disabl ssh tty requirements by commenting out or removing this line in the /etc/sudoes file "#Defaults requiretty". See the document Granting_Users_xCAT_privileges for sudo setup requirements. This is not supported in a hierarical cluster, that is the nodes are serviced by servicenodes. + - -\ **-t | -**\ **-timeout**\ \ *timeout*\ - +\ **-t | -**\ **-timeout**\ \ *timeout*\ + Specifies the time, in seconds, to wait for output from any currently executing remote targets. If no output is - available from any target in the specified \ *timeout*\ , \ **xdsh**\ + available from any target in the specified \ *timeout*\ , \ **xdsh**\ displays an error and terminates execution for the remote targets that failed to respond. If \ *timeout*\ is not specified, \ **xdsh**\ waits indefinitely to continue processing output from all remote targets. The exception is the \ **-K**\ flag which defaults to 10 seconds. + - -\ **-T | -**\ **-trace**\ - +\ **-T | -**\ **-trace**\ + Enables trace mode. The \ **xdsh**\ command prints diagnostic messages to standard output during execution to each target. + - -\ **-v | -**\ **-verify**\ - +\ **-v | -**\ **-verify**\ + Verifies each target before executing any remote commands on the target. If a target is not responding, execution of remote commands for the target is canceled. When specified with the \ **-i**\ flag, the user is prompted to retry the verification request. + - -\ **-V | -**\ **-version**\ - +\ **-V | -**\ **-version**\ + Displays the \ **xdsh**\ command version information. + - -\ **-X**\ \ *env_list*\ - +\ **-X**\ \ *env_list*\ + Ignore \ **xdsh**\ environment variables. This option can take an argument which is a comma separated list of environment variable names that should \ **NOT**\ be ignored. If there is no @@ -419,16 +418,16 @@ running commands, are terminated (SIGTERM). This option is useful when running \ **xdsh**\ from within other scripts when you don't want the user's environment affecting the behavior of xdsh. + - -\ **-z | -**\ **-exit-status**\ - +\ **-z | -**\ **-exit-status**\ + Displays the exit status for the last remotely executed non-asynchronous command on each target. If the command issued on the remote node is run in the background, the exit status is not displayed. - + Exit values for each remote shell execution are displayed in messages from the \ **xdsh**\ command, if the remote shell exit values are non-zero. A non-zero return code from a remote shell indicates that @@ -436,7 +435,7 @@ running commands, are terminated (SIGTERM). unrelated to the exit code of the remotely issued command. If a remote shell encounters an error, execution of the remote command on that target is bypassed. - + The \ **xdsh**\ command exit code is \ **0**\ if the command executed without errors and all remote shell commands finished with exit codes of \ **0**\ . If internal \ **xdsh**\ errors occur or the remote shell commands do not @@ -445,101 +444,101 @@ running commands, are terminated (SIGTERM). an unsuccessful remote command execution. If the remotely issued command is run in the background, the exit code of the remotely issued command is \ **0**\ . - + ************************************* -\ **Environment**\ \ **Variables**\ +\ **Environment**\ \ **Variables**\ ************************************* -\ **DEVICETYPE**\ - +\ **DEVICETYPE**\ + Specify a user-defined device type. See \ **-**\ **-devicetype**\ flag. + - -\ **DSH_ENVIRONMENT**\ - +\ **DSH_ENVIRONMENT**\ + Specifies a file that contains environment variable definitions to export to the target before executing the remote command. This variable is overridden by the \ **-E**\ flag. + - -\ **DSH_FANOUT**\ - +\ **DSH_FANOUT**\ + Specifies the fanout value. This variable is overridden by the \ **-f**\ flag. + - -\ **DSH_NODE_OPTS**\ - +\ **DSH_NODE_OPTS**\ + Specifies the options to use for the remote shell command with node targets only. This variable is overridden by the \ **-o**\ flag. + - -\ **DSH_NODE_RCP**\ - +\ **DSH_NODE_RCP**\ + Specifies the full path of the remote copy command to use to copy local scripts and local environment configuration files to node targets. + - -\ **DSH_NODE_RSH**\ - +\ **DSH_NODE_RSH**\ + Specifies the full path of the remote shell to use for remote command execution on node targets. This variable is overridden by the \ **-r**\ flag. + - -\ **DSH_PATH**\ - +\ **DSH_PATH**\ + Sets the command path to use on the targets. If \ **DSH_PATH**\ is not set, the default path defined in the profile of the remote \ *user_ID*\ is used. + - -\ **DSH_REMOTE_PASSWORD**\ - +\ **DSH_REMOTE_PASSWORD**\ + If \ **DSH_REMOTE_PASSWORD**\ is set to the password of the userid (usually root) that will ssh to the node, then when you use the \ **-K**\ flag, you will not be prompted for a password. + - -\ **DSH_SYNTAX**\ - +\ **DSH_SYNTAX**\ + Specifies the shell syntax to use on remote targets; \ **ksh**\ or \ **csh**\ . If not specified, the \ **ksh**\ syntax is assumed. This variable is overridden by the \ **-S**\ flag. + - -\ **DSH_TIMEOUT**\ - +\ **DSH_TIMEOUT**\ + Specifies the time, in seconds, to wait for output from each remote target. This variable is overridden by the \ **-t**\ flag. + - -\ **DSH_VERIFY**\ - +\ **DSH_VERIFY**\ + Verifies each target before executing any remote commands on the target. If a target is not responding, execution of remote commands for the target is canceled. This variable is overridden by the \ **-v**\ flag. - + ********************************** -\ **Compatibility with AIX dsh**\ +\ **Compatibility with AIX dsh**\ ********************************** @@ -550,7 +549,7 @@ xCAT database that can be used by \ **dsh**\ . See \ **man groupfiles4dsh**\ . **************** -\ **SECURITY**\ +\ **SECURITY**\ **************** @@ -568,7 +567,7 @@ userdefined. ******************* -\ **EXIT STATUS**\ +\ **EXIT STATUS**\ ******************* @@ -576,178 +575,172 @@ The \ **xdsh**\ command exit code is 0 if the command executed without errors a **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. To set up the SSH keys for root on node1, run as root: - - + + .. code-block:: perl - + xdsh node1 -K - - + + 2. To run the \ **ps -ef**\ command on node targets \ **node1**\ and \ **node2**\ , enter: - - + + .. code-block:: perl - + xdsh node1,node2 "ps -ef" - - + + 3. To run the \ **ps**\ command on node targets \ **node1**\ and run the remote command with the -v and -t flag, enter: - - + + .. code-block:: perl - + xdsh node1,node2 -o "-v -t" ps + + - - -4. To execute the commands contained in \ **myfile**\ in the \ **XCAT**\ +4. To execute the commands contained in \ **myfile**\ in the \ **XCAT**\ context on several node targets, with a fanout of \ **1**\ , enter: - - + + .. code-block:: perl - + xdsh node1,node2 -f 1 -e myfile - - + + 5. To run the ps command on node1 and ignore all the dsh environment variable except the DSH_NODE_OPTS, enter: - - + + .. code-block:: perl - + xdsh node1 -X `DSH_NODE_OPTS' ps - - + + 6. To run on Linux, the xdsh command "rpm -qa | grep xCAT" on the service node fedora9 diskless image, enter: - - + + .. code-block:: perl - + xdsh -i /install/netboot/fedora9/x86_64/service/rootimg "rpm -qa | grep xCAT" - - + + 7. To run on AIX, the xdsh command "lslpp -l | grep bos" on the NIM 611dskls spot, enter: - - + + .. code-block:: perl - + xdsh -i 611dskls "/usr/bin/lslpp -l | grep bos" - - + + 8. To cleanup the servicenode directory that stages the copy of files to the nodes, enter: - - + + .. code-block:: perl - + xdsh servicenoderange -c + + - - -9. - - To define the QLogic IB switch as a node and to set up the SSH keys for IB switch - \ **qswitch**\ with device configuration file - \ **/var/opt/xcat/IBSwitch/Qlogic/config**\ and user name \ **username**\ , enter - - +9. To define the QLogic IB switch as a node and to set up the SSH keys for IB switch +\ **qswitch**\ with device configuration file +\ **/var/opt/xcat/IBSwitch/Qlogic/config**\ and user name \ **username**\ , enter + + .. code-block:: perl - + chdef -t node -o qswitch groups=all nodetype=switch - + xdsh qswitch -K -l username --devicetype IBSwitch::Qlogic - - + + 10. To define the Management Node in the database so you can use \ **xdsh**\ , enter - - + + .. code-block:: perl - + xcatconfig -m - - + + 11. To define the Mellanox switch as a node and run a command to show the ssh keys. \ **mswitch**\ with and user name \ **username**\ , enter - - + + .. code-block:: perl - + chdef -t node -o mswitch groups=all nodetype=switch - + xdsh mswitch -l admin --devicetype IBSwitch::Mellanox 'enable;configure terminal;show ssh server host-keys' + + - - -12. - - To define a BNT Ethernet switch as a node and run a command to create a new vlan with vlan id 3 on the switch. - - +12. To define a BNT Ethernet switch as a node and run a command to create a new vlan with vlan id 3 on the switch. + + .. code-block:: perl - + chdef myswitch groups=all - + tabch switch=myswitch switches.sshusername=admin switches.sshpassword=passw0rd switches.protocol=[ssh|telnet] - - + + where \ *admin*\ and \ *passw0rd*\ are the SSH user name and password for the switch. - + If it is for Telnet, add \ *tn:*\ in front of the user name: \ *tn:admin*\ . - - + + .. code-block:: perl - + dsh myswitch --devicetype EthSwitch::BNT 'enable;configure terminal;vlan 3;end;show vlan' + + - - -13. - - To run \ **xdsh**\ with the non-root userid "user1" that has been setup as an xCAT userid and with sudo on node1 and node2 to run as root, do the following, see xCAT doc on Granting_Users_xCAT_privileges: - - +13. To run \ **xdsh**\ with the non-root userid "user1" that has been setup as an xCAT userid and with sudo on node1 and node2 to run as root, do the following, see xCAT doc on Granting_Users_xCAT_privileges: + + .. code-block:: perl - + xdsh node1,node2 --sudo -l user1 "cat /etc/passwd" - - + + ************* -\ **Files**\ +\ **Files**\ ************* **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/xdshbak.1.rst b/docs/source/guides/admin-guides/references/man1/xdshbak.1.rst index 3ebac0d2d..efab1abda 100644 --- a/docs/source/guides/admin-guides/references/man1/xdshbak.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xdshbak.1.rst @@ -15,7 +15,7 @@ NAME **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** @@ -27,7 +27,7 @@ DESCRIPTION *********** -The \ **xdshbak**\ command formats output from the \ **xdsh**\ command. The \ **xdshbak**\ +The \ **xdshbak**\ command formats output from the \ **xdsh**\ command. The \ **xdshbak**\ command takes, as input, lines in the following format: @@ -73,7 +73,7 @@ When output is displayed from more than one node in collapsed form, the host names are displayed alphabetically. When output is not collapsed, output is displayed sorted alphabetically by host name. -If the \ **-q**\ quiet flag is not set then \ **xdshbak**\ +If the \ **-q**\ quiet flag is not set then \ **xdshbak**\ command writes "." for each 1000 lines of output processed (to show progress), since it won't display the output until it has processed all of it. @@ -112,87 +112,85 @@ OPTIONS -\ **-b**\ - +\ **-b**\ + Strip the host prefix from the beginning of the lines. This only works with the \ **-x**\ option. + - -\ **-c**\ - +\ **-c**\ + If the output from multiple nodes is identical it will be collapsed and displayed only once. + - -\ **-x**\ - +\ **-x**\ + Omit the extra header lines that xdshbak normally displays for each node. This provides more compact output, but xdshbak still sorts the output by node name for easier viewing. This option should not be used with \ **-c**\ . + - -\ **-h**\ - +\ **-h**\ + Displays usage information. + - -\ **-q**\ - +\ **-q**\ + Quiet mode, do not display "." for each 1000 lines of output. - + **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. To display the results of a command issued on several nodes, in the format used in the Description, enter: - - + + .. code-block:: perl - + xdsh node1,node2,node3 cat /etc/passwd | xdshbak + + - - -2. - - To display the results of a command issued on several nodes with - identical output displayed only once, enter: - - +2. To display the results of a command issued on several nodes with +identical output displayed only once, enter: + + .. code-block:: perl - + xdsh host1,host2,host3 pwd | xdshbak -c - - + + 3. To display the results of a command issued on several nodes with compact output and be sorted alphabetically by host name, enter: - - + + .. code-block:: perl - + xdsh host1,host2,host3 date | xdshbak -x - - + + **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man1/xdshcoll.1.rst b/docs/source/guides/admin-guides/references/man1/xdshcoll.1.rst index d70cfe2a8..0e1b13487 100644 --- a/docs/source/guides/admin-guides/references/man1/xdshcoll.1.rst +++ b/docs/source/guides/admin-guides/references/man1/xdshcoll.1.rst @@ -7,7 +7,7 @@ xdshcoll.1 ************ -\ **NAME**\ +\ **NAME**\ ************ @@ -15,19 +15,19 @@ xdshcoll.1 **************** -\ **SYNOPSIS**\ +\ **SYNOPSIS**\ **************** -\ **xdshcoll**\ +\ **xdshcoll**\ ******************* -\ **DESCRIPTION**\ +\ **DESCRIPTION**\ ******************* -The \ **xdshcoll**\ command formats and consolidates output from the \ **xdsh,sinv**\ command. The \ **xdshcoll**\ +The \ **xdshcoll**\ command formats and consolidates output from the \ **xdsh,sinv**\ command. The \ **xdshcoll**\ command takes, as input, lines in the following format: host_name: line of output from remote command @@ -47,7 +47,7 @@ is identical: lines from xdsh for node1 with hostnames stripped off . . - + ==================================== node2 ==================================== @@ -56,7 +56,7 @@ is identical: lines from xdsh for node2 with hostnames stripped off . . - + ==================================== node3, node4 ==================================== @@ -69,25 +69,25 @@ is identical: **************** -\ **EXAMPLES**\ +\ **EXAMPLES**\ **************** 1. To display the results of a command issued on several nodes, in the format used in the Description, enter: - - + + .. code-block:: perl - + xdsh node1,node2,node3 cat /etc/passwd> | Bvalue ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -180,7 +180,7 @@ no group range match will be attempted. All node and group names are validated against the nodelist table. Invalid names are ignored and return nothing. -\ **xCAT Node Name Format**\ +\ **xCAT Node Name Format**\ ============================= @@ -237,134 +237,134 @@ Example of \ **xCAT Node Name Format**\ node/group names: **************** -\ **Examples**\ +\ **Examples**\ **************** 1. - + Generates a list of all nodes (assuming all is a group) listed in the \ **nodelist**\ table less node5 through node10: - - + + .. code-block:: perl - + all,-node5-node10 - - + + 2. - + Generates a list of nodes 1 through 10 less nodes 3,4,5. Note that node4 is listed twice, first in the range and then at the end. Because exclusion has precedence node4 will be excluded. - - + + .. code-block:: perl - + node1-node10,-node3-node5,node4 - - + + 3. - + Generates a list of nodes 1 through 10 less nodes 3 and 5. - - + + .. code-block:: perl - + node1-node10,-node3,-node5 - - + + 4. - + Generates a list of all (assuming \`all' is a group) nodes in the \ **nodelist**\ table less 17 through 32. - - + + .. code-block:: perl - + -node17-node32,all - - + + 5. - + Generates a list of nodes 1 through 128, and user nodes 1 through 4. - - + + .. code-block:: perl - + node1-node128,user1-user4 - - + + 6. - + Generates a list of all nodes (assuming \`all' is a group), less nodes in groups rack1 through rack3 (assuming groups rack1, rack2, and rack3 are defined), less nodes 100 through 200, less nodes in the storage group. Note that node150 is listed but is excluded. - - + + .. code-block:: perl - + all,-rack1-rack3,-node100-node200,node150,-storage - - + + 7. - + Generates a list of nodes matching the regex \ *node[23].\\**\ . That is all nodes that start with node2 or node3 and end in anything or nothing. E.g. node2, node3, node20, node30, node21234 all match. - - + + .. code-block:: perl - + /node[23].* - - + + 8. - + Generates a list of nodes which have the value hmc in the nodehm.cons attribute. - - + + .. code-block:: perl - + nodehm.cons==hmc - + nodehm.cons=~hmc - - + + 9. - + Generate a list of nodes in the 1st two frames: - - + + .. code-block:: perl - + f[1-2]n[1-42] - - + + ************ -\ **Bugs**\ +\ **Bugs**\ ************ @@ -374,7 +374,7 @@ and \`~' may have to be escaped from the shell. **************** -\ **SEE ALSO**\ +\ **SEE ALSO**\ **************** diff --git a/docs/source/guides/admin-guides/references/man5/auditlog.5.rst b/docs/source/guides/admin-guides/references/man5/auditlog.5.rst index b16ed7ad6..a89b681aa 100644 --- a/docs/source/guides/admin-guides/references/man5/auditlog.5.rst +++ b/docs/source/guides/admin-guides/references/man5/auditlog.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **auditlog Attributes:**\ \ *recid*\ , \ *audittime*\ , \ *userid*\ , \ *clientname*\ , \ *clienttype*\ , \ *command*\ , \ *noderange*\ , \ *args*\ , \ *status*\ , \ *comments*\ , \ *disable*\ +\ **auditlog Attributes:**\ \ *recid*\ , \ *audittime*\ , \ *userid*\ , \ *clientname*\ , \ *clienttype*\ , \ *command*\ , \ *noderange*\ , \ *args*\ , \ *status*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,70 +36,70 @@ auditlog Attributes: -\ **recid**\ - +\ **recid**\ + The record id. + - -\ **audittime**\ - +\ **audittime**\ + The timestamp for the audit entry. + - -\ **userid**\ - +\ **userid**\ + The user running the command. + - -\ **clientname**\ - +\ **clientname**\ + The client machine, where the command originated. + - -\ **clienttype**\ - +\ **clienttype**\ + Type of command: cli, java, webui, other. + - -\ **command**\ - +\ **command**\ + Command executed. See auditskipcmds site table attribute to control which commands get logged. + - -\ **noderange**\ - +\ **noderange**\ + The noderange on which the command was run. + - -\ **args**\ - +\ **args**\ + The command argument list. + - -\ **status**\ - +\ **status**\ + Allowed or Denied. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Do not use. tabprune will not work if set to yes or 1 - + @@ -108,5 +108,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/bootparams.5.rst b/docs/source/guides/admin-guides/references/man5/bootparams.5.rst index f984191a8..13f261616 100644 --- a/docs/source/guides/admin-guides/references/man5/bootparams.5.rst +++ b/docs/source/guides/admin-guides/references/man5/bootparams.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **bootparams Attributes:**\ \ *node*\ , \ *kernel*\ , \ *initrd*\ , \ *kcmdline*\ , \ *addkcmdline*\ , \ *dhcpstatements*\ , \ *adddhcpstatements*\ , \ *comments*\ , \ *disable*\ +\ **bootparams Attributes:**\ \ *node*\ , \ *kernel*\ , \ *initrd*\ , \ *kcmdline*\ , \ *addkcmdline*\ , \ *dhcpstatements*\ , \ *adddhcpstatements*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,58 +36,58 @@ bootparams Attributes: -\ **node**\ - +\ **node**\ + The node or group name + - -\ **kernel**\ - +\ **kernel**\ + The kernel that network boot actions should currently acquire and use. Note this could be a chained boot loader such as memdisk or a non-linux boot loader + - -\ **initrd**\ - +\ **initrd**\ + The initial ramdisk image that network boot actions should use (could be a DOS floppy or hard drive image if using memdisk as kernel) + - -\ **kcmdline**\ - +\ **kcmdline**\ + Arguments to be passed to the kernel + - -\ **addkcmdline**\ - +\ **addkcmdline**\ + User specified kernel options for os provision process(no prefix) or the provisioned os(with prefix "R::"). The options should be delimited with spaces(" ") + - -\ **dhcpstatements**\ - +\ **dhcpstatements**\ + xCAT manipulated custom dhcp statements (not intended for user manipulation) + - -\ **adddhcpstatements**\ - +\ **adddhcpstatements**\ + Custom dhcp statements for administrator use (not implemneted yet) + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -96,5 +96,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/boottarget.5.rst b/docs/source/guides/admin-guides/references/man5/boottarget.5.rst index b93468c43..ff34f5b4a 100644 --- a/docs/source/guides/admin-guides/references/man5/boottarget.5.rst +++ b/docs/source/guides/admin-guides/references/man5/boottarget.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **boottarget Attributes:**\ \ *bprofile*\ , \ *kernel*\ , \ *initrd*\ , \ *kcmdline*\ , \ *comments*\ , \ *disable*\ +\ **boottarget Attributes:**\ \ *bprofile*\ , \ *kernel*\ , \ *initrd*\ , \ *kcmdline*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ boottarget Attributes: -\ **bprofile**\ - +\ **bprofile**\ + All nodes with a nodetype.profile value equal to this value and nodetype.os set to "boottarget", will use the associated kernel, initrd, and kcmdline. + - -\ **kernel**\ - +\ **kernel**\ + The kernel that network boot actions should currently acquire and use. Note this could be a chained boot loader such as memdisk or a non-linux boot loader + - -\ **initrd**\ - +\ **initrd**\ + The initial ramdisk image that network boot actions should use (could be a DOS floppy or hard drive image if using memdisk as kernel) + - -\ **kcmdline**\ - +\ **kcmdline**\ + Arguments to be passed to the kernel + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/cfgmgt.5.rst b/docs/source/guides/admin-guides/references/man5/cfgmgt.5.rst index b659a1ac4..58d9c3f7a 100644 --- a/docs/source/guides/admin-guides/references/man5/cfgmgt.5.rst +++ b/docs/source/guides/admin-guides/references/man5/cfgmgt.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **cfgmgt Attributes:**\ \ *node*\ , \ *cfgmgr*\ , \ *cfgserver*\ , \ *roles*\ , \ *comments*\ , \ *disable*\ +\ **cfgmgt Attributes:**\ \ *node*\ , \ *cfgmgr*\ , \ *cfgserver*\ , \ *roles*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ cfgmgt Attributes: -\ **node**\ - +\ **node**\ + The node being managed by the cfgmgr service + - -\ **cfgmgr**\ - +\ **cfgmgr**\ + The name of the configuration manager service. Currently 'chef' and 'puppet' are supported services. + - -\ **cfgserver**\ - +\ **cfgserver**\ + The xCAT node name of the chef server or puppet master + - -\ **roles**\ - +\ **roles**\ + The roles associated with this node as recognized by the cfgmgr for the software that is to be installed and configured. These role names map to chef recipes or puppet manifest classes that should be used for this node. For example, chef OpenStack cookbooks have roles such as mysql-master,keystone, glance, nova-controller, nova-conductor, cinder-all. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/chain.5.rst b/docs/source/guides/admin-guides/references/man5/chain.5.rst index dd2e5b869..37ac50f22 100644 --- a/docs/source/guides/admin-guides/references/man5/chain.5.rst +++ b/docs/source/guides/admin-guides/references/man5/chain.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **chain Attributes:**\ \ *node*\ , \ *currstate*\ , \ *currchain*\ , \ *chain*\ , \ *ondiscover*\ , \ *comments*\ , \ *disable*\ +\ **chain Attributes:**\ \ *node*\ , \ *currstate*\ , \ *currchain*\ , \ *chain*\ , \ *ondiscover*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ chain Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **currstate**\ - +\ **currstate**\ + The current or next chain step to be executed on this node by xCAT-genesis. Set by xCAT during node discovery or as a result of nodeset. + - -\ **currchain**\ - +\ **currchain**\ + The chain steps still left to do for this node. This attribute will be automatically adjusted by xCAT while xCAT-genesis is running on the node (either during node discovery or a special operation like firmware update). During node discovery, this attribute is initialized from the chain attribute and updated as the chain steps are executed. + - -\ **chain**\ - +\ **chain**\ + A comma-delimited chain of actions to be performed automatically when this node is discovered for the first time. (xCAT and the DHCP server do not recognize the MAC address of the node when xCAT initializes the discovery process.) The last step in this process is to run the operations listed in the chain attribute, one by one. Valid values: boot, runcmd=, runimage=, shell, standby. For example, to have the genesis kernel pause to the shell, use chain=shell. + - -\ **ondiscover**\ - +\ **ondiscover**\ + This attribute is currently not used by xCAT. The "nodediscover" operation is always done during node discovery. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/deps.5.rst b/docs/source/guides/admin-guides/references/man5/deps.5.rst index 7058824d6..1da97c43c 100644 --- a/docs/source/guides/admin-guides/references/man5/deps.5.rst +++ b/docs/source/guides/admin-guides/references/man5/deps.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **deps Attributes:**\ \ *node*\ , \ *nodedep*\ , \ *msdelay*\ , \ *cmd*\ , \ *comments*\ , \ *disable*\ +\ **deps Attributes:**\ \ *node*\ , \ *nodedep*\ , \ *msdelay*\ , \ *cmd*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ deps Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **nodedep**\ - +\ **nodedep**\ + Comma-separated list of nodes or node groups it is dependent on. + - -\ **msdelay**\ - +\ **msdelay**\ + How long to wait between operating on the dependent nodes and the primary nodes. + - -\ **cmd**\ - +\ **cmd**\ + Comma-separated list of which operation this dependency applies to. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/discoverydata.5.rst b/docs/source/guides/admin-guides/references/man5/discoverydata.5.rst index 014c3c685..b187e5b5f 100644 --- a/docs/source/guides/admin-guides/references/man5/discoverydata.5.rst +++ b/docs/source/guides/admin-guides/references/man5/discoverydata.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **discoverydata Attributes:**\ \ *uuid*\ , \ *node*\ , \ *method*\ , \ *discoverytime*\ , \ *arch*\ , \ *cpucount*\ , \ *cputype*\ , \ *memory*\ , \ *mtm*\ , \ *serial*\ , \ *nicdriver*\ , \ *nicipv4*\ , \ *nichwaddr*\ , \ *nicpci*\ , \ *nicloc*\ , \ *niconboard*\ , \ *nicfirm*\ , \ *switchname*\ , \ *switchaddr*\ , \ *switchdesc*\ , \ *switchport*\ , \ *otherdata*\ , \ *comments*\ , \ *disable*\ +\ **discoverydata Attributes:**\ \ *uuid*\ , \ *node*\ , \ *method*\ , \ *discoverytime*\ , \ *arch*\ , \ *cpucount*\ , \ *cputype*\ , \ *memory*\ , \ *mtm*\ , \ *serial*\ , \ *nicdriver*\ , \ *nicipv4*\ , \ *nichwaddr*\ , \ *nicpci*\ , \ *nicloc*\ , \ *niconboard*\ , \ *nicfirm*\ , \ *switchname*\ , \ *switchaddr*\ , \ *switchdesc*\ , \ *switchport*\ , \ *otherdata*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,148 +36,148 @@ discoverydata Attributes: -\ **uuid**\ - +\ **uuid**\ + The uuid of the node which send out the discovery request. + - -\ **node**\ - +\ **node**\ + The node name which assigned to the discovered node. + - -\ **method**\ - +\ **method**\ + The method which handled the discovery request. The method could be one of: switch, blade, profile, sequential. + - -\ **discoverytime**\ - +\ **discoverytime**\ + The last time that xCAT received the discovery message. + - -\ **arch**\ - +\ **arch**\ + The architecture of the discovered node. e.g. x86_64. + - -\ **cpucount**\ - +\ **cpucount**\ + The number of cores multiply by threads core supported for the discovered node. e.g. 192. + - -\ **cputype**\ - +\ **cputype**\ + The cpu type of the discovered node. e.g. Intel(R) Xeon(R) CPU E5-2690 0 @ 2.90GHz + - -\ **memory**\ - +\ **memory**\ + The memory size of the discovered node. e.g. 198460852 + - -\ **mtm**\ - +\ **mtm**\ + The machine type model of the discovered node. e.g. 786310X + - -\ **serial**\ - +\ **serial**\ + The serial number of the discovered node. e.g. 1052EFB + - -\ **nicdriver**\ - +\ **nicdriver**\ + The driver of the nic. The value should be comma separated . e.g. eth0!be2net,eth1!be2net + - -\ **nicipv4**\ - +\ **nicipv4**\ + The ipv4 address of the nic. The value should be comma separated . e.g. eth0!10.0.0.212/8 + - -\ **nichwaddr**\ - +\ **nichwaddr**\ + The hardware address of the nic. The should will be comma separated . e.g. eth0!34:40:B5:BE:DB:B0,eth1!34:40:B5:BE:DB:B4 + - -\ **nicpci**\ - +\ **nicpci**\ + The pic device of the nic. The value should be comma separated . e.g. eth0!0000:0c:00.0,eth1!0000:0c:00.1 + - -\ **nicloc**\ - +\ **nicloc**\ + The location of the nic. The value should be comma separated . e.g. eth0!Onboard Ethernet 1,eth1!Onboard Ethernet 2 + - -\ **niconboard**\ - +\ **niconboard**\ + The onboard info of the nic. The value should be comma separated . e.g. eth0!1,eth1!2 + - -\ **nicfirm**\ - +\ **nicfirm**\ + The firmware description of the nic. The value should be comma separated . e.g. eth0!ServerEngines BE3 Controller,eth1!ServerEngines BE3 Controller + - -\ **switchname**\ - +\ **switchname**\ + The switch name which the nic connected to. The value should be comma separated . e.g. eth0!c909f06sw01 + - -\ **switchaddr**\ - +\ **switchaddr**\ + The address of the switch which the nic connected to. The value should be comma separated . e.g. eth0!192.168.70.120 + - -\ **switchdesc**\ - +\ **switchdesc**\ + The description of the switch which the nic connected to. The value should be comma separated . e.g. eth0!IBM Flex System Fabric EN4093 10Gb Scalable Switch, flash image: version 7.2.6, boot image: version 7.2.6 + - -\ **switchport**\ - +\ **switchport**\ + The port of the switch that the nic connected to. The value should be comma separated . e.g. eth0!INTA2 + - -\ **otherdata**\ - +\ **otherdata**\ + The left data which is not parsed to specific attributes (The complete message comes from genesis) + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -186,5 +186,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/domain.5.rst b/docs/source/guides/admin-guides/references/man5/domain.5.rst index 724d6d4da..73cc78ebb 100644 --- a/docs/source/guides/admin-guides/references/man5/domain.5.rst +++ b/docs/source/guides/admin-guides/references/man5/domain.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **domain Attributes:**\ \ *node*\ , \ *ou*\ , \ *authdomain*\ , \ *adminuser*\ , \ *adminpassword*\ , \ *type*\ , \ *comments*\ , \ *disable*\ +\ **domain Attributes:**\ \ *node*\ , \ *ou*\ , \ *authdomain*\ , \ *adminuser*\ , \ *adminpassword*\ , \ *type*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,52 +36,52 @@ domain Attributes: -\ **node**\ - +\ **node**\ + The node or group the entry applies to + - -\ **ou**\ - +\ **ou**\ + For an LDAP described machine account (i.e. Active Directory), the organizational unit to place the system. If not set, defaults to cn=Computers,dc=your,dc=domain + - -\ **authdomain**\ - +\ **authdomain**\ + If a node should participate in an AD domain or Kerberos realm distinct from domain indicated in site, this field can be used to specify that + - -\ **adminuser**\ - +\ **adminuser**\ + Allow a node specific indication of Administrative user. Most will want to just use passwd table to indicate this once rather than by node. + - -\ **adminpassword**\ - +\ **adminpassword**\ + Allow a node specific indication of Administrative user password for the domain. Most will want to ignore this in favor of passwd table. + - -\ **type**\ - +\ **type**\ + Type, if any, of authentication domain to manipulate. The only recognized value at the moment is activedirectory. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -90,5 +90,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/eventlog.5.rst b/docs/source/guides/admin-guides/references/man5/eventlog.5.rst index bc82fc48e..f75afb9de 100644 --- a/docs/source/guides/admin-guides/references/man5/eventlog.5.rst +++ b/docs/source/guides/admin-guides/references/man5/eventlog.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **eventlog Attributes:**\ \ *recid*\ , \ *eventtime*\ , \ *eventtype*\ , \ *monitor*\ , \ *monnode*\ , \ *node*\ , \ *application*\ , \ *component*\ , \ *id*\ , \ *severity*\ , \ *message*\ , \ *rawdata*\ , \ *comments*\ , \ *disable*\ +\ **eventlog Attributes:**\ \ *recid*\ , \ *eventtime*\ , \ *eventtype*\ , \ *monitor*\ , \ *monnode*\ , \ *node*\ , \ *application*\ , \ *component*\ , \ *id*\ , \ *severity*\ , \ *message*\ , \ *rawdata*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,88 +36,88 @@ eventlog Attributes: -\ **recid**\ - +\ **recid**\ + The record id. + - -\ **eventtime**\ - +\ **eventtime**\ + The timestamp for the event. + - -\ **eventtype**\ - +\ **eventtype**\ + The type of the event. + - -\ **monitor**\ - +\ **monitor**\ + The name of the monitor that monitors this event. + - -\ **monnode**\ - +\ **monnode**\ + The node that monitors this event. + - -\ **node**\ - +\ **node**\ + The node where the event occurred. + - -\ **application**\ - +\ **application**\ + The application that reports the event. + - -\ **component**\ - +\ **component**\ + The component where the event occurred. + - -\ **id**\ - +\ **id**\ + The location or the resource name where the event occurred. + - -\ **severity**\ - +\ **severity**\ + The severity of the event. Valid values are: informational, warning, critical. + - -\ **message**\ - +\ **message**\ + The full description of the event. + - -\ **rawdata**\ - +\ **rawdata**\ + The data that associated with the event. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Do not use. tabprune will not work if set to yes or 1 - + @@ -126,5 +126,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/firmware.5.rst b/docs/source/guides/admin-guides/references/man5/firmware.5.rst index 358c49dc0..3b41f261f 100644 --- a/docs/source/guides/admin-guides/references/man5/firmware.5.rst +++ b/docs/source/guides/admin-guides/references/man5/firmware.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **firmware Attributes:**\ \ *node*\ , \ *cfgfile*\ , \ *comments*\ , \ *disable*\ +\ **firmware Attributes:**\ \ *node*\ , \ *cfgfile*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,28 +36,28 @@ firmware Attributes: -\ **node**\ - +\ **node**\ + The node id. + - -\ **cfgfile**\ - +\ **cfgfile**\ + The file to use. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -66,5 +66,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/hosts.5.rst b/docs/source/guides/admin-guides/references/man5/hosts.5.rst index d18fbd6da..2771c52d9 100644 --- a/docs/source/guides/admin-guides/references/man5/hosts.5.rst +++ b/docs/source/guides/admin-guides/references/man5/hosts.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **hosts Attributes:**\ \ *node*\ , \ *ip*\ , \ *hostnames*\ , \ *otherinterfaces*\ , \ *comments*\ , \ *disable*\ +\ **hosts Attributes:**\ \ *node*\ , \ *ip*\ , \ *hostnames*\ , \ *otherinterfaces*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ hosts Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **ip**\ - +\ **ip**\ + The IP address of the node. This is only used in makehosts. The rest of xCAT uses system name resolution to resolve node names to IP addresses. + - -\ **hostnames**\ - +\ **hostnames**\ + Hostname aliases added to /etc/hosts for this node. Comma or blank separated list. + - -\ **otherinterfaces**\ - +\ **otherinterfaces**\ + Other IP addresses to add for this node. Format: -:,:,... + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/hwinv.5.rst b/docs/source/guides/admin-guides/references/man5/hwinv.5.rst index b74b094d9..626fee9c2 100644 --- a/docs/source/guides/admin-guides/references/man5/hwinv.5.rst +++ b/docs/source/guides/admin-guides/references/man5/hwinv.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **hwinv Attributes:**\ \ *node*\ , \ *cputype*\ , \ *cpucount*\ , \ *memory*\ , \ *disksize*\ , \ *comments*\ , \ *disable*\ +\ **hwinv Attributes:**\ \ *node*\ , \ *cputype*\ , \ *cpucount*\ , \ *memory*\ , \ *disksize*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ hwinv Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **cputype**\ - +\ **cputype**\ + The cpu model name for the node. + - -\ **cpucount**\ - +\ **cpucount**\ + The number of cpus for the node. + - -\ **memory**\ - +\ **memory**\ + The size of the memory for the node in MB. + - -\ **disksize**\ - +\ **disksize**\ + The size of the disks for the node in GB. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/hypervisor.5.rst b/docs/source/guides/admin-guides/references/man5/hypervisor.5.rst index 2c9886af6..c3f9e3a4c 100644 --- a/docs/source/guides/admin-guides/references/man5/hypervisor.5.rst +++ b/docs/source/guides/admin-guides/references/man5/hypervisor.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **hypervisor Attributes:**\ \ *node*\ , \ *type*\ , \ *mgr*\ , \ *interface*\ , \ *netmap*\ , \ *defaultnet*\ , \ *cluster*\ , \ *datacenter*\ , \ *preferdirect*\ , \ *comments*\ , \ *disable*\ +\ **hypervisor Attributes:**\ \ *node*\ , \ *type*\ , \ *mgr*\ , \ *interface*\ , \ *netmap*\ , \ *defaultnet*\ , \ *cluster*\ , \ *datacenter*\ , \ *preferdirect*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,65 +36,65 @@ hypervisor Attributes: -\ **node**\ - +\ **node**\ + The node or static group name + - -\ **type**\ - +\ **type**\ + The plugin associated with hypervisor specific commands such as revacuate + - -\ **mgr**\ - +\ **mgr**\ + The virtualization specific manager of this hypervisor when applicable + - -\ **interface**\ - +\ **interface**\ + The definition of interfaces for the hypervisor. The format is [networkname:interfacename:bootprotocol:IP:netmask:gateway] that split with | for each interface + - -\ **netmap**\ - +\ **netmap**\ + Optional mapping of useful names to relevant physical ports. For example, 10ge=vmnic_16.0&vmnic_16.1,ge=vmnic1 would be requesting two virtual switches to be created, one called 10ge with vmnic_16.0 and vmnic_16.1 bonded, and another simply connected to vmnic1. Use of this allows abstracting guests from network differences amongst hypervisors + - -\ **defaultnet**\ - +\ **defaultnet**\ + Optionally specify a default network entity for guests to join to if they do not specify. + - -\ **cluster**\ - +\ **cluster**\ + Specify to the underlying virtualization infrastructure a cluster membership for the hypervisor. + - -\ **datacenter**\ - +\ **datacenter**\ + Optionally specify a datacenter for the hypervisor to exist in (only applicable to VMWare) + - -\ **preferdirect**\ - +\ **preferdirect**\ + If a mgr is declared for a hypervisor, xCAT will default to using the mgr for all operations. If this is field is set to yes or 1, xCAT will prefer to directly communicate with the hypervisor if possible + + + +\ **comments**\ -\ **comments**\ - - - -\ **disable**\ +\ **disable**\ @@ -104,5 +104,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/ipmi.5.rst b/docs/source/guides/admin-guides/references/man5/ipmi.5.rst index 0d45e562d..1912e186c 100644 --- a/docs/source/guides/admin-guides/references/man5/ipmi.5.rst +++ b/docs/source/guides/admin-guides/references/man5/ipmi.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **ipmi Attributes:**\ \ *node*\ , \ *bmc*\ , \ *bmcport*\ , \ *taggedvlan*\ , \ *bmcid*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ +\ **ipmi Attributes:**\ \ *node*\ , \ *bmc*\ , \ *bmcport*\ , \ *taggedvlan*\ , \ *bmcid*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,98 +36,98 @@ ipmi Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **bmc**\ - +\ **bmc**\ + The hostname of the BMC adapter. + - -\ **bmcport**\ - +\ **bmcport**\ + In systems with selectable shared/dedicated ethernet ports, this parameter can be used to specify the preferred port. 0 means use the shared port, 1 means dedicated, blank is to not assign. - - + + .. code-block:: perl - + The following special cases exist for IBM System x servers: - + For x3755 M3 systems, 0 means use the dedicated port, 1 means shared, blank is to not assign. - + For certain systems which have a mezzaine or ML2 adapter, there is a second value to include: - - + + For x3750 M4 (Model 8722): - - + + 0 2 1st 1Gbps interface for LOM - + 0 0 1st 10Gbps interface for LOM - + 0 3 2nd 1Gbps interface for LOM - + 0 1 2nd 10Gbps interface for LOM - - + + For x3750 M4 (Model 8752), x3850/3950 X6, dx360 M4, x3550 M4, and x3650 M4: - - + + 0 Shared (1st onboard interface) - + 1 Dedicated - + 2 0 First interface on ML2 or mezzanine adapter - + 2 1 Second interface on ML2 or mezzanine adapter - + 2 2 Third interface on ML2 or mezzanine adapter - + 2 3 Fourth interface on ML2 or mezzanine adapter + + - - -\ **taggedvlan**\ - +\ **taggedvlan**\ + bmcsetup script will configure the network interface of the BMC to be tagged to the VLAN specified. + - -\ **bmcid**\ - +\ **bmcid**\ + Unique identified data used by discovery processes to distinguish known BMCs from unrecognized BMCs + - -\ **username**\ - +\ **username**\ + The BMC userid. If not specified, the key=ipmi row in the passwd table is used as the default. + - -\ **password**\ - +\ **password**\ + The BMC password. If not specified, the key=ipmi row in the passwd table is used as the default. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -136,5 +136,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/iscsi.5.rst b/docs/source/guides/admin-guides/references/man5/iscsi.5.rst index 6371674ee..48a91d893 100644 --- a/docs/source/guides/admin-guides/references/man5/iscsi.5.rst +++ b/docs/source/guides/admin-guides/references/man5/iscsi.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **iscsi Attributes:**\ \ *node*\ , \ *server*\ , \ *target*\ , \ *lun*\ , \ *iname*\ , \ *file*\ , \ *userid*\ , \ *passwd*\ , \ *kernel*\ , \ *kcmdline*\ , \ *initrd*\ , \ *comments*\ , \ *disable*\ +\ **iscsi Attributes:**\ \ *node*\ , \ *server*\ , \ *target*\ , \ *lun*\ , \ *iname*\ , \ *file*\ , \ *userid*\ , \ *passwd*\ , \ *kernel*\ , \ *kcmdline*\ , \ *initrd*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,82 +36,82 @@ iscsi Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **server**\ - +\ **server**\ + The server containing the iscsi boot device for this node. + - -\ **target**\ - +\ **target**\ + The iscsi disk used for the boot device for this node. Filled in by xCAT. + - -\ **lun**\ - +\ **lun**\ + LUN of boot device. Per RFC-4173, this is presumed to be 0 if unset. tgtd often requires this to be 1 + - -\ **iname**\ - +\ **iname**\ + Initiator name. Currently unused. + - -\ **file**\ - +\ **file**\ + The path on the server of the OS image the node should boot from. + - -\ **userid**\ - +\ **userid**\ + The userid of the iscsi server containing the boot device for this node. + - -\ **passwd**\ - +\ **passwd**\ + The password for the iscsi server containing the boot device for this node. + - -\ **kernel**\ - +\ **kernel**\ + The path of the linux kernel to boot from. + - -\ **kcmdline**\ - +\ **kcmdline**\ + The kernel command line to use with iSCSI for this node. + - -\ **initrd**\ - +\ **initrd**\ + The initial ramdisk to use when network booting this node. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -120,5 +120,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/kit.5.rst b/docs/source/guides/admin-guides/references/man5/kit.5.rst index 3ffd4f226..af76b1134 100644 --- a/docs/source/guides/admin-guides/references/man5/kit.5.rst +++ b/docs/source/guides/admin-guides/references/man5/kit.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kit Attributes:**\ \ *kitname*\ , \ *basename*\ , \ *description*\ , \ *version*\ , \ *release*\ , \ *ostype*\ , \ *isinternal*\ , \ *kitdeployparams*\ , \ *kitdir*\ , \ *comments*\ , \ *disable*\ +\ **kit Attributes:**\ \ *kitname*\ , \ *basename*\ , \ *description*\ , \ *version*\ , \ *release*\ , \ *ostype*\ , \ *isinternal*\ , \ *kitdeployparams*\ , \ *kitdir*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,70 +36,70 @@ kit Attributes: -\ **kitname**\ - +\ **kitname**\ + The unique generated kit name, when kit is added to the cluster. + - -\ **basename**\ - +\ **basename**\ + The kit base name + - -\ **description**\ - +\ **description**\ + The Kit description. + - -\ **version**\ - +\ **version**\ + The kit version + - -\ **release**\ - +\ **release**\ + The kit release + - -\ **ostype**\ - +\ **ostype**\ + The kit OS type. Linux or AIX. + - -\ **isinternal**\ - +\ **isinternal**\ + A flag to indicated if the Kit is internally used. When set to 1, the Kit is internal. If 0 or undefined, the kit is not internal. + - -\ **kitdeployparams**\ - +\ **kitdeployparams**\ + The file containing the default deployment parameters for this Kit. These parameters are added to the OS Image definition.s list of deployment parameters when one or more Kit Components from this Kit are added to the OS Image. + - -\ **kitdir**\ - +\ **kitdir**\ + The path to Kit Installation directory on the Mgt Node. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -108,5 +108,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/kitcomponent.5.rst b/docs/source/guides/admin-guides/references/man5/kitcomponent.5.rst index cd52254e8..ac48fa7a0 100644 --- a/docs/source/guides/admin-guides/references/man5/kitcomponent.5.rst +++ b/docs/source/guides/admin-guides/references/man5/kitcomponent.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kitcomponent Attributes:**\ \ *kitcompname*\ , \ *description*\ , \ *kitname*\ , \ *kitreponame*\ , \ *basename*\ , \ *version*\ , \ *release*\ , \ *serverroles*\ , \ *kitpkgdeps*\ , \ *prerequisite*\ , \ *driverpacks*\ , \ *kitcompdeps*\ , \ *postbootscripts*\ , \ *genimage_postinstall*\ , \ *exlist*\ , \ *comments*\ , \ *disable*\ +\ **kitcomponent Attributes:**\ \ *kitcompname*\ , \ *description*\ , \ *kitname*\ , \ *kitreponame*\ , \ *basename*\ , \ *version*\ , \ *release*\ , \ *serverroles*\ , \ *kitpkgdeps*\ , \ *prerequisite*\ , \ *driverpacks*\ , \ *kitcompdeps*\ , \ *postbootscripts*\ , \ *genimage_postinstall*\ , \ *exlist*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,106 +36,106 @@ kitcomponent Attributes: -\ **kitcompname**\ - +\ **kitcompname**\ + The unique Kit Component name. It is auto-generated when the parent Kit is added to the cluster. + - -\ **description**\ - +\ **description**\ + The Kit component description. + - -\ **kitname**\ - +\ **kitname**\ + The Kit name which this Kit Component belongs to. + - -\ **kitreponame**\ - +\ **kitreponame**\ + The Kit Package Repository name which this Kit Component belongs to. + - -\ **basename**\ - +\ **basename**\ + Kit Component basename. + - -\ **version**\ - +\ **version**\ + Kit Component version. + - -\ **release**\ - +\ **release**\ + Kit Component release. + - -\ **serverroles**\ - +\ **serverroles**\ + The types of servers that this Kit Component can install on. Valid types are: mgtnode, servicenode, compute + - -\ **kitpkgdeps**\ - +\ **kitpkgdeps**\ + Comma-separated list of packages that this kit component depends on. + - -\ **prerequisite**\ - +\ **prerequisite**\ + Prerequisite for this kit component, the prerequisite includes ospkgdeps,preinstall,preupgrade,preuninstall scripts + - -\ **driverpacks**\ - +\ **driverpacks**\ + Comma-separated List of driver package names. These must be full names like: pkg1-1.0-1.x86_64.rpm. + - -\ **kitcompdeps**\ - +\ **kitcompdeps**\ + Comma-separated list of kit components that this kit component depends on. + - -\ **postbootscripts**\ - +\ **postbootscripts**\ + Comma-separated list of postbootscripts that will run during the node boot. + - -\ **genimage_postinstall**\ - +\ **genimage_postinstall**\ + Comma-separated list of postinstall scripts that will run during the genimage. + - -\ **exlist**\ - +\ **exlist**\ + Exclude list file containing the files/directories to exclude when building a diskless image. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -144,5 +144,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/kitrepo.5.rst b/docs/source/guides/admin-guides/references/man5/kitrepo.5.rst index 5a47317db..da260bccb 100644 --- a/docs/source/guides/admin-guides/references/man5/kitrepo.5.rst +++ b/docs/source/guides/admin-guides/references/man5/kitrepo.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kitrepo Attributes:**\ \ *kitreponame*\ , \ *kitname*\ , \ *osbasename*\ , \ *osmajorversion*\ , \ *osminorversion*\ , \ *osarch*\ , \ *compat_osbasenames*\ , \ *kitrepodir*\ , \ *comments*\ , \ *disable*\ +\ **kitrepo Attributes:**\ \ *kitreponame*\ , \ *kitname*\ , \ *osbasename*\ , \ *osmajorversion*\ , \ *osminorversion*\ , \ *osarch*\ , \ *compat_osbasenames*\ , \ *kitrepodir*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,64 +36,64 @@ kitrepo Attributes: -\ **kitreponame**\ - +\ **kitreponame**\ + The unique generated kit repo package name, when kit is added to the cluster. + - -\ **kitname**\ - +\ **kitname**\ + The Kit name which this Kit Package Repository belongs to. + - -\ **osbasename**\ - +\ **osbasename**\ + The OS distro name which this repository is based on. + - -\ **osmajorversion**\ - +\ **osmajorversion**\ + The OS distro major version which this repository is based on. + - -\ **osminorversion**\ - +\ **osminorversion**\ + The OS distro minor version which this repository is based on. If this attribute is not set, it means that this repo applies to all minor versions. + - -\ **osarch**\ - +\ **osarch**\ + The OS distro arch which this repository is based on. + - -\ **compat_osbasenames**\ - +\ **compat_osbasenames**\ + List of compatible OS base names. + - -\ **kitrepodir**\ - +\ **kitrepodir**\ + The path to Kit Repository directory on the Mgt Node. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -102,5 +102,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/kvm_masterdata.5.rst b/docs/source/guides/admin-guides/references/man5/kvm_masterdata.5.rst index d9a70a8c3..7ac2d011a 100644 --- a/docs/source/guides/admin-guides/references/man5/kvm_masterdata.5.rst +++ b/docs/source/guides/admin-guides/references/man5/kvm_masterdata.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kvm_masterdata Attributes:**\ \ *name*\ , \ *xml*\ , \ *comments*\ , \ *disable*\ +\ **kvm_masterdata Attributes:**\ \ *name*\ , \ *xml*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,26 +36,26 @@ kvm_masterdata Attributes: -\ **name**\ - +\ **name**\ + The name of the relevant master + - -\ **xml**\ - +\ **xml**\ + The XML description to be customized for clones of this master + + + +\ **comments**\ -\ **comments**\ - - - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -64,5 +64,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/kvm_nodedata.5.rst b/docs/source/guides/admin-guides/references/man5/kvm_nodedata.5.rst index b564c9979..c2286a413 100644 --- a/docs/source/guides/admin-guides/references/man5/kvm_nodedata.5.rst +++ b/docs/source/guides/admin-guides/references/man5/kvm_nodedata.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kvm_nodedata Attributes:**\ \ *node*\ , \ *xml*\ , \ *comments*\ , \ *disable*\ +\ **kvm_nodedata Attributes:**\ \ *node*\ , \ *xml*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,28 +36,28 @@ kvm_nodedata Attributes: -\ **node**\ - +\ **node**\ + The node corresponding to the virtual machine + - -\ **xml**\ - +\ **xml**\ + The XML description generated by xCAT, fleshed out by libvirt, and stored for reuse + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -66,5 +66,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/linuximage.5.rst b/docs/source/guides/admin-guides/references/man5/linuximage.5.rst index f5c879187..c39c9ff3d 100644 --- a/docs/source/guides/admin-guides/references/man5/linuximage.5.rst +++ b/docs/source/guides/admin-guides/references/man5/linuximage.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **linuximage Attributes:**\ \ *imagename*\ , \ *template*\ , \ *boottarget*\ , \ *addkcmdline*\ , \ *pkglist*\ , \ *pkgdir*\ , \ *otherpkglist*\ , \ *otherpkgdir*\ , \ *exlist*\ , \ *postinstall*\ , \ *rootimgdir*\ , \ *kerneldir*\ , \ *nodebootif*\ , \ *otherifce*\ , \ *netdrivers*\ , \ *kernelver*\ , \ *krpmver*\ , \ *permission*\ , \ *dump*\ , \ *crashkernelsize*\ , \ *partitionfile*\ , \ *driverupdatesrc*\ , \ *comments*\ , \ *disable*\ +\ **linuximage Attributes:**\ \ *imagename*\ , \ *template*\ , \ *boottarget*\ , \ *addkcmdline*\ , \ *pkglist*\ , \ *pkgdir*\ , \ *otherpkglist*\ , \ *otherpkgdir*\ , \ *exlist*\ , \ *postinstall*\ , \ *rootimgdir*\ , \ *kerneldir*\ , \ *nodebootif*\ , \ *otherifce*\ , \ *netdrivers*\ , \ *kernelver*\ , \ *krpmver*\ , \ *permission*\ , \ *dump*\ , \ *crashkernelsize*\ , \ *partitionfile*\ , \ *driverupdatesrc*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,67 +36,67 @@ linuximage Attributes: -\ **imagename**\ - +\ **imagename**\ + The name of this xCAT OS image definition. + - -\ **template**\ - +\ **template**\ + The fully qualified name of the template file that will be used to create the OS installer configuration file for stateful installations (e.g. kickstart for RedHat, autoyast for SLES). + - -\ **boottarget**\ - +\ **boottarget**\ + The name of the boottarget definition. When this attribute is set, xCAT will use the kernel, initrd and kernel params defined in the boottarget definition instead of the default. + - -\ **addkcmdline**\ - +\ **addkcmdline**\ + User specified kernel options for os provision process(no prefix) or the provisioned os(with prefix "R::"). The options should be delimited with spaces(" "). This attribute is ignored if linuximage.boottarget is set. + - -\ **pkglist**\ - +\ **pkglist**\ + The fully qualified name of the file that stores the distro packages list that will be included in the image. Make sure that if the pkgs in the pkglist have dependency pkgs, the dependency pkgs should be found in one of the pkgdir + - -\ **pkgdir**\ - +\ **pkgdir**\ + The name of the directory where the distro packages are stored. It could be set to multiple paths. The multiple paths must be separated by ",". The first path in the value of osimage.pkgdir must be the OS base pkg dir path, such as pkgdir=/install/rhels6.2/x86_64,/install/updates . In the os base pkg path, there are default repository data. And in the other pkg path(s), the users should make sure there are repository data. If not, use "createrepo" command to create them. For ubuntu, multiple mirrors can be specified in the pkgdir attribute, the mirrors must be prefixed by the protocol(http/ssh) and delimited with "," between each other. + - -\ **otherpkglist**\ - +\ **otherpkglist**\ + The fully qualified name of the file that stores non-distro package lists that will be included in the image. It could be set to multiple paths. The multiple paths must be separated by ",". + - -\ **otherpkgdir**\ - +\ **otherpkgdir**\ + The base directory and urls of internet repos from which the non-distro packages are retrived. Only 1 local directory is supported at present. The entries should be delimited with comma ",". Currently, the internet repos are only supported on Ubuntu and Redhat. + - -\ **exlist**\ - +\ **exlist**\ + The fully qualified name of the file that stores the file names and directory names that will be excluded from the image during packimage command. It is used for diskless image only. + - -\ **postinstall**\ - +\ **postinstall**\ + Supported in diskless image only. The fully qualified name of the scripts and the user-specified arguments running in non-chroot mode after the package installation but before initrd generation during genimage. If multiple scripts are specified, they should be seperated with comma ",". The arguments passed to each postinstall script include 4 implicit arguments(,,,) and the user-specified arguments. A set of osimage attributes are exported as the environment variables to be used in the postinstall scripts: - - + + .. code-block:: perl - + IMG_ARCH(The architecture of the osimage, such as "ppc64le","x86_64"), IMG_NAME(The name of the osimage, such as "rhels7.3-ppc64le-netboot-compute"), IMG_OSVER(The os release of the osimage, such as "rhels7.3","sles11.4"), @@ -107,72 +107,72 @@ linuximage Attributes: IMG_OTHERPKGLIST(the "otherpkglist" attribute of the osimage), IMG_OTHERPKGDIR(the "otherpkgdir" attribute of the osimage), IMG_ROOTIMGDIR(the "rootimgdir" attribute of the osimage) + + - - -\ **rootimgdir**\ - +\ **rootimgdir**\ + The directory name where the image is stored. It is generally used for diskless image. it also can be used in sysclone environment to specify where the image captured from golden client is stored. in sysclone environment, rootimgdir is generally assigned to some default value by xcat, but you can specify your own store directory. just one thing need to be noticed, wherever you save the image, the name of last level directory must be the name of image. for example, if your image name is testimage and you want to save this image under home directoy, rootimgdir should be assigned to value /home/testimage/ + - -\ **kerneldir**\ - +\ **kerneldir**\ + The directory name where the 3rd-party kernel is stored. It is used for diskless image only. + - -\ **nodebootif**\ - +\ **nodebootif**\ + The network interface the stateless/statelite node will boot over (e.g. eth0) + - -\ **otherifce**\ - +\ **otherifce**\ + Other network interfaces (e.g. eth1) in the image that should be configured via DHCP + - -\ **netdrivers**\ - +\ **netdrivers**\ + The ethernet device drivers of the nodes which will use this linux image, at least the device driver for the nodes' installnic should be included + - -\ **kernelver**\ - +\ **kernelver**\ + The version of linux kernel used in the linux image. If the kernel version is not set, the default kernel in rootimgdir will be used + - -\ **krpmver**\ - +\ **krpmver**\ + The rpm version of kernel packages (for SLES only). If it is not set, the default rpm version of kernel packages will be used. + - -\ **permission**\ - +\ **permission**\ + The mount permission of /.statelite directory is used, its default value is 755 + - -\ **dump**\ - +\ **dump**\ + The NFS directory to hold the Linux kernel dump file (vmcore) when the node with this image crashes, its format is "nfs:///". If you want to use the node's "xcatmaster" (its SN or MN), can be left blank. For example, "nfs:///" means the NFS directory to hold the kernel dump file is on the node's SN, or MN if there's no SN. + - -\ **crashkernelsize**\ - +\ **crashkernelsize**\ + the size that assigned to the kdump kernel. If the kernel size is not set, 256M will be the default value. + - -\ **partitionfile**\ - +\ **partitionfile**\ + Only available for diskful osimages and statelite osimages(localdisk enabled). The full path of the partition file or the script to generate the partition file. The valid value includes: "": For diskful osimages, the partition file contains the partition definition that will be inserted directly into the template file for os installation. The syntax and format of the partition file should confirm to the corresponding OS installer of the Linux distributions(e.g. kickstart for RedHat, autoyast for SLES, pressed for Ubuntu). For statelite osimages, when the localdisk is enabled, the partition file with specific syntax and format includes the partition scheme of the local disk, please refer to the statelite documentation for details. "s:": a shell script to generate the partition file "/tmp/partitionfile" inside the installer before the installation start. @@ -180,25 +180,25 @@ linuximage Attributes: "s:d:": only available for ubuntu osimages, a script to generate the disk name file "/tmp/xcat.install_disk" inside the debian installer. This script is run in the "pressed/early_command" section. "c:": only availbe for ubuntu osimages, contains the additional pressed entries in "d-i ..." form. This can be used to specify some additional preseed options to support RAID or LVM in Ubuntu. "s:c:": only available for ubuntu osimages, runs in pressed/early_command and set the preseed values with "debconf-set". The multiple values should be delimited with comma "," + - -\ **driverupdatesrc**\ - +\ **driverupdatesrc**\ + The source of the drivers which need to be loaded during the boot. Two types of driver update source are supported: Driver update disk and Driver rpm package. The value for this attribute should be comma separated sources. Each source should be the format tab:full_path_of_source_file. The tab keyword can be: dud (for Driver update disk) and rpm (for driver rpm). If missing the tab, the rpm format is the default. e.g. dud:/install/dud/dd.img,rpm:/install/rpm/d.rpm + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -207,5 +207,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/litefile.5.rst b/docs/source/guides/admin-guides/references/man5/litefile.5.rst index e3c131f0a..220627f91 100644 --- a/docs/source/guides/admin-guides/references/man5/litefile.5.rst +++ b/docs/source/guides/admin-guides/references/man5/litefile.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **litefile Attributes:**\ \ *image*\ , \ *file*\ , \ *options*\ , \ *comments*\ , \ *disable*\ +\ **litefile Attributes:**\ \ *image*\ , \ *file*\ , \ *options*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,56 +36,56 @@ litefile Attributes: -\ **image**\ - +\ **image**\ + The name of the image (as specified in the osimage table) that will use these options on this dir/file. You can also specify an image group name that is listed in the osimage.groups attribute of some osimages. 'ALL' means use this row for all images. + - -\ **file**\ - +\ **file**\ + The full pathname of the file. e.g: /etc/hosts. If the path is a directory, then it should be terminated with a '/'. + - -\ **options**\ - +\ **options**\ + Options for the file: - - + + .. code-block:: perl - + tmpfs - It is the default option if you leave the options column blank. It provides a file or directory for the node to use when booting, its permission will be the same as the original version on the server. In most cases, it is read-write; however, on the next statelite boot, the original version of the file or directory on the server will be used, it means it is non-persistent. This option can be performed on files and directories.. - - rw - Same as above. Its name "rw" does NOT mean it always be read-write, even in most cases it is read-write. Do not confuse it with the "rw" permission in the file system. - - persistent - It provides a mounted file or directory that is copied to the xCAT persistent location and then over-mounted on the local file or directory. Anything written to that file or directory is preserved. It means, if the file/directory does not exist at first, it will be copied to the persistent location. Next time the file/directory in the persistent location will be used. The file/directory will be persistent across reboots. Its permission will be the same as the original one in the statelite location. It requires the statelite table to be filled out with a spot for persistent statelite. This option can be performed on files and directories. - + + rw - Same as above. Its name "rw" does NOT mean it always be read-write, even in most cases it is read-write. Do not confuse it with the "rw" permission in the file system. + + persistent - It provides a mounted file or directory that is copied to the xCAT persistent location and then over-mounted on the local file or directory. Anything written to that file or directory is preserved. It means, if the file/directory does not exist at first, it will be copied to the persistent location. Next time the file/directory in the persistent location will be used. The file/directory will be persistent across reboots. Its permission will be the same as the original one in the statelite location. It requires the statelite table to be filled out with a spot for persistent statelite. This option can be performed on files and directories. + con - The contents of the pathname are concatenated to the contents of the existing file. For this directive the searching in the litetree hierarchy does not stop when the first match is found. All files found in the hierarchy will be concatenated to the file when found. The permission of the file will be "-rw-r--r--", which means it is read-write for the root user, but readonly for the others. It is non-persistent, when the node reboots, all changes to the file will be lost. It can only be performed on files. Do not use it for one directory. - + ro - The file/directory will be overmounted read-only on the local file/directory. It will be located in the directory hierarchy specified in the litetree table. Changes made to this file or directory on the server will be immediately seen in this file/directory on the node. This option requires that the file/directory to be mounted must be available in one of the entries in the litetree table. This option can be performed on files and directories. - - link - It provides one file/directory for the node to use when booting, it is copied from the server, and will be placed in tmpfs on the booted node. In the local file system of the booted node, it is one symbolic link to one file/directory in tmpfs. And the permission of the symbolic link is "lrwxrwxrwx", which is not the real permission of the file/directory on the node. So for some application sensitive to file permissions, it will be one issue to use "link" as its option, for example, "/root/.ssh/", which is used for SSH, should NOT use "link" as its option. It is non-persistent, when the node is rebooted, all changes to the file/directory will be lost. This option can be performed on files and directories. - - link,con - It works similar to the "con" option. All the files found in the litetree hierarchy will be concatenated to the file when found. The final file will be put to the tmpfs on the booted node. In the local file system of the booted node, it is one symbolic link to the file/directory in tmpfs. It is non-persistent, when the node is rebooted, all changes to the file will be lost. The option can only be performed on files. - + + link - It provides one file/directory for the node to use when booting, it is copied from the server, and will be placed in tmpfs on the booted node. In the local file system of the booted node, it is one symbolic link to one file/directory in tmpfs. And the permission of the symbolic link is "lrwxrwxrwx", which is not the real permission of the file/directory on the node. So for some application sensitive to file permissions, it will be one issue to use "link" as its option, for example, "/root/.ssh/", which is used for SSH, should NOT use "link" as its option. It is non-persistent, when the node is rebooted, all changes to the file/directory will be lost. This option can be performed on files and directories. + + link,con - It works similar to the "con" option. All the files found in the litetree hierarchy will be concatenated to the file when found. The final file will be put to the tmpfs on the booted node. In the local file system of the booted node, it is one symbolic link to the file/directory in tmpfs. It is non-persistent, when the node is rebooted, all changes to the file will be lost. The option can only be performed on files. + link,persistent - It provides a mounted file or directory that is copied to the xCAT persistent location and then over-mounted to the tmpfs on the booted node, and finally the symbolic link in the local file system will be linked to the over-mounted tmpfs file/directory on the booted node. The file/directory will be persistent across reboots. The permission of the file/directory where the symbolic link points to will be the same as the original one in the statelite location. It requires the statelite table to be filled out with a spot for persistent statelite. The option can be performed on files and directories. - + link,ro - The file is readonly, and will be placed in tmpfs on the booted node. In the local file system of the booted node, it is one symbolic link to the tmpfs. It is non-persistent, when the node is rebooted, all changes to the file/directory will be lost. This option requires that the file/directory to be mounted must be available in one of the entries in the litetree table. The option can be performed on files and directories. + + - - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -94,5 +94,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/litetree.5.rst b/docs/source/guides/admin-guides/references/man5/litetree.5.rst index 473af0218..50d1eaa6f 100644 --- a/docs/source/guides/admin-guides/references/man5/litetree.5.rst +++ b/docs/source/guides/admin-guides/references/man5/litetree.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **litetree Attributes:**\ \ *priority*\ , \ *image*\ , \ *directory*\ , \ *mntopts*\ , \ *comments*\ , \ *disable*\ +\ **litetree Attributes:**\ \ *priority*\ , \ *image*\ , \ *directory*\ , \ *mntopts*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ litetree Attributes: -\ **priority**\ - +\ **priority**\ + This number controls what order the directories are searched. Directories are searched from smallest priority number to largest. + - -\ **image**\ - +\ **image**\ + The name of the image (as specified in the osimage table) that will use this directory. You can also specify an image group name that is listed in the osimage.groups attribute of some osimages. 'ALL' means use this row for all images. + - -\ **directory**\ - +\ **directory**\ + The location (hostname:path) of a directory that contains files specified in the litefile table. Variables are allowed. E.g: $noderes.nfsserver://xcatmasternode/install/$node/#CMD=uname-r#/ + - -\ **mntopts**\ - +\ **mntopts**\ + A comma-separated list of options to use when mounting the litetree directory. (Ex. 'soft') The default is to do a 'hard' mount. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/mac.5.rst b/docs/source/guides/admin-guides/references/man5/mac.5.rst index 4221756cc..993fdd0cf 100644 --- a/docs/source/guides/admin-guides/references/man5/mac.5.rst +++ b/docs/source/guides/admin-guides/references/man5/mac.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mac Attributes:**\ \ *node*\ , \ *interface*\ , \ *mac*\ , \ *comments*\ , \ *disable*\ +\ **mac Attributes:**\ \ *node*\ , \ *interface*\ , \ *mac*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ mac Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **interface**\ - +\ **interface**\ + The adapter interface name that will be used to install and manage the node. E.g. eth0 (for linux) or en0 (for AIX).) + - -\ **mac**\ - +\ **mac**\ + The mac address or addresses for which xCAT will manage static bindings for this node. This may be simply a mac address, which would be bound to the node name (such as "01:02:03:04:05:0E"). This may also be a "|" delimited string of "mac address!hostname" format (such as "01:02:03:04:05:0E!node5|01:02:03:04:05:0F!node6-eth1"). If there are multiple nics connected to Management Network(usually for bond), in order to make sure the OS deployment finished successfully, the macs of those nics must be able to resolve to same IP address. First, users have to create alias of the node for each mac in the Management Network through either: 1. adding the alias into /etc/hosts for the node directly or: 2. setting the alias to the "hostnames" attribute and then run "makehost" against the node. Then, configure the "mac" attribute of the node like "mac1!node|mac2!node-alias". For the first mac address (mac1 in the example) set in "mac" attribute, do not need to set a "node name" string for it since the nodename of the node will be used for it by default. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/mic.5.rst b/docs/source/guides/admin-guides/references/man5/mic.5.rst index 07e543a4d..896113110 100644 --- a/docs/source/guides/admin-guides/references/man5/mic.5.rst +++ b/docs/source/guides/admin-guides/references/man5/mic.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mic Attributes:**\ \ *node*\ , \ *host*\ , \ *id*\ , \ *nodetype*\ , \ *bridge*\ , \ *onboot*\ , \ *vlog*\ , \ *powermgt*\ , \ *comments*\ , \ *disable*\ +\ **mic Attributes:**\ \ *node*\ , \ *host*\ , \ *id*\ , \ *nodetype*\ , \ *bridge*\ , \ *onboot*\ , \ *vlog*\ , \ *powermgt*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,64 +36,64 @@ mic Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **host**\ - +\ **host**\ + The host node which the mic card installed on. + - -\ **id**\ - +\ **id**\ + The device id of the mic node. + - -\ **nodetype**\ - +\ **nodetype**\ + The hardware type of the mic node. Generally, it is mic. + - -\ **bridge**\ - +\ **bridge**\ + The virtual bridge on the host node which the mic connected to. + - -\ **onboot**\ - +\ **onboot**\ + Set mic to autoboot when mpss start. Valid values: yes|no. Default is yes. + - -\ **vlog**\ - +\ **vlog**\ + Set the Verbose Log to console. Valid values: yes|no. Default is no. + - -\ **powermgt**\ - +\ **powermgt**\ + Set the Power Management for mic node. This attribute is used to set the power management state that mic may get into when it is idle. Four states can be set: cpufreq, corec6, pc3 and pc6. The valid value for powermgt attribute should be [cpufreq=]![corec6=]![pc3=]![pc6=]. e.g. cpufreq=on!corec6=off!pc3=on!pc6=off. Refer to the doc of mic to get more information for power management. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Do not use. tabprune will not work if set to yes or 1 - + @@ -102,5 +102,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/monitoring.5.rst b/docs/source/guides/admin-guides/references/man5/monitoring.5.rst index 52d3079aa..6ea1f73d3 100644 --- a/docs/source/guides/admin-guides/references/man5/monitoring.5.rst +++ b/docs/source/guides/admin-guides/references/man5/monitoring.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **monitoring Attributes:**\ \ *name*\ , \ *nodestatmon*\ , \ *comments*\ , \ *disable*\ +\ **monitoring Attributes:**\ \ *name*\ , \ *nodestatmon*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,28 +36,28 @@ monitoring Attributes: -\ **name**\ - +\ **name**\ + The name of the monitoring plug-in module. The plug-in must be put in /lib/perl/xCAT_monitoring/. See the man page for monstart for details. + - -\ **nodestatmon**\ - +\ **nodestatmon**\ + Specifies if the monitoring plug-in is used to feed the node status to the xCAT cluster. Any one of the following values indicates "yes": y, Y, yes, Yes, YES, 1. Any other value or blank (default), indicates "no". + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -66,5 +66,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/monsetting.5.rst b/docs/source/guides/admin-guides/references/man5/monsetting.5.rst index ebe081dc3..d14541ee0 100644 --- a/docs/source/guides/admin-guides/references/man5/monsetting.5.rst +++ b/docs/source/guides/admin-guides/references/man5/monsetting.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **monsetting Attributes:**\ \ *name*\ , \ *key*\ , \ *value*\ , \ *comments*\ , \ *disable*\ +\ **monsetting Attributes:**\ \ *name*\ , \ *key*\ , \ *value*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ monsetting Attributes: -\ **name**\ - +\ **name**\ + The name of the monitoring plug-in module. The plug-in must be put in /lib/perl/xCAT_monitoring/. See the man page for monstart for details. + - -\ **key**\ - +\ **key**\ + Specifies the name of the attribute. The valid values are specified by each monitoring plug-in. Use "monls name -d" to get a list of valid keys. + - -\ **value**\ - +\ **value**\ + Specifies the value of the attribute. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/mp.5.rst b/docs/source/guides/admin-guides/references/man5/mp.5.rst index ff110772d..ee046aee4 100644 --- a/docs/source/guides/admin-guides/references/man5/mp.5.rst +++ b/docs/source/guides/admin-guides/references/man5/mp.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mp Attributes:**\ \ *node*\ , \ *mpa*\ , \ *id*\ , \ *nodetype*\ , \ *comments*\ , \ *disable*\ +\ **mp Attributes:**\ \ *node*\ , \ *mpa*\ , \ *id*\ , \ *nodetype*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ mp Attributes: -\ **node**\ - +\ **node**\ + The blade node name or group name. + - -\ **mpa**\ - +\ **mpa**\ + The management module used to control this blade. + - -\ **id**\ - +\ **id**\ + The slot number of this blade in the BladeCenter chassis. + - -\ **nodetype**\ - +\ **nodetype**\ + The hardware type for mp node. Valid values: mm,cmm, blade. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/mpa.5.rst b/docs/source/guides/admin-guides/references/man5/mpa.5.rst index 71d846ac6..4b03e9d12 100644 --- a/docs/source/guides/admin-guides/references/man5/mpa.5.rst +++ b/docs/source/guides/admin-guides/references/man5/mpa.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mpa Attributes:**\ \ *mpa*\ , \ *username*\ , \ *password*\ , \ *displayname*\ , \ *slots*\ , \ *urlpath*\ , \ *comments*\ , \ *disable*\ +\ **mpa Attributes:**\ \ *mpa*\ , \ *username*\ , \ *password*\ , \ *displayname*\ , \ *slots*\ , \ *urlpath*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,60 +36,60 @@ mpa Attributes: -\ **mpa**\ - +\ **mpa**\ + Hostname of the management module. + - -\ **username**\ - +\ **username**\ + Userid to use to access the management module. + - -\ **password**\ - +\ **password**\ + Password to use to access the management module. If not specified, the key=blade row in the passwd table is used as the default. + - -\ **displayname**\ - +\ **displayname**\ + Alternative name for BladeCenter chassis. Only used by PCM. + - -\ **slots**\ - +\ **slots**\ + The number of available slots in the chassis. For PCM, this attribute is used to store the number of slots in the following format: ,, Where: - - + + .. code-block:: perl - + = number of rows of slots in chassis = number of columns of slots in chassis = set to 0 if slots are vertical, and set to 1 if slots of horizontal + + - - -\ **urlpath**\ - +\ **urlpath**\ + URL path for the Chassis web interface. The full URL is built as follows: / + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -98,5 +98,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/networks.5.rst b/docs/source/guides/admin-guides/references/man5/networks.5.rst index 171c8c7d3..1c05e565f 100644 --- a/docs/source/guides/admin-guides/references/man5/networks.5.rst +++ b/docs/source/guides/admin-guides/references/man5/networks.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **networks Attributes:**\ \ *netname*\ , \ *net*\ , \ *mask*\ , \ *mgtifname*\ , \ *gateway*\ , \ *dhcpserver*\ , \ *tftpserver*\ , \ *nameservers*\ , \ *ntpservers*\ , \ *logservers*\ , \ *dynamicrange*\ , \ *staticrange*\ , \ *staticrangeincrement*\ , \ *nodehostname*\ , \ *ddnsdomain*\ , \ *vlanid*\ , \ *domain*\ , \ *mtu*\ , \ *comments*\ , \ *disable*\ +\ **networks Attributes:**\ \ *netname*\ , \ *net*\ , \ *mask*\ , \ *mgtifname*\ , \ *gateway*\ , \ *dhcpserver*\ , \ *tftpserver*\ , \ *nameservers*\ , \ *ntpservers*\ , \ *logservers*\ , \ *dynamicrange*\ , \ *staticrange*\ , \ *staticrangeincrement*\ , \ *nodehostname*\ , \ *ddnsdomain*\ , \ *vlanid*\ , \ *domain*\ , \ *mtu*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,33 +36,34 @@ networks Attributes: -\ **netname**\ - +\ **netname**\ + Name used to identify this network definition. + - -\ **net**\ - +\ **net**\ + The network address. + - -\ **mask**\ - +\ **mask**\ + The network mask. + - -\ **mgtifname**\ - +\ **mgtifname**\ + The interface name of the management/service node facing this network. !remote! indicates a non-local network on a specific nic for relay DHCP. + - -\ **gateway**\ - +\ **gateway**\ + The network gateway. It can be set to an ip address or the keyword , the keyword indicates the cluster-facing ip address configured on this management node or service node. Leaving this field blank means that there is no gateway for this network. + \ **dhcpserver**\ @@ -71,86 +72,86 @@ networks Attributes: -\ **tftpserver**\ - +\ **tftpserver**\ + The TFTP server that is servicing this network. If not set, the DHCP server is assumed. + - -\ **nameservers**\ - +\ **nameservers**\ + A comma delimited list of DNS servers that each node in this network should use. This value will end up in the nameserver settings of the /etc/resolv.conf on each node in this network. If this attribute value is set to the IP address of an xCAT node, make sure DNS is running on it. In a hierarchical cluster, you can also set this attribute to "" to mean the DNS server for each node in this network should be the node that is managing it (either its service node or the management node). Used in creating the DHCP network definition, and DNS configuration. + - -\ **ntpservers**\ - +\ **ntpservers**\ + The ntp servers for this network. Used in creating the DHCP network definition. Assumed to be the DHCP server if not set. + - -\ **logservers**\ - +\ **logservers**\ + The log servers for this network. Used in creating the DHCP network definition. Assumed to be the DHCP server if not set. + - -\ **dynamicrange**\ - +\ **dynamicrange**\ + The IP address range used by DHCP to assign dynamic IP addresses for requests on this network. This should not overlap with entities expected to be configured with static host declarations, i.e. anything ever expected to be a node with an address registered in the mac table. + - -\ **staticrange**\ - +\ **staticrange**\ + The IP address range used to dynamically assign static IPs to newly discovered nodes. This should not overlap with the dynamicrange nor overlap with entities that were manually assigned static IPs. The format for the attribute value is: -. + + + +\ **staticrangeincrement**\ -\ **staticrangeincrement**\ - - - -\ **nodehostname**\ - +\ **nodehostname**\ + A regular expression used to specify node name to network-specific hostname. i.e. "/\z/-secondary/" would mean that the hostname of "n1" would be n1-secondary on this network. By default, the nodename is assumed to equal the hostname, followed by nodename-interfacename. + - -\ **ddnsdomain**\ - +\ **ddnsdomain**\ + A domain to be combined with nodename to construct FQDN for DDNS updates induced by DHCP. This is not passed down to the client as "domain" + - -\ **vlanid**\ - +\ **vlanid**\ + The vlan ID if this network is within a vlan. + - -\ **domain**\ - +\ **domain**\ + The DNS domain name (ex. cluster.com). + - -\ **mtu**\ - +\ **mtu**\ + The default MTU for the network, If multiple networks are applied to the same nic on the SN and/or CN, the MTU shall be the same for those networks. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -159,5 +160,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nics.5.rst b/docs/source/guides/admin-guides/references/man5/nics.5.rst index cf264ff18..3ef6f1716 100644 --- a/docs/source/guides/admin-guides/references/man5/nics.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nics.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nics Attributes:**\ \ *node*\ , \ *nicips*\ , \ *nichostnamesuffixes*\ , \ *nichostnameprefixes*\ , \ *nictypes*\ , \ *niccustomscripts*\ , \ *nicnetworks*\ , \ *nicaliases*\ , \ *nicextraparams*\ , \ *nicdevices*\ , \ *nicsadapter*\ , \ *comments*\ , \ *disable*\ +\ **nics Attributes:**\ \ *node*\ , \ *nicips*\ , \ *nichostnamesuffixes*\ , \ *nichostnameprefixes*\ , \ *nictypes*\ , \ *niccustomscripts*\ , \ *nicnetworks*\ , \ *nicaliases*\ , \ *nicextraparams*\ , \ *nicdevices*\ , \ *nicsadapter*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,42 +36,42 @@ nics Attributes: -\ **node**\ - +\ **node**\ + The node or group name. + - -\ **nicips**\ - +\ **nicips**\ + Comma-separated list of IP addresses per NIC. To specify one ip address per NIC: !,!,..., for example, eth0!10.0.0.100,ib0!11.0.0.100 To specify multiple ip addresses per NIC: !|,!|,..., for example, eth0!10.0.0.100|fd55::214:5eff:fe15:849b,ib0!11.0.0.100|2001::214:5eff:fe15:849a. The xCAT object definition commands support to use nicips. as the sub attributes. Note: The primary IP address must also be stored in the hosts.ip attribute. The nichostnamesuffixes should specify one hostname suffix for each ip address. + - -\ **nichostnamesuffixes**\ - +\ **nichostnamesuffixes**\ + Comma-separated list of hostname suffixes per NIC. If only one ip address is associated with each NIC: !,!,..., for example, eth0!-eth0,ib0!-ib0 If multiple ip addresses are associated with each NIC: !|,!|,..., for example, eth0!-eth0|-eth0-ipv6,ib0!-ib0|-ib0-ipv6. The xCAT object definition commands support to use nichostnamesuffixes. as the sub attributes. - - + + .. code-block:: perl - + Note: According to DNS rules a hostname must be a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9) and minus sign (-). When you are specifying "nichostnamesuffixes" or "nicaliases" make sure the resulting hostnames will conform to this naming convention + + - - -\ **nichostnameprefixes**\ - +\ **nichostnameprefixes**\ + Comma-separated list of hostname prefixes per NIC. If only one ip address is associated with each NIC: !,!,..., for example, eth0!eth0-,ib0!ib- @@ -79,74 +79,74 @@ nics Attributes: !|,!|,..., for example, eth0!eth0-|eth0-ipv6i-,ib0!ib-|ib-ipv6-. The xCAT object definition commands support to use nichostnameprefixes. as the sub attributes. Note: According to DNS rules a hostname must be a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9) and minus sign (-). When you are specifying "nichostnameprefixes" or "nicaliases" make sure the resulting hostnames will conform to this naming convention + - -\ **nictypes**\ - +\ **nictypes**\ + Comma-separated list of NIC types per NIC. !,!, e.g. eth0!Ethernet,ib0!Infiniband. The xCAT object definition commands support to use nictypes. as the sub attributes. + - -\ **niccustomscripts**\ - +\ **niccustomscripts**\ + Comma-separated list of custom scripts per NIC. !,!, e.g. eth0!configeth eth0, ib0!configib ib0. The xCAT object definition commands support to use niccustomscripts. as the sub attribute . + - -\ **nicnetworks**\ - +\ **nicnetworks**\ + Comma-separated list of networks connected to each NIC. If only one ip address is associated with each NIC: !,!, for example, eth0!10_0_0_0-255_255_0_0, ib0!11_0_0_0-255_255_0_0 If multiple ip addresses are associated with each NIC: !|,!|, for example, eth0!10_0_0_0-255_255_0_0|fd55:faaf:e1ab:336::/64,ib0!11_0_0_0-255_255_0_0|2001:db8:1:0::/64. The xCAT object definition commands support to use nicnetworks. as the sub attributes. + - -\ **nicaliases**\ - +\ **nicaliases**\ + Comma-separated list of hostname aliases for each NIC. Format: eth0!,eth1!| For multiple aliases per nic use a space-separated list. For example: eth0!moe larry curly,eth1!tom|jerry + - -\ **nicextraparams**\ - +\ **nicextraparams**\ + Comma-separated list of extra parameters that will be used for each NIC configuration. If only one ip address is associated with each NIC: !,!, for example, eth0!MTU=1500,ib0!MTU=65520 CONNECTED_MODE=yes. If multiple ip addresses are associated with each NIC: !|,!|, for example, eth0!MTU=1500|MTU=1460,ib0!MTU=65520 CONNECTED_MODE=yes. The xCAT object definition commands support to use nicextraparams. as the sub attributes. + - -\ **nicdevices**\ - +\ **nicdevices**\ + Comma-separated list of NIC device per NIC, multiple ethernet devices can be bonded as bond device, these ethernet devices are separated by | . !|,!, e.g. bond0!eth0|eth2,br0!bond0. The xCAT object definition commands support to use nicdevices. as the sub attributes. + - -\ **nicsadapter**\ - +\ **nicsadapter**\ + Comma-separated list of NIC information collected by getadapter. !,!, for example, enP3p3s0f1!mac=98:be:94:59:fa:cd linkstate=DOWN,enP3p3s0f2!mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -155,5 +155,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nimimage.5.rst b/docs/source/guides/admin-guides/references/man5/nimimage.5.rst index 0829eb5f2..575f05328 100644 --- a/docs/source/guides/admin-guides/references/man5/nimimage.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nimimage.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nimimage Attributes:**\ \ *imagename*\ , \ *nimtype*\ , \ *lpp_source*\ , \ *spot*\ , \ *root*\ , \ *dump*\ , \ *paging*\ , \ *resolv_conf*\ , \ *tmp*\ , \ *home*\ , \ *shared_home*\ , \ *res_group*\ , \ *nimmethod*\ , \ *script*\ , \ *bosinst_data*\ , \ *installp_bundle*\ , \ *mksysb*\ , \ *fb_script*\ , \ *shared_root*\ , \ *otherpkgs*\ , \ *image_data*\ , \ *configdump*\ , \ *comments*\ , \ *disable*\ +\ **nimimage Attributes:**\ \ *imagename*\ , \ *nimtype*\ , \ *lpp_source*\ , \ *spot*\ , \ *root*\ , \ *dump*\ , \ *paging*\ , \ *resolv_conf*\ , \ *tmp*\ , \ *home*\ , \ *shared_home*\ , \ *res_group*\ , \ *nimmethod*\ , \ *script*\ , \ *bosinst_data*\ , \ *installp_bundle*\ , \ *mksysb*\ , \ *fb_script*\ , \ *shared_root*\ , \ *otherpkgs*\ , \ *image_data*\ , \ *configdump*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,148 +36,148 @@ nimimage Attributes: -\ **imagename**\ - +\ **imagename**\ + User provided name of this xCAT OS image definition. + - -\ **nimtype**\ - +\ **nimtype**\ + The NIM client type- standalone, diskless, or dataless. + - -\ **lpp_source**\ - +\ **lpp_source**\ + The name of the NIM lpp_source resource. + - -\ **spot**\ - +\ **spot**\ + The name of the NIM SPOT resource. + - -\ **root**\ - +\ **root**\ + The name of the NIM root resource. + - -\ **dump**\ - +\ **dump**\ + The name of the NIM dump resource. + - -\ **paging**\ - +\ **paging**\ + The name of the NIM paging resource. + - -\ **resolv_conf**\ - +\ **resolv_conf**\ + The name of the NIM resolv_conf resource. + - -\ **tmp**\ - +\ **tmp**\ + The name of the NIM tmp resource. + - -\ **home**\ - +\ **home**\ + The name of the NIM home resource. + - -\ **shared_home**\ - +\ **shared_home**\ + The name of the NIM shared_home resource. + - -\ **res_group**\ - +\ **res_group**\ + The name of a NIM resource group. + - -\ **nimmethod**\ - +\ **nimmethod**\ + The NIM install method to use, (ex. rte, mksysb). + - -\ **script**\ - +\ **script**\ + The name of a NIM script resource. + - -\ **bosinst_data**\ - +\ **bosinst_data**\ + The name of a NIM bosinst_data resource. + - -\ **installp_bundle**\ - +\ **installp_bundle**\ + One or more comma separated NIM installp_bundle resources. + - -\ **mksysb**\ - +\ **mksysb**\ + The name of a NIM mksysb resource. + - -\ **fb_script**\ - +\ **fb_script**\ + The name of a NIM fb_script resource. + - -\ **shared_root**\ - +\ **shared_root**\ + A shared_root resource represents a directory that can be used as a / (root) directory by one or more diskless clients. + - -\ **otherpkgs**\ - +\ **otherpkgs**\ + One or more comma separated installp or rpm packages. The rpm packages must have a prefix of 'R:', (ex. R:foo.rpm) + - -\ **image_data**\ - +\ **image_data**\ + The name of a NIM image_data resource. + - -\ **configdump**\ - +\ **configdump**\ + Specifies the type of system dump to be collected. The values are selective, full, and none. The default is selective. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -186,5 +186,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nodegroup.5.rst b/docs/source/guides/admin-guides/references/man5/nodegroup.5.rst index e255d03fd..8ec57df51 100644 --- a/docs/source/guides/admin-guides/references/man5/nodegroup.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nodegroup.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nodegroup Attributes:**\ \ *groupname*\ , \ *grouptype*\ , \ *members*\ , \ *membergroups*\ , \ *wherevals*\ , \ *comments*\ , \ *disable*\ +\ **nodegroup Attributes:**\ \ *groupname*\ , \ *grouptype*\ , \ *members*\ , \ *membergroups*\ , \ *wherevals*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ nodegroup Attributes: -\ **groupname**\ - +\ **groupname**\ + Name of the group. + - -\ **grouptype**\ - - The only current valid value is dynamic. We will be looking at having the object def commands working with static group definitions in the nodelist table. +\ **grouptype**\ + + Static or Dynamic. A static group is defined to contain a specific set of cluster nodes. A dynamic node group is one that has its members determined by specifying a selection criteria for node attributes. + - -\ **members**\ - +\ **members**\ + The value of the attribute is not used, but the attribute is necessary as a place holder for the object def commands. (The membership for static groups is stored in the nodelist table.) + - -\ **membergroups**\ - +\ **membergroups**\ + This attribute stores a comma-separated list of nodegroups that this nodegroup refers to. This attribute is only used by PCM. + - -\ **wherevals**\ - +\ **wherevals**\ + A list of "attr\*val" pairs that can be used to determine the members of a dynamic group, the delimiter is "::" and the operator \* can be ==, =~, != or !~. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nodehm.5.rst b/docs/source/guides/admin-guides/references/man5/nodehm.5.rst index 879bf699e..aa12ce4b2 100644 --- a/docs/source/guides/admin-guides/references/man5/nodehm.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nodehm.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nodehm Attributes:**\ \ *node*\ , \ *power*\ , \ *mgt*\ , \ *cons*\ , \ *termserver*\ , \ *termport*\ , \ *conserver*\ , \ *serialport*\ , \ *serialspeed*\ , \ *serialflow*\ , \ *getmac*\ , \ *cmdmapping*\ , \ *consoleondemand*\ , \ *consoleenabled*\ , \ *comments*\ , \ *disable*\ +\ **nodehm Attributes:**\ \ *node*\ , \ *power*\ , \ *mgt*\ , \ *cons*\ , \ *termserver*\ , \ *termport*\ , \ *conserver*\ , \ *serialport*\ , \ *serialspeed*\ , \ *serialflow*\ , \ *getmac*\ , \ *cmdmapping*\ , \ *consoleondemand*\ , \ *consoleenabled*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,100 +36,100 @@ nodehm Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **power**\ - +\ **power**\ + The method to use to control the power of the node. If not set, the mgt attribute will be used. Valid values: ipmi, blade, hmc, ivm, fsp, kvm, esx, rhevm. If "ipmi", xCAT will search for this node in the ipmi table for more info. If "blade", xCAT will search for this node in the mp table. If "hmc", "ivm", or "fsp", xCAT will search for this node in the ppc table. + - -\ **mgt**\ - +\ **mgt**\ + The method to use to do general hardware management of the node. This attribute is used as the default if power or getmac is not set. Valid values: openbmc, ipmi, blade, hmc, ivm, fsp, bpa, kvm, esx, rhevm. See the power attribute for more details. + - -\ **cons**\ - +\ **cons**\ + The console method. If nodehm.serialport is set, this will default to the nodehm.mgt setting, otherwise it defaults to unused. Valid values: cyclades, mrv, or the values valid for the mgt attribute. + - -\ **termserver**\ - +\ **termserver**\ + The hostname of the terminal server. + - -\ **termport**\ - +\ **termport**\ + The port number on the terminal server that this node is connected to. + - -\ **conserver**\ - +\ **conserver**\ + The hostname of the machine where the conserver daemon is running. If not set, the default is the xCAT management node. + - -\ **serialport**\ - +\ **serialport**\ + The serial port for this node, in the linux numbering style (0=COM1/ttyS0, 1=COM2/ttyS1). For SOL on IBM blades, this is typically 1. For rackmount IBM servers, this is typically 0. + - -\ **serialspeed**\ - +\ **serialspeed**\ + The speed of the serial port for this node. For SOL this is typically 19200. + - -\ **serialflow**\ - +\ **serialflow**\ + The flow control value of the serial port for this node. For SOL this is typically 'hard'. + - -\ **getmac**\ - +\ **getmac**\ + The method to use to get MAC address of the node with the getmac command. If not set, the mgt attribute will be used. Valid values: same as values for mgmt attribute. + - -\ **cmdmapping**\ - +\ **cmdmapping**\ + The fully qualified name of the file that stores the mapping between PCM hardware management commands and xCAT/third-party hardware management commands for a particular type of hardware device. Only used by PCM. + - -\ **consoleondemand**\ - +\ **consoleondemand**\ + This overrides the value from site.consoleondemand. Set to 'yes', 'no', '1' (equivalent to 'yes'), or '0' (equivalent to 'no'). If not set, the default is the value from site.consoleondemand. + - -\ **consoleenabled**\ - +\ **consoleenabled**\ + A flag field to indicate whether the node is registered in the console server. If '1', console is enabled, if not set, console is not enabled. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -138,5 +138,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nodelist.5.rst b/docs/source/guides/admin-guides/references/man5/nodelist.5.rst index bbefb44bd..7dbe45086 100644 --- a/docs/source/guides/admin-guides/references/man5/nodelist.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nodelist.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nodelist Attributes:**\ \ *node*\ , \ *groups*\ , \ *status*\ , \ *statustime*\ , \ *appstatus*\ , \ *appstatustime*\ , \ *primarysn*\ , \ *hidden*\ , \ *updatestatus*\ , \ *updatestatustime*\ , \ *zonename*\ , \ *comments*\ , \ *disable*\ +\ **nodelist Attributes:**\ \ *node*\ , \ *groups*\ , \ *status*\ , \ *statustime*\ , \ *appstatus*\ , \ *appstatustime*\ , \ *primarysn*\ , \ *hidden*\ , \ *updatestatus*\ , \ *updatestatustime*\ , \ *zonename*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,82 +36,82 @@ nodelist Attributes: -\ **node**\ - +\ **node**\ + The hostname of a node in the cluster. + - -\ **groups**\ - +\ **groups**\ + A comma-delimited list of groups this node is a member of. Group names are arbitrary, except all nodes should be part of the 'all' group. Internal group names are designated by using __. For example, __Unmanaged, could be the internal name for a group of nodes that is not managed by xCAT. Admins should avoid using the __ characters when defining their groups. + - -\ **status**\ - +\ **status**\ + The current status of this node. This attribute will be set by xCAT software. Valid values: defined, booting, netbooting, booted, discovering, configuring, installing, alive, standingby, powering-off, unreachable. If blank, defined is assumed. The possible status change sequences are: For installation: defined->[discovering]->[configuring]->[standingby]->installing->booting->[postbooting]->booted->[alive], For diskless deployment: defined->[discovering]->[configuring]->[standingby]->netbooting->[postbooting]->booted->[alive], For booting: [alive/unreachable]->booting->[postbooting]->booted->[alive], For powering off: [alive]->powering-off->[unreachable], For monitoring: alive->unreachable. Discovering and configuring are for x Series discovery process. Alive and unreachable are set only when there is a monitoring plug-in start monitor the node status for xCAT. Note that the status values will not reflect the real node status if you change the state of the node from outside of xCAT (i.e. power off the node using HMC GUI). + - -\ **statustime**\ - +\ **statustime**\ + The data and time when the status was updated. + - -\ **appstatus**\ - +\ **appstatus**\ + A comma-delimited list of application status. For example: 'sshd=up,ftp=down,ll=down' + - -\ **appstatustime**\ - +\ **appstatustime**\ + The date and time when appstatus was updated. + - -\ **primarysn**\ - +\ **primarysn**\ + Not used currently. The primary servicenode, used by this node. + - -\ **hidden**\ - +\ **hidden**\ + Used to hide fsp and bpa definitions, 1 means not show them when running lsdef and nodels + - -\ **updatestatus**\ - +\ **updatestatus**\ + The current node update status. Valid states are synced, out-of-sync,syncing,failed. + - -\ **updatestatustime**\ - +\ **updatestatustime**\ + The date and time when the updatestatus was updated. + - -\ **zonename**\ - +\ **zonename**\ + The name of the zone to which the node is currently assigned. If undefined, then it is not assigned to any zone. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -120,5 +120,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nodepos.5.rst b/docs/source/guides/admin-guides/references/man5/nodepos.5.rst index 2c9969c81..8a603d7ce 100644 --- a/docs/source/guides/admin-guides/references/man5/nodepos.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nodepos.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nodepos Attributes:**\ \ *node*\ , \ *rack*\ , \ *u*\ , \ *chassis*\ , \ *slot*\ , \ *room*\ , \ *height*\ , \ *comments*\ , \ *disable*\ +\ **nodepos Attributes:**\ \ *node*\ , \ *rack*\ , \ *u*\ , \ *chassis*\ , \ *slot*\ , \ *room*\ , \ *height*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,58 +36,58 @@ nodepos Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **rack**\ - +\ **rack**\ + The frame the node is in. + - -\ **u**\ - +\ **u**\ + The vertical position of the node in the frame + - -\ **chassis**\ - +\ **chassis**\ + The BladeCenter chassis the blade is in. + - -\ **slot**\ - +\ **slot**\ + The slot number of the blade in the chassis. For PCM, a comma-separated list of slot numbers is stored + - -\ **room**\ - +\ **room**\ + The room where the node is located. + - -\ **height**\ - +\ **height**\ + The server height in U(s). + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -96,5 +96,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/noderes.5.rst b/docs/source/guides/admin-guides/references/man5/noderes.5.rst index 2381e4e81..98bc13b24 100644 --- a/docs/source/guides/admin-guides/references/man5/noderes.5.rst +++ b/docs/source/guides/admin-guides/references/man5/noderes.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **noderes Attributes:**\ \ *node*\ , \ *servicenode*\ , \ *netboot*\ , \ *tftpserver*\ , \ *tftpdir*\ , \ *nfsserver*\ , \ *monserver*\ , \ *nfsdir*\ , \ *installnic*\ , \ *primarynic*\ , \ *discoverynics*\ , \ *cmdinterface*\ , \ *xcatmaster*\ , \ *current_osimage*\ , \ *next_osimage*\ , \ *nimserver*\ , \ *routenames*\ , \ *nameservers*\ , \ *proxydhcp*\ , \ *syslog*\ , \ *comments*\ , \ *disable*\ +\ **noderes Attributes:**\ \ *node*\ , \ *servicenode*\ , \ *netboot*\ , \ *tftpserver*\ , \ *tftpdir*\ , \ *nfsserver*\ , \ *monserver*\ , \ *nfsdir*\ , \ *installnic*\ , \ *primarynic*\ , \ *discoverynics*\ , \ *cmdinterface*\ , \ *xcatmaster*\ , \ *current_osimage*\ , \ *next_osimage*\ , \ *nimserver*\ , \ *routenames*\ , \ *nameservers*\ , \ *proxydhcp*\ , \ *syslog*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,147 +36,147 @@ noderes Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **servicenode**\ - +\ **servicenode**\ + A comma separated list of node names (as known by the management node) that provides most services for this node. The first service node on the list that is accessible will be used. The 2nd node on the list is generally considered to be the backup service node for this node when running commands like snmove. + - -\ **netboot**\ - +\ **netboot**\ + The type of network booting to use for this node. Valid values: - - + + .. code-block:: perl - + Arch OS valid netboot options x86, x86_64 ALL pxe, xnba ppc64 <=rhel6, <=sles11.3 yaboot ppc64 >=rhels7, >=sles11.4 grub2,grub2-http,grub2-tftp ppc64le NonVirtualize ALL petitboot ppc64le PowerKVM Guest ALL grub2,grub2-http,grub2-tftp + + - - -\ **tftpserver**\ - +\ **tftpserver**\ + The TFTP server for this node (as known by this node). If not set, it defaults to networks.tftpserver. + - -\ **tftpdir**\ - +\ **tftpdir**\ + The directory that roots this nodes contents from a tftp and related perspective. Used for NAS offload by using different mountpoints. + - -\ **nfsserver**\ - +\ **nfsserver**\ + The NFS or HTTP server for this node (as known by this node). + - -\ **monserver**\ - +\ **monserver**\ + The monitoring aggregation point for this node. The format is "x,y" where x is the ip address as known by the management node and y is the ip address as known by the node. + - -\ **nfsdir**\ - +\ **nfsdir**\ + The path that should be mounted from the NFS server. + - -\ **installnic**\ - +\ **installnic**\ + The network adapter on the node that will be used for OS deployment, the installnic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. If not set, primarynic will be used. If primarynic is not set too, the keyword "mac" will be used as default. + - -\ **primarynic**\ - +\ **primarynic**\ + This attribute will be deprecated. All the used network interface will be determined by installnic. The network adapter on the node that will be used for xCAT management, the primarynic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. Default is eth0. + - -\ **discoverynics**\ - +\ **discoverynics**\ + If specified, force discovery to occur on specific network adapters only, regardless of detected connectivity. Syntax can be simply "eth2,eth3" to restrict discovery to whatever happens to come up as eth2 and eth3, or by driver name such as "bnx2:0,bnx2:1" to specify the first two adapters managed by the bnx2 driver + - -\ **cmdinterface**\ - +\ **cmdinterface**\ + Not currently used. + - -\ **xcatmaster**\ - +\ **xcatmaster**\ + The hostname of the xCAT service node (as known by this node). This acts as the default value for nfsserver and tftpserver, if they are not set. If xcatmaster is not set, the node will use whoever responds to its boot request as its master. For the directed bootp case for POWER, it will use the management node if xcatmaster is not set. + - -\ **current_osimage**\ - +\ **current_osimage**\ + Not currently used. The name of the osimage data object that represents the OS image currently deployed on this node. + - -\ **next_osimage**\ - +\ **next_osimage**\ + Not currently used. The name of the osimage data object that represents the OS image that will be installed on the node the next time it is deployed. + - -\ **nimserver**\ - +\ **nimserver**\ + Not used for now. The NIM server for this node (as known by this node). + - -\ **routenames**\ - +\ **routenames**\ + A comma separated list of route names that refer to rows in the routes table. These are the routes that should be defined on this node when it is deployed. + - -\ **nameservers**\ - +\ **nameservers**\ + An optional node/group specific override for name server list. Most people want to stick to site or network defined nameserver configuration. + - -\ **proxydhcp**\ - +\ **proxydhcp**\ + To specify whether the node supports proxydhcp protocol. Valid values: yes or 1, no or 0. Default value is yes. + - -\ **syslog**\ - +\ **syslog**\ + To configure how to configure syslog for compute node. Valid values:blank(not set), ignore. blank - run postscript syslog; ignore - do NOT run postscript syslog + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -185,5 +185,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/nodetype.5.rst b/docs/source/guides/admin-guides/references/man5/nodetype.5.rst index 820914581..7d75e070c 100644 --- a/docs/source/guides/admin-guides/references/man5/nodetype.5.rst +++ b/docs/source/guides/admin-guides/references/man5/nodetype.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **nodetype Attributes:**\ \ *node*\ , \ *os*\ , \ *arch*\ , \ *profile*\ , \ *provmethod*\ , \ *supportedarchs*\ , \ *nodetype*\ , \ *comments*\ , \ *disable*\ +\ **nodetype Attributes:**\ \ *node*\ , \ *os*\ , \ *arch*\ , \ *profile*\ , \ *provmethod*\ , \ *supportedarchs*\ , \ *nodetype*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,58 +36,58 @@ nodetype Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **os**\ - +\ **os**\ + The operating system deployed on this node. Valid values: AIX, rhels\*,rhelc\*, rhas\*,centos\*,SL\*, fedora\*, sles\* (where \* is the version #). As a special case, if this is set to "boottarget", then it will use the initrd/kernel/parameters specified in the row in the boottarget table in which boottarget.bprofile equals nodetype.profile. + - -\ **arch**\ - +\ **arch**\ + The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64. + - -\ **profile**\ - +\ **profile**\ + The string to use to locate a kickstart or autoyast template to use for OS deployment of this node. If the provmethod attribute is set to an osimage name, that takes precedence, and profile need not be defined. Otherwise, the os, profile, and arch are used to search for the files in /install/custom first, and then in /opt/xcat/share/xcat. + - -\ **provmethod**\ - +\ **provmethod**\ + The provisioning method for node deployment. The valid values are install, netboot, statelite or an os image name from the osimage table. If an image name is specified, the osimage definition stored in the osimage table and the linuximage table (for Linux) or nimimage table (for AIX) are used to locate the files for templates, pkglists, syncfiles, etc. On Linux, if install, netboot or statelite is specified, the os, profile, and arch are used to search for the files in /install/custom first, and then in /opt/xcat/share/xcat. + - -\ **supportedarchs**\ - +\ **supportedarchs**\ + Comma delimited list of architectures this node can execute. + - -\ **nodetype**\ - +\ **nodetype**\ + A comma-delimited list of characteristics of this node. Valid values: ppc, blade, vm (virtual machine), osi (OS image), mm, mn, rsa, switch. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -96,5 +96,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/notification.5.rst b/docs/source/guides/admin-guides/references/man5/notification.5.rst index 795536bb9..bd5027a74 100644 --- a/docs/source/guides/admin-guides/references/man5/notification.5.rst +++ b/docs/source/guides/admin-guides/references/man5/notification.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **notification Attributes:**\ \ *filename*\ , \ *tables*\ , \ *tableops*\ , \ *comments*\ , \ *disable*\ +\ **notification Attributes:**\ \ *filename*\ , \ *tables*\ , \ *tableops*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ notification Attributes: -\ **filename**\ - +\ **filename**\ + The path name of a file that implements the callback routine when the monitored table changes. Can be a perl module or a command. See the regnotif man page for details. + - -\ **tables**\ - +\ **tables**\ + Comma-separated list of xCAT database tables to monitor. + - -\ **tableops**\ - +\ **tableops**\ + Specifies the table operation to monitor for. Valid values: "d" (rows deleted), "a" (rows added), "u" (rows updated). + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/openbmc.5.rst b/docs/source/guides/admin-guides/references/man5/openbmc.5.rst index 88dae91e3..11bbee003 100644 --- a/docs/source/guides/admin-guides/references/man5/openbmc.5.rst +++ b/docs/source/guides/admin-guides/references/man5/openbmc.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **openbmc Attributes:**\ \ *node*\ , \ *bmc*\ , \ *consport*\ , \ *taggedvlan*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ +\ **openbmc Attributes:**\ \ *node*\ , \ *bmc*\ , \ *consport*\ , \ *taggedvlan*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,52 +36,52 @@ openbmc Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **bmc**\ - +\ **bmc**\ + The hostname of the BMC adapter. + - -\ **consport**\ - +\ **consport**\ + The console port for OpenBMC. + - -\ **taggedvlan**\ - +\ **taggedvlan**\ + bmcsetup script will configure the network interface of the BMC to be tagged to the VLAN specified. + - -\ **username**\ - +\ **username**\ + The BMC userid. + - -\ **password**\ - +\ **password**\ + The BMC password. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -90,5 +90,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/osdistro.5.rst b/docs/source/guides/admin-guides/references/man5/osdistro.5.rst index 07045a5b2..8be247605 100644 --- a/docs/source/guides/admin-guides/references/man5/osdistro.5.rst +++ b/docs/source/guides/admin-guides/references/man5/osdistro.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **osdistro Attributes:**\ \ *osdistroname*\ , \ *basename*\ , \ *majorversion*\ , \ *minorversion*\ , \ *arch*\ , \ *type*\ , \ *dirpaths*\ , \ *comments*\ , \ *disable*\ +\ **osdistro Attributes:**\ \ *osdistroname*\ , \ *basename*\ , \ *majorversion*\ , \ *minorversion*\ , \ *arch*\ , \ *type*\ , \ *dirpaths*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,58 +36,58 @@ osdistro Attributes: -\ **osdistroname**\ - +\ **osdistroname**\ + Unique name (e.g. rhels6.2-x86_64) + - -\ **basename**\ - +\ **basename**\ + The OS base name (e.g. rhels) + - -\ **majorversion**\ - +\ **majorversion**\ + The OS distro major version.(e.g. 6) + - -\ **minorversion**\ - +\ **minorversion**\ + The OS distro minor version. (e.g. 2) + - -\ **arch**\ - +\ **arch**\ + The OS distro arch (e.g. x86_64) + - -\ **type**\ - +\ **type**\ + Linux or AIX + - -\ **dirpaths**\ - +\ **dirpaths**\ + Directory paths where OS distro is store. There could be multiple paths if OS distro has more than one ISO image. (e.g. /install/rhels6.2/x86_64,...) + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -96,5 +96,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/osdistroupdate.5.rst b/docs/source/guides/admin-guides/references/man5/osdistroupdate.5.rst index 99c05a153..2d74cbd9c 100644 --- a/docs/source/guides/admin-guides/references/man5/osdistroupdate.5.rst +++ b/docs/source/guides/admin-guides/references/man5/osdistroupdate.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **osdistroupdate Attributes:**\ \ *osupdatename*\ , \ *osdistroname*\ , \ *dirpath*\ , \ *downloadtime*\ , \ *comments*\ , \ *disable*\ +\ **osdistroupdate Attributes:**\ \ *osupdatename*\ , \ *osdistroname*\ , \ *dirpath*\ , \ *downloadtime*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ osdistroupdate Attributes: -\ **osupdatename**\ - +\ **osupdatename**\ + Name of OS update. (e.g. rhn-update1) + - -\ **osdistroname**\ - +\ **osdistroname**\ + The OS distro name to update. (e.g. rhels) + - -\ **dirpath**\ - +\ **dirpath**\ + Path to where OS distro update is stored. (e.g. /install/osdistroupdates/rhels6.2-x86_64-20120716-update) + - -\ **downloadtime**\ - +\ **downloadtime**\ + The timestamp when OS distro update was downloaded.. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/osimage.5.rst b/docs/source/guides/admin-guides/references/man5/osimage.5.rst index 4be9e16ee..2c74f3a31 100644 --- a/docs/source/guides/admin-guides/references/man5/osimage.5.rst +++ b/docs/source/guides/admin-guides/references/man5/osimage.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **osimage Attributes:**\ \ *imagename*\ , \ *groups*\ , \ *profile*\ , \ *imagetype*\ , \ *description*\ , \ *provmethod*\ , \ *rootfstype*\ , \ *osdistroname*\ , \ *osupdatename*\ , \ *cfmdir*\ , \ *osname*\ , \ *osvers*\ , \ *osarch*\ , \ *synclists*\ , \ *postscripts*\ , \ *postbootscripts*\ , \ *serverrole*\ , \ *isdeletable*\ , \ *kitcomponents*\ , \ *comments*\ , \ *disable*\ +\ **osimage Attributes:**\ \ *imagename*\ , \ *groups*\ , \ *profile*\ , \ *imagetype*\ , \ *description*\ , \ *provmethod*\ , \ *rootfstype*\ , \ *osdistroname*\ , \ *osupdatename*\ , \ *cfmdir*\ , \ *osname*\ , \ *osvers*\ , \ *osarch*\ , \ *synclists*\ , \ *postscripts*\ , \ *postbootscripts*\ , \ *serverrole*\ , \ *isdeletable*\ , \ *kitcomponents*\ , \ *environvar*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,130 +36,136 @@ osimage Attributes: -\ **imagename**\ - +\ **imagename**\ + The name of this xCAT OS image definition. + - -\ **groups**\ - +\ **groups**\ + A comma-delimited list of image groups of which this image is a member. Image groups can be used in the litefile and litetree table instead of a single image name. Group names are arbitrary. + - -\ **profile**\ - +\ **profile**\ + The node usage category. For example compute, service. + - -\ **imagetype**\ - +\ **imagetype**\ + The type of operating system image this definition represents (linux,AIX). + - -\ **description**\ - +\ **description**\ + OS Image Description + - -\ **provmethod**\ - +\ **provmethod**\ + The provisioning method for node deployment. The valid values are install, netboot,statelite,boottarget,dualboot,sysclone. If boottarget is set, you must set linuximage.boottarget to the name of the boottarget definition. It is not used by AIX. + - -\ **rootfstype**\ - +\ **rootfstype**\ + The filesystem type for the rootfs is used when the provmethod is statelite. The valid values are nfs or ramdisk. The default value is nfs + - -\ **osdistroname**\ - +\ **osdistroname**\ + The name of the OS distro definition. This attribute can be used to specify which OS distro to use, instead of using the osname,osvers,and osarch attributes. For \*kit commands, the attribute will be used to read the osdistro table for the osname, osvers, and osarch attributes. If defined, the osname, osvers, and osarch attributes defined in the osimage table will be ignored. + - -\ **osupdatename**\ - +\ **osupdatename**\ + A comma-separated list of OS distro updates to apply to this osimage. + - -\ **cfmdir**\ - +\ **cfmdir**\ + CFM directory name for PCM. Set to /install/osimages//cfmdir by PCM. + - -\ **osname**\ - +\ **osname**\ + Operating system name- AIX or Linux. + - -\ **osvers**\ - +\ **osvers**\ + The Linux operating system deployed on this node. Valid values: rhels\*,rhelc\*, rhas\*,centos\*,SL\*, fedora\*, sles\* (where \* is the version #). + - -\ **osarch**\ - +\ **osarch**\ + The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64. + - -\ **synclists**\ - +\ **synclists**\ + The fully qualified name of a file containing a list of files to synchronize on the nodes. Can be a comma separated list of multiple synclist files. The synclist generated by PCM named /install/osimages//synclist.cfm is reserved for use only by PCM and should not be edited by the admin. + - -\ **postscripts**\ - +\ **postscripts**\ + Comma separated list of scripts that should be run on this image after diskful installation or diskless boot. For installation of RedHat, CentOS, Fedora, the scripts will be run before the reboot. For installation of SLES, the scripts will be run after the reboot but before the init.d process. For diskless deployment, the scripts will be run at the init.d time, and xCAT will automatically add the list of scripts from the postbootscripts attribute to run after postscripts list. For installation of AIX, the scripts will run after the reboot and acts the same as the postbootscripts attribute. For AIX, use the postbootscripts attribute. See the site table runbootscripts attribute. + - -\ **postbootscripts**\ - +\ **postbootscripts**\ + Comma separated list of scripts that should be run on this after diskful installation or diskless boot. On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attribute to run first in the list. See the site table runbootscripts attribute. + - -\ **serverrole**\ - +\ **serverrole**\ + The role of the server created by this osimage. Default roles: mgtnode, servicenode, compute, login, storage, utility. + - -\ **isdeletable**\ - +\ **isdeletable**\ + A flag to indicate whether this image profile can be deleted. This attribute is only used by PCM. + - -\ **kitcomponents**\ - +\ **kitcomponents**\ + List of Kit Component IDs assigned to this OS Image definition. + +\ **environvar**\ + + Comma delimited environment variables for the osimage + -\ **comments**\ +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -168,5 +174,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/passwd.5.rst b/docs/source/guides/admin-guides/references/man5/passwd.5.rst index f36b52c44..4123a9258 100644 --- a/docs/source/guides/admin-guides/references/man5/passwd.5.rst +++ b/docs/source/guides/admin-guides/references/man5/passwd.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **passwd Attributes:**\ \ *key*\ , \ *username*\ , \ *password*\ , \ *cryptmethod*\ , \ *authdomain*\ , \ *comments*\ , \ *disable*\ +\ **passwd Attributes:**\ \ *key*\ , \ *username*\ , \ *password*\ , \ *cryptmethod*\ , \ *authdomain*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ passwd Attributes: -\ **key**\ - +\ **key**\ + The type of component this user/pw is for. Valid values: blade (management module), ipmi (BMC), system (nodes), omapi (DHCP), hmc, ivm, cec, frame, switch. + - -\ **username**\ - +\ **username**\ + The default userid for this type of component + - -\ **password**\ - +\ **password**\ + The default password for this type of component. On Linux, a crypted form could be provided. Hashes starting with $1$, $5$ and $6$ (md5, sha256 and sha512 respectively) are supported. + - -\ **cryptmethod**\ - +\ **cryptmethod**\ + Indicates the method to use to encrypt the password attribute. On AIX systems, if a value is provided for this attribute it indicates that the password attribute is encrypted. If the cryptmethod value is not set it indicates the password is a simple string value. On Linux systems, the cryptmethod can be set to md5, sha256 or sha512. If not set, sha256 will be used as default to encrypt plain-text passwords. + - -\ **authdomain**\ - +\ **authdomain**\ + The domain in which this entry has meaning, e.g. specifying different domain administrators per active directory domain + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/pdu.5.rst b/docs/source/guides/admin-guides/references/man5/pdu.5.rst index e2293b772..c94edf9fe 100644 --- a/docs/source/guides/admin-guides/references/man5/pdu.5.rst +++ b/docs/source/guides/admin-guides/references/man5/pdu.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **pdu Attributes:**\ \ *node*\ , \ *nodetype*\ , \ *pdutype*\ , \ *outlet*\ , \ *username*\ , \ *password*\ , \ *snmpversion*\ , \ *community*\ , \ *snmpuser*\ , \ *authtype*\ , \ *authkey*\ , \ *privtype*\ , \ *privkey*\ , \ *seclevel*\ , \ *comments*\ , \ *disable*\ +\ **pdu Attributes:**\ \ *node*\ , \ *nodetype*\ , \ *pdutype*\ , \ *outlet*\ , \ *username*\ , \ *password*\ , \ *snmpversion*\ , \ *community*\ , \ *snmpuser*\ , \ *authtype*\ , \ *authkey*\ , \ *privtype*\ , \ *privkey*\ , \ *seclevel*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,100 +36,100 @@ pdu Attributes: -\ **node**\ - +\ **node**\ + The hostname/address of the pdu to which the settings apply + - -\ **nodetype**\ - +\ **nodetype**\ + The node type should be pdu + - -\ **pdutype**\ - +\ **pdutype**\ + The type of pdu + - -\ **outlet**\ - +\ **outlet**\ + The pdu outlet count + - -\ **username**\ - +\ **username**\ + The remote login user name + - -\ **password**\ - +\ **password**\ + The remote login password + - -\ **snmpversion**\ - +\ **snmpversion**\ + The version to use to communicate with switch. SNMPv1 is assumed by default. + - -\ **community**\ - +\ **community**\ + The community string to use for SNMPv1/v2 + - -\ **snmpuser**\ - +\ **snmpuser**\ + The username to use for SNMPv3 communication, ignored for SNMPv1 + - -\ **authtype**\ - +\ **authtype**\ + The authentication protocol(MD5|SHA) to use for SNMPv3. + - -\ **authkey**\ - +\ **authkey**\ + The authentication passphrase for SNMPv3 + - -\ **privtype**\ - +\ **privtype**\ + The privacy protocol(AES|DES) to use for SNMPv3. + - -\ **privkey**\ - +\ **privkey**\ + The privacy passphrase to use for SNMPv3. + - -\ **seclevel**\ - +\ **seclevel**\ + The Security Level(noAuthNoPriv|authNoPriv|authPriv) to use for SNMPv3. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -138,5 +138,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/pduoutlet.5.rst b/docs/source/guides/admin-guides/references/man5/pduoutlet.5.rst index 5d2f72bd4..cbed931c1 100644 --- a/docs/source/guides/admin-guides/references/man5/pduoutlet.5.rst +++ b/docs/source/guides/admin-guides/references/man5/pduoutlet.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **pduoutlet Attributes:**\ \ *node*\ , \ *pdu*\ , \ *comments*\ , \ *disable*\ +\ **pduoutlet Attributes:**\ \ *node*\ , \ *pdu*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,28 +36,28 @@ pduoutlet Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **pdu**\ - +\ **pdu**\ + a comma-separated list of outlet number for each PDU, ex: pdu1:outlet1,pdu2:outlet1 + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -66,5 +66,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/performance.5.rst b/docs/source/guides/admin-guides/references/man5/performance.5.rst index c1e8afe31..1af503424 100644 --- a/docs/source/guides/admin-guides/references/man5/performance.5.rst +++ b/docs/source/guides/admin-guides/references/man5/performance.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **performance Attributes:**\ \ *timestamp*\ , \ *node*\ , \ *attrname*\ , \ *attrvalue*\ , \ *comments*\ , \ *disable*\ +\ **performance Attributes:**\ \ *timestamp*\ , \ *node*\ , \ *attrname*\ , \ *attrvalue*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ performance Attributes: -\ **timestamp**\ - +\ **timestamp**\ + The time at which the metric was captured. + - -\ **node**\ - +\ **node**\ + The node name. + - -\ **attrname**\ - +\ **attrname**\ + The metric name. + - -\ **attrvalue**\ - +\ **attrvalue**\ + The metric value. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/policy.5.rst b/docs/source/guides/admin-guides/references/man5/policy.5.rst index f2a5357ad..7b41a78db 100644 --- a/docs/source/guides/admin-guides/references/man5/policy.5.rst +++ b/docs/source/guides/admin-guides/references/man5/policy.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **policy Attributes:**\ \ *priority*\ , \ *name*\ , \ *host*\ , \ *commands*\ , \ *noderange*\ , \ *parameters*\ , \ *time*\ , \ *rule*\ , \ *comments*\ , \ *disable*\ +\ **policy Attributes:**\ \ *priority*\ , \ *name*\ , \ *host*\ , \ *commands*\ , \ *noderange*\ , \ *parameters*\ , \ *time*\ , \ *rule*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,64 +36,64 @@ policy Attributes: -\ **priority**\ - +\ **priority**\ + The priority value for this rule. This value is used to identify this policy data object (i.e. this rule) The table is sorted on this field with the lower the number the higher the priority. For example 1.0 is higher priority than 4.1 is higher than 4.9. + - -\ **name**\ - +\ **name**\ + The username that is allowed to perform the commands specified by this rule. Default is "\*" (all users). + - -\ **host**\ - +\ **host**\ + The host from which users may issue the commands specified by this rule. Default is "\*" (all hosts). Only all or one host is supported + - -\ **commands**\ - +\ **commands**\ + The list of commands that this rule applies to. Default is "\*" (all commands). + - -\ **noderange**\ - +\ **noderange**\ + The Noderange that this rule applies to. Default is "\*" (all nodes). Not supported with the \*def commands. + - -\ **parameters**\ - +\ **parameters**\ + A regular expression that matches the command parameters (everything except the noderange) that this rule applies to. Default is "\*" (all parameters). Not supported with the \*def commands. + - -\ **time**\ - +\ **time**\ + Time ranges that this command may be executed in. This is not supported. + - -\ **rule**\ - +\ **rule**\ + Specifies how this rule should be applied. Valid values are: allow, trusted. Allow will allow the user to run the commands. Any other value will deny the user access to the commands. Trusted means that once this client has been authenticated via the certificate, all other information that is sent (e.g. the username) is believed without question. This authorization should only be given to the xcatd on the management node at this time. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -102,5 +102,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/postscripts.5.rst b/docs/source/guides/admin-guides/references/man5/postscripts.5.rst index c91b3d21e..6bac116b9 100644 --- a/docs/source/guides/admin-guides/references/man5/postscripts.5.rst +++ b/docs/source/guides/admin-guides/references/man5/postscripts.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **postscripts Attributes:**\ \ *node*\ , \ *postscripts*\ , \ *postbootscripts*\ , \ *comments*\ , \ *disable*\ +\ **postscripts Attributes:**\ \ *node*\ , \ *postscripts*\ , \ *postbootscripts*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ postscripts Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **postscripts**\ - +\ **postscripts**\ + Comma separated list of scripts that should be run on this node after diskful installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". xCAT automatically adds the postscripts from the xcatdefaults.postscripts attribute of the table to run first on the nodes after install or diskless boot. For installation of RedHat, CentOS, Fedora, the scripts will be run before the reboot. For installation of SLES, the scripts will be run after the reboot but before the init.d process. For diskless deployment, the scripts will be run at the init.d time, and xCAT will automatically add the list of scripts from the postbootscripts attribute to run after postscripts list. For installation of AIX, the scripts will run after the reboot and acts the same as the postbootscripts attribute. For AIX, use the postbootscripts attribute. Please note that the postscripts specified for "xcatdefaults" will be assigned to node automatically, they can not be removed from "postscripts" attribute of a node with "chdef -m" command + - -\ **postbootscripts**\ - +\ **postbootscripts**\ + Comma separated list of scripts that should be run on this node after diskful installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attribute to run first in the list. Please note that the postbootscripts specified for "xcatdefaults" will be assigned to node automatically, they can not be removed from "postbootscripts" attribute of a node with "chdef -m" command + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/ppc.5.rst b/docs/source/guides/admin-guides/references/man5/ppc.5.rst index 2dbcf6872..3e6fed8cd 100644 --- a/docs/source/guides/admin-guides/references/man5/ppc.5.rst +++ b/docs/source/guides/admin-guides/references/man5/ppc.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **ppc Attributes:**\ \ *node*\ , \ *hcp*\ , \ *id*\ , \ *pprofile*\ , \ *parent*\ , \ *nodetype*\ , \ *supernode*\ , \ *sfp*\ , \ *comments*\ , \ *disable*\ +\ **ppc Attributes:**\ \ *node*\ , \ *hcp*\ , \ *id*\ , \ *pprofile*\ , \ *parent*\ , \ *nodetype*\ , \ *supernode*\ , \ *sfp*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,64 +36,64 @@ ppc Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **hcp**\ - +\ **hcp**\ + The hardware control point for this node (HMC, IVM, Frame or CEC). Do not need to set for BPAs and FSPs. + - -\ **id**\ - +\ **id**\ + For LPARs: the LPAR numeric id; for CECs: the cage number; for Frames: the frame number. + - -\ **pprofile**\ - +\ **pprofile**\ + The LPAR profile that will be used the next time the LPAR is powered on with rpower. For DFM, the pprofile attribute should be set to blank + - -\ **parent**\ - +\ **parent**\ + For LPARs: the CEC; for FSPs: the CEC; for CEC: the frame (if one exists); for BPA: the frame; for frame: the building block number (which consists 1 or more service nodes and compute/storage nodes that are serviced by them - optional). + - -\ **nodetype**\ - +\ **nodetype**\ + The hardware type of the node. Only can be one of fsp, bpa, cec, frame, ivm, hmc and lpar + - -\ **supernode**\ - +\ **supernode**\ + Indicates the connectivity of this CEC in the HFI network. A comma separated list of 2 ids. The first one is the supernode number the CEC is part of. The second one is the logical location number (0-3) of this CEC within the supernode. + - -\ **sfp**\ - +\ **sfp**\ + The Service Focal Point of this Frame. This is the name of the HMC that is responsible for collecting hardware service events for this frame and all of the CECs within this frame. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -102,5 +102,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/ppcdirect.5.rst b/docs/source/guides/admin-guides/references/man5/ppcdirect.5.rst index db01defb7..dd1002955 100644 --- a/docs/source/guides/admin-guides/references/man5/ppcdirect.5.rst +++ b/docs/source/guides/admin-guides/references/man5/ppcdirect.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **ppcdirect Attributes:**\ \ *hcp*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ +\ **ppcdirect Attributes:**\ \ *hcp*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ ppcdirect Attributes: -\ **hcp**\ - +\ **hcp**\ + Hostname of the FSPs/BPAs(for ASMI) and CECs/Frames(for DFM). + - -\ **username**\ - +\ **username**\ + Userid of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. + - -\ **password**\ - +\ **password**\ + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/ppchcp.5.rst b/docs/source/guides/admin-guides/references/man5/ppchcp.5.rst index 6b4ffa611..80b3d3601 100644 --- a/docs/source/guides/admin-guides/references/man5/ppchcp.5.rst +++ b/docs/source/guides/admin-guides/references/man5/ppchcp.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **ppchcp Attributes:**\ \ *hcp*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ +\ **ppchcp Attributes:**\ \ *hcp*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ ppchcp Attributes: -\ **hcp**\ - +\ **hcp**\ + Hostname of the HMC or IVM. + - -\ **username**\ - +\ **username**\ + Userid of the HMC or IVM. If not filled in, xCAT will look in the passwd table for key=hmc or key=ivm. If not in the passwd table, the default used is hscroot for HMCs and padmin for IVMs. + - -\ **password**\ - +\ **password**\ + Password of the HMC or IVM. If not filled in, xCAT will look in the passwd table for key=hmc or key=ivm. If not in the passwd table, the default used is abc123 for HMCs and padmin for IVMs. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/prescripts.5.rst b/docs/source/guides/admin-guides/references/man5/prescripts.5.rst index 4a865211f..13f42e25c 100644 --- a/docs/source/guides/admin-guides/references/man5/prescripts.5.rst +++ b/docs/source/guides/admin-guides/references/man5/prescripts.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **prescripts Attributes:**\ \ *node*\ , \ *begin*\ , \ *end*\ , \ *comments*\ , \ *disable*\ +\ **prescripts Attributes:**\ \ *node*\ , \ *begin*\ , \ *end*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,21 +36,21 @@ prescripts Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **begin**\ - +\ **begin**\ + The scripts to be run at the beginning of the nodeset(Linux), nimnodeset(AIX) or mkdsklsnode(AIX) command. The format is: [action1:]s1,s2...[| action2:s3,s4,s5...] where: - - action1 and action2 for Linux are the nodeset actions specified in the command. + - action1 and action2 for Linux are the nodeset actions specified in the command. For AIX, action1 and action1 can be 'diskless' for mkdsklsnode command' - and 'standalone for nimnodeset command. + and 'standalone for nimnodeset command. - s1 and s2 are the scripts to run for action1 in order. - s3, s4, and s5 are the scripts to run for actions2. If actions are omitted, the scripts apply to all actions. @@ -59,32 +59,32 @@ prescripts Attributes: diskless:myscript1,myscript2 (AIX) install:myscript1,myscript2|netboot:myscript3 (Linux) All the scripts should be copied to /install/prescripts directory. - The following two environment variables will be passed to each script: + The following two environment variables will be passed to each script: NODES a coma separated list of node names that need to run the script for ACTION current nodeset action. If '#xCAT setting:MAX_INSTANCE=number' is specified in the script, the script will get invoked for each node in parallel, but no more than number of instances will be invoked at at a time. If it is not specified, the script will be invoked once for all the nodes. + - -\ **end**\ - +\ **end**\ + The scripts to be run at the end of the nodeset(Linux), nimnodeset(AIX),or mkdsklsnode(AIX) command. The format is the same as the 'begin' column. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -93,5 +93,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/prodkey.5.rst b/docs/source/guides/admin-guides/references/man5/prodkey.5.rst index e7e97f354..540cbfcce 100644 --- a/docs/source/guides/admin-guides/references/man5/prodkey.5.rst +++ b/docs/source/guides/admin-guides/references/man5/prodkey.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **prodkey Attributes:**\ \ *node*\ , \ *product*\ , \ *key*\ , \ *comments*\ , \ *disable*\ +\ **prodkey Attributes:**\ \ *node*\ , \ *product*\ , \ *key*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,34 +36,34 @@ prodkey Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **product**\ - +\ **product**\ + A string to identify the product (for OSes, the osname would be used, i.e. wink28 + - -\ **key**\ - +\ **key**\ + The product key relevant to the aforementioned node/group and product combination + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -72,5 +72,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/rack.5.rst b/docs/source/guides/admin-guides/references/man5/rack.5.rst index 9d4767e9a..0784121a2 100644 --- a/docs/source/guides/admin-guides/references/man5/rack.5.rst +++ b/docs/source/guides/admin-guides/references/man5/rack.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **rack Attributes:**\ \ *rackname*\ , \ *displayname*\ , \ *num*\ , \ *height*\ , \ *room*\ , \ *comments*\ , \ *disable*\ +\ **rack Attributes:**\ \ *rackname*\ , \ *displayname*\ , \ *num*\ , \ *height*\ , \ *room*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ rack Attributes: -\ **rackname**\ - +\ **rackname**\ + The rack name. + - -\ **displayname**\ - +\ **displayname**\ + Alternative name for rack. Only used by PCM. + - -\ **num**\ - +\ **num**\ + The rack number. + - -\ **height**\ - +\ **height**\ + Number of units which can be stored in the rack. + - -\ **room**\ - +\ **room**\ + The room in which the rack is located. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/routes.5.rst b/docs/source/guides/admin-guides/references/man5/routes.5.rst index 8484ebc57..b84fa965a 100644 --- a/docs/source/guides/admin-guides/references/man5/routes.5.rst +++ b/docs/source/guides/admin-guides/references/man5/routes.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **routes Attributes:**\ \ *routename*\ , \ *net*\ , \ *mask*\ , \ *gateway*\ , \ *ifname*\ , \ *comments*\ , \ *disable*\ +\ **routes Attributes:**\ \ *routename*\ , \ *net*\ , \ *mask*\ , \ *gateway*\ , \ *ifname*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ routes Attributes: -\ **routename**\ - +\ **routename**\ + Name used to identify this route. + - -\ **net**\ - +\ **net**\ + The network address. + - -\ **mask**\ - +\ **mask**\ + The network mask. + - -\ **gateway**\ - +\ **gateway**\ + The gateway that routes the ip traffic from the mn to the nodes. It is usually a service node. + - -\ **ifname**\ - +\ **ifname**\ + The interface name that facing the gateway. It is optional for IPv4 routes, but it is required for IPv6 routes. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/servicenode.5.rst b/docs/source/guides/admin-guides/references/man5/servicenode.5.rst index a79bc2105..a13cb606c 100644 --- a/docs/source/guides/admin-guides/references/man5/servicenode.5.rst +++ b/docs/source/guides/admin-guides/references/man5/servicenode.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **servicenode Attributes:**\ \ *node*\ , \ *nameserver*\ , \ *dhcpserver*\ , \ *tftpserver*\ , \ *nfsserver*\ , \ *conserver*\ , \ *monserver*\ , \ *ldapserver*\ , \ *ntpserver*\ , \ *ftpserver*\ , \ *nimserver*\ , \ *ipforward*\ , \ *dhcpinterfaces*\ , \ *proxydhcp*\ , \ *comments*\ , \ *disable*\ +\ **servicenode Attributes:**\ \ *node*\ , \ *nameserver*\ , \ *dhcpserver*\ , \ *tftpserver*\ , \ *nfsserver*\ , \ *conserver*\ , \ *monserver*\ , \ *ldapserver*\ , \ *ntpserver*\ , \ *ftpserver*\ , \ *nimserver*\ , \ *ipforward*\ , \ *dhcpinterfaces*\ , \ *proxydhcp*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,100 +36,100 @@ servicenode Attributes: -\ **node**\ - +\ **node**\ + The hostname of the service node as known by the Management Node. + - -\ **nameserver**\ - +\ **nameserver**\ + Do we set up DNS on this service node? Valid values: 2, 1, or 0. If 2, creates named.conf as dns slave, using the management node as dns master, and starts named. If 1, creates named.conf file with forwarding to the management node and starts named. If 0, it does not change the current state of the service. + - -\ **dhcpserver**\ - +\ **dhcpserver**\ + Do we set up DHCP on this service node? Not supported on AIX. Valid values:1 or 0. If 1, runs makedhcp -n. If 0, it does not change the current state of the service. + - -\ **tftpserver**\ - +\ **tftpserver**\ + Do we set up TFTP on this service node? Not supported on AIX. Valid values:1 or 0. If 1, configures and starts atftp. If 0, it does not change the current state of the service. + - -\ **nfsserver**\ - +\ **nfsserver**\ + Do we set up file services (HTTP,FTP,or NFS) on this service node? For AIX will only setup NFS, not HTTP or FTP. Valid values:1 or 0.If 0, it does not change the current state of the service. + - -\ **conserver**\ - +\ **conserver**\ + Do we set up console service on this service node? Valid values: 0, 1, or 2. If 0, it does not change the current state of the service. If 1, configures and starts conserver daemon. If 2, configures and starts goconserver daemon. + - -\ **monserver**\ - +\ **monserver**\ + Is this a monitoring event collection point? Valid values: 1 or 0. If 0, it does not change the current state of the service. + - -\ **ldapserver**\ - +\ **ldapserver**\ + Do we set up ldap caching proxy on this service node? Not supported on AIX. Valid values:1 or 0. If 0, it does not change the current state of the service. + - -\ **ntpserver**\ - +\ **ntpserver**\ + Not used. Use setupntp postscript to setup a ntp server on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. + - -\ **ftpserver**\ - +\ **ftpserver**\ + Do we set up a ftp server on this service node? Not supported on AIX Valid values:1 or 0. If 1, configure and start vsftpd. (You must manually install vsftpd on the service nodes before this.) If 0, it does not change the current state of the service. xCAT is not using ftp for compute nodes provisioning or any other xCAT features, so this attribute can be set to 0 if the ftp service will not be used for other purposes + - -\ **nimserver**\ - +\ **nimserver**\ + Not used. Do we set up a NIM server on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. + - -\ **ipforward**\ - +\ **ipforward**\ + Do we set up ip forwarding on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. + - -\ **dhcpinterfaces**\ - +\ **dhcpinterfaces**\ + The network interfaces DHCP server should listen on for the target node. This attribute can be used for management node and service nodes. If defined, it will override the values defined in site.dhcpinterfaces. This is a comma separated list of device names. !remote! indicates a non-local network for relay DHCP. For example: !remote!,eth0,eth1 + - -\ **proxydhcp**\ - +\ **proxydhcp**\ + Do we set up proxydhcp service on this node? valid values: 1 or 0. If 1, the proxydhcp daemon will be enabled on this node. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -138,5 +138,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/site.5.rst b/docs/source/guides/admin-guides/references/man5/site.5.rst index 47c00f259..d58a76b2c 100644 --- a/docs/source/guides/admin-guides/references/man5/site.5.rst +++ b/docs/source/guides/admin-guides/references/man5/site.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **site Attributes:**\ \ *key*\ , \ *value*\ , \ *comments*\ , \ *disable*\ +\ **site Attributes:**\ \ *key*\ , \ *value*\ , \ *comments*\ , \ *disable*\ *********** @@ -27,9 +27,9 @@ DESCRIPTION *********** -Global settings for the whole cluster. This table is different from the -other tables in that each attribute is just named in the key column, rather -than having a separate column for each attribute. The following is a list of +Global settings for the whole cluster. This table is different from the +other tables in that each attribute is just named in the key column, rather +than having a separate column for each attribute. The following is a list of attributes currently used by xCAT organized into categories. @@ -39,23 +39,23 @@ site Attributes: -\ **key**\ - +\ **key**\ + Attribute Name: Description - - + + .. code-block:: perl - + ------------ AIX ATTRIBUTES ------------ nimprime : The name of NIM server, if not set default is the AIX MN. If Linux MN, then must be set for support of mixed cluster (TBD). - + useSSHonAIX: (yes/1 or no/0). Default is yes. The support for rsh/rcp is deprecated. useNFSv4onAIX: (yes/1 or no/0). If yes, NFSv4 will be used with NIM. If no, NFSv3 will be used with NIM. Default is no. - + ----------------- DATABASE ATTRIBUTES ----------------- @@ -67,78 +67,78 @@ site Attributes: 'ALL' means all cmds will be skipped. If attribute is null, all commands will be written. clienttype:web would skip all commands from the web client - For example: tabdump,nodels,clienttype:web + For example: tabdump,nodels,clienttype:web will not log tabdump, nodels or any web client commands. databaseloc: Directory where we create the db instance directory. Default is /var/lib. Only DB2 is currently supported. Do not use the directory in the site.installloc or installdir attribute. This attribute must not be changed once db2sqlsetup script has been run and DB2 has been setup. - + excludenodes: A set of comma separated nodes and/or groups that would automatically be subtracted from any noderange, it can be used for excluding some failed nodes for any xCAT commands. See the 'noderange' manpage for details on supported formats. - + nodestatus: If set to 'n', the nodelist.status column will not be updated during the node deployment, node discovery and power operations. The default is to update. - + skiptables: Comma separated list of tables to be skipped by dumpxCATdb - - skipvalidatelog: If set to 1, then getcredentials and getpostscripts calls will not + + skipvalidatelog: If set to 1, then getcredentials and getpostscripts calls will not be logged in syslog. - + ------------- DHCP ATTRIBUTES ------------- dhcpinterfaces: The network interfaces DHCP should listen on. If it is the same for all nodes, use a comma-separated list of the NICs. To specify different NICs - for different nodes, use the format: "xcatmn|eth1,eth2;service|bond0", - where xcatmn is the name of the management node, DHCP should listen on - the eth1 and eth2 interfaces. All the nodes in group 'service' should + for different nodes, use the format: "xcatmn|eth1,eth2;service|bond0", + where xcatmn is the name of the management node, DHCP should listen on + the eth1 and eth2 interfaces. All the nodes in group 'service' should listen on the 'bond0' interface. - + To disable the genesis kernel from being sent to specific interfaces, a ':noboot' option can be appended to the interface name. For example, if the management node has two interfaces, eth1 and eth2, disable genesis from being sent to eth1 using: "eth1:noboot,eth2". - + dhcpsetup: If set to 'n', it will skip the dhcp setup process in the nodeset cmd. - + dhcplease: The lease time for the dhcp client. The default value is 43200. - + disjointdhcps: If set to '1', the .leases file on a service node only contains the nodes it manages. And when 'sharedtftp' is disabled, nodeset handles boot loader configuration on a service node only for the nodes it manages. The default value is '0'. It means include all the nodes in the subnet. - + pruneservices: Whether to enable service pruning when noderm is run (i.e. removing DHCP entries when noderm is executed) - + managedaddressmode: The mode of networking configuration during node provision. - If set to 'static', the network configuration will be configured + If set to 'static', the network configuration will be configured in static mode based on the node and network definition on MN. If set to 'dhcp', the network will be configured with dhcp protocol. The default is 'dhcp'. - + ------------ DNS ATTRIBUTES ------------ dnshandler: Name of plugin that handles DNS setup for makedns. - + domain: The DNS domain name used for the cluster. - + forwarders: The DNS servers at your site that can provide names outside of the cluster. The makedns command will configure the DNS on the management node to forward requests it does not know to these servers. Note that the DNS servers on the - service nodes will ignore this value and always be configured to forward + service nodes will ignore this value and always be configured to forward to the management node. - - emptyzonesenable: (yes or no). This is to set empty-zones-enable value in named.conf options section. - + + emptyzonesenable: (yes or no). This is to set empty-zones-enable value in named.conf options section. + master: The hostname of the xCAT management node, as known by the nodes. - + nameservers: A comma delimited list of DNS servers that each node in the cluster should use. This value will end up in the nameserver settings of the /etc/resolv.conf on each node. It is common (but not required) to set @@ -148,172 +148,172 @@ site Attributes: "" to mean the DNS server for each node should be the node that is managing it (either its service node or the management node). - + externaldns: To specify that external dns is used. If externaldns is set to any value - then, makedns command will not start the local nameserver on xCAT MN. + then, makedns command will not start the local nameserver on xCAT MN. Default is to start the local nameserver. - + dnsupdaters: The value are ',' separated string which will be added to the zone config section. This is an interface for user to add configuration entries to the zone sections in named.conf. - + dnsinterfaces: The network interfaces DNS should listen on. If it is the same for all - nodes, use a simple comma-separated list of NICs. To specify different - NICs for different nodes, use the format: "xcatmn|eth1,eth2;service|bond0", + nodes, use a simple comma-separated list of NICs. To specify different + NICs for different nodes, use the format: "xcatmn|eth1,eth2;service|bond0", where xcatmn is the name of the management node, and DNS should listen on - the eth1 and eth2 interfaces. All the nods in group 'service' should + the eth1 and eth2 interfaces. All the nods in group 'service' should listen on the 'bond0' interface. - + NOTE: If using this attribute to block certain interfaces, make sure the IP maps to your hostname of xCAT MN is not blocked since xCAT needs to use this IP to communicate with the local NDS server on MN. - + ------------------------- HARDWARE CONTROL ATTRIBUTES ------------------------- blademaxp: The maximum number of concurrent processes for blade hardware control. - + ea_primary_hmc: The hostname of the HMC that the Integrated Switch Network Management Event Analysis should send hardware serviceable events to for processing and potentially sending to IBM. - + ea_backup_hmc: The hostname of the HMC that the Integrated Switch Network Management Event Analysis should send hardware serviceable events to if the primary HMC is down. - + enableASMI: (yes/1 or no/0). If yes, ASMI method will be used after fsp-api. If no, when fsp-api is used, ASMI method will not be used. Default is no. - + fsptimeout: The timeout, in milliseconds, to use when communicating with FSPs. - + hwctrldispatch: Whether or not to send hw control operations to the service node of the target nodes. Default is 'y'.(At present, this attribute is only used for IBM Flex System) - + ipmidispatch: Whether or not to send ipmi hw control operations to the service node of the target compute nodes. Default is 'y'. - + ipmimaxp: The max # of processes for ipmi hw ctrl. The default is 64. Currently, this is only used for HP hw control. - + ipmiretries: The # of retries to use when communicating with BMCs. Default is 3. - + ipmisdrcache: If set to 'no', then the xCAT IPMI support will not cache locally the target node's SDR cache to improve performance. - + ipmitimeout: The timeout to use when communicating with BMCs. Default is 2. This attribute is currently not used. - + maxssh: The max # of SSH connections at any one time to the hw ctrl point for PPC This parameter doesn't take effect on the rpower command. It takes effects on other PPC hardware control command getmacs/rnetboot/rbootseq and so on. Default is 8. - + syspowerinterval: For SystemP CECs, this is the number of seconds the rpower command will wait between performing the action for each CEC. For SystemX IPMI servers, this is the number of seconds the rpower command will wait between powering on nodes at a time. This - value is used to control the power on speed in large clusters. + value is used to control the power on speed in large clusters. Default is 0. - + syspowermaxnodes: The number of servers to power on at one time before waiting 'syspowerinterval' seconds to continue on to the next set of nodes. If the noderange given to rpower includes nodes served by different service nodes, it will try to spread each set of nodes across the service nodes evenly. Currently only used for IPMI servers and must be set if 'syspowerinterval' is set. - + powerinterval: The number of seconds the rpower command to LPARs will wait between performing the action for each LPAR. LPARs of different HCPs (HMCs or FSPs) are done in parallel. This is used to limit the cluster boot up speed in large clusters. Default is 0. This is currently only used for system p hardware. - + ppcmaxp: The max # of processes for PPC hw ctrl. If there are more than ppcmaxp hcps, this parameter will take effect. It will control the max number of processes for PPC hardware control commands. Default is 64. - + ppcretry: The max # of PPC hw connection attempts to HMC before failing. - It only takes effect on the hardware control commands through HMC. + It only takes effect on the hardware control commands through HMC. Default is 3. - + ppctimeout: The timeout, in milliseconds, to use when communicating with PPC hw through HMC. It only takes effect on the hardware control commands through HMC. Default is 0. - + snmpc: The snmp community string that xcat should use when communicating with the switches. - + --------------------------- INSTALL/DEPLOYMENT ATTRIBUTES --------------------------- cleanupxcatpost: (yes/1 or no/0). Set to 'yes' or '1' to clean up the /xcatpost directory on the stateless and statelite nodes after the postscripts are run. Default is no. - + db2installloc: The location which the service nodes should mount for the db2 code to install. Format is hostname:/path. If hostname is omitted, it defaults to the management node. Default is /mntdb2. - + defserialflow: The default serial flow - currently only used by the mknb command. - + defserialport: The default serial port - currently only used by mknb. - + defserialspeed: The default serial speed - currently only used by mknb. - + disablenodesetwarning: Allow the legacy xCAT non-osimage style nodeset to execute. - + genmacprefix: When generating mac addresses automatically, use this manufacturing prefix (e.g. 00:11:aa) - + genpasswords: Automatically generate random passwords for BMCs when configuring them. - + installdir: The local directory name used to hold the node deployment packages. - - installloc: The location from which the service nodes should mount the + + installloc: The location from which the service nodes should mount the deployment packages in the format hostname:/path. If hostname is omitted, it defaults to the management node. The path must match the path in the installdir attribute. - + iscsidir: The path to put the iscsi disks in on the mgmt node. - + mnroutenames: The name of the routes to be setup on the management node. It is a comma separated list of route names that are defined in the routes table. - + runbootscripts: If set to 'yes' the scripts listed in the postbootscripts attribute in the osimage and postscripts tables will be run during each reboot of stateful (diskful) nodes. This attribute has no effect on stateless and statelite nodes. Run the following - command after you change the value of this attribute: + command after you change the value of this attribute: 'updatenode -P setuppostbootscripts' - - precreatemypostscripts: (yes/1 or no/0). Default is no. If yes, it will + + precreatemypostscripts: (yes/1 or no/0). Default is no. If yes, it will instruct xCAT at nodeset and updatenode time to query the db once for all of the nodes passed into the cmd and create the mypostscript file for each node, and put them in a directory of tftpdir(such as: /tftpboot) If no, it will not generate the mypostscript file in the tftpdir. - + secureroot: If set to 1, xCAT will use secure mode to transfer root password hash during the installation. Default is 0. - + setinstallnic: Set the network configuration for installnic to be static. - + sharedtftp: Set to 0 or no, xCAT should not assume the directory in tftpdir is mounted on all on Service Nodes. Default is 1/yes. If value is set to a hostname, the directory in tftpdir will be mounted from that hostname on the SN - + sharedinstall: Indicates if a shared file system will be used for installation - resources. Possible values are: 'no', 'sns', or 'all'. 'no' + resources. Possible values are: 'no', 'sns', or 'all'. 'no' means a shared file system is not being used. 'sns' means a shared filesystem is being used across all service nodes. 'all' means that the management as well as the service nodes are all using a common shared filesystem. The default is 'no'. - + xcatconfdir: Where xCAT config data is (default /etc/xcat). - + xcatdebugmode: the xCAT debug level. xCAT provides a batch of techniques to help user debug problems while using xCAT, especially on OS provision, such as collecting logs of the whole installation process and accessing @@ -325,109 +325,112 @@ site Attributes: '2': enable expert debug mode For the details on 'basic debug mode' and 'expert debug mode', refer to xCAT documentation. - + -------------------- REMOTESHELL ATTRIBUTES -------------------- nodesyncfiledir: The directory on the node, where xdcp will rsync the files - + SNsyncfiledir: The directory on the Service Node, where xdcp will rsync the files from the MN that will eventually be rsync'd to the compute nodes. - + sshbetweennodes: Comma separated list of groups of compute nodes to enable passwordless root ssh to the nodes during install or running 'xdsh -K'. The default is ALLGROUPS. Set to NOGROUPS to disable. - + Service Nodes are not affected by this attribute as they are always configured with passwordless root access. If using the zone table, this attribute in not used. - + ----------------- SERVICES ATTRIBUTES ----------------- consoleondemand: When set to 'yes', conserver connects and creates the console output only when the user opens the console. Default is 'no' on Linux, 'yes' on AIX. - + httpport: The port number that the booting/installing nodes should contact the http server on the MN/SN on. It is your responsibility to configure the http server to listen on that port - xCAT will not do that. - - nmapoptions: Additional options for the nmap command. nmap is used in pping, - nodestat, xdsh -v and updatenode commands. Sometimes additional + + nmapoptions: Additional options for the nmap command. nmap is used in pping, + nodestat, xdsh -v and updatenode commands. Sometimes additional performance tuning may be needed for nmap due to network traffic. For example, if the network response time is too slow, nmap may not - give stable output. You can increase the timeout value by specifying - '--min-rtt-timeout 1s'. xCAT will append the options defined here to + give stable output. You can increase the timeout value by specifying + '--min-rtt-timeout 1s'. xCAT will append the options defined here to the nmap command. - + ntpservers: A comma delimited list of NTP servers for the service node and the compute node to sync with. The keyword means that the node's NTP server is the node that is managing it (either its service node or the management node). - + extntpservers: A comma delimited list of external NTP servers for the xCAT management node to sync with. If it is empty, the NTP server will use the management node's own hardware clock to calculate the system date and time - + svloglocal: If set to 1, syslog on the service node will not get forwarded to the management node. - + timezone: (e.g. America/New_York) - + tftpdir: The tftp directory path. Default is /tftpboot - - tftpflags: The flags that used to start tftpd. Default is '-v -l -s /tftpboot + + tftpflags: The flags that used to start tftpd. Default is '-v -l -s /tftpboot -m /etc/tftpmapfile4xcat.conf' if tftplfags is not set - + useNmapfromMN: When set to yes, nodestat command should obtain the node status using nmap (if available) from the management node instead of the service node. This will improve the performance in a flat network. - + vsftp: Default is 'n'. If set to 'y', xcatd on the management node will automatically start vsftpd. (vsftpd must be installed by the admin). This setting does not apply to service nodes. For service nodes, set servicenode.ftpserver=1. - - FQDNfirst: Fully Qualified Domain Name first. If set to 1/yes/enable, the /etc/hosts - entries generated by 'makehosts' will put the FQDN before the PQDN(Partially + + FQDNfirst: Fully Qualified Domain Name first. If set to 1/yes/enable, the /etc/hosts + entries generated by 'makehosts' will put the FQDN before the PQDN(Partially Qualified Domain Name). Otherwise, the original behavior will be performed. - - hierarchicalattrs: Table attributes(e.g. postscripts, postbootscripts) that will be - included hierarchically. Attribute values for all the node's groups + + hierarchicalattrs: A comma delimited list of table attributes(e.g. postscripts, postbootscripts) + that will be included hierarchically. Attribute values for all the node's groups will be applied to the node in the groups' order except the repeat one. - dbtracelevel: The trace level for the database access log. To activate this setting, please. + By default, comma is used to combine the values. But some columns use different + delimiter, to specify delimiter for those columns as format of 'column:delimiter'. + + dbtracelevel: The trace level for the database access log. To activate this setting, please. restart xcatd or send HUP signal to the 'xcatd: DB Access' process, Like: . - ps -ef | grep 'xcatd: DB Access' | grep -v grep | awk '{print $2}' | xargs kill -HUP - Currrent support values: - 0: disable the trace log for db - 1: trace the calls of database subroutines - 2: Besides the log from level 1, trace the event to build the cache for the table - 3: Besides the log from level 2, trace the event with cache hit - 4: Besides the log from level 3, trace the SQL statement for the db access - With this configuration, xcat will send the log to syslog very frequently, some of the - log may be lost if imjournal is enabled by rsyslog. + ps -ef | grep 'xcatd: DB Access' | grep -v grep | awk '{print $2}' | xargs kill -HUP + Currrent support values: + 0: disable the trace log for db + 1: trace the calls of database subroutines + 2: Besides the log from level 1, trace the event to build the cache for the table + 3: Besides the log from level 2, trace the event with cache hit + 4: Besides the log from level 3, trace the SQL statement for the db access + With this configuration, xcat will send the log to syslog very frequently, some of the + log may be lost if imjournal is enabled by rsyslog. Please see https://github.com/xcat2/xcat-core/issues/3910 for the detail. - + ----------------------- VIRTUALIZATION ATTRIBUTES ----------------------- usexhrm: Have xCAT execute the xHRM script when booting up KVM guests to configure the virtual network bridge. - + vcenterautojoin: When set to no, the VMWare plugin will not attempt to auto remove and add hypervisors while trying to perform operations. If users or tasks outside of xCAT perform the joining this assures xCAT will not interfere. - + vmwarereconfigonpower: When set to no, the VMWare plugin will make no effort to push vm.cpus/vm.memory updates from xCAT to VMWare. - + persistkvmguests: Keep the kvm definition on the kvm hypervisor when you power off - the kvm guest node. This is useful for you to manually change the + the kvm guest node. This is useful for you to manually change the kvm xml definition file in virsh for debugging. Set anything means enable. - + -------------------- XCAT DAEMON ATTRIBUTES -------------------- @@ -443,43 +446,43 @@ site Attributes: xcatd, and retry. The default is no. See the following document for details: Hints_and_Tips_for_Large_Scale_Clusters - + xcatmaxconnections: Number of concurrent xCAT protocol requests before requests begin queueing. This applies to both client command requests and node requests, e.g. to get postscripts. Default is 64. - + xcatmaxbatchconnections: Number of concurrent xCAT connections allowed from the nodes. Value must be less than xcatmaxconnections. Default is 50. - + xcatdport: The port used by the xcatd daemon for client/server communication. - + xcatiport: The port used by xcatd to receive install status updates from nodes. - + xcatlport: The port used by xcatd command log writer process to collect command output. - - xcatsslversion: The ssl version by xcatd. Default is SSLv3. - + + xcatsslversion: The ssl version by xcatd. Default is TLSv1. + xcatsslciphers: The ssl cipher by xcatd. Default is 3DES. + + - - -\ **value**\ - +\ **value**\ + The value of the attribute specified in the "key" column. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -488,5 +491,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/statelite.5.rst b/docs/source/guides/admin-guides/references/man5/statelite.5.rst index ee7fc3860..3b9f6e1b0 100644 --- a/docs/source/guides/admin-guides/references/man5/statelite.5.rst +++ b/docs/source/guides/admin-guides/references/man5/statelite.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **statelite Attributes:**\ \ *node*\ , \ *image*\ , \ *statemnt*\ , \ *mntopts*\ , \ *comments*\ , \ *disable*\ +\ **statelite Attributes:**\ \ *node*\ , \ *image*\ , \ *statemnt*\ , \ *mntopts*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ statelite Attributes: -\ **node**\ - +\ **node**\ + The name of the node or group that will use this location. + - -\ **image**\ - +\ **image**\ + Reserved for future development, not used. + - -\ **statemnt**\ - +\ **statemnt**\ + The persistent read/write area where a node's persistent files will be written to, e.g: 10.0.0.1/state/. The node name will be automatically added to the pathname, so 10.0.0.1:/state, will become 10.0.0.1:/state/. + - -\ **mntopts**\ - +\ **mntopts**\ + A comma-separated list of options to use when mounting the persistent directory. (Ex. 'soft') The default is to do a 'hard' mount. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/storage.5.rst b/docs/source/guides/admin-guides/references/man5/storage.5.rst index b0f6d4b17..dd48879bb 100644 --- a/docs/source/guides/admin-guides/references/man5/storage.5.rst +++ b/docs/source/guides/admin-guides/references/man5/storage.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **storage Attributes:**\ \ *node*\ , \ *osvolume*\ , \ *size*\ , \ *state*\ , \ *storagepool*\ , \ *hypervisor*\ , \ *fcprange*\ , \ *volumetag*\ , \ *type*\ , \ *controller*\ , \ *comments*\ , \ *disable*\ +\ **storage Attributes:**\ \ *node*\ , \ *osvolume*\ , \ *size*\ , \ *state*\ , \ *storagepool*\ , \ *hypervisor*\ , \ *fcprange*\ , \ *volumetag*\ , \ *type*\ , \ *controller*\ , \ *comments*\ , \ *disable*\ *********** @@ -34,86 +34,86 @@ storage Attributes: -\ **node**\ - +\ **node**\ + The node name + - -\ **osvolume**\ - +\ **osvolume**\ + Specification of what storage to place the node OS image onto. Examples include: - - + + .. code-block:: perl - + localdisk (Install to first non-FC attached disk) usbdisk (Install to first USB mass storage device seen) wwn=0x50000393c813840c (Install to storage device with given WWN) + + - - -\ **size**\ - +\ **size**\ + Size of the volume. Examples include: 10G, 1024M. + - -\ **state**\ - +\ **state**\ + State of the volume. The valid values are: free, used, and allocated + - -\ **storagepool**\ - +\ **storagepool**\ + Name of storage pool where the volume is assigned. + - -\ **hypervisor**\ - +\ **hypervisor**\ + Name of the hypervisor where the volume is configured. + - -\ **fcprange**\ - +\ **fcprange**\ + A range of acceptable fibre channels that the volume can use. Examples include: 3B00-3C00;4B00-4C00. + - -\ **volumetag**\ - +\ **volumetag**\ + A specific tag used to identify the volume in the autoyast or kickstart template. + - -\ **type**\ - +\ **type**\ + The plugin used to drive storage configuration (e.g. svc) + - -\ **controller**\ - +\ **controller**\ + The management address to attach/detach new volumes. In the scenario involving multiple controllers, this data must be passed as argument rather than by table value + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -122,5 +122,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/switch.5.rst b/docs/source/guides/admin-guides/references/man5/switch.5.rst index 28ff4499a..9e6d9c099 100644 --- a/docs/source/guides/admin-guides/references/man5/switch.5.rst +++ b/docs/source/guides/admin-guides/references/man5/switch.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **switch Attributes:**\ \ *node*\ , \ *switch*\ , \ *port*\ , \ *vlan*\ , \ *interface*\ , \ *comments*\ , \ *disable*\ +\ **switch Attributes:**\ \ *node*\ , \ *switch*\ , \ *port*\ , \ *vlan*\ , \ *interface*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ switch Attributes: -\ **node**\ - +\ **node**\ + The node name or group name. + - -\ **switch**\ - +\ **switch**\ + The switch hostname. + - -\ **port**\ - +\ **port**\ + The port number in the switch that this node is connected to. On a simple 1U switch, an administrator can generally enter the number as printed next to the ports, and xCAT will understand switch representation differences. On stacked switches or switches with line cards, administrators should usually use the CLI representation (i.e. 2/0/1 or 5/8). One notable exception is stacked SMC 8848M switches, in which you must add 56 for the proceeding switch, then the port number. For example, port 3 on the second switch in an SMC8848M stack would be 59 + - -\ **vlan**\ - +\ **vlan**\ + The ID for the tagged vlan that is created on this port using mkvlan and chvlan commands. + - -\ **interface**\ - +\ **interface**\ + The interface name from the node perspective. For example, eth0. For the primary nic, it can be empty, the word "primary" or "primary:ethx" where ethx is the interface name. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/switches.5.rst b/docs/source/guides/admin-guides/references/man5/switches.5.rst index 37f7b677f..86b4ec0f7 100644 --- a/docs/source/guides/admin-guides/references/man5/switches.5.rst +++ b/docs/source/guides/admin-guides/references/man5/switches.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **switches Attributes:**\ \ *switch*\ , \ *snmpversion*\ , \ *username*\ , \ *password*\ , \ *privacy*\ , \ *auth*\ , \ *linkports*\ , \ *sshusername*\ , \ *sshpassword*\ , \ *protocol*\ , \ *switchtype*\ , \ *comments*\ , \ *disable*\ +\ **switches Attributes:**\ \ *switch*\ , \ *snmpversion*\ , \ *username*\ , \ *password*\ , \ *privacy*\ , \ *auth*\ , \ *linkports*\ , \ *sshusername*\ , \ *sshpassword*\ , \ *protocol*\ , \ *switchtype*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,77 +36,77 @@ switches Attributes: -\ **switch**\ - +\ **switch**\ + The hostname/address of the switch to which the settings apply + - -\ **snmpversion**\ - +\ **snmpversion**\ + The version to use to communicate with switch. SNMPv1 is assumed by default. + - -\ **username**\ - +\ **username**\ + The username to use for SNMPv3 communication, ignored for SNMPv1 + - -\ **password**\ - +\ **password**\ + The password string for SNMPv3 or community string for SNMPv1/SNMPv2. Falls back to passwd table, and site snmpc value if using SNMPv1/SNMPv2. + - -\ **privacy**\ - +\ **privacy**\ + The privacy protocol to use for v3. xCAT will use authNoPriv if this is unspecified. DES is recommended to use if v3 enabled, as it is the most readily available. + - -\ **auth**\ - +\ **auth**\ + The authentication protocol to use for SNMPv3. SHA is assumed if v3 enabled and this is unspecified + - -\ **linkports**\ - +\ **linkports**\ + The ports that connect to other switches. Currently, this column is only used by vlan configuration. The format is: "port_number:switch,port_number:switch...". Refer to the switch table for details on how to specify the port numbers. + - -\ **sshusername**\ - +\ **sshusername**\ + The remote login user name. It can be for ssh or telnet. If it is for telnet, set protocol to "telnet". If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. + - -\ **sshpassword**\ - +\ **sshpassword**\ + The remote login password. It can be for ssh or telnet. If it is for telnet, set protocol to "telnet". If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. + - -\ **protocol**\ - +\ **protocol**\ + Protocol for running remote commands for the switch. The valid values are: ssh, telnet. ssh is the default. If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. The passwd.comments attribute is used for protocol. + - -\ **switchtype**\ - +\ **switchtype**\ + The type of switch. It is used to identify the file name that implements the functions for this switch. The valid values are: Mellanox, Cisco, BNT and Juniper. + + + +\ **comments**\ -\ **comments**\ - - - -\ **disable**\ +\ **disable**\ @@ -116,5 +116,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/taskstate.5.rst b/docs/source/guides/admin-guides/references/man5/taskstate.5.rst index 2860e5573..1d7fc2e4f 100644 --- a/docs/source/guides/admin-guides/references/man5/taskstate.5.rst +++ b/docs/source/guides/admin-guides/references/man5/taskstate.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **taskstate Attributes:**\ \ *node*\ , \ *command*\ , \ *state*\ , \ *pid*\ , \ *reserve*\ , \ *disable*\ +\ **taskstate Attributes:**\ \ *node*\ , \ *command*\ , \ *state*\ , \ *pid*\ , \ *reserve*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ taskstate Attributes: -\ **node**\ - +\ **node**\ + The node name. + - -\ **command**\ - +\ **command**\ + Current command is running + - -\ **state**\ - +\ **state**\ + The task state(callback, running) for the node. + - -\ **pid**\ - +\ **pid**\ + The process id of the request process. + - -\ **reserve**\ - +\ **reserve**\ + used to lock the node + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/token.5.rst b/docs/source/guides/admin-guides/references/man5/token.5.rst index 0351e5c41..5089aa16b 100644 --- a/docs/source/guides/admin-guides/references/man5/token.5.rst +++ b/docs/source/guides/admin-guides/references/man5/token.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **token Attributes:**\ \ *tokenid*\ , \ *username*\ , \ *expire*\ , \ *created*\ , \ *access*\ , \ *comments*\ , \ *disable*\ +\ **token Attributes:**\ \ *tokenid*\ , \ *username*\ , \ *expire*\ , \ *created*\ , \ *access*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ token Attributes: -\ **tokenid**\ - +\ **tokenid**\ + It is a UUID as an unified identify for the user. + - -\ **username**\ - +\ **username**\ + The user name. + - -\ **expire**\ - +\ **expire**\ + The expire time for this token. + - -\ **created**\ - +\ **created**\ + Creation time for this token. + - -\ **access**\ - +\ **access**\ + Last access time for this token. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/virtsd.5.rst b/docs/source/guides/admin-guides/references/man5/virtsd.5.rst index 410b81968..9ff5547de 100644 --- a/docs/source/guides/admin-guides/references/man5/virtsd.5.rst +++ b/docs/source/guides/admin-guides/references/man5/virtsd.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **virtsd Attributes:**\ \ *node*\ , \ *sdtype*\ , \ *stype*\ , \ *location*\ , \ *host*\ , \ *cluster*\ , \ *datacenter*\ , \ *comments*\ , \ *disable*\ +\ **virtsd Attributes:**\ \ *node*\ , \ *sdtype*\ , \ *stype*\ , \ *location*\ , \ *host*\ , \ *cluster*\ , \ *datacenter*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,53 +36,53 @@ virtsd Attributes: -\ **node**\ - +\ **node**\ + The name of the storage domain + - -\ **sdtype**\ - +\ **sdtype**\ + The type of storage domain. Valid values: data, iso, export + - -\ **stype**\ - +\ **stype**\ + The type of storge. Valid values: nfs, fcp, iscsi, localfs + - -\ **location**\ - +\ **location**\ + The path of the storage + - -\ **host**\ - +\ **host**\ + For rhev, a hypervisor host needs to be specified to manage the storage domain as SPM (Storage Pool Manager). But the SPM role will be failed over to another host when this host down. + - -\ **cluster**\ - +\ **cluster**\ + A cluster of hosts + - -\ **datacenter**\ - +\ **datacenter**\ + A collection for all host, vm that will shared the same storages, networks. + + + +\ **comments**\ -\ **comments**\ - - - -\ **disable**\ +\ **disable**\ @@ -92,5 +92,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/vm.5.rst b/docs/source/guides/admin-guides/references/man5/vm.5.rst index 167ade986..2c34af76a 100644 --- a/docs/source/guides/admin-guides/references/man5/vm.5.rst +++ b/docs/source/guides/admin-guides/references/man5/vm.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **vm Attributes:**\ \ *node*\ , \ *mgr*\ , \ *host*\ , \ *migrationdest*\ , \ *storage*\ , \ *storagemodel*\ , \ *storagecache*\ , \ *storageformat*\ , \ *cfgstore*\ , \ *memory*\ , \ *cpus*\ , \ *nics*\ , \ *nicmodel*\ , \ *bootorder*\ , \ *clockoffset*\ , \ *virtflags*\ , \ *master*\ , \ *vncport*\ , \ *textconsole*\ , \ *powerstate*\ , \ *beacon*\ , \ *datacenter*\ , \ *cluster*\ , \ *guestostype*\ , \ *othersettings*\ , \ *physlots*\ , \ *vidmodel*\ , \ *vidproto*\ , \ *vidpassword*\ , \ *comments*\ , \ *disable*\ +\ **vm Attributes:**\ \ *node*\ , \ *mgr*\ , \ *host*\ , \ *migrationdest*\ , \ *storage*\ , \ *storagemodel*\ , \ *storagecache*\ , \ *storageformat*\ , \ *cfgstore*\ , \ *memory*\ , \ *cpus*\ , \ *nics*\ , \ *nicmodel*\ , \ *bootorder*\ , \ *clockoffset*\ , \ *virtflags*\ , \ *master*\ , \ *vncport*\ , \ *textconsole*\ , \ *powerstate*\ , \ *beacon*\ , \ *datacenter*\ , \ *cluster*\ , \ *guestostype*\ , \ *othersettings*\ , \ *physlots*\ , \ *vidmodel*\ , \ *vidproto*\ , \ *vidpassword*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,98 +36,98 @@ vm Attributes: -\ **node**\ - +\ **node**\ + The node or static group name + - -\ **mgr**\ - +\ **mgr**\ + The function manager for the virtual machine + - -\ **host**\ - +\ **host**\ + The system that currently hosts the VM + - -\ **migrationdest**\ - +\ **migrationdest**\ + A noderange representing candidate destinations for migration (i.e. similar systems, same SAN, or other criteria that xCAT can use + - -\ **storage**\ - +\ **storage**\ + A list of storage files or devices to be used. i.e. dir:///cluster/vm/ or nfs:///path/to/folder/ + - -\ **storagemodel**\ - +\ **storagemodel**\ + Model of storage devices to provide to guest + - -\ **storagecache**\ - +\ **storagecache**\ + Select caching scheme to employ. E.g. KVM understands 'none', 'writethrough' and 'writeback' + - -\ **storageformat**\ - +\ **storageformat**\ + Select disk format to use by default (e.g. raw versus qcow2) + - -\ **cfgstore**\ - +\ **cfgstore**\ + Optional location for persistent storage separate of emulated hard drives for virtualization solutions that require persistent store to place configuration data + - -\ **memory**\ - +\ **memory**\ + Megabytes of memory the VM currently should be set to. + - -\ **cpus**\ - +\ **cpus**\ + Number of CPUs the node should see. + - -\ **nics**\ - +\ **nics**\ + Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. + - -\ **nicmodel**\ - +\ **nicmodel**\ + Model of NICs that will be provided to VMs (i.e. e1000, rtl8139, virtio, etc) + - -\ **bootorder**\ - +\ **bootorder**\ + Boot sequence (i.e. net,hd) + - -\ **clockoffset**\ - +\ **clockoffset**\ + Whether to have guest RTC synced to "localtime" or "utc" If not populated, xCAT will guess based on the nodetype.os contents. + - -\ **virtflags**\ - +\ **virtflags**\ + General flags used by the virtualization method. For example, in Xen it could, among other things, specify paravirtualized setup, or direct kernel boot. For a hypervisor/dom0 entry, it is the virtualization method (i.e. "xen"). For KVM, the following flag=value pairs are recognized: imageformat=[raw|fullraw|qcow2] @@ -138,92 +138,92 @@ vm Attributes: qemu-img allows use of qcow2 to generate virtualization layer copy-on-write reflink uses a generic filesystem facility to clone the files on your behalf, but requires filesystem support such as btrfs placement_affinity=[migratable|user_migratable|pinned] + - -\ **master**\ - +\ **master**\ + The name of a master image, if any, this virtual machine is linked to. This is generally set by clonevm and indicates the deletion of a master that would invalidate the storage of this virtual machine + - -\ **vncport**\ - +\ **vncport**\ + Tracks the current VNC display port (currently not meant to be set + - -\ **textconsole**\ - +\ **textconsole**\ + Tracks the Psuedo-TTY that maps to the serial port or console of a VM + - -\ **powerstate**\ - +\ **powerstate**\ + This flag is used by xCAT to track the last known power state of the VM. + - -\ **beacon**\ - +\ **beacon**\ + This flag is used by xCAT to track the state of the identify LED with respect to the VM. + - -\ **datacenter**\ - +\ **datacenter**\ + Optionally specify a datacenter for the VM to exist in (only applicable to VMWare) + - -\ **cluster**\ - +\ **cluster**\ + Specify to the underlying virtualization infrastructure a cluster membership for the hypervisor. + - -\ **guestostype**\ - +\ **guestostype**\ + This allows administrator to specify an identifier for OS to pass through to virtualization stack. Normally this should be ignored as xCAT will translate from nodetype.os rather than requiring this field be used + - -\ **othersettings**\ - +\ **othersettings**\ + This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:"vcpupin:'0-15,^8'",Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0', the value for PCI device format also can be like:'devpassthrough:0001:01:00.1', the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively, the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. + - -\ **physlots**\ - +\ **physlots**\ + Specify the physical slots drc index that will assigned to the partition, the delimiter is ',', and the drc index must started with '0x'. For more details, reference manpage for 'lsvm'. + - -\ **vidmodel**\ - +\ **vidmodel**\ + Model of video adapter to provide to guest. For example, qxl in KVM + - -\ **vidproto**\ - +\ **vidproto**\ + Request a specific protocol for remote video access be set up. For example, spice in KVM. + - -\ **vidpassword**\ - +\ **vidpassword**\ + Password to use instead of temporary random tokens for VNC and SPICE access + + + +\ **comments**\ -\ **comments**\ - - - -\ **disable**\ +\ **disable**\ @@ -233,5 +233,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/vmmaster.5.rst b/docs/source/guides/admin-guides/references/man5/vmmaster.5.rst index e974898a8..cdceff5db 100644 --- a/docs/source/guides/admin-guides/references/man5/vmmaster.5.rst +++ b/docs/source/guides/admin-guides/references/man5/vmmaster.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **vmmaster Attributes:**\ \ *name*\ , \ *os*\ , \ *arch*\ , \ *profile*\ , \ *storage*\ , \ *storagemodel*\ , \ *nics*\ , \ *vintage*\ , \ *originator*\ , \ *virttype*\ , \ *specializeparameters*\ , \ *comments*\ , \ *disable*\ +\ **vmmaster Attributes:**\ \ *name*\ , \ *os*\ , \ *arch*\ , \ *profile*\ , \ *storage*\ , \ *storagemodel*\ , \ *nics*\ , \ *vintage*\ , \ *originator*\ , \ *virttype*\ , \ *specializeparameters*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,77 +36,77 @@ vmmaster Attributes: -\ **name**\ - +\ **name**\ + The name of a master + - -\ **os**\ - +\ **os**\ + The value of nodetype.os at the time the master was captured + - -\ **arch**\ - +\ **arch**\ + The value of nodetype.arch at the time of capture + - -\ **profile**\ - +\ **profile**\ + The value of nodetype.profile at time of capture + - -\ **storage**\ - +\ **storage**\ + The storage location of bulk master information + - -\ **storagemodel**\ - +\ **storagemodel**\ + The default storage style to use when modifying a vm cloned from this master + - -\ **nics**\ - +\ **nics**\ + The nic configuration and relationship to vlans/bonds/etc + - -\ **vintage**\ - +\ **vintage**\ + When this image was created + - -\ **originator**\ - +\ **originator**\ + The user who created the image + - -\ **virttype**\ - +\ **virttype**\ + The type of virtualization this image pertains to (e.g. vmware, kvm, etc) + - -\ **specializeparameters**\ - +\ **specializeparameters**\ + Implementation specific arguments, currently only "autoLogonCount=- or -. The side information for the BPA/FSP. The side attribute refers to which BPA/FSP, A or B, which is determined by the slot value returned from lsslp command. It also lists the physical port within each BPA/FSP which is determined by the IP address order from the lsslp response. This information is used internally when communicating with the BPAs/FSPs + - -\ **asset**\ - +\ **asset**\ + A field for administrators to use to correlate inventory numbers they may have to accommodate + - -\ **uuid**\ - +\ **uuid**\ + The UUID applicable to the node + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -90,5 +90,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/websrv.5.rst b/docs/source/guides/admin-guides/references/man5/websrv.5.rst index 1146aaa7f..437e45619 100644 --- a/docs/source/guides/admin-guides/references/man5/websrv.5.rst +++ b/docs/source/guides/admin-guides/references/man5/websrv.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **websrv Attributes:**\ \ *node*\ , \ *port*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ +\ **websrv Attributes:**\ \ *node*\ , \ *port*\ , \ *username*\ , \ *password*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ websrv Attributes: -\ **node**\ - +\ **node**\ + The web service hostname. + - -\ **port**\ - +\ **port**\ + The port of the web service. + - -\ **username**\ - +\ **username**\ + Userid to use to access the web service. + - -\ **password**\ - +\ **password**\ + Password to use to access the web service. + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/winimage.5.rst b/docs/source/guides/admin-guides/references/man5/winimage.5.rst index cc0c1c8ae..073521acf 100644 --- a/docs/source/guides/admin-guides/references/man5/winimage.5.rst +++ b/docs/source/guides/admin-guides/references/man5/winimage.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **winimage Attributes:**\ \ *imagename*\ , \ *template*\ , \ *installto*\ , \ *partitionfile*\ , \ *winpepath*\ , \ *comments*\ , \ *disable*\ +\ **winimage Attributes:**\ \ *imagename*\ , \ *template*\ , \ *installto*\ , \ *partitionfile*\ , \ *winpepath*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,46 +36,46 @@ winimage Attributes: -\ **imagename**\ - +\ **imagename**\ + The name of this xCAT OS image definition. + - -\ **template**\ - +\ **template**\ + The fully qualified name of the template file that is used to create the windows unattend.xml file for diskful installation. + - -\ **installto**\ - +\ **installto**\ + The disk and partition that the Windows will be deployed to. The valid format is :. If not set, default value is 0:1 for bios boot mode(legacy) and 0:3 for uefi boot mode; If setting to 1, it means 1:1 for bios boot and 1:3 for uefi boot + - -\ **partitionfile**\ - +\ **partitionfile**\ + The path of partition configuration file. Since the partition configuration for bios boot mode and uefi boot mode are different, this configuration file can include both configurations if you need to support both bios and uefi mode. Either way, you must specify the boot mode in the configuration. Example of partition configuration file: [BIOS]xxxxxxx[UEFI]yyyyyyy. To simplify the setting, you also can set installto in partitionfile with section like [INSTALLTO]0:1 + - -\ **winpepath**\ - +\ **winpepath**\ + The path of winpe which will be used to boot this image. If the real path is /tftpboot/winboot/winpe1/, the value for winpepath should be set to winboot/winpe1 + - -\ **comments**\ - +\ **comments**\ + Any user-written notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -84,5 +84,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/xcatdb.5.rst b/docs/source/guides/admin-guides/references/man5/xcatdb.5.rst index 414872f75..df1aac666 100644 --- a/docs/source/guides/admin-guides/references/man5/xcatdb.5.rst +++ b/docs/source/guides/admin-guides/references/man5/xcatdb.5.rst @@ -115,18 +115,18 @@ node names are cmm01, cmm02, etc., then you might have an mp table like: Before you panic, let me explain each column: -\ **blade**\ - +\ **blade**\ + This is a group name. In this example, we are assuming that all of your blades belong to this group. Each time the xCAT software accesses the \ **mp**\ table to get the management module and slot number of a specific blade (e.g. \ **node20**\ ), this row will match (because \ **node20**\ is in the \ **blade**\ group). Once this row is matched for \ **node20**\ , then the processing described in the following items will take place. + - -\ **|\D+(\d+)|cmm(sprintf('%02d',($1-1)/14+1))|**\ - +\ **|\D+(\d+)|cmm(sprintf('%02d',($1-1)/14+1))|**\ + This is a perl substitution pattern that will produce the value for the second column of the table (the management module hostname). The text \ **\D+(\d+)**\ between the 1st two vertical bars is a regular expression that matches the node @@ -141,17 +141,17 @@ Before you panic, let me explain each column: zero, if necessary, to always make the number two digits. Lastly the string \ **cmm**\ is added to the beginning, making the resulting string \ **cmm02**\ , which will be used as the hostname of the management module. + - -\ **|\D+(\d+)|(($1-1)%14+1)|**\ - +\ **|\D+(\d+)|(($1-1)%14+1)|**\ + This item is similar to the one above. This substituion pattern will produce the value for the 3rd column (the chassis slot number for this blade). Because this row was the match for \ **node20**\ , the parentheses within the 1st set of vertical bars will set $1 to 20. Since % means modulo division, the expression \ **($1-1)%14+1**\ will evaluate to \ **6**\ . - + See http://www.perl.com/doc/manual/html/pod/perlre.html for information on perl regular expressions. @@ -173,34 +173,34 @@ Regular Expression Helper Functions xCAT provides several functions that can simplify regular expressions. -\ **a2idx**\ - +\ **a2idx**\ + ASCII Character to Index + - -\ **a2zidx**\ - +\ **a2zidx**\ + ASCII Character to 0-Index + - -\ **dim2idx**\ - +\ **dim2idx**\ + Dimensions to Index + - -\ **skip**\ - +\ **skip**\ + Skip indices + - -\ **ipadd**\ - +\ **ipadd**\ + Add to an IP address - + http://xcat-docs.readthedocs.org/en/latest/guides/admin-guides/basic_concepts/xcat_db/regexp_db.html#regular-expression-helper-functions @@ -235,35 +235,35 @@ In plain English, an object name is in \ **xCAT Object Name Format**\ if starti \* - + one or more alpha characters of any case and any number of "-" in any combination - + \* - + followed by one or more numbers - + \* - + then optionally followed by one alpha character of any case or "-" - + \* - + followed by any combination of case mixed alphanumerics and "-" + - -\ **Object Types**\ +\ **Object Types**\ ==================== -To run man for any of the object definitions below, use section 7. For example: \ **man 7 node**\ +To run man for any of the object definitions below, use section 7. For example: \ **man 7 node**\ The object types are: @@ -370,366 +370,366 @@ TABLES To manipulate the tables directly, use \ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ , \ **nodeadd(8)**\ , \ **nodech(1)**\ . -To run man for any of the table descriptions below, use section 5. For example: \ **man 5 nodehm**\ +To run man for any of the table descriptions below, use section 5. For example: \ **man 5 nodehm**\ The tables are: auditlog(5)|auditlog.5 - + Audit Data log. - + bootparams(5)|bootparams.5 - + Current boot settings to be sent to systems attempting network boot for deployment, stateless, or other reasons. Mostly automatically manipulated by xCAT. - + boottarget(5)|boottarget.5 - + Specify non-standard initrd, kernel, and parameters that should be used for a given profile. - + cfgmgt(5)|cfgmgt.5 - + Configuration management data for nodes used by non-xCAT osimage management services to install and configure software on a node. - + chain(5)|chain.5 - + Controls what operations are done (and it what order) when a node is discovered and deployed. - + deps(5)|deps.5 - + Describes dependencies some nodes have on others. This can be used, e.g., by rpower -d to power nodes on or off in the correct order. - + discoverydata(5)|discoverydata.5 - + Discovery data which sent from genesis. - + domain(5)|domain.5 - + Mapping of nodes to domain attributes - + eventlog(5)|eventlog.5 - + Stores the events occurred. - + firmware(5)|firmware.5 - + Maps node to firmware values to be used for setup at node discovery or later - + hosts(5)|hosts.5 - + IP addresses and hostnames of nodes. This info is optional and is only used to populate /etc/hosts and DNS via makehosts and makedns. Using regular expressions in this table can be a quick way to populate /etc/hosts. - + hwinv(5)|hwinv.5 - + The hareware inventory for the node. - + hypervisor(5)|hypervisor.5 - + Hypervisor parameters - + ipmi(5)|ipmi.5 - + Settings for nodes that are controlled by an on-board BMC via IPMI. - + iscsi(5)|iscsi.5 - + Contains settings that control how to boot a node from an iSCSI target - + kit(5)|kit.5 - + This table stores all kits added to the xCAT cluster. - + kitcomponent(5)|kitcomponent.5 - + This table stores all kit components added to the xCAT cluster. - + kitrepo(5)|kitrepo.5 - + This table stores all kits added to the xCAT cluster. - + kvm_masterdata(5)|kvm_masterdata.5 - + Persistent store for KVM plugin for masters - + kvm_nodedata(5)|kvm_nodedata.5 - + Persistent store for KVM plugin, not intended for manual modification. - + linuximage(5)|linuximage.5 - + Information about a Linux operating system image that can be used to deploy cluster nodes. - + litefile(5)|litefile.5 - + The litefile table specifies the directories and files on the statelite nodes that should be readwrite, persistent, or readonly overlay. All other files in the statelite nodes come from the readonly statelite image. - + litetree(5)|litetree.5 - + Directory hierarchy to traverse to get the initial contents of node files. The files that are specified in the litefile table are searched for in the directories specified in this table. - + mac(5)|mac.5 - + The MAC address of the node's install adapter. Normally this table is populated by getmacs or node discovery, but you can also add entries to it manually. - + mic(5)|mic.5 - + The host, slot id and configuration of the mic (Many Integrated Core). - + monitoring(5)|monitoring.5 - + Controls what external monitoring tools xCAT sets up and uses. Entries should be added and removed from this table using the provided xCAT commands monstart and monstop. - + monsetting(5)|monsetting.5 - + Specifies the monitoring plug-in specific settings. These settings will be used by the monitoring plug-in to customize the behavior such as event filter, sample interval, responses etc. Entries should be added, removed or modified by chtab command. Entries can also be added or modified by the monstart command when a monitoring plug-in is brought up. - + mp(5)|mp.5 - + Contains the hardware control info specific to blades. This table also refers to the mpa table, which contains info about each Management Module. - + mpa(5)|mpa.5 - + Contains info about each Management Module and how to access it. - + networks(5)|networks.5 - + Describes the networks in the cluster and info necessary to set up nodes on that network. - + nics(5)|nics.5 - + Stores NIC details. - + nimimage(5)|nimimage.5 - + All the info that specifies a particular AIX operating system image that can be used to deploy AIX nodes. - + nodegroup(5)|nodegroup.5 - + Contains group definitions, whose membership is dynamic depending on characteristics of the node. - + nodehm(5)|nodehm.5 - + Settings that control how each node's hardware is managed. Typically, an additional table that is specific to the hardware type of the node contains additional info. E.g. the ipmi, mp, and ppc tables. - + nodelist(5)|nodelist.5 - + The list of all the nodes in the cluster, including each node's current status and what groups it is in. - + nodepos(5)|nodepos.5 - + Contains info about the physical location of each node. Currently, this info is not used by xCAT, and therefore can be in whatevery format you want. It will likely be used in xCAT in the future. - + noderes(5)|noderes.5 - + Resources and settings to use when installing nodes. - + nodetype(5)|nodetype.5 - + A few hardware and software characteristics of the nodes. - + notification(5)|notification.5 - + Contains registrations to be notified when a table in the xCAT database changes. Users can add entries to have additional software notified of changes. Add and remove entries using the provided xCAT commands regnotif and unregnotif. - + openbmc(5)|openbmc.5 - + Setting for nodes that are controlled by an on-board OpenBMC. - + osdistro(5)|osdistro.5 - + Information about all the OS distros in the xCAT cluster - + osdistroupdate(5)|osdistroupdate.5 - + Information about the OS distro updates in the xCAT cluster - + osimage(5)|osimage.5 - + Basic information about an operating system image that can be used to deploy cluster nodes. - + passwd(5)|passwd.5 - + Contains default userids and passwords for xCAT to access cluster components. In most cases, xCAT will also actually set the userid/password in the relevant component when it is being configured or installed. Userids/passwords for specific cluster components can be overidden in other tables, e.g. mpa, ipmi, ppchcp, etc. - + pdu(5)|pdu.5 - + Parameters to use when interrogating pdus - + pduoutlet(5)|pduoutlet.5 - + Contains list of outlet numbers on the pdu each node is connected to. - + performance(5)|performance.5 - + Describes the system performance every interval unit of time. - + policy(5)|policy.5 - + The policy table in the xCAT database controls who has authority to run specific xCAT operations. It is basically the Access Control List (ACL) for xCAT. It is sorted on the priority field before evaluating. - + postscripts(5)|postscripts.5 - + The scripts that should be run on each node after installation or diskless boot. - + ppc(5)|ppc.5 - + List of system p hardware: HMCs, IVMs, FSPs, BPCs, CECs, Frames. - + ppcdirect(5)|ppcdirect.5 - + Info necessary to use FSPs/BPAs to control system p CECs/Frames. - + ppchcp(5)|ppchcp.5 - + Info necessary to use HMCs and IVMs as hardware control points for LPARs. - + prescripts(5)|prescripts.5 - + The scripts that will be run at the beginning and the end of the nodeset(Linux), nimnodeset(AIX) or mkdsklsnode(AIX) command. - + prodkey(5)|prodkey.5 - + Specify product keys for products that require them - + rack(5)|rack.5 - + Rack information. - + routes(5)|routes.5 - + Describes the additional routes needed to be setup in the os routing table. These routes usually are used to connect the management node to the compute node using the service node as gateway. - + servicenode(5)|servicenode.5 - + List of all Service Nodes and services that will be set up on the Service Node. - + site(5)|site.5 - - Global settings for the whole cluster. This table is different from the - other tables in that each attribute is just named in the key column, rather - than having a separate column for each attribute. The following is a list of + + Global settings for the whole cluster. This table is different from the + other tables in that each attribute is just named in the key column, rather + than having a separate column for each attribute. The following is a list of attributes currently used by xCAT organized into categories. - + statelite(5)|statelite.5 - + The location on an NFS server where a nodes persistent files are stored. Any file marked persistent in the litefile table will be stored in the location specified in this table for that node. - + storage(5)|storage.5 @@ -737,81 +737,81 @@ storage(5)|storage.5 switch(5)|switch.5 - + Contains what switch port numbers each node is connected to. - + switches(5)|switches.5 - + Parameters to use when interrogating switches - + taskstate(5)|taskstate.5 - + The task state for the node. - + token(5)|token.5 - + The token of users for authentication. - + virtsd(5)|virtsd.5 - + The parameters which used to create the Storage Domain - + vm(5)|vm.5 - + Virtualization parameters - + vmmaster(5)|vmmaster.5 - + Inventory of virtualization images for use with clonevm. Manual intervention in this table is not intended. - + vpd(5)|vpd.5 - + The Machine type, Model, and Serial numbers of each node. - + websrv(5)|websrv.5 - + Web service parameters - + winimage(5)|winimage.5 - + Information about a Windows operating system image that can be used to deploy cluster nodes. - + zone(5)|zone.5 - + Defines a cluster zone for nodes that share root ssh key access to each other. - + zvm(5)|zvm.5 - + List of z/VM virtual servers. - + zvmivp(5)|zvmivp.5 - + List of z/VM Installation Verification Procedures (IVPs) to be periodically run. - + @@ -820,5 +820,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ , \ **lsdef(1)**\ , \ **mkdef(1)**\ , \ **chdef(1)**\ , \ **rmdef(1)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ , \ **lsdef(1)**\ , \ **mkdef(1)**\ , \ **chdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man5/xcatstanzafile.5.rst b/docs/source/guides/admin-guides/references/man5/xcatstanzafile.5.rst index 7618912c9..b8cb9d33e 100644 --- a/docs/source/guides/admin-guides/references/man5/xcatstanzafile.5.rst +++ b/docs/source/guides/admin-guides/references/man5/xcatstanzafile.5.rst @@ -23,75 +23,75 @@ A stanza file contains information that can be used to create xCAT data object d \* - + An object stanza header consists of the object name followed by a colon, (":"). - + \* - + Attribute lines must take the form of Attribute=Value. - + \* - + Attribute name might include the character dot ("."), like passwd.HMC and nicips.eth0. - + \* - + Only one stanza can exist for each object name. - + \* - + All stanzas except for default stanzas must have a value set for "objtype". - + \* - + Comments beginning with the "#" pound sign may be added to the file. A comment must be on a separate line. - + \* - + When parsing the file, tab characters and spaces are ignored. - + \* - + Each line of the file can have no more than one header or attribute definition. - + \* - + If the header name is "default-:" the attribute values in the stanza are considered default values for subsequent definitions in the file that are the same object type. - + \* - + Default stanzas can be specified multiple times and at any point in a stanza file. The values apply to all definitions following the default stanzas in a file. The default values are cumulative; a default attribute value will remain set until it is explicitly unset or changed. - + \* - + To turn off a default value, use another default stanza to set the attribute to have no value using a blank space. - + \* - + When a specific value for an attribute is provided in the stanza, it takes priority over any default value that had been set. - + The format of a stanza file should look similar to the following. @@ -103,13 +103,13 @@ The format of a stanza file should look similar to the following. attr=val attr=val . . . - + : objtype= attr=val attr=val . . . - + : objtype= attr=val @@ -125,47 +125,47 @@ EXAMPLES 1) - + Sample stanza file: - - + + .. code-block:: perl - + mysite: objtype=site rsh=/bin/rsh rcp=/bin/rcp installdir=/xcatinstall domain=ppd.pok.ibm.com - + MSnet01: objtype=network gateway=1.2.3.4 netmask=255.255.255.0 nameserver=5.6.7.8 - + default-node: next_osimage=aix61 network=MSnet01 groups=all,compute - + node01: objtype=node MAC=A2E26002C003 xcatmaster=MS02.ppd.pok.com nfsserver=IS227.ppd.pok.com - + node02: objtype=node MAC=A2E26002B004 xcatmaster=MS01.ppd.pok.com nfsserver=IS127.ppd.pok.com - + grp01: objtype=group members=node1,node2,node3 - - + + diff --git a/docs/source/guides/admin-guides/references/man5/zone.5.rst b/docs/source/guides/admin-guides/references/man5/zone.5.rst index 878c949be..b4183e642 100644 --- a/docs/source/guides/admin-guides/references/man5/zone.5.rst +++ b/docs/source/guides/admin-guides/references/man5/zone.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **zone Attributes:**\ \ *zonename*\ , \ *sshkeydir*\ , \ *sshbetweennodes*\ , \ *defaultzone*\ , \ *comments*\ , \ *disable*\ +\ **zone Attributes:**\ \ *zonename*\ , \ *sshkeydir*\ , \ *sshbetweennodes*\ , \ *defaultzone*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,40 +36,40 @@ zone Attributes: -\ **zonename**\ - +\ **zonename**\ + The name of the zone. + - -\ **sshkeydir**\ - +\ **sshkeydir**\ + Directory containing the shared root ssh RSA keys. + - -\ **sshbetweennodes**\ - +\ **sshbetweennodes**\ + Indicates whether passwordless ssh will be setup between the nodes of this zone. Values are yes/1 or no/0. Default is yes. + - -\ **defaultzone**\ - +\ **defaultzone**\ + If nodes are not assigned to any other zone, they will default to this zone. If value is set to yes or 1. + - -\ **comments**\ - +\ **comments**\ + Any user-provided notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. - + @@ -78,5 +78,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/zvm.5.rst b/docs/source/guides/admin-guides/references/man5/zvm.5.rst index 9e7c8d2fb..249977d9b 100644 --- a/docs/source/guides/admin-guides/references/man5/zvm.5.rst +++ b/docs/source/guides/admin-guides/references/man5/zvm.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **zvm Attributes:**\ \ *node*\ , \ *hcp*\ , \ *userid*\ , \ *nodetype*\ , \ *parent*\ , \ *comments*\ , \ *disable*\ , \ *discovered*\ , \ *status*\ +\ **zvm Attributes:**\ \ *node*\ , \ *hcp*\ , \ *userid*\ , \ *nodetype*\ , \ *parent*\ , \ *comments*\ , \ *disable*\ , \ *discovered*\ , \ *status*\ *********** @@ -36,58 +36,58 @@ zvm Attributes: -\ **node**\ - +\ **node**\ + The node name. + - -\ **hcp**\ - +\ **hcp**\ + The hardware control point for this node. + - -\ **userid**\ - +\ **userid**\ + The z/VM userID of this node. + - -\ **nodetype**\ - +\ **nodetype**\ + The node type. Valid values: cec (Central Electronic Complex), lpar (logical partition), zvm (z/VM host operating system), and vm (virtual machine). + - -\ **parent**\ - +\ **parent**\ + The parent node. For LPAR, this specifies the CEC. For z/VM, this specifies the LPAR. For VM, this specifies the z/VM host operating system. + - -\ **comments**\ - +\ **comments**\ + Any user provided notes. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to comment out this row. + - -\ **discovered**\ - +\ **discovered**\ + Set to '1' to indicate this node was discovered. + - -\ **status**\ - +\ **status**\ + The processing status. Key value pairs (key=value) indicating status of the node. Multiple pairs are separated by semi-colons. Keys include: CLONING, CLONE_ONLY. - + @@ -96,5 +96,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man5/zvmivp.5.rst b/docs/source/guides/admin-guides/references/man5/zvmivp.5.rst index b41bd902c..04e5714ba 100644 --- a/docs/source/guides/admin-guides/references/man5/zvmivp.5.rst +++ b/docs/source/guides/admin-guides/references/man5/zvmivp.5.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **zvmivp Attributes:**\ \ *id*\ , \ *ip*\ , \ *schedule*\ , \ *last_run*\ , \ *type_of_run*\ , \ *access_user*\ , \ *orch_parms*\ , \ *prep_parms*\ , \ *main_ivp_parms*\ , \ *comments*\ , \ *disable*\ +\ **zvmivp Attributes:**\ \ *id*\ , \ *ip*\ , \ *schedule*\ , \ *last_run*\ , \ *type_of_run*\ , \ *access_user*\ , \ *orch_parms*\ , \ *prep_parms*\ , \ *main_ivp_parms*\ , \ *comments*\ , \ *disable*\ *********** @@ -36,70 +36,70 @@ zvmivp Attributes: -\ **id**\ - +\ **id**\ + Unique identifier associated with the IVP run, e.g. 1. + - -\ **ip**\ - +\ **ip**\ + IP address of the target system, either the IP of the OpenStack compute node or the xCAT management node. + - -\ **schedule**\ - +\ **schedule**\ + The hours (0-24) that the IVP should be run. Multiple hours are separated by a blank. + - -\ **last_run**\ - +\ **last_run**\ + The last time the IVP was run specified as a set of 3 blank delimeted words: year, Julian date, and hour (in 24 hour format). + - -\ **type_of_run**\ - +\ **type_of_run**\ + The type of run requested, 'fullivp' or 'basicivp'. + - -\ **access_user**\ - +\ **access_user**\ + User on the OpenStack node that is used to: push the IVP preparation script to the OpenStack system, drive the preparation script to validate the OpenStack configuration files, and return the created driver script to the xCAT MN system for the next part of the IVP. This user should be able to access the OpenStack configuration files that are scanned by the IVP. + - -\ **orch_parms**\ - +\ **orch_parms**\ + Parameters to pass to the IVP orchestrator script, verifynode. + - -\ **prep_parms**\ - +\ **prep_parms**\ + Parameters to pass to the phase 1 IVP preparation script. + - -\ **main_ivp_parms**\ - +\ **main_ivp_parms**\ + Parameters to pass to the main IVP script. + - -\ **comments**\ - +\ **comments**\ + Any user provided notes or description of the run. + - -\ **disable**\ - +\ **disable**\ + Set to 'yes' or '1' to disable this IVP run. - + @@ -108,5 +108,5 @@ SEE ALSO ******** -\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ +\ **nodels(1)**\ , \ **chtab(8)**\ , \ **tabdump(8)**\ , \ **tabedit(8)**\ diff --git a/docs/source/guides/admin-guides/references/man7/auditlog.7.rst b/docs/source/guides/admin-guides/references/man7/auditlog.7.rst index 833d7a18f..e6e270384 100644 --- a/docs/source/guides/admin-guides/references/man7/auditlog.7.rst +++ b/docs/source/guides/admin-guides/references/man7/auditlog.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **auditlog Attributes:**\ \ *args*\ , \ *audittime*\ , \ *clientname*\ , \ *clienttype*\ , \ *command*\ , \ *comments*\ , \ *disable*\ , \ *noderange*\ , \ *recid*\ , \ *status*\ , \ *userid*\ +\ **auditlog Attributes:**\ \ *args*\ , \ *audittime*\ , \ *clientname*\ , \ *clienttype*\ , \ *command*\ , \ *comments*\ , \ *disable*\ , \ *noderange*\ , \ *recid*\ , \ *status*\ , \ *userid*\ *********** @@ -40,69 +40,69 @@ auditlog Attributes: \ **args**\ (auditlog.args) - + The command argument list. - + \ **audittime**\ (auditlog.audittime) - + The timestamp for the audit entry. - + \ **clientname**\ (auditlog.clientname) - + The client machine, where the command originated. - + \ **clienttype**\ (auditlog.clienttype) - + Type of command: cli, java, webui, other. - + \ **command**\ (auditlog.command) - + Command executed. See auditskipcmds site table attribute to control which commands get logged. - + \ **comments**\ (auditlog.comments) - + Any user-provided notes. - + \ **disable**\ (auditlog.disable) - + Do not use. tabprune will not work if set to yes or 1 - + \ **noderange**\ (auditlog.noderange) - + The noderange on which the command was run. - + \ **recid**\ (auditlog.recid) - + The record id. - + \ **status**\ (auditlog.status) - + Allowed or Denied. - + \ **userid**\ (auditlog.userid) - + The user running the command. - + @@ -111,5 +111,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/boottarget.7.rst b/docs/source/guides/admin-guides/references/man7/boottarget.7.rst index 3895b5ff4..be767a2fc 100644 --- a/docs/source/guides/admin-guides/references/man7/boottarget.7.rst +++ b/docs/source/guides/admin-guides/references/man7/boottarget.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **boottarget Attributes:**\ \ *bprofile*\ , \ *comments*\ , \ *initrd*\ , \ *kcmdline*\ , \ *kernel*\ +\ **boottarget Attributes:**\ \ *bprofile*\ , \ *comments*\ , \ *initrd*\ , \ *kcmdline*\ , \ *kernel*\ *********** @@ -40,33 +40,33 @@ boottarget Attributes: \ **bprofile**\ (boottarget.bprofile) - + All nodes with a nodetype.profile value equal to this value and nodetype.os set to "boottarget", will use the associated kernel, initrd, and kcmdline. - + \ **comments**\ (boottarget.comments) - + Any user-written notes. - + \ **initrd**\ (boottarget.initrd) - + The initial ramdisk image that network boot actions should use (could be a DOS floppy or hard drive image if using memdisk as kernel) - + \ **kcmdline**\ (boottarget.kcmdline) - + Arguments to be passed to the kernel - + \ **kernel**\ (boottarget.kernel) - + The kernel that network boot actions should currently acquire and use. Note this could be a chained boot loader such as memdisk or a non-linux boot loader - + @@ -75,5 +75,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/eventlog.7.rst b/docs/source/guides/admin-guides/references/man7/eventlog.7.rst index 2a97b9988..ff31cbe01 100644 --- a/docs/source/guides/admin-guides/references/man7/eventlog.7.rst +++ b/docs/source/guides/admin-guides/references/man7/eventlog.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **eventlog Attributes:**\ \ *application*\ , \ *comments*\ , \ *component*\ , \ *disable*\ , \ *eventtime*\ , \ *eventtype*\ , \ *id*\ , \ *message*\ , \ *monitor*\ , \ *monnode*\ , \ *node*\ , \ *rawdata*\ , \ *recid*\ , \ *severity*\ +\ **eventlog Attributes:**\ \ *application*\ , \ *comments*\ , \ *component*\ , \ *disable*\ , \ *eventtime*\ , \ *eventtype*\ , \ *id*\ , \ *message*\ , \ *monitor*\ , \ *monnode*\ , \ *node*\ , \ *rawdata*\ , \ *recid*\ , \ *severity*\ *********** @@ -40,87 +40,87 @@ eventlog Attributes: \ **application**\ (eventlog.application) - + The application that reports the event. - + \ **comments**\ (eventlog.comments) - + Any user-provided notes. - + \ **component**\ (eventlog.component) - + The component where the event occurred. - + \ **disable**\ (eventlog.disable) - + Do not use. tabprune will not work if set to yes or 1 - + \ **eventtime**\ (eventlog.eventtime) - + The timestamp for the event. - + \ **eventtype**\ (eventlog.eventtype) - + The type of the event. - + \ **id**\ (eventlog.id) - + The location or the resource name where the event occurred. - + \ **message**\ (eventlog.message) - + The full description of the event. - + \ **monitor**\ (eventlog.monitor) - + The name of the monitor that monitors this event. - + \ **monnode**\ (eventlog.monnode) - + The node that monitors this event. - + \ **node**\ (eventlog.node) - + The node where the event occurred. - + \ **rawdata**\ (eventlog.rawdata) - + The data that associated with the event. - + \ **recid**\ (eventlog.recid) - + The record id. - + \ **severity**\ (eventlog.severity) - + The severity of the event. Valid values are: informational, warning, critical. - + @@ -129,5 +129,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/firmware.7.rst b/docs/source/guides/admin-guides/references/man7/firmware.7.rst index 2c8ee454d..43a6da7cc 100644 --- a/docs/source/guides/admin-guides/references/man7/firmware.7.rst +++ b/docs/source/guides/admin-guides/references/man7/firmware.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **firmware Attributes:**\ \ *cfgfile*\ , \ *comments*\ , \ *disable*\ +\ **firmware Attributes:**\ \ *cfgfile*\ , \ *comments*\ , \ *disable*\ *********** @@ -40,21 +40,21 @@ firmware Attributes: \ **cfgfile**\ (firmware.cfgfile) - + The file to use. - + \ **comments**\ (firmware.comments) - + Any user-written notes. - + \ **disable**\ (firmware.disable) - + Set to 'yes' or '1' to comment out this row. - + @@ -63,5 +63,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/group.7.rst b/docs/source/guides/admin-guides/references/man7/group.7.rst index c4d1849d7..13ae364b2 100644 --- a/docs/source/guides/admin-guides/references/man7/group.7.rst +++ b/docs/source/guides/admin-guides/references/man7/group.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **group Attributes:**\ \ *addkcmdline*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *dockercpus*\ , \ *dockerflag*\ , \ *dockerhost*\ , \ *dockermemory*\ , \ *dockernics*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groupname*\ , \ *grouptype*\ , \ *hcp*\ , \ *height*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *membergroups*\ , \ *members*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *wherevals*\ , \ *xcatmaster*\ +\ **group Attributes:**\ \ *addkcmdline*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *dockercpus*\ , \ *dockerflag*\ , \ *dockerhost*\ , \ *dockermemory*\ , \ *dockernics*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groupname*\ , \ *grouptype*\ , \ *hcp*\ , \ *height*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *membergroups*\ , \ *members*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *wherevals*\ , \ *xcatmaster*\ *********** @@ -40,601 +40,601 @@ group Attributes: \ **addkcmdline**\ (bootparams.addkcmdline) - + User specified kernel options for os provision process(no prefix) or the provisioned os(with prefix "R::"). The options should be delimited with spaces(" ") - + \ **arch**\ (nodetype.arch) - + The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64. - + \ **authdomain**\ (domain.authdomain) - + If a node should participate in an AD domain or Kerberos realm distinct from domain indicated in site, this field can be used to specify that - + \ **authkey**\ (pdu.authkey) - + The authentication passphrase for SNMPv3 - + \ **authtype**\ (pdu.authtype) - + The authentication protocol(MD5|SHA) to use for SNMPv3. - + \ **bmc**\ (ipmi.bmc, openbmc.bmc) - + The hostname of the BMC adapter. - + or - + The hostname of the BMC adapter. - + \ **bmcpassword**\ (ipmi.password, openbmc.password) - + The BMC password. If not specified, the key=ipmi row in the passwd table is used as the default. - + or - + The BMC password. - + \ **bmcport**\ (ipmi.bmcport) - + In systems with selectable shared/dedicated ethernet ports, this parameter can be used to specify the preferred port. 0 means use the shared port, 1 means dedicated, blank is to not assign. - - + + .. code-block:: perl - + The following special cases exist for IBM System x servers: - + For x3755 M3 systems, 0 means use the dedicated port, 1 means shared, blank is to not assign. - + For certain systems which have a mezzaine or ML2 adapter, there is a second value to include: - - + + For x3750 M4 (Model 8722): - - + + 0 2 1st 1Gbps interface for LOM - + 0 0 1st 10Gbps interface for LOM - + 0 3 2nd 1Gbps interface for LOM - + 0 1 2nd 10Gbps interface for LOM - - + + For x3750 M4 (Model 8752), x3850/3950 X6, dx360 M4, x3550 M4, and x3650 M4: - - + + 0 Shared (1st onboard interface) - + 1 Dedicated - + 2 0 First interface on ML2 or mezzanine adapter - + 2 1 Second interface on ML2 or mezzanine adapter - + 2 2 Third interface on ML2 or mezzanine adapter - + 2 3 Fourth interface on ML2 or mezzanine adapter - - + + \ **bmcusername**\ (ipmi.username, openbmc.username) - + The BMC userid. If not specified, the key=ipmi row in the passwd table is used as the default. - + or - + The BMC userid. - + \ **bmcvlantag**\ (ipmi.taggedvlan, openbmc.taggedvlan) - + bmcsetup script will configure the network interface of the BMC to be tagged to the VLAN specified. - + or - + bmcsetup script will configure the network interface of the BMC to be tagged to the VLAN specified. - + \ **cfgmgr**\ (cfgmgt.cfgmgr) - + The name of the configuration manager service. Currently 'chef' and 'puppet' are supported services. - + \ **cfgmgtroles**\ (cfgmgt.roles) - + The roles associated with this node as recognized by the cfgmgr for the software that is to be installed and configured. These role names map to chef recipes or puppet manifest classes that should be used for this node. For example, chef OpenStack cookbooks have roles such as mysql-master,keystone, glance, nova-controller, nova-conductor, cinder-all. - + \ **cfgserver**\ (cfgmgt.cfgserver) - + The xCAT node name of the chef server or puppet master - + \ **chain**\ (chain.chain) - + A comma-delimited chain of actions to be performed automatically when this node is discovered for the first time. (xCAT and the DHCP server do not recognize the MAC address of the node when xCAT initializes the discovery process.) The last step in this process is to run the operations listed in the chain attribute, one by one. Valid values: boot, runcmd=, runimage=, shell, standby. For example, to have the genesis kernel pause to the shell, use chain=shell. - + \ **chassis**\ (nodepos.chassis) - + The BladeCenter chassis the blade is in. - + \ **cmdmapping**\ (nodehm.cmdmapping) - + The fully qualified name of the file that stores the mapping between PCM hardware management commands and xCAT/third-party hardware management commands for a particular type of hardware device. Only used by PCM. - + \ **community**\ (pdu.community) - + The community string to use for SNMPv1/v2 - + \ **cons**\ (nodehm.cons) - + The console method. If nodehm.serialport is set, this will default to the nodehm.mgt setting, otherwise it defaults to unused. Valid values: cyclades, mrv, or the values valid for the mgt attribute. - + \ **conserver**\ (nodehm.conserver) - + The hostname of the machine where the conserver daemon is running. If not set, the default is the xCAT management node. - + \ **consoleenabled**\ (nodehm.consoleenabled) - + A flag field to indicate whether the node is registered in the console server. If '1', console is enabled, if not set, console is not enabled. - + \ **consoleondemand**\ (nodehm.consoleondemand) - + This overrides the value from site.consoleondemand. Set to 'yes', 'no', '1' (equivalent to 'yes'), or '0' (equivalent to 'no'). If not set, the default is the value from site.consoleondemand. - + \ **consport**\ (openbmc.consport) - + The console port for OpenBMC. - + \ **cpucount**\ (hwinv.cpucount) - + The number of cpus for the node. - + \ **cputype**\ (hwinv.cputype) - + The cpu model name for the node. - + \ **currchain**\ (chain.currchain) - + The chain steps still left to do for this node. This attribute will be automatically adjusted by xCAT while xCAT-genesis is running on the node (either during node discovery or a special operation like firmware update). During node discovery, this attribute is initialized from the chain attribute and updated as the chain steps are executed. - + \ **currstate**\ (chain.currstate) - + The current or next chain step to be executed on this node by xCAT-genesis. Set by xCAT during node discovery or as a result of nodeset. - + \ **dhcpinterfaces**\ (servicenode.dhcpinterfaces) - + The network interfaces DHCP server should listen on for the target node. This attribute can be used for management node and service nodes. If defined, it will override the values defined in site.dhcpinterfaces. This is a comma separated list of device names. !remote! indicates a non-local network for relay DHCP. For example: !remote!,eth0,eth1 - + \ **disksize**\ (hwinv.disksize) - + The size of the disks for the node in GB. - + \ **displayname**\ (mpa.displayname) - + Alternative name for BladeCenter chassis. Only used by PCM. - + \ **dockercpus**\ (vm.cpus) - + Number of CPUs the node should see. - + \ **dockerflag**\ (vm.othersettings) - + This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:"vcpupin:'0-15,^8'",Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0', the value for PCI device format also can be like:'devpassthrough:0001:01:00.1', the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively, the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. - + \ **dockerhost**\ (vm.host) - + The system that currently hosts the VM - + \ **dockermemory**\ (vm.memory) - + Megabytes of memory the VM currently should be set to. - + \ **dockernics**\ (vm.nics) - + Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. - + \ **domainadminpassword**\ (domain.adminpassword) - + Allow a node specific indication of Administrative user password for the domain. Most will want to ignore this in favor of passwd table. - + \ **domainadminuser**\ (domain.adminuser) - + Allow a node specific indication of Administrative user. Most will want to just use passwd table to indicate this once rather than by node. - + \ **domaintype**\ (domain.type) - + Type, if any, of authentication domain to manipulate. The only recognized value at the moment is activedirectory. - + \ **getmac**\ (nodehm.getmac) - + The method to use to get MAC address of the node with the getmac command. If not set, the mgt attribute will be used. Valid values: same as values for mgmt attribute. - + \ **groupname**\ (nodegroup.groupname) - + Name of the group. - + \ **grouptype**\ (nodegroup.grouptype) - - The only current valid value is dynamic. We will be looking at having the object def commands working with static group definitions in the nodelist table. - + + Static or Dynamic. A static group is defined to contain a specific set of cluster nodes. A dynamic node group is one that has its members determined by specifying a selection criteria for node attributes. + \ **hcp**\ (ppc.hcp, zvm.hcp) - + The hardware control point for this node (HMC, IVM, Frame or CEC). Do not need to set for BPAs and FSPs. - + or - + The hardware control point for this node. - + \ **height**\ (nodepos.height) - + The server height in U(s). - + \ **hostcluster**\ (hypervisor.cluster) - + Specify to the underlying virtualization infrastructure a cluster membership for the hypervisor. - + \ **hostinterface**\ (hypervisor.interface) - + The definition of interfaces for the hypervisor. The format is [networkname:interfacename:bootprotocol:IP:netmask:gateway] that split with | for each interface - + \ **hostmanager**\ (hypervisor.mgr) - + The virtualization specific manager of this hypervisor when applicable - + \ **hostnames**\ (hosts.hostnames) - + Hostname aliases added to /etc/hosts for this node. Comma or blank separated list. - + \ **hosttype**\ (hypervisor.type) - + The plugin associated with hypervisor specific commands such as revacuate - + \ **hwtype**\ (ppc.nodetype, zvm.nodetype, mp.nodetype, mic.nodetype) - + The hardware type of the node. Only can be one of fsp, bpa, cec, frame, ivm, hmc and lpar - + or - + The node type. Valid values: cec (Central Electronic Complex), lpar (logical partition), zvm (z/VM host operating system), and vm (virtual machine). - + or - + The hardware type for mp node. Valid values: mm,cmm, blade. - + or - + The hardware type of the mic node. Generally, it is mic. - + \ **id**\ (ppc.id, mp.id) - + For LPARs: the LPAR numeric id; for CECs: the cage number; for Frames: the frame number. - + or - + The slot number of this blade in the BladeCenter chassis. - + \ **initrd**\ (bootparams.initrd) - + The initial ramdisk image that network boot actions should use (could be a DOS floppy or hard drive image if using memdisk as kernel) - + \ **installnic**\ (noderes.installnic) - + The network adapter on the node that will be used for OS deployment, the installnic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. If not set, primarynic will be used. If primarynic is not set too, the keyword "mac" will be used as default. - + \ **interface**\ (mac.interface) - + The adapter interface name that will be used to install and manage the node. E.g. eth0 (for linux) or en0 (for AIX).) - + \ **ip**\ (hosts.ip) - + The IP address of the node. This is only used in makehosts. The rest of xCAT uses system name resolution to resolve node names to IP addresses. - + \ **iscsipassword**\ (iscsi.passwd) - + The password for the iscsi server containing the boot device for this node. - + \ **iscsiserver**\ (iscsi.server) - + The server containing the iscsi boot device for this node. - + \ **iscsitarget**\ (iscsi.target) - + The iscsi disk used for the boot device for this node. Filled in by xCAT. - + \ **iscsiuserid**\ (iscsi.userid) - + The userid of the iscsi server containing the boot device for this node. - + \ **kcmdline**\ (bootparams.kcmdline) - + Arguments to be passed to the kernel - + \ **kernel**\ (bootparams.kernel) - + The kernel that network boot actions should currently acquire and use. Note this could be a chained boot loader such as memdisk or a non-linux boot loader - + \ **linkports**\ (switches.linkports) - + The ports that connect to other switches. Currently, this column is only used by vlan configuration. The format is: "port_number:switch,port_number:switch...". Refer to the switch table for details on how to specify the port numbers. - + \ **mac**\ (mac.mac) - + The mac address or addresses for which xCAT will manage static bindings for this node. This may be simply a mac address, which would be bound to the node name (such as "01:02:03:04:05:0E"). This may also be a "|" delimited string of "mac address!hostname" format (such as "01:02:03:04:05:0E!node5|01:02:03:04:05:0F!node6-eth1"). If there are multiple nics connected to Management Network(usually for bond), in order to make sure the OS deployment finished successfully, the macs of those nics must be able to resolve to same IP address. First, users have to create alias of the node for each mac in the Management Network through either: 1. adding the alias into /etc/hosts for the node directly or: 2. setting the alias to the "hostnames" attribute and then run "makehost" against the node. Then, configure the "mac" attribute of the node like "mac1!node|mac2!node-alias". For the first mac address (mac1 in the example) set in "mac" attribute, do not need to set a "node name" string for it since the nodename of the node will be used for it by default. - + \ **membergroups**\ (nodegroup.membergroups) - + This attribute stores a comma-separated list of nodegroups that this nodegroup refers to. This attribute is only used by PCM. - + \ **members**\ (nodegroup.members) - + The value of the attribute is not used, but the attribute is necessary as a place holder for the object def commands. (The membership for static groups is stored in the nodelist table.) - + \ **memory**\ (hwinv.memory) - + The size of the memory for the node in MB. - + \ **mgt**\ (nodehm.mgt) - + The method to use to do general hardware management of the node. This attribute is used as the default if power or getmac is not set. Valid values: openbmc, ipmi, blade, hmc, ivm, fsp, bpa, kvm, esx, rhevm. See the power attribute for more details. - + \ **micbridge**\ (mic.bridge) - + The virtual bridge on the host node which the mic connected to. - + \ **michost**\ (mic.host) - + The host node which the mic card installed on. - + \ **micid**\ (mic.id) - + The device id of the mic node. - + \ **miconboot**\ (mic.onboot) - + Set mic to autoboot when mpss start. Valid values: yes|no. Default is yes. - + \ **micpowermgt**\ (mic.powermgt) - + Set the Power Management for mic node. This attribute is used to set the power management state that mic may get into when it is idle. Four states can be set: cpufreq, corec6, pc3 and pc6. The valid value for powermgt attribute should be [cpufreq=]![corec6=]![pc3=]![pc6=]. e.g. cpufreq=on!corec6=off!pc3=on!pc6=off. Refer to the doc of mic to get more information for power management. - + \ **micvlog**\ (mic.vlog) - + Set the Verbose Log to console. Valid values: yes|no. Default is no. - + \ **migrationdest**\ (vm.migrationdest) - + A noderange representing candidate destinations for migration (i.e. similar systems, same SAN, or other criteria that xCAT can use - + \ **monserver**\ (noderes.monserver) - + The monitoring aggregation point for this node. The format is "x,y" where x is the ip address as known by the management node and y is the ip address as known by the node. - + \ **mpa**\ (mp.mpa) - + The management module used to control this blade. - + \ **mtm**\ (vpd.mtm) - + The machine type and model number of the node. E.g. 7984-6BU - + \ **nameservers**\ (noderes.nameservers) - + An optional node/group specific override for name server list. Most people want to stick to site or network defined nameserver configuration. - + \ **netboot**\ (noderes.netboot) - + The type of network booting to use for this node. Valid values: - - + + .. code-block:: perl - + Arch OS valid netboot options x86, x86_64 ALL pxe, xnba ppc64 <=rhel6, <=sles11.3 yaboot ppc64 >=rhels7, >=sles11.4 grub2,grub2-http,grub2-tftp ppc64le NonVirtualize ALL petitboot ppc64le PowerKVM Guest ALL grub2,grub2-http,grub2-tftp - - + + \ **nfsdir**\ (noderes.nfsdir) - + The path that should be mounted from the NFS server. - + \ **nfsserver**\ (noderes.nfsserver) - + The NFS or HTTP server for this node (as known by this node). - + \ **nicaliases**\ (nics.nicaliases) - + Comma-separated list of hostname aliases for each NIC. Format: eth0!,eth1!| For multiple aliases per nic use a space-separated list. For example: eth0!moe larry curly,eth1!tom|jerry - + \ **niccustomscripts**\ (nics.niccustomscripts) - + Comma-separated list of custom scripts per NIC. !,!, e.g. eth0!configeth eth0, ib0!configib ib0. The xCAT object definition commands support to use niccustomscripts. as the sub attribute . - + \ **nicdevices**\ (nics.nicdevices) - + Comma-separated list of NIC device per NIC, multiple ethernet devices can be bonded as bond device, these ethernet devices are separated by | . !|,!, e.g. bond0!eth0|eth2,br0!bond0. The xCAT object definition commands support to use nicdevices. as the sub attributes. - + \ **nicextraparams**\ (nics.nicextraparams) - + Comma-separated list of extra parameters that will be used for each NIC configuration. If only one ip address is associated with each NIC: !,!, for example, eth0!MTU=1500,ib0!MTU=65520 CONNECTED_MODE=yes. If multiple ip addresses are associated with each NIC: !|,!|, for example, eth0!MTU=1500|MTU=1460,ib0!MTU=65520 CONNECTED_MODE=yes. The xCAT object definition commands support to use nicextraparams. as the sub attributes. - + \ **nichostnameprefixes**\ (nics.nichostnameprefixes) - + Comma-separated list of hostname prefixes per NIC. If only one ip address is associated with each NIC: !,!,..., for example, eth0!eth0-,ib0!ib- @@ -642,222 +642,222 @@ group Attributes: !|,!|,..., for example, eth0!eth0-|eth0-ipv6i-,ib0!ib-|ib-ipv6-. The xCAT object definition commands support to use nichostnameprefixes. as the sub attributes. Note: According to DNS rules a hostname must be a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9) and minus sign (-). When you are specifying "nichostnameprefixes" or "nicaliases" make sure the resulting hostnames will conform to this naming convention - + \ **nichostnamesuffixes**\ (nics.nichostnamesuffixes) - + Comma-separated list of hostname suffixes per NIC. If only one ip address is associated with each NIC: !,!,..., for example, eth0!-eth0,ib0!-ib0 If multiple ip addresses are associated with each NIC: !|,!|,..., for example, eth0!-eth0|-eth0-ipv6,ib0!-ib0|-ib0-ipv6. The xCAT object definition commands support to use nichostnamesuffixes. as the sub attributes. - - + + .. code-block:: perl - + Note: According to DNS rules a hostname must be a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9) and minus sign (-). When you are specifying "nichostnamesuffixes" or "nicaliases" make sure the resulting hostnames will conform to this naming convention - - + + \ **nicips**\ (nics.nicips) - + Comma-separated list of IP addresses per NIC. To specify one ip address per NIC: !,!,..., for example, eth0!10.0.0.100,ib0!11.0.0.100 To specify multiple ip addresses per NIC: !|,!|,..., for example, eth0!10.0.0.100|fd55::214:5eff:fe15:849b,ib0!11.0.0.100|2001::214:5eff:fe15:849a. The xCAT object definition commands support to use nicips. as the sub attributes. Note: The primary IP address must also be stored in the hosts.ip attribute. The nichostnamesuffixes should specify one hostname suffix for each ip address. - + \ **nicnetworks**\ (nics.nicnetworks) - + Comma-separated list of networks connected to each NIC. If only one ip address is associated with each NIC: !,!, for example, eth0!10_0_0_0-255_255_0_0, ib0!11_0_0_0-255_255_0_0 If multiple ip addresses are associated with each NIC: !|,!|, for example, eth0!10_0_0_0-255_255_0_0|fd55:faaf:e1ab:336::/64,ib0!11_0_0_0-255_255_0_0|2001:db8:1:0::/64. The xCAT object definition commands support to use nicnetworks. as the sub attributes. - + \ **nicsadapter**\ (nics.nicsadapter) - + Comma-separated list of NIC information collected by getadapter. !,!, for example, enP3p3s0f1!mac=98:be:94:59:fa:cd linkstate=DOWN,enP3p3s0f2!mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face - + \ **nictypes**\ (nics.nictypes) - + Comma-separated list of NIC types per NIC. !,!, e.g. eth0!Ethernet,ib0!Infiniband. The xCAT object definition commands support to use nictypes. as the sub attributes. - + \ **nimserver**\ (noderes.nimserver) - + Not used for now. The NIM server for this node (as known by this node). - + \ **nodetype**\ (nodetype.nodetype, pdu.nodetype) - + A comma-delimited list of characteristics of this node. Valid values: ppc, blade, vm (virtual machine), osi (OS image), mm, mn, rsa, switch. - + or - + The node type should be pdu - + \ **ondiscover**\ (chain.ondiscover) - + This attribute is currently not used by xCAT. The "nodediscover" operation is always done during node discovery. - + \ **os**\ (nodetype.os) - + The operating system deployed on this node. Valid values: AIX, rhels\*,rhelc\*, rhas\*,centos\*,SL\*, fedora\*, sles\* (where \* is the version #). As a special case, if this is set to "boottarget", then it will use the initrd/kernel/parameters specified in the row in the boottarget table in which boottarget.bprofile equals nodetype.profile. - + \ **osvolume**\ (storage.osvolume) - + Specification of what storage to place the node OS image onto. Examples include: - - + + .. code-block:: perl - + localdisk (Install to first non-FC attached disk) usbdisk (Install to first USB mass storage device seen) wwn=0x50000393c813840c (Install to storage device with given WWN) - - + + \ **otherinterfaces**\ (hosts.otherinterfaces) - + Other IP addresses to add for this node. Format: -:,:,... - + \ **ou**\ (domain.ou) - + For an LDAP described machine account (i.e. Active Directory), the organizational unit to place the system. If not set, defaults to cn=Computers,dc=your,dc=domain - + \ **outlet**\ (pdu.outlet) - + The pdu outlet count - + \ **parent**\ (ppc.parent) - + For LPARs: the CEC; for FSPs: the CEC; for CEC: the frame (if one exists); for BPA: the frame; for frame: the building block number (which consists 1 or more service nodes and compute/storage nodes that are serviced by them - optional). - + \ **passwd.HMC**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.admin**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.celogin**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.general**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.hscroot**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **password**\ (ppchcp.password, mpa.password, websrv.password, pdu.password, switches.sshpassword) - + Password of the HMC or IVM. If not filled in, xCAT will look in the passwd table for key=hmc or key=ivm. If not in the passwd table, the default used is abc123 for HMCs and padmin for IVMs. - + or - + Password to use to access the management module. If not specified, the key=blade row in the passwd table is used as the default. - + or - + Password to use to access the web service. - + or - + The remote login password - + or - + The remote login password. It can be for ssh or telnet. If it is for telnet, set protocol to "telnet". If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. - + \ **pdu**\ (pduoutlet.pdu) - + a comma-separated list of outlet number for each PDU, ex: pdu1:outlet1,pdu2:outlet1 - + \ **pdutype**\ (pdu.pdutype) - + The type of pdu - + \ **postbootscripts**\ (postscripts.postbootscripts) - + Comma separated list of scripts that should be run on this node after diskful installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attribute to run first in the list. Please note that the postbootscripts specified for "xcatdefaults" will be assigned to node automatically, they can not be removed from "postbootscripts" attribute of a node with "chdef -m" command - + \ **postscripts**\ (postscripts.postscripts) - + Comma separated list of scripts that should be run on this node after diskful installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". xCAT automatically adds the postscripts from the xcatdefaults.postscripts attribute of the table to run first on the nodes after install or diskless boot. For installation of RedHat, CentOS, Fedora, the scripts will be run before the reboot. For installation of SLES, the scripts will be run after the reboot but before the init.d process. For diskless deployment, the scripts will be run at the init.d time, and xCAT will automatically add the list of scripts from the postbootscripts attribute to run after postscripts list. For installation of AIX, the scripts will run after the reboot and acts the same as the postbootscripts attribute. For AIX, use the postbootscripts attribute. Please note that the postscripts specified for "xcatdefaults" will be assigned to node automatically, they can not be removed from "postscripts" attribute of a node with "chdef -m" command - + \ **power**\ (nodehm.power) - + The method to use to control the power of the node. If not set, the mgt attribute will be used. Valid values: ipmi, blade, hmc, ivm, fsp, kvm, esx, rhevm. If "ipmi", xCAT will search for this node in the ipmi table for more info. If "blade", xCAT will search for this node in the mp table. If "hmc", "ivm", or "fsp", xCAT will search for this node in the ppc table. - + \ **pprofile**\ (ppc.pprofile) - + The LPAR profile that will be used the next time the LPAR is powered on with rpower. For DFM, the pprofile attribute should be set to blank - + \ **prescripts-begin**\ (prescripts.begin) - + The scripts to be run at the beginning of the nodeset(Linux), nimnodeset(AIX) or mkdsklsnode(AIX) command. The format is: [action1:]s1,s2...[| action2:s3,s4,s5...] where: - - action1 and action2 for Linux are the nodeset actions specified in the command. + - action1 and action2 for Linux are the nodeset actions specified in the command. For AIX, action1 and action1 can be 'diskless' for mkdsklsnode command' - and 'standalone for nimnodeset command. + and 'standalone for nimnodeset command. - s1 and s2 are the scripts to run for action1 in order. - s3, s4, and s5 are the scripts to run for actions2. If actions are omitted, the scripts apply to all actions. @@ -866,510 +866,510 @@ group Attributes: diskless:myscript1,myscript2 (AIX) install:myscript1,myscript2|netboot:myscript3 (Linux) All the scripts should be copied to /install/prescripts directory. - The following two environment variables will be passed to each script: + The following two environment variables will be passed to each script: NODES a coma separated list of node names that need to run the script for ACTION current nodeset action. If '#xCAT setting:MAX_INSTANCE=number' is specified in the script, the script will get invoked for each node in parallel, but no more than number of instances will be invoked at at a time. If it is not specified, the script will be invoked once for all the nodes. - + \ **prescripts-end**\ (prescripts.end) - + The scripts to be run at the end of the nodeset(Linux), nimnodeset(AIX),or mkdsklsnode(AIX) command. The format is the same as the 'begin' column. - + \ **primarynic**\ (noderes.primarynic) - + This attribute will be deprecated. All the used network interface will be determined by installnic. The network adapter on the node that will be used for xCAT management, the primarynic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. Default is eth0. - + \ **privkey**\ (pdu.privkey) - + The privacy passphrase to use for SNMPv3. - + \ **privtype**\ (pdu.privtype) - + The privacy protocol(AES|DES) to use for SNMPv3. - + \ **productkey**\ (prodkey.key) - + The product key relevant to the aforementioned node/group and product combination - + \ **profile**\ (nodetype.profile) - + The string to use to locate a kickstart or autoyast template to use for OS deployment of this node. If the provmethod attribute is set to an osimage name, that takes precedence, and profile need not be defined. Otherwise, the os, profile, and arch are used to search for the files in /install/custom first, and then in /opt/xcat/share/xcat. - + \ **protocol**\ (switches.protocol) - + Protocol for running remote commands for the switch. The valid values are: ssh, telnet. ssh is the default. If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. The passwd.comments attribute is used for protocol. - + \ **provmethod**\ (nodetype.provmethod) - + The provisioning method for node deployment. The valid values are install, netboot, statelite or an os image name from the osimage table. If an image name is specified, the osimage definition stored in the osimage table and the linuximage table (for Linux) or nimimage table (for AIX) are used to locate the files for templates, pkglists, syncfiles, etc. On Linux, if install, netboot or statelite is specified, the os, profile, and arch are used to search for the files in /install/custom first, and then in /opt/xcat/share/xcat. - + \ **rack**\ (nodepos.rack) - + The frame the node is in. - + \ **room**\ (nodepos.room) - + The room where the node is located. - + \ **routenames**\ (noderes.routenames) - + A comma separated list of route names that refer to rows in the routes table. These are the routes that should be defined on this node when it is deployed. - + \ **seclevel**\ (pdu.seclevel) - + The Security Level(noAuthNoPriv|authNoPriv|authPriv) to use for SNMPv3. - + \ **serial**\ (vpd.serial) - + The serial number of the node. - + \ **serialflow**\ (nodehm.serialflow) - + The flow control value of the serial port for this node. For SOL this is typically 'hard'. - + \ **serialport**\ (nodehm.serialport) - + The serial port for this node, in the linux numbering style (0=COM1/ttyS0, 1=COM2/ttyS1). For SOL on IBM blades, this is typically 1. For rackmount IBM servers, this is typically 0. - + \ **serialspeed**\ (nodehm.serialspeed) - + The speed of the serial port for this node. For SOL this is typically 19200. - + \ **servicenode**\ (noderes.servicenode) - + A comma separated list of node names (as known by the management node) that provides most services for this node. The first service node on the list that is accessible will be used. The 2nd node on the list is generally considered to be the backup service node for this node when running commands like snmove. - + \ **setupconserver**\ (servicenode.conserver) - + Do we set up console service on this service node? Valid values: 0, 1, or 2. If 0, it does not change the current state of the service. If 1, configures and starts conserver daemon. If 2, configures and starts goconserver daemon. - + \ **setupdhcp**\ (servicenode.dhcpserver) - + Do we set up DHCP on this service node? Not supported on AIX. Valid values:1 or 0. If 1, runs makedhcp -n. If 0, it does not change the current state of the service. - + \ **setupftp**\ (servicenode.ftpserver) - + Do we set up a ftp server on this service node? Not supported on AIX Valid values:1 or 0. If 1, configure and start vsftpd. (You must manually install vsftpd on the service nodes before this.) If 0, it does not change the current state of the service. xCAT is not using ftp for compute nodes provisioning or any other xCAT features, so this attribute can be set to 0 if the ftp service will not be used for other purposes - + \ **setupipforward**\ (servicenode.ipforward) - + Do we set up ip forwarding on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupldap**\ (servicenode.ldapserver) - + Do we set up ldap caching proxy on this service node? Not supported on AIX. Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupnameserver**\ (servicenode.nameserver) - + Do we set up DNS on this service node? Valid values: 2, 1, or 0. If 2, creates named.conf as dns slave, using the management node as dns master, and starts named. If 1, creates named.conf file with forwarding to the management node and starts named. If 0, it does not change the current state of the service. - + \ **setupnfs**\ (servicenode.nfsserver) - + Do we set up file services (HTTP,FTP,or NFS) on this service node? For AIX will only setup NFS, not HTTP or FTP. Valid values:1 or 0.If 0, it does not change the current state of the service. - + \ **setupnim**\ (servicenode.nimserver) - + Not used. Do we set up a NIM server on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupntp**\ (servicenode.ntpserver) - + Not used. Use setupntp postscript to setup a ntp server on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupproxydhcp**\ (servicenode.proxydhcp) - + Do we set up proxydhcp service on this node? valid values: 1 or 0. If 1, the proxydhcp daemon will be enabled on this node. - + \ **setuptftp**\ (servicenode.tftpserver) - + Do we set up TFTP on this service node? Not supported on AIX. Valid values:1 or 0. If 1, configures and starts atftp. If 0, it does not change the current state of the service. - + \ **sfp**\ (ppc.sfp) - + The Service Focal Point of this Frame. This is the name of the HMC that is responsible for collecting hardware service events for this frame and all of the CECs within this frame. - + \ **side**\ (vpd.side) - + - or -. The side information for the BPA/FSP. The side attribute refers to which BPA/FSP, A or B, which is determined by the slot value returned from lsslp command. It also lists the physical port within each BPA/FSP which is determined by the IP address order from the lsslp response. This information is used internally when communicating with the BPAs/FSPs - + \ **slot**\ (nodepos.slot) - + The slot number of the blade in the chassis. For PCM, a comma-separated list of slot numbers is stored - + \ **slotid**\ (mp.id) - + The slot number of this blade in the BladeCenter chassis. - + \ **slots**\ (mpa.slots) - + The number of available slots in the chassis. For PCM, this attribute is used to store the number of slots in the following format: ,, Where: - - + + .. code-block:: perl - + = number of rows of slots in chassis = number of columns of slots in chassis = set to 0 if slots are vertical, and set to 1 if slots of horizontal - - + + \ **snmpauth**\ (switches.auth) - + The authentication protocol to use for SNMPv3. SHA is assumed if v3 enabled and this is unspecified - + \ **snmppassword**\ (switches.password) - + The password string for SNMPv3 or community string for SNMPv1/SNMPv2. Falls back to passwd table, and site snmpc value if using SNMPv1/SNMPv2. - + \ **snmpprivacy**\ (switches.privacy) - + The privacy protocol to use for v3. xCAT will use authNoPriv if this is unspecified. DES is recommended to use if v3 enabled, as it is the most readily available. - + \ **snmpuser**\ (pdu.snmpuser) - + The username to use for SNMPv3 communication, ignored for SNMPv1 - + \ **snmpusername**\ (switches.username) - + The username to use for SNMPv3 communication, ignored for SNMPv1 - + \ **snmpversion**\ (pdu.snmpversion, switches.snmpversion) - + The version to use to communicate with switch. SNMPv1 is assumed by default. - + or - + The version to use to communicate with switch. SNMPv1 is assumed by default. - + \ **storagcontroller**\ (storage.controller) - + The management address to attach/detach new volumes. In the scenario involving multiple controllers, this data must be passed as argument rather than by table value - + \ **storagetype**\ (storage.type) - + The plugin used to drive storage configuration (e.g. svc) - + \ **supernode**\ (ppc.supernode) - + Indicates the connectivity of this CEC in the HFI network. A comma separated list of 2 ids. The first one is the supernode number the CEC is part of. The second one is the logical location number (0-3) of this CEC within the supernode. - + \ **supportedarchs**\ (nodetype.supportedarchs) - + Comma delimited list of architectures this node can execute. - + \ **supportproxydhcp**\ (noderes.proxydhcp) - + To specify whether the node supports proxydhcp protocol. Valid values: yes or 1, no or 0. Default value is yes. - + \ **switch**\ (switch.switch) - + The switch hostname. - + \ **switchinterface**\ (switch.interface) - + The interface name from the node perspective. For example, eth0. For the primary nic, it can be empty, the word "primary" or "primary:ethx" where ethx is the interface name. - + \ **switchport**\ (switch.port) - + The port number in the switch that this node is connected to. On a simple 1U switch, an administrator can generally enter the number as printed next to the ports, and xCAT will understand switch representation differences. On stacked switches or switches with line cards, administrators should usually use the CLI representation (i.e. 2/0/1 or 5/8). One notable exception is stacked SMC 8848M switches, in which you must add 56 for the proceeding switch, then the port number. For example, port 3 on the second switch in an SMC8848M stack would be 59 - + \ **switchtype**\ (switches.switchtype) - + The type of switch. It is used to identify the file name that implements the functions for this switch. The valid values are: Mellanox, Cisco, BNT and Juniper. - + \ **switchvlan**\ (switch.vlan) - + The ID for the tagged vlan that is created on this port using mkvlan and chvlan commands. - + \ **syslog**\ (noderes.syslog) - + To configure how to configure syslog for compute node. Valid values:blank(not set), ignore. blank - run postscript syslog; ignore - do NOT run postscript syslog - + \ **termport**\ (nodehm.termport) - + The port number on the terminal server that this node is connected to. - + \ **termserver**\ (nodehm.termserver) - + The hostname of the terminal server. - + \ **tftpdir**\ (noderes.tftpdir) - + The directory that roots this nodes contents from a tftp and related perspective. Used for NAS offload by using different mountpoints. - + \ **tftpserver**\ (noderes.tftpserver) - + The TFTP server for this node (as known by this node). If not set, it defaults to networks.tftpserver. - + \ **unit**\ (nodepos.u) - + The vertical position of the node in the frame - + \ **urlpath**\ (mpa.urlpath) - + URL path for the Chassis web interface. The full URL is built as follows: / - + \ **usercomment**\ (nodegroup.comments) - + Any user-written notes. - + \ **userid**\ (zvm.userid) - + The z/VM userID of this node. - + \ **username**\ (ppchcp.username, mpa.username, websrv.username, pdu.username, switches.sshusername) - + Userid of the HMC or IVM. If not filled in, xCAT will look in the passwd table for key=hmc or key=ivm. If not in the passwd table, the default used is hscroot for HMCs and padmin for IVMs. - + or - + Userid to use to access the management module. - + or - + Userid to use to access the web service. - + or - + The remote login user name - + or - + The remote login user name. It can be for ssh or telnet. If it is for telnet, set protocol to "telnet". If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. - + \ **vmbeacon**\ (vm.beacon) - + This flag is used by xCAT to track the state of the identify LED with respect to the VM. - + \ **vmbootorder**\ (vm.bootorder) - + Boot sequence (i.e. net,hd) - + \ **vmcfgstore**\ (vm.cfgstore) - + Optional location for persistent storage separate of emulated hard drives for virtualization solutions that require persistent store to place configuration data - + \ **vmcluster**\ (vm.cluster) - + Specify to the underlying virtualization infrastructure a cluster membership for the hypervisor. - + \ **vmcpus**\ (vm.cpus) - + Number of CPUs the node should see. - + \ **vmhost**\ (vm.host) - + The system that currently hosts the VM - + \ **vmmanager**\ (vm.mgr) - + The function manager for the virtual machine - + \ **vmmaster**\ (vm.master) - + The name of a master image, if any, this virtual machine is linked to. This is generally set by clonevm and indicates the deletion of a master that would invalidate the storage of this virtual machine - + \ **vmmemory**\ (vm.memory) - + Megabytes of memory the VM currently should be set to. - + \ **vmnicnicmodel**\ (vm.nicmodel) - + Model of NICs that will be provided to VMs (i.e. e1000, rtl8139, virtio, etc) - + \ **vmnics**\ (vm.nics) - + Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. - + \ **vmothersetting**\ (vm.othersettings) - + This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:"vcpupin:'0-15,^8'",Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0', the value for PCI device format also can be like:'devpassthrough:0001:01:00.1', the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively, the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. - + \ **vmphyslots**\ (vm.physlots) - + Specify the physical slots drc index that will assigned to the partition, the delimiter is ',', and the drc index must started with '0x'. For more details, reference manpage for 'lsvm'. - + \ **vmstorage**\ (vm.storage) - + A list of storage files or devices to be used. i.e. dir:///cluster/vm/ or nfs:///path/to/folder/ - + \ **vmstoragecache**\ (vm.storagecache) - + Select caching scheme to employ. E.g. KVM understands 'none', 'writethrough' and 'writeback' - + \ **vmstorageformat**\ (vm.storageformat) - + Select disk format to use by default (e.g. raw versus qcow2) - + \ **vmstoragemodel**\ (vm.storagemodel) - + Model of storage devices to provide to guest - + \ **vmtextconsole**\ (vm.textconsole) - + Tracks the Psuedo-TTY that maps to the serial port or console of a VM - + \ **vmvirtflags**\ (vm.virtflags) - + General flags used by the virtualization method. For example, in Xen it could, among other things, specify paravirtualized setup, or direct kernel boot. For a hypervisor/dom0 entry, it is the virtualization method (i.e. "xen"). For KVM, the following flag=value pairs are recognized: imageformat=[raw|fullraw|qcow2] @@ -1380,31 +1380,31 @@ group Attributes: qemu-img allows use of qcow2 to generate virtualization layer copy-on-write reflink uses a generic filesystem facility to clone the files on your behalf, but requires filesystem support such as btrfs placement_affinity=[migratable|user_migratable|pinned] - + \ **vmvncport**\ (vm.vncport) - + Tracks the current VNC display port (currently not meant to be set - + \ **webport**\ (websrv.port) - + The port of the web service. - + \ **wherevals**\ (nodegroup.wherevals) - + A list of "attr\*val" pairs that can be used to determine the members of a dynamic group, the delimiter is "::" and the operator \* can be ==, =~, != or !~. - + \ **xcatmaster**\ (noderes.xcatmaster) - + The hostname of the xCAT service node (as known by this node). This acts as the default value for nfsserver and tftpserver, if they are not set. If xcatmaster is not set, the node will use whoever responds to its boot request as its master. For the directed bootp case for POWER, it will use the management node if xcatmaster is not set. - + @@ -1413,5 +1413,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/kit.7.rst b/docs/source/guides/admin-guides/references/man7/kit.7.rst index d5626623d..e6062763f 100644 --- a/docs/source/guides/admin-guides/references/man7/kit.7.rst +++ b/docs/source/guides/admin-guides/references/man7/kit.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kit Attributes:**\ \ *basename*\ , \ *description*\ , \ *isinternal*\ , \ *kitdeployparams*\ , \ *kitdir*\ , \ *kitname*\ , \ *ostype*\ , \ *release*\ , \ *version*\ +\ **kit Attributes:**\ \ *basename*\ , \ *description*\ , \ *isinternal*\ , \ *kitdeployparams*\ , \ *kitdir*\ , \ *kitname*\ , \ *ostype*\ , \ *release*\ , \ *version*\ *********** @@ -40,57 +40,57 @@ kit Attributes: \ **basename**\ (kit.basename) - + The kit base name - + \ **description**\ (kit.description) - + The Kit description. - + \ **isinternal**\ (kit.isinternal) - + A flag to indicated if the Kit is internally used. When set to 1, the Kit is internal. If 0 or undefined, the kit is not internal. - + \ **kitdeployparams**\ (kit.kitdeployparams) - + The file containing the default deployment parameters for this Kit. These parameters are added to the OS Image definition.s list of deployment parameters when one or more Kit Components from this Kit are added to the OS Image. - + \ **kitdir**\ (kit.kitdir) - + The path to Kit Installation directory on the Mgt Node. - + \ **kitname**\ (kit.kitname) - + The unique generated kit name, when kit is added to the cluster. - + \ **ostype**\ (kit.ostype) - + The kit OS type. Linux or AIX. - + \ **release**\ (kit.release) - + The kit release - + \ **version**\ (kit.version) - + The kit version - + @@ -99,5 +99,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/kitcomponent.7.rst b/docs/source/guides/admin-guides/references/man7/kitcomponent.7.rst index 6ab65f5aa..a5d222d13 100644 --- a/docs/source/guides/admin-guides/references/man7/kitcomponent.7.rst +++ b/docs/source/guides/admin-guides/references/man7/kitcomponent.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kitcomponent Attributes:**\ \ *basename*\ , \ *description*\ , \ *driverpacks*\ , \ *exlist*\ , \ *genimage_postinstall*\ , \ *kitcompdeps*\ , \ *kitcompname*\ , \ *kitname*\ , \ *kitpkgdeps*\ , \ *kitreponame*\ , \ *postbootscripts*\ , \ *prerequisite*\ , \ *release*\ , \ *serverroles*\ , \ *version*\ +\ **kitcomponent Attributes:**\ \ *basename*\ , \ *description*\ , \ *driverpacks*\ , \ *exlist*\ , \ *genimage_postinstall*\ , \ *kitcompdeps*\ , \ *kitcompname*\ , \ *kitname*\ , \ *kitpkgdeps*\ , \ *kitreponame*\ , \ *postbootscripts*\ , \ *prerequisite*\ , \ *release*\ , \ *serverroles*\ , \ *version*\ *********** @@ -40,93 +40,93 @@ kitcomponent Attributes: \ **basename**\ (kitcomponent.basename) - + Kit Component basename. - + \ **description**\ (kitcomponent.description) - + The Kit component description. - + \ **driverpacks**\ (kitcomponent.driverpacks) - + Comma-separated List of driver package names. These must be full names like: pkg1-1.0-1.x86_64.rpm. - + \ **exlist**\ (kitcomponent.exlist) - + Exclude list file containing the files/directories to exclude when building a diskless image. - + \ **genimage_postinstall**\ (kitcomponent.genimage_postinstall) - + Comma-separated list of postinstall scripts that will run during the genimage. - + \ **kitcompdeps**\ (kitcomponent.kitcompdeps) - + Comma-separated list of kit components that this kit component depends on. - + \ **kitcompname**\ (kitcomponent.kitcompname) - + The unique Kit Component name. It is auto-generated when the parent Kit is added to the cluster. - + \ **kitname**\ (kitcomponent.kitname) - + The Kit name which this Kit Component belongs to. - + \ **kitpkgdeps**\ (kitcomponent.kitpkgdeps) - + Comma-separated list of packages that this kit component depends on. - + \ **kitreponame**\ (kitcomponent.kitreponame) - + The Kit Package Repository name which this Kit Component belongs to. - + \ **postbootscripts**\ (kitcomponent.postbootscripts) - + Comma-separated list of postbootscripts that will run during the node boot. - + \ **prerequisite**\ (kitcomponent.prerequisite) - + Prerequisite for this kit component, the prerequisite includes ospkgdeps,preinstall,preupgrade,preuninstall scripts - + \ **release**\ (kitcomponent.release) - + Kit Component release. - + \ **serverroles**\ (kitcomponent.serverroles) - + The types of servers that this Kit Component can install on. Valid types are: mgtnode, servicenode, compute - + \ **version**\ (kitcomponent.version) - + Kit Component version. - + @@ -135,5 +135,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/kitrepo.7.rst b/docs/source/guides/admin-guides/references/man7/kitrepo.7.rst index 4abf1a4bf..e5bf6c359 100644 --- a/docs/source/guides/admin-guides/references/man7/kitrepo.7.rst +++ b/docs/source/guides/admin-guides/references/man7/kitrepo.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **kitrepo Attributes:**\ \ *compat_osbasenames*\ , \ *kitname*\ , \ *kitrepodir*\ , \ *kitreponame*\ , \ *osarch*\ , \ *osbasename*\ , \ *osmajorversion*\ , \ *osminorversion*\ +\ **kitrepo Attributes:**\ \ *compat_osbasenames*\ , \ *kitname*\ , \ *kitrepodir*\ , \ *kitreponame*\ , \ *osarch*\ , \ *osbasename*\ , \ *osmajorversion*\ , \ *osminorversion*\ *********** @@ -40,51 +40,51 @@ kitrepo Attributes: \ **compat_osbasenames**\ (kitrepo.compat_osbasenames) - + List of compatible OS base names. - + \ **kitname**\ (kitrepo.kitname) - + The Kit name which this Kit Package Repository belongs to. - + \ **kitrepodir**\ (kitrepo.kitrepodir) - + The path to Kit Repository directory on the Mgt Node. - + \ **kitreponame**\ (kitrepo.kitreponame) - + The unique generated kit repo package name, when kit is added to the cluster. - + \ **osarch**\ (kitrepo.osarch) - + The OS distro arch which this repository is based on. - + \ **osbasename**\ (kitrepo.osbasename) - + The OS distro name which this repository is based on. - + \ **osmajorversion**\ (kitrepo.osmajorversion) - + The OS distro major version which this repository is based on. - + \ **osminorversion**\ (kitrepo.osminorversion) - + The OS distro minor version which this repository is based on. If this attribute is not set, it means that this repo applies to all minor versions. - + @@ -93,5 +93,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/monitoring.7.rst b/docs/source/guides/admin-guides/references/man7/monitoring.7.rst index 478824ad7..8c7953e7f 100644 --- a/docs/source/guides/admin-guides/references/man7/monitoring.7.rst +++ b/docs/source/guides/admin-guides/references/man7/monitoring.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **monitoring Attributes:**\ \ *comments*\ , \ *disable*\ , \ *name*\ , \ *nodestatmon*\ +\ **monitoring Attributes:**\ \ *comments*\ , \ *disable*\ , \ *name*\ , \ *nodestatmon*\ *********** @@ -40,27 +40,27 @@ monitoring Attributes: \ **comments**\ (monitoring.comments) - + Any user-written notes. - + \ **disable**\ (monitoring.disable) - + Set to 'yes' or '1' to comment out this row. - + \ **name**\ (monitoring.name) - + The name of the monitoring plug-in module. The plug-in must be put in /lib/perl/xCAT_monitoring/. See the man page for monstart for details. - + \ **nodestatmon**\ (monitoring.nodestatmon) - + Specifies if the monitoring plug-in is used to feed the node status to the xCAT cluster. Any one of the following values indicates "yes": y, Y, yes, Yes, YES, 1. Any other value or blank (default), indicates "no". - + @@ -69,5 +69,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/network.7.rst b/docs/source/guides/admin-guides/references/man7/network.7.rst index 9702cc574..593a52fb0 100644 --- a/docs/source/guides/admin-guides/references/man7/network.7.rst +++ b/docs/source/guides/admin-guides/references/man7/network.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **network Attributes:**\ \ *ddnsdomain*\ , \ *dhcpserver*\ , \ *domain*\ , \ *dynamicrange*\ , \ *gateway*\ , \ *logservers*\ , \ *mask*\ , \ *mgtifname*\ , \ *mtu*\ , \ *nameservers*\ , \ *net*\ , \ *netname*\ , \ *nodehostname*\ , \ *ntpservers*\ , \ *staticrange*\ , \ *staticrangeincrement*\ , \ *tftpserver*\ , \ *usercomment*\ , \ *vlanid*\ +\ **network Attributes:**\ \ *ddnsdomain*\ , \ *dhcpserver*\ , \ *domain*\ , \ *dynamicrange*\ , \ *gateway*\ , \ *logservers*\ , \ *mask*\ , \ *mgtifname*\ , \ *mtu*\ , \ *nameservers*\ , \ *net*\ , \ *netname*\ , \ *nodehostname*\ , \ *ntpservers*\ , \ *staticrange*\ , \ *staticrangeincrement*\ , \ *tftpserver*\ , \ *usercomment*\ , \ *vlanid*\ *********** @@ -40,93 +40,93 @@ network Attributes: \ **ddnsdomain**\ (networks.ddnsdomain) - + A domain to be combined with nodename to construct FQDN for DDNS updates induced by DHCP. This is not passed down to the client as "domain" - + \ **dhcpserver**\ (networks.dhcpserver) - + The DHCP server that is servicing this network. Required to be explicitly set for pooled service node operation. - + \ **domain**\ (networks.domain) - + The DNS domain name (ex. cluster.com). - + \ **dynamicrange**\ (networks.dynamicrange) - + The IP address range used by DHCP to assign dynamic IP addresses for requests on this network. This should not overlap with entities expected to be configured with static host declarations, i.e. anything ever expected to be a node with an address registered in the mac table. - + \ **gateway**\ (networks.gateway) - + The network gateway. It can be set to an ip address or the keyword , the keyword indicates the cluster-facing ip address configured on this management node or service node. Leaving this field blank means that there is no gateway for this network. - + \ **logservers**\ (networks.logservers) - + The log servers for this network. Used in creating the DHCP network definition. Assumed to be the DHCP server if not set. - + \ **mask**\ (networks.mask) - + The network mask. - + \ **mgtifname**\ (networks.mgtifname) - + The interface name of the management/service node facing this network. !remote! indicates a non-local network on a specific nic for relay DHCP. - + \ **mtu**\ (networks.mtu) - + The default MTU for the network, If multiple networks are applied to the same nic on the SN and/or CN, the MTU shall be the same for those networks. - + \ **nameservers**\ (networks.nameservers) - + A comma delimited list of DNS servers that each node in this network should use. This value will end up in the nameserver settings of the /etc/resolv.conf on each node in this network. If this attribute value is set to the IP address of an xCAT node, make sure DNS is running on it. In a hierarchical cluster, you can also set this attribute to "" to mean the DNS server for each node in this network should be the node that is managing it (either its service node or the management node). Used in creating the DHCP network definition, and DNS configuration. - + \ **net**\ (networks.net) - + The network address. - + \ **netname**\ (networks.netname) - + Name used to identify this network definition. - + \ **nodehostname**\ (networks.nodehostname) - + A regular expression used to specify node name to network-specific hostname. i.e. "/\z/-secondary/" would mean that the hostname of "n1" would be n1-secondary on this network. By default, the nodename is assumed to equal the hostname, followed by nodename-interfacename. - + \ **ntpservers**\ (networks.ntpservers) - + The ntp servers for this network. Used in creating the DHCP network definition. Assumed to be the DHCP server if not set. - + \ **staticrange**\ (networks.staticrange) - + The IP address range used to dynamically assign static IPs to newly discovered nodes. This should not overlap with the dynamicrange nor overlap with entities that were manually assigned static IPs. The format for the attribute value is: -. - + \ **staticrangeincrement**\ (networks.staticrangeincrement) @@ -134,21 +134,21 @@ network Attributes: \ **tftpserver**\ (networks.tftpserver) - + The TFTP server that is servicing this network. If not set, the DHCP server is assumed. - + \ **usercomment**\ (networks.comments) - + Any user-written notes. - + \ **vlanid**\ (networks.vlanid) - + The vlan ID if this network is within a vlan. - + @@ -157,5 +157,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/node.7.rst b/docs/source/guides/admin-guides/references/man7/node.7.rst index 0a57e2ceb..c8f61824d 100644 --- a/docs/source/guides/admin-guides/references/man7/node.7.rst +++ b/docs/source/guides/admin-guides/references/man7/node.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **node Attributes:**\ \ *addkcmdline*\ , \ *appstatus*\ , \ *appstatustime*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *dockercpus*\ , \ *dockerflag*\ , \ *dockerhost*\ , \ *dockermemory*\ , \ *dockernics*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groups*\ , \ *hcp*\ , \ *height*\ , \ *hidden*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *node*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *primarysn*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *status*\ , \ *statustime*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *updatestatus*\ , \ *updatestatustime*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *xcatmaster*\ , \ *zonename*\ +\ **node Attributes:**\ \ *addkcmdline*\ , \ *appstatus*\ , \ *appstatustime*\ , \ *arch*\ , \ *authdomain*\ , \ *authkey*\ , \ *authtype*\ , \ *bmc*\ , \ *bmcpassword*\ , \ *bmcport*\ , \ *bmcusername*\ , \ *bmcvlantag*\ , \ *cfgmgr*\ , \ *cfgmgtroles*\ , \ *cfgserver*\ , \ *chain*\ , \ *chassis*\ , \ *cmdmapping*\ , \ *community*\ , \ *cons*\ , \ *conserver*\ , \ *consoleenabled*\ , \ *consoleondemand*\ , \ *consport*\ , \ *cpucount*\ , \ *cputype*\ , \ *currchain*\ , \ *currstate*\ , \ *dhcpinterfaces*\ , \ *disksize*\ , \ *displayname*\ , \ *dockercpus*\ , \ *dockerflag*\ , \ *dockerhost*\ , \ *dockermemory*\ , \ *dockernics*\ , \ *domainadminpassword*\ , \ *domainadminuser*\ , \ *domaintype*\ , \ *getmac*\ , \ *groups*\ , \ *hcp*\ , \ *height*\ , \ *hidden*\ , \ *hostcluster*\ , \ *hostinterface*\ , \ *hostmanager*\ , \ *hostnames*\ , \ *hosttype*\ , \ *hwtype*\ , \ *id*\ , \ *initrd*\ , \ *installnic*\ , \ *interface*\ , \ *ip*\ , \ *iscsipassword*\ , \ *iscsiserver*\ , \ *iscsitarget*\ , \ *iscsiuserid*\ , \ *kcmdline*\ , \ *kernel*\ , \ *linkports*\ , \ *mac*\ , \ *memory*\ , \ *mgt*\ , \ *micbridge*\ , \ *michost*\ , \ *micid*\ , \ *miconboot*\ , \ *micpowermgt*\ , \ *micvlog*\ , \ *migrationdest*\ , \ *monserver*\ , \ *mpa*\ , \ *mtm*\ , \ *nameservers*\ , \ *netboot*\ , \ *nfsdir*\ , \ *nfsserver*\ , \ *nicaliases*\ , \ *niccustomscripts*\ , \ *nicdevices*\ , \ *nicextraparams*\ , \ *nichostnameprefixes*\ , \ *nichostnamesuffixes*\ , \ *nicips*\ , \ *nicnetworks*\ , \ *nicsadapter*\ , \ *nictypes*\ , \ *nimserver*\ , \ *node*\ , \ *nodetype*\ , \ *ondiscover*\ , \ *os*\ , \ *osvolume*\ , \ *otherinterfaces*\ , \ *ou*\ , \ *outlet*\ , \ *parent*\ , \ *passwd.HMC*\ , \ *passwd.admin*\ , \ *passwd.celogin*\ , \ *passwd.general*\ , \ *passwd.hscroot*\ , \ *password*\ , \ *pdu*\ , \ *pdutype*\ , \ *postbootscripts*\ , \ *postscripts*\ , \ *power*\ , \ *pprofile*\ , \ *prescripts-begin*\ , \ *prescripts-end*\ , \ *primarynic*\ , \ *primarysn*\ , \ *privkey*\ , \ *privtype*\ , \ *productkey*\ , \ *profile*\ , \ *protocol*\ , \ *provmethod*\ , \ *rack*\ , \ *room*\ , \ *routenames*\ , \ *seclevel*\ , \ *serial*\ , \ *serialflow*\ , \ *serialport*\ , \ *serialspeed*\ , \ *servicenode*\ , \ *setupconserver*\ , \ *setupdhcp*\ , \ *setupftp*\ , \ *setupipforward*\ , \ *setupldap*\ , \ *setupnameserver*\ , \ *setupnfs*\ , \ *setupnim*\ , \ *setupntp*\ , \ *setupproxydhcp*\ , \ *setuptftp*\ , \ *sfp*\ , \ *side*\ , \ *slot*\ , \ *slotid*\ , \ *slots*\ , \ *snmpauth*\ , \ *snmppassword*\ , \ *snmpprivacy*\ , \ *snmpuser*\ , \ *snmpusername*\ , \ *snmpversion*\ , \ *status*\ , \ *statustime*\ , \ *storagcontroller*\ , \ *storagetype*\ , \ *supernode*\ , \ *supportedarchs*\ , \ *supportproxydhcp*\ , \ *switch*\ , \ *switchinterface*\ , \ *switchport*\ , \ *switchtype*\ , \ *switchvlan*\ , \ *syslog*\ , \ *termport*\ , \ *termserver*\ , \ *tftpdir*\ , \ *tftpserver*\ , \ *unit*\ , \ *updatestatus*\ , \ *updatestatustime*\ , \ *urlpath*\ , \ *usercomment*\ , \ *userid*\ , \ *username*\ , \ *vmbeacon*\ , \ *vmbootorder*\ , \ *vmcfgstore*\ , \ *vmcluster*\ , \ *vmcpus*\ , \ *vmhost*\ , \ *vmmanager*\ , \ *vmmaster*\ , \ *vmmemory*\ , \ *vmnicnicmodel*\ , \ *vmnics*\ , \ *vmothersetting*\ , \ *vmphyslots*\ , \ *vmstorage*\ , \ *vmstoragecache*\ , \ *vmstorageformat*\ , \ *vmstoragemodel*\ , \ *vmtextconsole*\ , \ *vmvirtflags*\ , \ *vmvncport*\ , \ *webport*\ , \ *xcatmaster*\ , \ *zonename*\ *********** @@ -40,601 +40,601 @@ node Attributes: \ **addkcmdline**\ (bootparams.addkcmdline) - + User specified kernel options for os provision process(no prefix) or the provisioned os(with prefix "R::"). The options should be delimited with spaces(" ") - + \ **appstatus**\ (nodelist.appstatus) - + A comma-delimited list of application status. For example: 'sshd=up,ftp=down,ll=down' - + \ **appstatustime**\ (nodelist.appstatustime) - + The date and time when appstatus was updated. - + \ **arch**\ (nodetype.arch) - + The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64. - + \ **authdomain**\ (domain.authdomain) - + If a node should participate in an AD domain or Kerberos realm distinct from domain indicated in site, this field can be used to specify that - + \ **authkey**\ (pdu.authkey) - + The authentication passphrase for SNMPv3 - + \ **authtype**\ (pdu.authtype) - + The authentication protocol(MD5|SHA) to use for SNMPv3. - + \ **bmc**\ (ipmi.bmc, openbmc.bmc) - + The hostname of the BMC adapter. - + or - + The hostname of the BMC adapter. - + \ **bmcpassword**\ (ipmi.password, openbmc.password) - + The BMC password. If not specified, the key=ipmi row in the passwd table is used as the default. - + or - + The BMC password. - + \ **bmcport**\ (ipmi.bmcport) - + In systems with selectable shared/dedicated ethernet ports, this parameter can be used to specify the preferred port. 0 means use the shared port, 1 means dedicated, blank is to not assign. - - + + .. code-block:: perl - + The following special cases exist for IBM System x servers: - + For x3755 M3 systems, 0 means use the dedicated port, 1 means shared, blank is to not assign. - + For certain systems which have a mezzaine or ML2 adapter, there is a second value to include: - - + + For x3750 M4 (Model 8722): - - + + 0 2 1st 1Gbps interface for LOM - + 0 0 1st 10Gbps interface for LOM - + 0 3 2nd 1Gbps interface for LOM - + 0 1 2nd 10Gbps interface for LOM - - + + For x3750 M4 (Model 8752), x3850/3950 X6, dx360 M4, x3550 M4, and x3650 M4: - - + + 0 Shared (1st onboard interface) - + 1 Dedicated - + 2 0 First interface on ML2 or mezzanine adapter - + 2 1 Second interface on ML2 or mezzanine adapter - + 2 2 Third interface on ML2 or mezzanine adapter - + 2 3 Fourth interface on ML2 or mezzanine adapter - - + + \ **bmcusername**\ (ipmi.username, openbmc.username) - + The BMC userid. If not specified, the key=ipmi row in the passwd table is used as the default. - + or - + The BMC userid. - + \ **bmcvlantag**\ (ipmi.taggedvlan, openbmc.taggedvlan) - + bmcsetup script will configure the network interface of the BMC to be tagged to the VLAN specified. - + or - + bmcsetup script will configure the network interface of the BMC to be tagged to the VLAN specified. - + \ **cfgmgr**\ (cfgmgt.cfgmgr) - + The name of the configuration manager service. Currently 'chef' and 'puppet' are supported services. - + \ **cfgmgtroles**\ (cfgmgt.roles) - + The roles associated with this node as recognized by the cfgmgr for the software that is to be installed and configured. These role names map to chef recipes or puppet manifest classes that should be used for this node. For example, chef OpenStack cookbooks have roles such as mysql-master,keystone, glance, nova-controller, nova-conductor, cinder-all. - + \ **cfgserver**\ (cfgmgt.cfgserver) - + The xCAT node name of the chef server or puppet master - + \ **chain**\ (chain.chain) - + A comma-delimited chain of actions to be performed automatically when this node is discovered for the first time. (xCAT and the DHCP server do not recognize the MAC address of the node when xCAT initializes the discovery process.) The last step in this process is to run the operations listed in the chain attribute, one by one. Valid values: boot, runcmd=, runimage=, shell, standby. For example, to have the genesis kernel pause to the shell, use chain=shell. - + \ **chassis**\ (nodepos.chassis) - + The BladeCenter chassis the blade is in. - + \ **cmdmapping**\ (nodehm.cmdmapping) - + The fully qualified name of the file that stores the mapping between PCM hardware management commands and xCAT/third-party hardware management commands for a particular type of hardware device. Only used by PCM. - + \ **community**\ (pdu.community) - + The community string to use for SNMPv1/v2 - + \ **cons**\ (nodehm.cons) - + The console method. If nodehm.serialport is set, this will default to the nodehm.mgt setting, otherwise it defaults to unused. Valid values: cyclades, mrv, or the values valid for the mgt attribute. - + \ **conserver**\ (nodehm.conserver) - + The hostname of the machine where the conserver daemon is running. If not set, the default is the xCAT management node. - + \ **consoleenabled**\ (nodehm.consoleenabled) - + A flag field to indicate whether the node is registered in the console server. If '1', console is enabled, if not set, console is not enabled. - + \ **consoleondemand**\ (nodehm.consoleondemand) - + This overrides the value from site.consoleondemand. Set to 'yes', 'no', '1' (equivalent to 'yes'), or '0' (equivalent to 'no'). If not set, the default is the value from site.consoleondemand. - + \ **consport**\ (openbmc.consport) - + The console port for OpenBMC. - + \ **cpucount**\ (hwinv.cpucount) - + The number of cpus for the node. - + \ **cputype**\ (hwinv.cputype) - + The cpu model name for the node. - + \ **currchain**\ (chain.currchain) - + The chain steps still left to do for this node. This attribute will be automatically adjusted by xCAT while xCAT-genesis is running on the node (either during node discovery or a special operation like firmware update). During node discovery, this attribute is initialized from the chain attribute and updated as the chain steps are executed. - + \ **currstate**\ (chain.currstate) - + The current or next chain step to be executed on this node by xCAT-genesis. Set by xCAT during node discovery or as a result of nodeset. - + \ **dhcpinterfaces**\ (servicenode.dhcpinterfaces) - + The network interfaces DHCP server should listen on for the target node. This attribute can be used for management node and service nodes. If defined, it will override the values defined in site.dhcpinterfaces. This is a comma separated list of device names. !remote! indicates a non-local network for relay DHCP. For example: !remote!,eth0,eth1 - + \ **disksize**\ (hwinv.disksize) - + The size of the disks for the node in GB. - + \ **displayname**\ (mpa.displayname) - + Alternative name for BladeCenter chassis. Only used by PCM. - + \ **dockercpus**\ (vm.cpus) - + Number of CPUs the node should see. - + \ **dockerflag**\ (vm.othersettings) - + This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:"vcpupin:'0-15,^8'",Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0', the value for PCI device format also can be like:'devpassthrough:0001:01:00.1', the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively, the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. - + \ **dockerhost**\ (vm.host) - + The system that currently hosts the VM - + \ **dockermemory**\ (vm.memory) - + Megabytes of memory the VM currently should be set to. - + \ **dockernics**\ (vm.nics) - + Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. - + \ **domainadminpassword**\ (domain.adminpassword) - + Allow a node specific indication of Administrative user password for the domain. Most will want to ignore this in favor of passwd table. - + \ **domainadminuser**\ (domain.adminuser) - + Allow a node specific indication of Administrative user. Most will want to just use passwd table to indicate this once rather than by node. - + \ **domaintype**\ (domain.type) - + Type, if any, of authentication domain to manipulate. The only recognized value at the moment is activedirectory. - + \ **getmac**\ (nodehm.getmac) - + The method to use to get MAC address of the node with the getmac command. If not set, the mgt attribute will be used. Valid values: same as values for mgmt attribute. - + \ **groups**\ (nodelist.groups) - + A comma-delimited list of groups this node is a member of. Group names are arbitrary, except all nodes should be part of the 'all' group. Internal group names are designated by using __. For example, __Unmanaged, could be the internal name for a group of nodes that is not managed by xCAT. Admins should avoid using the __ characters when defining their groups. - + \ **hcp**\ (ppc.hcp, zvm.hcp) - + The hardware control point for this node (HMC, IVM, Frame or CEC). Do not need to set for BPAs and FSPs. - + or - + The hardware control point for this node. - + \ **height**\ (nodepos.height) - + The server height in U(s). - + \ **hidden**\ (nodelist.hidden) - + Used to hide fsp and bpa definitions, 1 means not show them when running lsdef and nodels - + \ **hostcluster**\ (hypervisor.cluster) - + Specify to the underlying virtualization infrastructure a cluster membership for the hypervisor. - + \ **hostinterface**\ (hypervisor.interface) - + The definition of interfaces for the hypervisor. The format is [networkname:interfacename:bootprotocol:IP:netmask:gateway] that split with | for each interface - + \ **hostmanager**\ (hypervisor.mgr) - + The virtualization specific manager of this hypervisor when applicable - + \ **hostnames**\ (hosts.hostnames) - + Hostname aliases added to /etc/hosts for this node. Comma or blank separated list. - + \ **hosttype**\ (hypervisor.type) - + The plugin associated with hypervisor specific commands such as revacuate - + \ **hwtype**\ (ppc.nodetype, zvm.nodetype, mp.nodetype, mic.nodetype) - + The hardware type of the node. Only can be one of fsp, bpa, cec, frame, ivm, hmc and lpar - + or - + The node type. Valid values: cec (Central Electronic Complex), lpar (logical partition), zvm (z/VM host operating system), and vm (virtual machine). - + or - + The hardware type for mp node. Valid values: mm,cmm, blade. - + or - + The hardware type of the mic node. Generally, it is mic. - + \ **id**\ (ppc.id, mp.id) - + For LPARs: the LPAR numeric id; for CECs: the cage number; for Frames: the frame number. - + or - + The slot number of this blade in the BladeCenter chassis. - + \ **initrd**\ (bootparams.initrd) - + The initial ramdisk image that network boot actions should use (could be a DOS floppy or hard drive image if using memdisk as kernel) - + \ **installnic**\ (noderes.installnic) - + The network adapter on the node that will be used for OS deployment, the installnic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. If not set, primarynic will be used. If primarynic is not set too, the keyword "mac" will be used as default. - + \ **interface**\ (mac.interface) - + The adapter interface name that will be used to install and manage the node. E.g. eth0 (for linux) or en0 (for AIX).) - + \ **ip**\ (hosts.ip) - + The IP address of the node. This is only used in makehosts. The rest of xCAT uses system name resolution to resolve node names to IP addresses. - + \ **iscsipassword**\ (iscsi.passwd) - + The password for the iscsi server containing the boot device for this node. - + \ **iscsiserver**\ (iscsi.server) - + The server containing the iscsi boot device for this node. - + \ **iscsitarget**\ (iscsi.target) - + The iscsi disk used for the boot device for this node. Filled in by xCAT. - + \ **iscsiuserid**\ (iscsi.userid) - + The userid of the iscsi server containing the boot device for this node. - + \ **kcmdline**\ (bootparams.kcmdline) - + Arguments to be passed to the kernel - + \ **kernel**\ (bootparams.kernel) - + The kernel that network boot actions should currently acquire and use. Note this could be a chained boot loader such as memdisk or a non-linux boot loader - + \ **linkports**\ (switches.linkports) - + The ports that connect to other switches. Currently, this column is only used by vlan configuration. The format is: "port_number:switch,port_number:switch...". Refer to the switch table for details on how to specify the port numbers. - + \ **mac**\ (mac.mac) - + The mac address or addresses for which xCAT will manage static bindings for this node. This may be simply a mac address, which would be bound to the node name (such as "01:02:03:04:05:0E"). This may also be a "|" delimited string of "mac address!hostname" format (such as "01:02:03:04:05:0E!node5|01:02:03:04:05:0F!node6-eth1"). If there are multiple nics connected to Management Network(usually for bond), in order to make sure the OS deployment finished successfully, the macs of those nics must be able to resolve to same IP address. First, users have to create alias of the node for each mac in the Management Network through either: 1. adding the alias into /etc/hosts for the node directly or: 2. setting the alias to the "hostnames" attribute and then run "makehost" against the node. Then, configure the "mac" attribute of the node like "mac1!node|mac2!node-alias". For the first mac address (mac1 in the example) set in "mac" attribute, do not need to set a "node name" string for it since the nodename of the node will be used for it by default. - + \ **memory**\ (hwinv.memory) - + The size of the memory for the node in MB. - + \ **mgt**\ (nodehm.mgt) - + The method to use to do general hardware management of the node. This attribute is used as the default if power or getmac is not set. Valid values: openbmc, ipmi, blade, hmc, ivm, fsp, bpa, kvm, esx, rhevm. See the power attribute for more details. - + \ **micbridge**\ (mic.bridge) - + The virtual bridge on the host node which the mic connected to. - + \ **michost**\ (mic.host) - + The host node which the mic card installed on. - + \ **micid**\ (mic.id) - + The device id of the mic node. - + \ **miconboot**\ (mic.onboot) - + Set mic to autoboot when mpss start. Valid values: yes|no. Default is yes. - + \ **micpowermgt**\ (mic.powermgt) - + Set the Power Management for mic node. This attribute is used to set the power management state that mic may get into when it is idle. Four states can be set: cpufreq, corec6, pc3 and pc6. The valid value for powermgt attribute should be [cpufreq=]![corec6=]![pc3=]![pc6=]. e.g. cpufreq=on!corec6=off!pc3=on!pc6=off. Refer to the doc of mic to get more information for power management. - + \ **micvlog**\ (mic.vlog) - + Set the Verbose Log to console. Valid values: yes|no. Default is no. - + \ **migrationdest**\ (vm.migrationdest) - + A noderange representing candidate destinations for migration (i.e. similar systems, same SAN, or other criteria that xCAT can use - + \ **monserver**\ (noderes.monserver) - + The monitoring aggregation point for this node. The format is "x,y" where x is the ip address as known by the management node and y is the ip address as known by the node. - + \ **mpa**\ (mp.mpa) - + The management module used to control this blade. - + \ **mtm**\ (vpd.mtm) - + The machine type and model number of the node. E.g. 7984-6BU - + \ **nameservers**\ (noderes.nameservers) - + An optional node/group specific override for name server list. Most people want to stick to site or network defined nameserver configuration. - + \ **netboot**\ (noderes.netboot) - + The type of network booting to use for this node. Valid values: - - + + .. code-block:: perl - + Arch OS valid netboot options x86, x86_64 ALL pxe, xnba ppc64 <=rhel6, <=sles11.3 yaboot ppc64 >=rhels7, >=sles11.4 grub2,grub2-http,grub2-tftp ppc64le NonVirtualize ALL petitboot ppc64le PowerKVM Guest ALL grub2,grub2-http,grub2-tftp - - + + \ **nfsdir**\ (noderes.nfsdir) - + The path that should be mounted from the NFS server. - + \ **nfsserver**\ (noderes.nfsserver) - + The NFS or HTTP server for this node (as known by this node). - + \ **nicaliases**\ (nics.nicaliases) - + Comma-separated list of hostname aliases for each NIC. Format: eth0!,eth1!| For multiple aliases per nic use a space-separated list. For example: eth0!moe larry curly,eth1!tom|jerry - + \ **niccustomscripts**\ (nics.niccustomscripts) - + Comma-separated list of custom scripts per NIC. !,!, e.g. eth0!configeth eth0, ib0!configib ib0. The xCAT object definition commands support to use niccustomscripts. as the sub attribute . - + \ **nicdevices**\ (nics.nicdevices) - + Comma-separated list of NIC device per NIC, multiple ethernet devices can be bonded as bond device, these ethernet devices are separated by | . !|,!, e.g. bond0!eth0|eth2,br0!bond0. The xCAT object definition commands support to use nicdevices. as the sub attributes. - + \ **nicextraparams**\ (nics.nicextraparams) - + Comma-separated list of extra parameters that will be used for each NIC configuration. If only one ip address is associated with each NIC: !,!, for example, eth0!MTU=1500,ib0!MTU=65520 CONNECTED_MODE=yes. If multiple ip addresses are associated with each NIC: !|,!|, for example, eth0!MTU=1500|MTU=1460,ib0!MTU=65520 CONNECTED_MODE=yes. The xCAT object definition commands support to use nicextraparams. as the sub attributes. - + \ **nichostnameprefixes**\ (nics.nichostnameprefixes) - + Comma-separated list of hostname prefixes per NIC. If only one ip address is associated with each NIC: !,!,..., for example, eth0!eth0-,ib0!ib- @@ -642,228 +642,228 @@ node Attributes: !|,!|,..., for example, eth0!eth0-|eth0-ipv6i-,ib0!ib-|ib-ipv6-. The xCAT object definition commands support to use nichostnameprefixes. as the sub attributes. Note: According to DNS rules a hostname must be a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9) and minus sign (-). When you are specifying "nichostnameprefixes" or "nicaliases" make sure the resulting hostnames will conform to this naming convention - + \ **nichostnamesuffixes**\ (nics.nichostnamesuffixes) - + Comma-separated list of hostname suffixes per NIC. If only one ip address is associated with each NIC: !,!,..., for example, eth0!-eth0,ib0!-ib0 If multiple ip addresses are associated with each NIC: !|,!|,..., for example, eth0!-eth0|-eth0-ipv6,ib0!-ib0|-ib0-ipv6. The xCAT object definition commands support to use nichostnamesuffixes. as the sub attributes. - - + + .. code-block:: perl - + Note: According to DNS rules a hostname must be a text string up to 24 characters drawn from the alphabet (A-Z), digits (0-9) and minus sign (-). When you are specifying "nichostnamesuffixes" or "nicaliases" make sure the resulting hostnames will conform to this naming convention - - + + \ **nicips**\ (nics.nicips) - + Comma-separated list of IP addresses per NIC. To specify one ip address per NIC: !,!,..., for example, eth0!10.0.0.100,ib0!11.0.0.100 To specify multiple ip addresses per NIC: !|,!|,..., for example, eth0!10.0.0.100|fd55::214:5eff:fe15:849b,ib0!11.0.0.100|2001::214:5eff:fe15:849a. The xCAT object definition commands support to use nicips. as the sub attributes. Note: The primary IP address must also be stored in the hosts.ip attribute. The nichostnamesuffixes should specify one hostname suffix for each ip address. - + \ **nicnetworks**\ (nics.nicnetworks) - + Comma-separated list of networks connected to each NIC. If only one ip address is associated with each NIC: !,!, for example, eth0!10_0_0_0-255_255_0_0, ib0!11_0_0_0-255_255_0_0 If multiple ip addresses are associated with each NIC: !|,!|, for example, eth0!10_0_0_0-255_255_0_0|fd55:faaf:e1ab:336::/64,ib0!11_0_0_0-255_255_0_0|2001:db8:1:0::/64. The xCAT object definition commands support to use nicnetworks. as the sub attributes. - + \ **nicsadapter**\ (nics.nicsadapter) - + Comma-separated list of NIC information collected by getadapter. !,!, for example, enP3p3s0f1!mac=98:be:94:59:fa:cd linkstate=DOWN,enP3p3s0f2!mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face - + \ **nictypes**\ (nics.nictypes) - + Comma-separated list of NIC types per NIC. !,!, e.g. eth0!Ethernet,ib0!Infiniband. The xCAT object definition commands support to use nictypes. as the sub attributes. - + \ **nimserver**\ (noderes.nimserver) - + Not used for now. The NIM server for this node (as known by this node). - + \ **node**\ (nodelist.node) - + The hostname of a node in the cluster. - + \ **nodetype**\ (nodetype.nodetype, pdu.nodetype) - + A comma-delimited list of characteristics of this node. Valid values: ppc, blade, vm (virtual machine), osi (OS image), mm, mn, rsa, switch. - + or - + The node type should be pdu - + \ **ondiscover**\ (chain.ondiscover) - + This attribute is currently not used by xCAT. The "nodediscover" operation is always done during node discovery. - + \ **os**\ (nodetype.os) - + The operating system deployed on this node. Valid values: AIX, rhels\*,rhelc\*, rhas\*,centos\*,SL\*, fedora\*, sles\* (where \* is the version #). As a special case, if this is set to "boottarget", then it will use the initrd/kernel/parameters specified in the row in the boottarget table in which boottarget.bprofile equals nodetype.profile. - + \ **osvolume**\ (storage.osvolume) - + Specification of what storage to place the node OS image onto. Examples include: - - + + .. code-block:: perl - + localdisk (Install to first non-FC attached disk) usbdisk (Install to first USB mass storage device seen) wwn=0x50000393c813840c (Install to storage device with given WWN) - - + + \ **otherinterfaces**\ (hosts.otherinterfaces) - + Other IP addresses to add for this node. Format: -:,:,... - + \ **ou**\ (domain.ou) - + For an LDAP described machine account (i.e. Active Directory), the organizational unit to place the system. If not set, defaults to cn=Computers,dc=your,dc=domain - + \ **outlet**\ (pdu.outlet) - + The pdu outlet count - + \ **parent**\ (ppc.parent) - + For LPARs: the CEC; for FSPs: the CEC; for CEC: the frame (if one exists); for BPA: the frame; for frame: the building block number (which consists 1 or more service nodes and compute/storage nodes that are serviced by them - optional). - + \ **passwd.HMC**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.admin**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.celogin**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.general**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **passwd.hscroot**\ (ppcdirect.password) - + Password of the FSP/BPA(for ASMI) and CEC/Frame(for DFM). If not filled in, xCAT will look in the passwd table for key=fsp. If not in the passwd table, the default used is admin. - + \ **password**\ (ppchcp.password, mpa.password, websrv.password, pdu.password, switches.sshpassword) - + Password of the HMC or IVM. If not filled in, xCAT will look in the passwd table for key=hmc or key=ivm. If not in the passwd table, the default used is abc123 for HMCs and padmin for IVMs. - + or - + Password to use to access the management module. If not specified, the key=blade row in the passwd table is used as the default. - + or - + Password to use to access the web service. - + or - + The remote login password - + or - + The remote login password. It can be for ssh or telnet. If it is for telnet, set protocol to "telnet". If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. - + \ **pdu**\ (pduoutlet.pdu) - + a comma-separated list of outlet number for each PDU, ex: pdu1:outlet1,pdu2:outlet1 - + \ **pdutype**\ (pdu.pdutype) - + The type of pdu - + \ **postbootscripts**\ (postscripts.postbootscripts) - + Comma separated list of scripts that should be run on this node after diskful installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attribute to run first in the list. Please note that the postbootscripts specified for "xcatdefaults" will be assigned to node automatically, they can not be removed from "postbootscripts" attribute of a node with "chdef -m" command - + \ **postscripts**\ (postscripts.postscripts) - + Comma separated list of scripts that should be run on this node after diskful installation or diskless boot. Each script can take zero or more parameters. For example: "script1 p1 p2,script2,...". xCAT automatically adds the postscripts from the xcatdefaults.postscripts attribute of the table to run first on the nodes after install or diskless boot. For installation of RedHat, CentOS, Fedora, the scripts will be run before the reboot. For installation of SLES, the scripts will be run after the reboot but before the init.d process. For diskless deployment, the scripts will be run at the init.d time, and xCAT will automatically add the list of scripts from the postbootscripts attribute to run after postscripts list. For installation of AIX, the scripts will run after the reboot and acts the same as the postbootscripts attribute. For AIX, use the postbootscripts attribute. Please note that the postscripts specified for "xcatdefaults" will be assigned to node automatically, they can not be removed from "postscripts" attribute of a node with "chdef -m" command - + \ **power**\ (nodehm.power) - + The method to use to control the power of the node. If not set, the mgt attribute will be used. Valid values: ipmi, blade, hmc, ivm, fsp, kvm, esx, rhevm. If "ipmi", xCAT will search for this node in the ipmi table for more info. If "blade", xCAT will search for this node in the mp table. If "hmc", "ivm", or "fsp", xCAT will search for this node in the ppc table. - + \ **pprofile**\ (ppc.pprofile) - + The LPAR profile that will be used the next time the LPAR is powered on with rpower. For DFM, the pprofile attribute should be set to blank - + \ **prescripts-begin**\ (prescripts.begin) - + The scripts to be run at the beginning of the nodeset(Linux), nimnodeset(AIX) or mkdsklsnode(AIX) command. The format is: [action1:]s1,s2...[| action2:s3,s4,s5...] where: - - action1 and action2 for Linux are the nodeset actions specified in the command. + - action1 and action2 for Linux are the nodeset actions specified in the command. For AIX, action1 and action1 can be 'diskless' for mkdsklsnode command' - and 'standalone for nimnodeset command. + and 'standalone for nimnodeset command. - s1 and s2 are the scripts to run for action1 in order. - s3, s4, and s5 are the scripts to run for actions2. If actions are omitted, the scripts apply to all actions. @@ -872,540 +872,540 @@ node Attributes: diskless:myscript1,myscript2 (AIX) install:myscript1,myscript2|netboot:myscript3 (Linux) All the scripts should be copied to /install/prescripts directory. - The following two environment variables will be passed to each script: + The following two environment variables will be passed to each script: NODES a coma separated list of node names that need to run the script for ACTION current nodeset action. If '#xCAT setting:MAX_INSTANCE=number' is specified in the script, the script will get invoked for each node in parallel, but no more than number of instances will be invoked at at a time. If it is not specified, the script will be invoked once for all the nodes. - + \ **prescripts-end**\ (prescripts.end) - + The scripts to be run at the end of the nodeset(Linux), nimnodeset(AIX),or mkdsklsnode(AIX) command. The format is the same as the 'begin' column. - + \ **primarynic**\ (noderes.primarynic) - + This attribute will be deprecated. All the used network interface will be determined by installnic. The network adapter on the node that will be used for xCAT management, the primarynic can be set to the network adapter name or the mac address or the keyword "mac" which means that the network interface specified by the mac address in the mac table will be used. Default is eth0. - + \ **primarysn**\ (nodelist.primarysn) - + Not used currently. The primary servicenode, used by this node. - + \ **privkey**\ (pdu.privkey) - + The privacy passphrase to use for SNMPv3. - + \ **privtype**\ (pdu.privtype) - + The privacy protocol(AES|DES) to use for SNMPv3. - + \ **productkey**\ (prodkey.key) - + The product key relevant to the aforementioned node/group and product combination - + \ **profile**\ (nodetype.profile) - + The string to use to locate a kickstart or autoyast template to use for OS deployment of this node. If the provmethod attribute is set to an osimage name, that takes precedence, and profile need not be defined. Otherwise, the os, profile, and arch are used to search for the files in /install/custom first, and then in /opt/xcat/share/xcat. - + \ **protocol**\ (switches.protocol) - + Protocol for running remote commands for the switch. The valid values are: ssh, telnet. ssh is the default. If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. The passwd.comments attribute is used for protocol. - + \ **provmethod**\ (nodetype.provmethod) - + The provisioning method for node deployment. The valid values are install, netboot, statelite or an os image name from the osimage table. If an image name is specified, the osimage definition stored in the osimage table and the linuximage table (for Linux) or nimimage table (for AIX) are used to locate the files for templates, pkglists, syncfiles, etc. On Linux, if install, netboot or statelite is specified, the os, profile, and arch are used to search for the files in /install/custom first, and then in /opt/xcat/share/xcat. - + \ **rack**\ (nodepos.rack) - + The frame the node is in. - + \ **room**\ (nodepos.room) - + The room where the node is located. - + \ **routenames**\ (noderes.routenames) - + A comma separated list of route names that refer to rows in the routes table. These are the routes that should be defined on this node when it is deployed. - + \ **seclevel**\ (pdu.seclevel) - + The Security Level(noAuthNoPriv|authNoPriv|authPriv) to use for SNMPv3. - + \ **serial**\ (vpd.serial) - + The serial number of the node. - + \ **serialflow**\ (nodehm.serialflow) - + The flow control value of the serial port for this node. For SOL this is typically 'hard'. - + \ **serialport**\ (nodehm.serialport) - + The serial port for this node, in the linux numbering style (0=COM1/ttyS0, 1=COM2/ttyS1). For SOL on IBM blades, this is typically 1. For rackmount IBM servers, this is typically 0. - + \ **serialspeed**\ (nodehm.serialspeed) - + The speed of the serial port for this node. For SOL this is typically 19200. - + \ **servicenode**\ (noderes.servicenode) - + A comma separated list of node names (as known by the management node) that provides most services for this node. The first service node on the list that is accessible will be used. The 2nd node on the list is generally considered to be the backup service node for this node when running commands like snmove. - + \ **setupconserver**\ (servicenode.conserver) - + Do we set up console service on this service node? Valid values: 0, 1, or 2. If 0, it does not change the current state of the service. If 1, configures and starts conserver daemon. If 2, configures and starts goconserver daemon. - + \ **setupdhcp**\ (servicenode.dhcpserver) - + Do we set up DHCP on this service node? Not supported on AIX. Valid values:1 or 0. If 1, runs makedhcp -n. If 0, it does not change the current state of the service. - + \ **setupftp**\ (servicenode.ftpserver) - + Do we set up a ftp server on this service node? Not supported on AIX Valid values:1 or 0. If 1, configure and start vsftpd. (You must manually install vsftpd on the service nodes before this.) If 0, it does not change the current state of the service. xCAT is not using ftp for compute nodes provisioning or any other xCAT features, so this attribute can be set to 0 if the ftp service will not be used for other purposes - + \ **setupipforward**\ (servicenode.ipforward) - + Do we set up ip forwarding on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupldap**\ (servicenode.ldapserver) - + Do we set up ldap caching proxy on this service node? Not supported on AIX. Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupnameserver**\ (servicenode.nameserver) - + Do we set up DNS on this service node? Valid values: 2, 1, or 0. If 2, creates named.conf as dns slave, using the management node as dns master, and starts named. If 1, creates named.conf file with forwarding to the management node and starts named. If 0, it does not change the current state of the service. - + \ **setupnfs**\ (servicenode.nfsserver) - + Do we set up file services (HTTP,FTP,or NFS) on this service node? For AIX will only setup NFS, not HTTP or FTP. Valid values:1 or 0.If 0, it does not change the current state of the service. - + \ **setupnim**\ (servicenode.nimserver) - + Not used. Do we set up a NIM server on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupntp**\ (servicenode.ntpserver) - + Not used. Use setupntp postscript to setup a ntp server on this service node? Valid values:1 or 0. If 0, it does not change the current state of the service. - + \ **setupproxydhcp**\ (servicenode.proxydhcp) - + Do we set up proxydhcp service on this node? valid values: 1 or 0. If 1, the proxydhcp daemon will be enabled on this node. - + \ **setuptftp**\ (servicenode.tftpserver) - + Do we set up TFTP on this service node? Not supported on AIX. Valid values:1 or 0. If 1, configures and starts atftp. If 0, it does not change the current state of the service. - + \ **sfp**\ (ppc.sfp) - + The Service Focal Point of this Frame. This is the name of the HMC that is responsible for collecting hardware service events for this frame and all of the CECs within this frame. - + \ **side**\ (vpd.side) - + - or -. The side information for the BPA/FSP. The side attribute refers to which BPA/FSP, A or B, which is determined by the slot value returned from lsslp command. It also lists the physical port within each BPA/FSP which is determined by the IP address order from the lsslp response. This information is used internally when communicating with the BPAs/FSPs - + \ **slot**\ (nodepos.slot) - + The slot number of the blade in the chassis. For PCM, a comma-separated list of slot numbers is stored - + \ **slotid**\ (mp.id) - + The slot number of this blade in the BladeCenter chassis. - + \ **slots**\ (mpa.slots) - + The number of available slots in the chassis. For PCM, this attribute is used to store the number of slots in the following format: ,, Where: - - + + .. code-block:: perl - + = number of rows of slots in chassis = number of columns of slots in chassis = set to 0 if slots are vertical, and set to 1 if slots of horizontal - - + + \ **snmpauth**\ (switches.auth) - + The authentication protocol to use for SNMPv3. SHA is assumed if v3 enabled and this is unspecified - + \ **snmppassword**\ (switches.password) - + The password string for SNMPv3 or community string for SNMPv1/SNMPv2. Falls back to passwd table, and site snmpc value if using SNMPv1/SNMPv2. - + \ **snmpprivacy**\ (switches.privacy) - + The privacy protocol to use for v3. xCAT will use authNoPriv if this is unspecified. DES is recommended to use if v3 enabled, as it is the most readily available. - + \ **snmpuser**\ (pdu.snmpuser) - + The username to use for SNMPv3 communication, ignored for SNMPv1 - + \ **snmpusername**\ (switches.username) - + The username to use for SNMPv3 communication, ignored for SNMPv1 - + \ **snmpversion**\ (pdu.snmpversion, switches.snmpversion) - + The version to use to communicate with switch. SNMPv1 is assumed by default. - + or - + The version to use to communicate with switch. SNMPv1 is assumed by default. - + \ **status**\ (nodelist.status) - + The current status of this node. This attribute will be set by xCAT software. Valid values: defined, booting, netbooting, booted, discovering, configuring, installing, alive, standingby, powering-off, unreachable. If blank, defined is assumed. The possible status change sequences are: For installation: defined->[discovering]->[configuring]->[standingby]->installing->booting->[postbooting]->booted->[alive], For diskless deployment: defined->[discovering]->[configuring]->[standingby]->netbooting->[postbooting]->booted->[alive], For booting: [alive/unreachable]->booting->[postbooting]->booted->[alive], For powering off: [alive]->powering-off->[unreachable], For monitoring: alive->unreachable. Discovering and configuring are for x Series discovery process. Alive and unreachable are set only when there is a monitoring plug-in start monitor the node status for xCAT. Note that the status values will not reflect the real node status if you change the state of the node from outside of xCAT (i.e. power off the node using HMC GUI). - + \ **statustime**\ (nodelist.statustime) - + The data and time when the status was updated. - + \ **storagcontroller**\ (storage.controller) - + The management address to attach/detach new volumes. In the scenario involving multiple controllers, this data must be passed as argument rather than by table value - + \ **storagetype**\ (storage.type) - + The plugin used to drive storage configuration (e.g. svc) - + \ **supernode**\ (ppc.supernode) - + Indicates the connectivity of this CEC in the HFI network. A comma separated list of 2 ids. The first one is the supernode number the CEC is part of. The second one is the logical location number (0-3) of this CEC within the supernode. - + \ **supportedarchs**\ (nodetype.supportedarchs) - + Comma delimited list of architectures this node can execute. - + \ **supportproxydhcp**\ (noderes.proxydhcp) - + To specify whether the node supports proxydhcp protocol. Valid values: yes or 1, no or 0. Default value is yes. - + \ **switch**\ (switch.switch) - + The switch hostname. - + \ **switchinterface**\ (switch.interface) - + The interface name from the node perspective. For example, eth0. For the primary nic, it can be empty, the word "primary" or "primary:ethx" where ethx is the interface name. - + \ **switchport**\ (switch.port) - + The port number in the switch that this node is connected to. On a simple 1U switch, an administrator can generally enter the number as printed next to the ports, and xCAT will understand switch representation differences. On stacked switches or switches with line cards, administrators should usually use the CLI representation (i.e. 2/0/1 or 5/8). One notable exception is stacked SMC 8848M switches, in which you must add 56 for the proceeding switch, then the port number. For example, port 3 on the second switch in an SMC8848M stack would be 59 - + \ **switchtype**\ (switches.switchtype) - + The type of switch. It is used to identify the file name that implements the functions for this switch. The valid values are: Mellanox, Cisco, BNT and Juniper. - + \ **switchvlan**\ (switch.vlan) - + The ID for the tagged vlan that is created on this port using mkvlan and chvlan commands. - + \ **syslog**\ (noderes.syslog) - + To configure how to configure syslog for compute node. Valid values:blank(not set), ignore. blank - run postscript syslog; ignore - do NOT run postscript syslog - + \ **termport**\ (nodehm.termport) - + The port number on the terminal server that this node is connected to. - + \ **termserver**\ (nodehm.termserver) - + The hostname of the terminal server. - + \ **tftpdir**\ (noderes.tftpdir) - + The directory that roots this nodes contents from a tftp and related perspective. Used for NAS offload by using different mountpoints. - + \ **tftpserver**\ (noderes.tftpserver) - + The TFTP server for this node (as known by this node). If not set, it defaults to networks.tftpserver. - + \ **unit**\ (nodepos.u) - + The vertical position of the node in the frame - + \ **updatestatus**\ (nodelist.updatestatus) - + The current node update status. Valid states are synced, out-of-sync,syncing,failed. - + \ **updatestatustime**\ (nodelist.updatestatustime) - + The date and time when the updatestatus was updated. - + \ **urlpath**\ (mpa.urlpath) - + URL path for the Chassis web interface. The full URL is built as follows: / - + \ **usercomment**\ (nodelist.comments) - + Any user-written notes. - + \ **userid**\ (zvm.userid) - + The z/VM userID of this node. - + \ **username**\ (ppchcp.username, mpa.username, websrv.username, pdu.username, switches.sshusername) - + Userid of the HMC or IVM. If not filled in, xCAT will look in the passwd table for key=hmc or key=ivm. If not in the passwd table, the default used is hscroot for HMCs and padmin for IVMs. - + or - + Userid to use to access the management module. - + or - + Userid to use to access the web service. - + or - + The remote login user name - + or - + The remote login user name. It can be for ssh or telnet. If it is for telnet, set protocol to "telnet". If the sshusername is blank, the username, password and protocol will be retrieved from the passwd table with "switch" as the key. - + \ **vmbeacon**\ (vm.beacon) - + This flag is used by xCAT to track the state of the identify LED with respect to the VM. - + \ **vmbootorder**\ (vm.bootorder) - + Boot sequence (i.e. net,hd) - + \ **vmcfgstore**\ (vm.cfgstore) - + Optional location for persistent storage separate of emulated hard drives for virtualization solutions that require persistent store to place configuration data - + \ **vmcluster**\ (vm.cluster) - + Specify to the underlying virtualization infrastructure a cluster membership for the hypervisor. - + \ **vmcpus**\ (vm.cpus) - + Number of CPUs the node should see. - + \ **vmhost**\ (vm.host) - + The system that currently hosts the VM - + \ **vmmanager**\ (vm.mgr) - + The function manager for the virtual machine - + \ **vmmaster**\ (vm.master) - + The name of a master image, if any, this virtual machine is linked to. This is generally set by clonevm and indicates the deletion of a master that would invalidate the storage of this virtual machine - + \ **vmmemory**\ (vm.memory) - + Megabytes of memory the VM currently should be set to. - + \ **vmnicnicmodel**\ (vm.nicmodel) - + Model of NICs that will be provided to VMs (i.e. e1000, rtl8139, virtio, etc) - + \ **vmnics**\ (vm.nics) - + Network configuration parameters. Of the general form [physnet:]interface,.. Generally, interface describes the vlan entity (default for native, tagged for tagged, vl[number] for a specific vlan. physnet is a virtual switch name or port description that is used for some virtualization technologies to construct virtual switches. hypervisor.netmap can map names to hypervisor specific layouts, or the descriptions described there may be used directly here where possible. - + \ **vmothersetting**\ (vm.othersettings) - + This allows specifying a semicolon delimited list of key->value pairs to include in a vmx file of VMware or KVM. For partitioning on normal power machines, this option is used to specify the hugepage and/or bsr information, the value is like:'hugepage:1,bsr=2'. For KVM cpu pinning, this option is used to specify the physical cpu set on the host, the value is like:"vcpupin:'0-15,^8'",Its syntax is a comma separated list and a special markup using '-' and '^' (ex. '0-4', '0-3,^2') can also be allowed, the '-' denotes the range and the '^' denotes exclusive. For KVM memory binding, the value is like:'membind:0', restrict a guest to allocate memory from the specified set of NUMA nodes. For PCI passthrough, the value is like:'devpassthrough:pci_0001_01_00_0,pci_0000_03_00_0', the value for PCI device format also can be like:'devpassthrough:0001:01:00.1', the PCI devices are assigned to a virtual machine, and the virtual machine can use this I/O exclusively, the devices list are a list of PCI device names delimited with comma, the PCI device names can be obtained by running \ **virsh nodedev-list**\ on the host. - + \ **vmphyslots**\ (vm.physlots) - + Specify the physical slots drc index that will assigned to the partition, the delimiter is ',', and the drc index must started with '0x'. For more details, reference manpage for 'lsvm'. - + \ **vmstorage**\ (vm.storage) - + A list of storage files or devices to be used. i.e. dir:///cluster/vm/ or nfs:///path/to/folder/ - + \ **vmstoragecache**\ (vm.storagecache) - + Select caching scheme to employ. E.g. KVM understands 'none', 'writethrough' and 'writeback' - + \ **vmstorageformat**\ (vm.storageformat) - + Select disk format to use by default (e.g. raw versus qcow2) - + \ **vmstoragemodel**\ (vm.storagemodel) - + Model of storage devices to provide to guest - + \ **vmtextconsole**\ (vm.textconsole) - + Tracks the Psuedo-TTY that maps to the serial port or console of a VM - + \ **vmvirtflags**\ (vm.virtflags) - + General flags used by the virtualization method. For example, in Xen it could, among other things, specify paravirtualized setup, or direct kernel boot. For a hypervisor/dom0 entry, it is the virtualization method (i.e. "xen"). For KVM, the following flag=value pairs are recognized: imageformat=[raw|fullraw|qcow2] @@ -1416,31 +1416,31 @@ node Attributes: qemu-img allows use of qcow2 to generate virtualization layer copy-on-write reflink uses a generic filesystem facility to clone the files on your behalf, but requires filesystem support such as btrfs placement_affinity=[migratable|user_migratable|pinned] - + \ **vmvncport**\ (vm.vncport) - + Tracks the current VNC display port (currently not meant to be set - + \ **webport**\ (websrv.port) - + The port of the web service. - + \ **xcatmaster**\ (noderes.xcatmaster) - + The hostname of the xCAT service node (as known by this node). This acts as the default value for nfsserver and tftpserver, if they are not set. If xcatmaster is not set, the node will use whoever responds to its boot request as its master. For the directed bootp case for POWER, it will use the management node if xcatmaster is not set. - + \ **zonename**\ (nodelist.zonename) - + The name of the zone to which the node is currently assigned. If undefined, then it is not assigned to any zone. - + @@ -1449,5 +1449,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/notification.7.rst b/docs/source/guides/admin-guides/references/man7/notification.7.rst index e7dbb4f1d..c93c46647 100644 --- a/docs/source/guides/admin-guides/references/man7/notification.7.rst +++ b/docs/source/guides/admin-guides/references/man7/notification.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **notification Attributes:**\ \ *comments*\ , \ *filename*\ , \ *tableops*\ , \ *tables*\ +\ **notification Attributes:**\ \ *comments*\ , \ *filename*\ , \ *tableops*\ , \ *tables*\ *********** @@ -40,27 +40,27 @@ notification Attributes: \ **comments**\ (notification.comments) - + Any user-written notes. - + \ **filename**\ (notification.filename) - + The path name of a file that implements the callback routine when the monitored table changes. Can be a perl module or a command. See the regnotif man page for details. - + \ **tableops**\ (notification.tableops) - + Specifies the table operation to monitor for. Valid values: "d" (rows deleted), "a" (rows added), "u" (rows updated). - + \ **tables**\ (notification.tables) - + Comma-separated list of xCAT database tables to monitor. - + @@ -69,5 +69,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/osdistro.7.rst b/docs/source/guides/admin-guides/references/man7/osdistro.7.rst index 2f1dad7dd..f1a87361c 100644 --- a/docs/source/guides/admin-guides/references/man7/osdistro.7.rst +++ b/docs/source/guides/admin-guides/references/man7/osdistro.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **osdistro Attributes:**\ \ *arch*\ , \ *basename*\ , \ *dirpaths*\ , \ *majorversion*\ , \ *minorversion*\ , \ *osdistroname*\ , \ *type*\ +\ **osdistro Attributes:**\ \ *arch*\ , \ *basename*\ , \ *dirpaths*\ , \ *majorversion*\ , \ *minorversion*\ , \ *osdistroname*\ , \ *type*\ *********** @@ -40,45 +40,45 @@ osdistro Attributes: \ **arch**\ (osdistro.arch) - + The OS distro arch (e.g. x86_64) - + \ **basename**\ (osdistro.basename) - + The OS base name (e.g. rhels) - + \ **dirpaths**\ (osdistro.dirpaths) - + Directory paths where OS distro is store. There could be multiple paths if OS distro has more than one ISO image. (e.g. /install/rhels6.2/x86_64,...) - + \ **majorversion**\ (osdistro.majorversion) - + The OS distro major version.(e.g. 6) - + \ **minorversion**\ (osdistro.minorversion) - + The OS distro minor version. (e.g. 2) - + \ **osdistroname**\ (osdistro.osdistroname) - + Unique name (e.g. rhels6.2-x86_64) - + \ **type**\ (osdistro.type) - + Linux or AIX - + @@ -87,5 +87,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/osdistroupdate.7.rst b/docs/source/guides/admin-guides/references/man7/osdistroupdate.7.rst index 11cf48b50..17850864c 100644 --- a/docs/source/guides/admin-guides/references/man7/osdistroupdate.7.rst +++ b/docs/source/guides/admin-guides/references/man7/osdistroupdate.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **osdistroupdate Attributes:**\ \ *dirpath*\ , \ *downloadtime*\ , \ *osdistroname*\ , \ *osupdatename*\ , \ *usercomment*\ +\ **osdistroupdate Attributes:**\ \ *dirpath*\ , \ *downloadtime*\ , \ *osdistroname*\ , \ *osupdatename*\ , \ *usercomment*\ *********** @@ -40,33 +40,33 @@ osdistroupdate Attributes: \ **dirpath**\ (osdistroupdate.dirpath) - + Path to where OS distro update is stored. (e.g. /install/osdistroupdates/rhels6.2-x86_64-20120716-update) - + \ **downloadtime**\ (osdistroupdate.downloadtime) - + The timestamp when OS distro update was downloaded.. - + \ **osdistroname**\ (osdistroupdate.osdistroname) - + The OS distro name to update. (e.g. rhels) - + \ **osupdatename**\ (osdistroupdate.osupdatename) - + Name of OS update. (e.g. rhn-update1) - + \ **usercomment**\ (osdistroupdate.comments) - + Any user-written notes. - + @@ -75,5 +75,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/osimage.7.rst b/docs/source/guides/admin-guides/references/man7/osimage.7.rst index 060118843..ee93d48b0 100644 --- a/docs/source/guides/admin-guides/references/man7/osimage.7.rst +++ b/docs/source/guides/admin-guides/references/man7/osimage.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **osimage Attributes:**\ \ *addkcmdline*\ , \ *boottarget*\ , \ *bosinst_data*\ , \ *cfmdir*\ , \ *configdump*\ , \ *crashkernelsize*\ , \ *description*\ , \ *driverupdatesrc*\ , \ *dump*\ , \ *exlist*\ , \ *fb_script*\ , \ *groups*\ , \ *home*\ , \ *image_data*\ , \ *imagename*\ , \ *imagetype*\ , \ *installp_bundle*\ , \ *installto*\ , \ *isdeletable*\ , \ *kerneldir*\ , \ *kernelver*\ , \ *kitcomponents*\ , \ *krpmver*\ , \ *lpp_source*\ , \ *mksysb*\ , \ *netdrivers*\ , \ *nimmethod*\ , \ *nimtype*\ , \ *nodebootif*\ , \ *osarch*\ , \ *osdistroname*\ , \ *osname*\ , \ *osupdatename*\ , \ *osvers*\ , \ *otherifce*\ , \ *otherpkgdir*\ , \ *otherpkglist*\ , \ *otherpkgs*\ , \ *paging*\ , \ *partitionfile*\ , \ *permission*\ , \ *pkgdir*\ , \ *pkglist*\ , \ *postbootscripts*\ , \ *postinstall*\ , \ *postscripts*\ , \ *profile*\ , \ *provmethod*\ , \ *resolv_conf*\ , \ *root*\ , \ *rootfstype*\ , \ *rootimgdir*\ , \ *script*\ , \ *serverrole*\ , \ *shared_home*\ , \ *shared_root*\ , \ *spot*\ , \ *synclists*\ , \ *template*\ , \ *tmp*\ , \ *usercomment*\ , \ *winpepath*\ +\ **osimage Attributes:**\ \ *addkcmdline*\ , \ *boottarget*\ , \ *bosinst_data*\ , \ *cfmdir*\ , \ *configdump*\ , \ *crashkernelsize*\ , \ *description*\ , \ *driverupdatesrc*\ , \ *dump*\ , \ *environvar*\ , \ *exlist*\ , \ *fb_script*\ , \ *groups*\ , \ *home*\ , \ *image_data*\ , \ *imagename*\ , \ *imagetype*\ , \ *installp_bundle*\ , \ *installto*\ , \ *isdeletable*\ , \ *kerneldir*\ , \ *kernelver*\ , \ *kitcomponents*\ , \ *krpmver*\ , \ *lpp_source*\ , \ *mksysb*\ , \ *netdrivers*\ , \ *nimmethod*\ , \ *nimtype*\ , \ *nodebootif*\ , \ *osarch*\ , \ *osdistroname*\ , \ *osname*\ , \ *osupdatename*\ , \ *osvers*\ , \ *otherifce*\ , \ *otherpkgdir*\ , \ *otherpkglist*\ , \ *otherpkgs*\ , \ *paging*\ , \ *partitionfile*\ , \ *permission*\ , \ *pkgdir*\ , \ *pkglist*\ , \ *postbootscripts*\ , \ *postinstall*\ , \ *postscripts*\ , \ *profile*\ , \ *provmethod*\ , \ *resolv_conf*\ , \ *root*\ , \ *rootfstype*\ , \ *rootimgdir*\ , \ *script*\ , \ *serverrole*\ , \ *shared_home*\ , \ *shared_root*\ , \ *spot*\ , \ *synclists*\ , \ *template*\ , \ *tmp*\ , \ *usercomment*\ , \ *winpepath*\ *********** @@ -40,245 +40,251 @@ osimage Attributes: \ **addkcmdline**\ (linuximage.addkcmdline) - + User specified kernel options for os provision process(no prefix) or the provisioned os(with prefix "R::"). The options should be delimited with spaces(" "). This attribute is ignored if linuximage.boottarget is set. - + \ **boottarget**\ (linuximage.boottarget) - + The name of the boottarget definition. When this attribute is set, xCAT will use the kernel, initrd and kernel params defined in the boottarget definition instead of the default. - + \ **bosinst_data**\ (nimimage.bosinst_data) - + The name of a NIM bosinst_data resource. - + \ **cfmdir**\ (osimage.cfmdir) - + CFM directory name for PCM. Set to /install/osimages//cfmdir by PCM. - + \ **configdump**\ (nimimage.configdump) - + Specifies the type of system dump to be collected. The values are selective, full, and none. The default is selective. - + \ **crashkernelsize**\ (linuximage.crashkernelsize) - + the size that assigned to the kdump kernel. If the kernel size is not set, 256M will be the default value. - + \ **description**\ (osimage.description) - + OS Image Description - + \ **driverupdatesrc**\ (linuximage.driverupdatesrc) - + The source of the drivers which need to be loaded during the boot. Two types of driver update source are supported: Driver update disk and Driver rpm package. The value for this attribute should be comma separated sources. Each source should be the format tab:full_path_of_source_file. The tab keyword can be: dud (for Driver update disk) and rpm (for driver rpm). If missing the tab, the rpm format is the default. e.g. dud:/install/dud/dd.img,rpm:/install/rpm/d.rpm - + \ **dump**\ (linuximage.dump, nimimage.dump) - + The NFS directory to hold the Linux kernel dump file (vmcore) when the node with this image crashes, its format is "nfs:///". If you want to use the node's "xcatmaster" (its SN or MN), can be left blank. For example, "nfs:///" means the NFS directory to hold the kernel dump file is on the node's SN, or MN if there's no SN. - + or - + The name of the NIM dump resource. + +\ **environvar**\ (osimage.environvar) + + Comma delimited environment variables for the osimage + + \ **exlist**\ (linuximage.exlist) - + The fully qualified name of the file that stores the file names and directory names that will be excluded from the image during packimage command. It is used for diskless image only. - + \ **fb_script**\ (nimimage.fb_script) - + The name of a NIM fb_script resource. - + \ **groups**\ (osimage.groups) - + A comma-delimited list of image groups of which this image is a member. Image groups can be used in the litefile and litetree table instead of a single image name. Group names are arbitrary. - + \ **home**\ (nimimage.home) - + The name of the NIM home resource. - + \ **image_data**\ (nimimage.image_data) - + The name of a NIM image_data resource. - + \ **imagename**\ (osimage.imagename) - + The name of this xCAT OS image definition. - + \ **imagetype**\ (osimage.imagetype) - + The type of operating system image this definition represents (linux,AIX). - + \ **installp_bundle**\ (nimimage.installp_bundle) - + One or more comma separated NIM installp_bundle resources. - + \ **installto**\ (winimage.installto) - + The disk and partition that the Windows will be deployed to. The valid format is :. If not set, default value is 0:1 for bios boot mode(legacy) and 0:3 for uefi boot mode; If setting to 1, it means 1:1 for bios boot and 1:3 for uefi boot - + \ **isdeletable**\ (osimage.isdeletable) - + A flag to indicate whether this image profile can be deleted. This attribute is only used by PCM. - + \ **kerneldir**\ (linuximage.kerneldir) - + The directory name where the 3rd-party kernel is stored. It is used for diskless image only. - + \ **kernelver**\ (linuximage.kernelver) - + The version of linux kernel used in the linux image. If the kernel version is not set, the default kernel in rootimgdir will be used - + \ **kitcomponents**\ (osimage.kitcomponents) - + List of Kit Component IDs assigned to this OS Image definition. - + \ **krpmver**\ (linuximage.krpmver) - + The rpm version of kernel packages (for SLES only). If it is not set, the default rpm version of kernel packages will be used. - + \ **lpp_source**\ (nimimage.lpp_source) - + The name of the NIM lpp_source resource. - + \ **mksysb**\ (nimimage.mksysb) - + The name of a NIM mksysb resource. - + \ **netdrivers**\ (linuximage.netdrivers) - + The ethernet device drivers of the nodes which will use this linux image, at least the device driver for the nodes' installnic should be included - + \ **nimmethod**\ (nimimage.nimmethod) - + The NIM install method to use, (ex. rte, mksysb). - + \ **nimtype**\ (nimimage.nimtype) - + The NIM client type- standalone, diskless, or dataless. - + \ **nodebootif**\ (linuximage.nodebootif) - + The network interface the stateless/statelite node will boot over (e.g. eth0) - + \ **osarch**\ (osimage.osarch) - + The hardware architecture of this node. Valid values: x86_64, ppc64, x86, ia64. - + \ **osdistroname**\ (osimage.osdistroname) - + The name of the OS distro definition. This attribute can be used to specify which OS distro to use, instead of using the osname,osvers,and osarch attributes. For \*kit commands, the attribute will be used to read the osdistro table for the osname, osvers, and osarch attributes. If defined, the osname, osvers, and osarch attributes defined in the osimage table will be ignored. - + \ **osname**\ (osimage.osname) - + Operating system name- AIX or Linux. - + \ **osupdatename**\ (osimage.osupdatename) - + A comma-separated list of OS distro updates to apply to this osimage. - + \ **osvers**\ (osimage.osvers) - + The Linux operating system deployed on this node. Valid values: rhels\*,rhelc\*, rhas\*,centos\*,SL\*, fedora\*, sles\* (where \* is the version #). - + \ **otherifce**\ (linuximage.otherifce) - + Other network interfaces (e.g. eth1) in the image that should be configured via DHCP - + \ **otherpkgdir**\ (linuximage.otherpkgdir) - + The base directory and urls of internet repos from which the non-distro packages are retrived. Only 1 local directory is supported at present. The entries should be delimited with comma ",". Currently, the internet repos are only supported on Ubuntu and Redhat. - + \ **otherpkglist**\ (linuximage.otherpkglist) - + The fully qualified name of the file that stores non-distro package lists that will be included in the image. It could be set to multiple paths. The multiple paths must be separated by ",". - + \ **otherpkgs**\ (nimimage.otherpkgs) - + One or more comma separated installp or rpm packages. The rpm packages must have a prefix of 'R:', (ex. R:foo.rpm) - + \ **paging**\ (nimimage.paging) - + The name of the NIM paging resource. - + \ **partitionfile**\ (linuximage.partitionfile, winimage.partitionfile) - + Only available for diskful osimages and statelite osimages(localdisk enabled). The full path of the partition file or the script to generate the partition file. The valid value includes: "": For diskful osimages, the partition file contains the partition definition that will be inserted directly into the template file for os installation. The syntax and format of the partition file should confirm to the corresponding OS installer of the Linux distributions(e.g. kickstart for RedHat, autoyast for SLES, pressed for Ubuntu). For statelite osimages, when the localdisk is enabled, the partition file with specific syntax and format includes the partition scheme of the local disk, please refer to the statelite documentation for details. "s:": a shell script to generate the partition file "/tmp/partitionfile" inside the installer before the installation start. @@ -286,44 +292,44 @@ osimage Attributes: "s:d:": only available for ubuntu osimages, a script to generate the disk name file "/tmp/xcat.install_disk" inside the debian installer. This script is run in the "pressed/early_command" section. "c:": only availbe for ubuntu osimages, contains the additional pressed entries in "d-i ..." form. This can be used to specify some additional preseed options to support RAID or LVM in Ubuntu. "s:c:": only available for ubuntu osimages, runs in pressed/early_command and set the preseed values with "debconf-set". The multiple values should be delimited with comma "," - + or - + The path of partition configuration file. Since the partition configuration for bios boot mode and uefi boot mode are different, this configuration file can include both configurations if you need to support both bios and uefi mode. Either way, you must specify the boot mode in the configuration. Example of partition configuration file: [BIOS]xxxxxxx[UEFI]yyyyyyy. To simplify the setting, you also can set installto in partitionfile with section like [INSTALLTO]0:1 - + \ **permission**\ (linuximage.permission) - + The mount permission of /.statelite directory is used, its default value is 755 - + \ **pkgdir**\ (linuximage.pkgdir) - + The name of the directory where the distro packages are stored. It could be set to multiple paths. The multiple paths must be separated by ",". The first path in the value of osimage.pkgdir must be the OS base pkg dir path, such as pkgdir=/install/rhels6.2/x86_64,/install/updates . In the os base pkg path, there are default repository data. And in the other pkg path(s), the users should make sure there are repository data. If not, use "createrepo" command to create them. For ubuntu, multiple mirrors can be specified in the pkgdir attribute, the mirrors must be prefixed by the protocol(http/ssh) and delimited with "," between each other. - + \ **pkglist**\ (linuximage.pkglist) - + The fully qualified name of the file that stores the distro packages list that will be included in the image. Make sure that if the pkgs in the pkglist have dependency pkgs, the dependency pkgs should be found in one of the pkgdir - + \ **postbootscripts**\ (osimage.postbootscripts) - + Comma separated list of scripts that should be run on this after diskful installation or diskless boot. On AIX these scripts are run during the processing of /etc/inittab. On Linux they are run at the init.d time. xCAT automatically adds the scripts in the xcatdefaults.postbootscripts attribute to run first in the list. See the site table runbootscripts attribute. - + \ **postinstall**\ (linuximage.postinstall) - - Supported in diskless image only. The fully qualified name of the scripts running in non-chroot mode after the package installation but before initrd generation during genimage. If multiple scripts are specified, they should be seperated with comma ",". A set of osimage attributes are exported as the environment variables to be used in the postinstall scripts: - - + + Supported in diskless image only. The fully qualified name of the scripts and the user-specified arguments running in non-chroot mode after the package installation but before initrd generation during genimage. If multiple scripts are specified, they should be seperated with comma ",". The arguments passed to each postinstall script include 4 implicit arguments(,,,) and the user-specified arguments. A set of osimage attributes are exported as the environment variables to be used in the postinstall scripts: + + .. code-block:: perl - + IMG_ARCH(The architecture of the osimage, such as "ppc64le","x86_64"), IMG_NAME(The name of the osimage, such as "rhels7.3-ppc64le-netboot-compute"), IMG_OSVER(The os release of the osimage, such as "rhels7.3","sles11.4"), @@ -334,118 +340,118 @@ osimage Attributes: IMG_OTHERPKGLIST(the "otherpkglist" attribute of the osimage), IMG_OTHERPKGDIR(the "otherpkgdir" attribute of the osimage), IMG_ROOTIMGDIR(the "rootimgdir" attribute of the osimage) - - + + \ **postscripts**\ (osimage.postscripts) - + Comma separated list of scripts that should be run on this image after diskful installation or diskless boot. For installation of RedHat, CentOS, Fedora, the scripts will be run before the reboot. For installation of SLES, the scripts will be run after the reboot but before the init.d process. For diskless deployment, the scripts will be run at the init.d time, and xCAT will automatically add the list of scripts from the postbootscripts attribute to run after postscripts list. For installation of AIX, the scripts will run after the reboot and acts the same as the postbootscripts attribute. For AIX, use the postbootscripts attribute. See the site table runbootscripts attribute. - + \ **profile**\ (osimage.profile) - + The node usage category. For example compute, service. - + \ **provmethod**\ (osimage.provmethod) - + The provisioning method for node deployment. The valid values are install, netboot,statelite,boottarget,dualboot,sysclone. If boottarget is set, you must set linuximage.boottarget to the name of the boottarget definition. It is not used by AIX. - + \ **resolv_conf**\ (nimimage.resolv_conf) - + The name of the NIM resolv_conf resource. - + \ **root**\ (nimimage.root) - + The name of the NIM root resource. - + \ **rootfstype**\ (osimage.rootfstype) - + The filesystem type for the rootfs is used when the provmethod is statelite. The valid values are nfs or ramdisk. The default value is nfs - + \ **rootimgdir**\ (linuximage.rootimgdir) - + The directory name where the image is stored. It is generally used for diskless image. it also can be used in sysclone environment to specify where the image captured from golden client is stored. in sysclone environment, rootimgdir is generally assigned to some default value by xcat, but you can specify your own store directory. just one thing need to be noticed, wherever you save the image, the name of last level directory must be the name of image. for example, if your image name is testimage and you want to save this image under home directoy, rootimgdir should be assigned to value /home/testimage/ - + \ **script**\ (nimimage.script) - + The name of a NIM script resource. - + \ **serverrole**\ (osimage.serverrole) - + The role of the server created by this osimage. Default roles: mgtnode, servicenode, compute, login, storage, utility. - + \ **shared_home**\ (nimimage.shared_home) - + The name of the NIM shared_home resource. - + \ **shared_root**\ (nimimage.shared_root) - + A shared_root resource represents a directory that can be used as a / (root) directory by one or more diskless clients. - + \ **spot**\ (nimimage.spot) - + The name of the NIM SPOT resource. - + \ **synclists**\ (osimage.synclists) - + The fully qualified name of a file containing a list of files to synchronize on the nodes. Can be a comma separated list of multiple synclist files. The synclist generated by PCM named /install/osimages//synclist.cfm is reserved for use only by PCM and should not be edited by the admin. - + \ **template**\ (linuximage.template, winimage.template) - + The fully qualified name of the template file that will be used to create the OS installer configuration file for stateful installations (e.g. kickstart for RedHat, autoyast for SLES). - + or - + The fully qualified name of the template file that is used to create the windows unattend.xml file for diskful installation. - + \ **tmp**\ (nimimage.tmp) - + The name of the NIM tmp resource. - + \ **usercomment**\ (linuximage.comments, nimimage.comments) - + Any user-written notes. - + or - + Any user-provided notes. - + \ **winpepath**\ (winimage.winpepath) - + The path of winpe which will be used to boot this image. If the real path is /tftpboot/winboot/winpe1/, the value for winpepath should be set to winboot/winpe1 - + @@ -454,5 +460,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/pdu.7.rst b/docs/source/guides/admin-guides/references/man7/pdu.7.rst index 72e27fd3d..de02c50e9 100644 --- a/docs/source/guides/admin-guides/references/man7/pdu.7.rst +++ b/docs/source/guides/admin-guides/references/man7/pdu.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **pdu Attributes:**\ \ *node*\ , \ *nodetype*\ , \ *outlet*\ +\ **pdu Attributes:**\ \ *node*\ , \ *nodetype*\ , \ *outlet*\ *********** @@ -40,21 +40,21 @@ pdu Attributes: \ **node**\ (pdu.node) - + The hostname/address of the pdu to which the settings apply - + \ **nodetype**\ (pdu.nodetype) - + The node type should be pdu - + \ **outlet**\ (pdu.outlet) - + The pdu outlet count - + @@ -63,5 +63,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/policy.7.rst b/docs/source/guides/admin-guides/references/man7/policy.7.rst index 8967d20e9..b920c052f 100644 --- a/docs/source/guides/admin-guides/references/man7/policy.7.rst +++ b/docs/source/guides/admin-guides/references/man7/policy.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **policy Attributes:**\ \ *commands*\ , \ *host*\ , \ *name*\ , \ *noderange*\ , \ *parameters*\ , \ *priority*\ , \ *rule*\ , \ *time*\ , \ *usercomment*\ +\ **policy Attributes:**\ \ *commands*\ , \ *host*\ , \ *name*\ , \ *noderange*\ , \ *parameters*\ , \ *priority*\ , \ *rule*\ , \ *time*\ , \ *usercomment*\ *********** @@ -40,57 +40,57 @@ policy Attributes: \ **commands**\ (policy.commands) - + The list of commands that this rule applies to. Default is "\*" (all commands). - + \ **host**\ (policy.host) - + The host from which users may issue the commands specified by this rule. Default is "\*" (all hosts). Only all or one host is supported - + \ **name**\ (policy.name) - + The username that is allowed to perform the commands specified by this rule. Default is "\*" (all users). - + \ **noderange**\ (policy.noderange) - + The Noderange that this rule applies to. Default is "\*" (all nodes). Not supported with the \*def commands. - + \ **parameters**\ (policy.parameters) - + A regular expression that matches the command parameters (everything except the noderange) that this rule applies to. Default is "\*" (all parameters). Not supported with the \*def commands. - + \ **priority**\ (policy.priority) - + The priority value for this rule. This value is used to identify this policy data object (i.e. this rule) The table is sorted on this field with the lower the number the higher the priority. For example 1.0 is higher priority than 4.1 is higher than 4.9. - + \ **rule**\ (policy.rule) - + Specifies how this rule should be applied. Valid values are: allow, trusted. Allow will allow the user to run the commands. Any other value will deny the user access to the commands. Trusted means that once this client has been authenticated via the certificate, all other information that is sent (e.g. the username) is believed without question. This authorization should only be given to the xcatd on the management node at this time. - + \ **time**\ (policy.time) - + Time ranges that this command may be executed in. This is not supported. - + \ **usercomment**\ (policy.comments) - + Any user-written notes. - + @@ -99,5 +99,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/rack.7.rst b/docs/source/guides/admin-guides/references/man7/rack.7.rst index b2ddd3795..1403a7da0 100644 --- a/docs/source/guides/admin-guides/references/man7/rack.7.rst +++ b/docs/source/guides/admin-guides/references/man7/rack.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **rack Attributes:**\ \ *displayname*\ , \ *height*\ , \ *num*\ , \ *rackname*\ , \ *room*\ , \ *usercomment*\ +\ **rack Attributes:**\ \ *displayname*\ , \ *height*\ , \ *num*\ , \ *rackname*\ , \ *room*\ , \ *usercomment*\ *********** @@ -40,39 +40,39 @@ rack Attributes: \ **displayname**\ (rack.displayname) - + Alternative name for rack. Only used by PCM. - + \ **height**\ (rack.height) - + Number of units which can be stored in the rack. - + \ **num**\ (rack.num) - + The rack number. - + \ **rackname**\ (rack.rackname) - + The rack name. - + \ **room**\ (rack.room) - + The room in which the rack is located. - + \ **usercomment**\ (rack.comments) - + Any user-written notes. - + @@ -81,5 +81,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/route.7.rst b/docs/source/guides/admin-guides/references/man7/route.7.rst index 55b451253..1cbef8fc8 100644 --- a/docs/source/guides/admin-guides/references/man7/route.7.rst +++ b/docs/source/guides/admin-guides/references/man7/route.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **route Attributes:**\ \ *gateway*\ , \ *ifname*\ , \ *mask*\ , \ *net*\ , \ *routename*\ , \ *usercomment*\ +\ **route Attributes:**\ \ *gateway*\ , \ *ifname*\ , \ *mask*\ , \ *net*\ , \ *routename*\ , \ *usercomment*\ *********** @@ -40,39 +40,39 @@ route Attributes: \ **gateway**\ (routes.gateway) - + The gateway that routes the ip traffic from the mn to the nodes. It is usually a service node. - + \ **ifname**\ (routes.ifname) - + The interface name that facing the gateway. It is optional for IPv4 routes, but it is required for IPv6 routes. - + \ **mask**\ (routes.mask) - + The network mask. - + \ **net**\ (routes.net) - + The network address. - + \ **routename**\ (routes.routename) - + Name used to identify this route. - + \ **usercomment**\ (routes.comments) - + Any user-written notes. - + @@ -81,5 +81,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/site.7.rst b/docs/source/guides/admin-guides/references/man7/site.7.rst index 7c341e89b..c617ecd0f 100644 --- a/docs/source/guides/admin-guides/references/man7/site.7.rst +++ b/docs/source/guides/admin-guides/references/man7/site.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **site Attributes:**\ \ *installdir*\ , \ *master*\ , \ *xcatdport*\ +\ **site Attributes:**\ \ *installdir*\ , \ *master*\ , \ *xcatdport*\ *********** @@ -40,21 +40,21 @@ site Attributes: \ **installdir**\ (site.value) - + The installation directory - + \ **master**\ (site.value) - + The management node - + \ **xcatdport**\ (site.value) - + Port used by xcatd daemon on master - + @@ -63,5 +63,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/taskstate.7.rst b/docs/source/guides/admin-guides/references/man7/taskstate.7.rst index 09209820a..464a2206d 100644 --- a/docs/source/guides/admin-guides/references/man7/taskstate.7.rst +++ b/docs/source/guides/admin-guides/references/man7/taskstate.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **taskstate Attributes:**\ \ *command*\ , \ *disable*\ , \ *node*\ , \ *pid*\ , \ *reserve*\ , \ *state*\ +\ **taskstate Attributes:**\ \ *command*\ , \ *disable*\ , \ *node*\ , \ *pid*\ , \ *reserve*\ , \ *state*\ *********** @@ -40,39 +40,39 @@ taskstate Attributes: \ **command**\ (taskstate.command) - + Current command is running - + \ **disable**\ (taskstate.disable) - + Set to 'yes' or '1' to comment out this row. - + \ **node**\ (taskstate.node) - + The node name. - + \ **pid**\ (taskstate.pid) - + The process id of the request process. - + \ **reserve**\ (taskstate.reserve) - + used to lock the node - + \ **state**\ (taskstate.state) - + The task state(callback, running) for the node. - + @@ -81,5 +81,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/zone.7.rst b/docs/source/guides/admin-guides/references/man7/zone.7.rst index e96c9c0c3..7dca58ceb 100644 --- a/docs/source/guides/admin-guides/references/man7/zone.7.rst +++ b/docs/source/guides/admin-guides/references/man7/zone.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **zone Attributes:**\ \ *defaultzone*\ , \ *sshbetweennodes*\ , \ *sshkeydir*\ , \ *usercomment*\ , \ *zonename*\ +\ **zone Attributes:**\ \ *defaultzone*\ , \ *sshbetweennodes*\ , \ *sshkeydir*\ , \ *usercomment*\ , \ *zonename*\ *********** @@ -40,33 +40,33 @@ zone Attributes: \ **defaultzone**\ (zone.defaultzone) - + If nodes are not assigned to any other zone, they will default to this zone. If value is set to yes or 1. - + \ **sshbetweennodes**\ (zone.sshbetweennodes) - + Indicates whether passwordless ssh will be setup between the nodes of this zone. Values are yes/1 or no/0. Default is yes. - + \ **sshkeydir**\ (zone.sshkeydir) - + Directory containing the shared root ssh RSA keys. - + \ **usercomment**\ (zone.comments) - + Any user-provided notes. - + \ **zonename**\ (zone.zonename) - + The name of the zone. - + @@ -75,5 +75,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man7/zvmivp.7.rst b/docs/source/guides/admin-guides/references/man7/zvmivp.7.rst index 8d7c12ac9..5a8aeb8bf 100644 --- a/docs/source/guides/admin-guides/references/man7/zvmivp.7.rst +++ b/docs/source/guides/admin-guides/references/man7/zvmivp.7.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **zvmivp Attributes:**\ \ **\ +\ **zvmivp Attributes:**\ \ **\ *********** @@ -45,5 +45,5 @@ SEE ALSO ******** -\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ +\ **mkdef(1)**\ , \ **chdef(1)**\ , \ **lsdef(1)**\ , \ **rmdef(1)**\ diff --git a/docs/source/guides/admin-guides/references/man8/chtab.8.rst b/docs/source/guides/admin-guides/references/man8/chtab.8.rst index 65e69fbc2..cfe8e265c 100644 --- a/docs/source/guides/admin-guides/references/man8/chtab.8.rst +++ b/docs/source/guides/admin-guides/references/man8/chtab.8.rst @@ -58,11 +58,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -73,64 +73,64 @@ EXAMPLES -1. To add a node=node1 to the nodelist table with groups=all: - - +1. To add a node=node1 to the nodelist table with groups=all: + + .. code-block:: perl - + chtab node=node1 nodelist.groups=all - - + + 2. To add a keyword (tftpdir) and value (/tftpboot) to the site table: - - + + .. code-block:: perl - + chtab key=tftpdir site.value=/tftpboot + + - - -3. To add node1 to the nodetype table with os=rhel5: - - +3. To add node1 to the nodetype table with os=rhel5: + + .. code-block:: perl - + chtab node=node1 nodetype.os=rhel5 + + - - -4. To change node1 in nodetype table setting os=sles: - - +4. To change node1 in nodetype table setting os=sles: + + .. code-block:: perl - + chtab node=node1 nodetype.os=sles - - + + 5. To change node1 by appending otherpkgs to the postbootscripts field in the postscripts table: - - + + .. code-block:: perl - + chtab node=node1 postscripts.postbootscripts+=otherpkgs - - + + 6. To delete node1 from nodetype table: - - + + .. code-block:: perl - + chtab -d node=node1 nodetype - - + + diff --git a/docs/source/guides/admin-guides/references/man8/copycds-cdrom.8.rst b/docs/source/guides/admin-guides/references/man8/copycds-cdrom.8.rst index bc9f48015..ef33aff24 100644 --- a/docs/source/guides/admin-guides/references/man8/copycds-cdrom.8.rst +++ b/docs/source/guides/admin-guides/references/man8/copycds-cdrom.8.rst @@ -11,7 +11,7 @@ SYNOPSIS ******** -\ **copycds-cdrom**\ \ *[copycds options]*\ \ *[drive]*\ +\ **copycds-cdrom**\ \ *[copycds options]*\ \ *[drive]*\ *********** diff --git a/docs/source/guides/admin-guides/references/man8/copycds.8.rst b/docs/source/guides/admin-guides/references/man8/copycds.8.rst index 6353a9dde..37c399113 100644 --- a/docs/source/guides/admin-guides/references/man8/copycds.8.rst +++ b/docs/source/guides/admin-guides/references/man8/copycds.8.rst @@ -44,40 +44,40 @@ OPTIONS -\ **-n|-**\ **-name|-**\ **-osver**\ =\ *distroname*\ - +\ **-n|-**\ **-name|-**\ **-osver**\ =\ *distroname*\ + The linux distro name and version that the ISO/DVD contains. Examples: rhels6.3, sles11.2, fedora9. Note the 's' in rhels6.3 which denotes the Server version of RHEL, which is typically used. + - -\ **-a|-**\ **-arch**\ =\ *architecture*\ - +\ **-a|-**\ **-arch**\ =\ *architecture*\ + The architecture of the linux distro on the ISO/DVD. Examples: x86, x86_64, ppc64, s390x. + - -\ **-p|-**\ **-path**\ =\ *ospkgpath*\ - +\ **-p|-**\ **-path**\ =\ *ospkgpath*\ + The destination directory to which the contents of ISO/DVD will be copied. When this option is not specified, the default destination directory will be formed from the \ **installdir**\ site table attribute and the distro name and architecture, for example: /install/rhel6.3/x86_64. This option is only supported for distributions of sles, redhat and windows. + - -\ **-i|-**\ **-inspection**\ - +\ **-i|-**\ **-inspection**\ + Check whether xCAT can recognize the DVDs/ISOs in the argument list, but do not copy the disc. Displays the os distribution name, architecture and disc no of each recognized DVD/ISO. This option is only supported for distributions of sles, redhat and windows. + - -\ **-o|-**\ **-noosimage**\ - +\ **-o|-**\ **-noosimage**\ + Do not create the default osimages based on the osdistro copied in. By default, \ **copycds**\ will create a set of osimages based on the osdistro. + - -\ **-w|-**\ **-nonoverwrite**\ - +\ **-w|-**\ **-nonoverwrite**\ + Complain and exit if the os disc has already been copied in. By default, \ **copycds**\ will overwrite the os disc already copied in. - + @@ -98,74 +98,74 @@ EXAMPLES 1. To copy the RPMs from a set of ISOs that represent the DVDs of a distro: - - + + .. code-block:: perl - + copycds dvd1.iso dvd2.iso - - + + 2. To copy the RPMs from a physical DVD to /depot/kits/3 directory: - - + + .. code-block:: perl - + copycds -p /depot/kits/3 /dev/dvd - - + + 3. To copy the RPMs from a DVD ISO of a very recently released distro: - - + + .. code-block:: perl - + copycds -n rhels6.4 -a x86_64 dvd.iso - - + + 4. To check whether a DVD ISO can be recognized by xCAT and display the recognized disc info: - - + + .. code-block:: perl - + copycds -i /media/RHEL/6.2/RHEL6.2-20111117.0-Server-ppc64-DVD1.iso - - + + Output will be similar to: - - + + .. code-block:: perl - + OS Image:/media/RHEL/6.2/RHEL6.2-20111117.0-Server-ppc64-DVD1.iso DISTNAME:rhels6.2 ARCH:ppc64 DISCNO:1 - - + + For the attributes that are not recognized, the value will be blank. - + 5. To copy the packages from a supplemental DVD ISO file: - - + + .. code-block:: perl - + copycds /isodir/RHEL6.5/RHEL6.5-Supplementary-20131114.2-Server-ppc64-DVD1.iso -n rhels6.5-supp - - + + Also, remember to add the new directory to your osimage definition: - - + + .. code-block:: perl - + chdef -t osimage myosimage -p pkgdir=/install/rhels6.5-supp/ppc64 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/makedhcp.8.rst b/docs/source/guides/admin-guides/references/man8/makedhcp.8.rst index ee3a581d5..da215317c 100644 --- a/docs/source/guides/admin-guides/references/man8/makedhcp.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makedhcp.8.rst @@ -29,9 +29,9 @@ SYNOPSIS \ **makedhcp**\ \ *noderange*\ [\ **-s**\ \ *statements*\ ] [\ **-l | -**\ **-localonly**\ ] -\ **makedhcp**\ \ **-q**\ \ *noderange*\ +\ **makedhcp**\ \ **-q**\ \ *noderange*\ -\ **makedhcp**\ \ **[-h|-**\ **-help]**\ +\ **makedhcp**\ \ **[-h|-**\ **-help]**\ *********** @@ -44,30 +44,30 @@ The \ **makedhcp**\ command is supported for both Linux and AIX clusters. 1. - + Start by filling out the networks(5)|networks.5 table properly. - + 2. - + Then use the \ **makedhcp -n**\ option to create a new dhcp configuration file. You can set the site table, dhcplease attribute to the lease time for the dhcp client. The default value is 43200. - + 3. - + Next, get the node IP addresses and MACs defined in the xCAT database. Also, get the hostnames and IP addresses pushed to /etc/hosts (using makehosts(8)|makehosts.8) and to DNS (using makedns(8)|makedns.8). - + 4. - + Then run \ **makedhcp**\ with a noderange or the \ **-a**\ option. This will inject into dhcpd configuration data pertinent to the specified nodes. On linux, the configuration information immediately takes effect without a restart of DHCP. - + If you need to delete node entries from the DHCP configuration, use the \ **-d**\ flag. @@ -79,8 +79,8 @@ OPTIONS -\ **-n**\ - +\ **-n**\ + Create a new dhcp configuration file with a network statement for each network the dhcp daemon should listen on. (Which networks dhcpd should listen on can be controlled by the dhcpinterfaces attribute in the site(5)|site.5 table.) The \ **makedhcp**\ command will automatically restart the dhcp daemon after this operation. @@ -88,58 +88,58 @@ OPTIONS For Linux systems the file will include network entries as well as certain general parameters such as a dynamic range and omapi configuration. For AIX systems the file will include network entries. On AIX systems, if there are any non-xCAT entries in the existing configuration file they will be preserved and added to the end of the new configuration file. + - -\ **-a**\ - +\ **-a**\ + Define all nodes to the DHCP server. (Will only add nodes that can be reached, network-wise, by this DHCP server.) The dhcp daemon does not have to be restarted after this. On AIX systems \ **makedhcp**\ will not add entries for cluster nodes that will be installed using NIM. The entries for these nodes will be managed by NIM. + - -\ *noderange*\ - +\ *noderange*\ + Add the specified nodes to the DHCP server configuration. + - -\ **-s**\ \ *statements*\ - +\ **-s**\ \ *statements*\ + For the input noderange, the argument will be interpreted like dhcp configuration file text. + - -\ **-d**\ \ *noderange*\ - +\ **-d**\ \ *noderange*\ + Delete node entries from the DHCP server configuration. On AIX, any entries created by NIM will not be removed. + - -\ **-a -d**\ - +\ **-a -d**\ + Delete all node entries, that were added by xCAT, from the DHCP server configuration. + - -\ **-l | -**\ **-localonly**\ - +\ **-l | -**\ **-localonly**\ + Configure dhcpd on the local machine only. Without this option, makedhcp will also send this operation to any service nodes that service the nodes in the noderange. + - -\ **-q**\ \ *noderange*\ - +\ **-q**\ \ *noderange*\ + Query the node entries from the DHCP server configuration. On AIX, any entries created by NIM will not be listed. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. - + @@ -153,7 +153,7 @@ RETURN VALUE -1. An error has occurred. +1. An error has occurred. @@ -165,46 +165,46 @@ EXAMPLES 1. Create a new DHCP configuration file and add the network definitions: - - + + .. code-block:: perl - + makedhcp -n - - + + 2. Define all nodes to the dhcp server: - - + + .. code-block:: perl - + makedhcp -a - - + + Note: This does not add nodes that will be installed with AIX/NIM. - + 3. Will cause dhcp on the next request to set root-path appropriately for only node5. Note some characters (e.g. ") must be doubly escaped (once for the shell, and once for the OMAPI layer). - - + + .. code-block:: perl - + makedhcp node5 -s 'option root-path \"172.16.0.1:/install/freebsd6.2/x86_64\";' - - + + 4. Query a node from the DHCP server. - - + + .. code-block:: perl - + # makedhcp -q node01 node01: ip-address = 91.214.34.156, hardware-address = 00:00:c9:c6:6c:42 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/makedns.8.rst b/docs/source/guides/admin-guides/references/man8/makedns.8.rst index 961a13037..a97c1401a 100644 --- a/docs/source/guides/admin-guides/references/man8/makedns.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makedns.8.rst @@ -59,36 +59,36 @@ OPTIONS -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode. + - -\ **-n | -**\ **-new**\ - +\ **-n | -**\ **-new**\ + Use this flag to create new named configuration and db files. + - -\ **-d | -**\ **-delete**\ - +\ **-d | -**\ **-delete**\ + Remove the DNS records. + - -\ **-e | -**\ **-external**\ - +\ **-e | -**\ **-external**\ + Update DNS records to the external DNS server listed in /etc/resolv.conf. - + Enabling the site attribute \ *externaldns*\ means use 'external' DNS by default. If setting \ *externaldns*\ to 1, you need NOT use \ **-e**\ flag in every makedns call. + - -\ **noderange**\ - +\ **noderange**\ + A set of comma delimited node names and/or group names. See the "noderange" man page for details on additional supported formats. - + @@ -99,43 +99,43 @@ Examples 1. To set up DNS for all the hosts in /etc/hosts file. - - + + .. code-block:: perl - + makedns - - + + 2. To set up DNS for \ *node1*\ . - - + + .. code-block:: perl - + makedns node1 - - + + 3. To create a new named configuration and db files for all hosts in /etc/hosts. - - + + .. code-block:: perl - + makedns -n - - + + 4. To delete the DNS records for \ *node1*\ . - - + + .. code-block:: perl - + makedns -d node1 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/makegocons.8.rst b/docs/source/guides/admin-guides/references/man8/makegocons.8.rst index 2ba2fe660..dc4af7e75 100644 --- a/docs/source/guides/admin-guides/references/man8/makegocons.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makegocons.8.rst @@ -29,6 +29,8 @@ DESCRIPTION *********** +In order to use \ *goconserver*\ instead of \ *conserver*\ , reference https://xcat-docs.readthedocs.io/en/latest/advanced/goconserver/quickstart.html for more information. + The \ **makegocons**\ command will start the goconserver service if it is not started, then send the REST request to create or delete the session resource in the goconserver service. The session information including the session command or ssh connection parameters (for openbmc) is generated by xcat @@ -49,7 +51,7 @@ which nodes will have their consoles accessed from the management node and which To start goconserver on the specified service node, setup goconserver package on that service node, then set the \ **console**\ column of \ **servicenode**\ table to \ **2**\ . -To support diskless service node, a new column \ **consoleenabled**\ has been added in \ **nodehm**\ table, it is used by \ **makegocons**\ +To support diskless service node, a new column \ **consoleenabled**\ has been added in \ **nodehm**\ table, it is used by \ **makegocons**\ command to save the current console state for the node. After reinstalling the service node, the console storage file which maintain the console nodes by goconserver is lost, xCAT would register the console nodes into goconserver based on \ **consoleenabled**\ attribute when restarting xcatd service. @@ -66,40 +68,40 @@ OPTIONS -\ **-d|-**\ **-delete**\ - +\ **-d|-**\ **-delete**\ + Delete rather than add or refresh the nodes specified as a noderange. + - -\ **-C|-**\ **-cleanup**\ - +\ **-C|-**\ **-cleanup**\ + Remove the entries for the nodes whose definitions have been removed from xCAT db. + - -\ **-q|-**\ **-query**\ - +\ **-q|-**\ **-query**\ + List the console connection of the nodes. If noderange is not specified, all of the console nodes will be displayed. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Display version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. - + @@ -109,11 +111,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -125,43 +127,43 @@ EXAMPLES 1. To create goconserver configuration for all the nodes. - - + + .. code-block:: perl - + makegocons - - + + 2. To create goconserver configuration for nodes node01-node10. - - + + .. code-block:: perl - + makegocons node01-node10 - - + + 3. To remove goconserver configuration for node01. - - + + .. code-block:: perl - + makegocons -d node01 - - + + 4. To list console connection for node01. - - + + .. code-block:: perl - + makegocons -q node01 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/makehosts.8.rst b/docs/source/guides/admin-guides/references/man8/makehosts.8.rst index 377da28ff..b94406219 100644 --- a/docs/source/guides/admin-guides/references/man8/makehosts.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makehosts.8.rst @@ -49,32 +49,32 @@ OPTIONS -\ **-n**\ - +\ **-n**\ + Completely replace the /etc/hosts file, losing any previous content. If this option is not specified, it will only replace the lines in the file that correspond to the nodes in the specified noderange. + - -\ **-l | -**\ **-longnamefirst**\ - +\ **-l | -**\ **-longnamefirst**\ + The FQDN (Fully Qualified Domain Name) of the host will appear before the PQDN (Partially Qualified Domain Name) for each host in the /etc/hosts file. The default is PQDN first. After xCAT is installed, the attribute name "FQDNfirst" can be added into "site" table manually. If the value is set as "1", "yes" or "enable", the /etc/hosts entries generated by "makehosts" will put the FQDN before the PQDN. Otherwise, the original behavior will be performed. + - -\ **-m | -**\ **-mactolinklocal**\ - +\ **-m | -**\ **-mactolinklocal**\ + Updates /etc/hosts file with IPv6 link local addresses, the link local address is generated from the mac address stored in mac table. + - -\ **-d**\ - +\ **-d**\ + Delete rather than create records. This will also delete any additional network interfaces (NICs) included in the node definitions. - + @@ -85,26 +85,26 @@ EXAMPLES 1. Add entries to /etc/hosts for all nodes included in the xCAT node group called "compute". - - + + .. code-block:: perl - + makehosts compute - - + + 2. If the xCAT hosts table contains: - - + + .. code-block:: perl - + "compute","|node(\d+)|1.2.3.($1+0)|","|(.*)|($1).cluster.net|",, - - + + Assuming the group "compute" contains node01, node02, etc., then in /etc/hosts they will be given IP addresses of 1.2.3.1, 1.2.3.2, etc. - + diff --git a/docs/source/guides/admin-guides/references/man8/makeknownhosts.8.rst b/docs/source/guides/admin-guides/references/man8/makeknownhosts.8.rst index b82da98f3..fe31b65ad 100644 --- a/docs/source/guides/admin-guides/references/man8/makeknownhosts.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makeknownhosts.8.rst @@ -46,29 +46,29 @@ OPTIONS -\ *noderange*\ - +\ *noderange*\ + A set of comma delimited node names and/or group names. See the \ *noderange*\ man page for details on supported formats. + - -\ **-d|-**\ **-delete**\ - +\ **-d|-**\ **-delete**\ + Only removes the entries for the nodes from the known_hosts file. + - -\ **-r|-**\ **-remove**\ - +\ **-r|-**\ **-remove**\ + Synonymous to \ **-d|-**\ **-delete**\ . + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Verbose mode. - + @@ -79,32 +79,32 @@ EXAMPLES 1. To build the known_hosts entry for the nodes in the compute group - - + + .. code-block:: perl - + makeknownhosts compute - - + + 2. To build the known_hosts entry for the nodes in the lpars and service groups - - + + .. code-block:: perl - + makeknownhosts lpars,service - - + + 3. To remove the known_hosts entry for node02 - - + + .. code-block:: perl - + makeknownhosts node02 -d - - + + diff --git a/docs/source/guides/admin-guides/references/man8/makenetworks.8.rst b/docs/source/guides/admin-guides/references/man8/makenetworks.8.rst index 99f296e05..6cead8f4d 100644 --- a/docs/source/guides/admin-guides/references/man8/makenetworks.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makenetworks.8.rst @@ -47,7 +47,7 @@ For example: .. code-block:: perl makenetworks -d > mynetstanzas - + cat mynetstanzas | mkdef -z @@ -88,11 +88,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -104,31 +104,31 @@ EXAMPLES 1. Gather cluster network information and create xCAT network definitions. - - + + .. code-block:: perl - + makenetworks - - + + 2. Display cluster network information but do not write the network definitions to the xCAT database. - - + + .. code-block:: perl - + makenetworks -d - - + + The output would be one or more stanzas of information similar to the following. The line that ends with a colon is the value of the "netname" attribute and is the name of the network object to use with the lsdef, mkdef, chdef and rmdef commands. - + 9_114_37_0-255_255_255_0: objtype=network gateway=9.114.37.254 mask=255.255.255.0 net=9.114.37.0 - + diff --git a/docs/source/guides/admin-guides/references/man8/makeroutes.8.rst b/docs/source/guides/admin-guides/references/man8/makeroutes.8.rst index c369fa26b..1bb33dd5c 100644 --- a/docs/source/guides/admin-guides/references/man8/makeroutes.8.rst +++ b/docs/source/guides/admin-guides/references/man8/makeroutes.8.rst @@ -54,28 +54,28 @@ OPTIONS -\ **-d|-**\ **-delete**\ - +\ **-d|-**\ **-delete**\ + Specifies to delete the given routes. If not specified, the action is to add routes. + - -\ **-r|-**\ **-routename**\ - +\ **-r|-**\ **-routename**\ + Specifies a list of comma separated route names defined in the \ **routes**\ table. If omitted, all routes defined in \ **noderes.routenames**\ for nodes or \ **site.mnroutenames**\ for the management node will be used. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. - + @@ -86,43 +86,43 @@ EXAMPLES 1. To add all routes from the \ **site.mnroutenames**\ to the os route table for the management node. - - + + .. code-block:: perl - + makeroutes - - + + 2. To add all the routes from \ **noderes.routenames**\ to the os route table for node1. - - + + .. code-block:: perl - + makeroutes node1 - - + + 3. To add route rr1 and rr2 to the os route table for the management node. - - + + .. code-block:: perl - + makeroutes -r rr1,rr2 - - + + 4. To delete route rr1 and rr2 from the os route table on node1 and node1. - - + + .. code-block:: perl - + makeroutes node1,node2 -d -r rr1,rr2 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/mknb.8.rst b/docs/source/guides/admin-guides/references/man8/mknb.8.rst index 174e140a8..4dd9d6c4b 100644 --- a/docs/source/guides/admin-guides/references/man8/mknb.8.rst +++ b/docs/source/guides/admin-guides/references/man8/mknb.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **mknb**\ \ *arch*\ +\ **mknb**\ \ *arch*\ *********** @@ -43,10 +43,10 @@ OPTIONS -\ *arch*\ - +\ *arch*\ + The hardware architecture for which to build the boot image. - + @@ -56,11 +56,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. diff --git a/docs/source/guides/admin-guides/references/man8/nodeadd.8.rst b/docs/source/guides/admin-guides/references/man8/nodeadd.8.rst index 9a92b2edc..1025f7770 100644 --- a/docs/source/guides/admin-guides/references/man8/nodeadd.8.rst +++ b/docs/source/guides/admin-guides/references/man8/nodeadd.8.rst @@ -47,16 +47,16 @@ OPTIONS -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -66,11 +66,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -82,23 +82,23 @@ EXAMPLES 1. To add nodes in noderange node1-node4 with group all: - - + + .. code-block:: perl - + nodeadd node1-node4 groups=all - - + + 2. To add nodes in noderange node1-node4 to the nodetype table with os=rhel5: - - + + .. code-block:: perl - + nodeadd node1-node4 groups=all,rhel5 nodetype.os=rhel5 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/nodeset.8.rst b/docs/source/guides/admin-guides/references/man8/nodeset.8.rst index e09d07592..97ebf1649 100644 --- a/docs/source/guides/admin-guides/references/man8/nodeset.8.rst +++ b/docs/source/guides/admin-guides/references/man8/nodeset.8.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -23,13 +23,13 @@ Name \ **nodeset**\ \ *noderange*\ \ **osimage**\ [=\ *imagename*\ ] [\ **-**\ **-noupdateinitrd**\ ] [\ **-**\ **-ignorekernelchk**\ ] -\ **nodeset**\ \ *noderange*\ \ **runimage=**\ \ *task*\ +\ **nodeset**\ \ *noderange*\ \ **runimage=**\ \ *task*\ \ **nodeset**\ [\ **-h | -**\ **-help | -v | -**\ **-version**\ ] ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -65,94 +65,94 @@ A user can supply their own scripts to be run on the mn or on the service node ( *************** -\ **Options**\ +\ **Options**\ *************** -\ **boot**\ - +\ **boot**\ + Instruct network boot loader to be skipped, generally meaning boot to hard disk + - -\ **offline**\ - +\ **offline**\ + Cleanup the current pxe/tftp boot configuration files for the nodes requested + - -\ **osimage | osimage=**\ \ *imagename*\ - +\ **osimage | osimage=**\ \ *imagename*\ + Prepare server for installing a node using the specified os image. The os image is defined in the \ *osimage*\ table and \ *linuximage*\ table. If the is omitted, the os image name will be obtained from \ *nodetype.provmethod*\ for the node. + - -\ **-**\ **-noupdateinitrd**\ - +\ **-**\ **-noupdateinitrd**\ + Skip the rebuilding of initrd when the 'netdrivers', 'driverupdatesrc' or 'osupdatename' were set for injecting new drivers to initrd. But, the \ **geninitrd**\ command should be run to rebuild the initrd for new drivers injecting. This is used to improve the performance of \ **nodeset**\ command. + - -\ **-**\ **-ignorekernelchk**\ - +\ **-**\ **-ignorekernelchk**\ + Skip the kernel version checking when injecting drivers from osimage.driverupdatesrc. That means all drivers from osimage.driverupdatesrc will be injected to initrd for the specific target kernel. + - -\ **runimage**\ =\ *task*\ - +\ **runimage**\ =\ *task*\ + If you would like to run a task after deployment, you can define that task with this attribute. + - -\ **stat**\ - +\ **stat**\ + Display the current boot loader config file description for the nodes requested. When \ **disjointdhcps**\ is set, using \ **-a**\ to display them on all available service nodes. + - -\ **runcmd=**\ \ *command*\ - +\ **runcmd=**\ \ *command*\ + This instructs the node to boot to the xCAT genesis environment and specified command to be executed. + - -\ **shell**\ - +\ **shell**\ + This instructs the node to boot to the xCAT genesis environment, and present a shell prompt on console. The node will also be able to be sshed into and have utilities such as wget, tftp, scp, nfs, and cifs. It will have storage drivers available for many common systems. + - -\ **shutdown**\ - +\ **shutdown**\ + To make the node to get into power off status. This status only can be used after \ **runcmd**\ and \ **runimage**\ to power off the node after the performing of operations. + - -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose mode. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Print help. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Print version. - + ************* -\ **Files**\ +\ **Files**\ ************* @@ -173,44 +173,44 @@ root directory and the TFTP xCAT subdirectory. /tftpboot and **************** -\ **Examples**\ +\ **Examples**\ **************** 1. To setup to install mycomputeimage on the compute node group. - - + + .. code-block:: perl - + nodeset compute osimage=mycomputeimage - - + + 2. To run http://$master/image.tgz after deployment: - - + + .. code-block:: perl - + nodeset $node runimage=http://$MASTER/image.tgz - - + + 3. Boot node1 into xCAT genesis environment and execute bmcsetup script. This causes the IP, netmask, gateway, username, and password to be programmed according to the configuration in node object definition. - - + + .. code-block:: perl - + rinstall node1 runcmd=bmcsetup - - + + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man8/rescanplugins.8.rst b/docs/source/guides/admin-guides/references/man8/rescanplugins.8.rst index 91badc206..6de8cd178 100644 --- a/docs/source/guides/admin-guides/references/man8/rescanplugins.8.rst +++ b/docs/source/guides/admin-guides/references/man8/rescanplugins.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **rescanplugins**\ +\ **rescanplugins**\ \ **rescanplugins**\ [\ **-h | -**\ **-help**\ ] @@ -44,22 +44,22 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the release version of the code. + - -\ **-s|-**\ **-servicenodes**\ - +\ **-s|-**\ **-servicenodes**\ + Process the rescanplugins on the management node and on all service nodes. The rescanplugins command will be sent to the xcatd daemon on all nodes defined in the servicenode table. The default is to only run on the management node. - + @@ -70,22 +70,22 @@ EXAMPLES 1. To rescan the plugins only on the xCAT Management Node: - - + + .. code-block:: perl - + rescanplugins - - + + 2. To rescan the plugins on the xCAT Management Node and on all service nodes: - - + + .. code-block:: perl - + rescanplugins -s - - + + diff --git a/docs/source/guides/admin-guides/references/man8/rinstall.8.rst b/docs/source/guides/admin-guides/references/man8/rinstall.8.rst index c0923a4f3..972bd40c5 100644 --- a/docs/source/guides/admin-guides/references/man8/rinstall.8.rst +++ b/docs/source/guides/admin-guides/references/man8/rinstall.8.rst @@ -15,158 +15,160 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** \ **rinstall**\ \ *noderange*\ [\ **boot**\ | \ **shell**\ | \ **runcmd=**\ \ *command*\ ] [\ **-c | -**\ **-console**\ ] [\ **-V | -**\ **-verbose**\ ] -\ **rinstall**\ \ *noderange*\ \ **osimage**\ [=\ *imagename*\ ] [\ **-**\ **-noupdateinitrd**\ ][\ **-**\ **-ignorekernelchk**\ ] [\ **-c | -**\ **-console**\ ] [\ **-u | -**\ **-uefimode**\ ] [\ **-V | -**\ **-verbose**\ ] +\ **rinstall**\ \ *noderange*\ [\ **osimage**\ [=\ *imagename*\ ]] [\ **-**\ **-noupdateinitrd**\ ][\ **-**\ **-ignorekernelchk**\ ] [\ **-c | -**\ **-console**\ ] [\ **-u | -**\ **-uefimode**\ ] [\ **-V | -**\ **-verbose**\ ] -\ **rinstall**\ \ *noderange*\ \ **runimage=**\ \ *task*\ +\ **rinstall**\ \ *noderange*\ \ **runimage=**\ \ *task*\ \ **rinstall**\ [\ **-h | -**\ **-help | -v | -**\ **-version**\ ] ******************* -\ **Description**\ +\ **Description**\ ******************* \ **rinstall**\ is a convenience command to begin OS provision on a noderange. -If \ **osimage**\ =\ *imagename*\ is specified or \ **osimage**\ is specified and nodetype.provmethod=\ **osimage**\ is set, provision the noderange with the osimage specified/configured. +If \ **osimage**\ =\ *imagename*\ is specified or \ **osimage**\ is specified and nodetype.provmethod=\ *osimage*\ is set, provision the noderange with the osimage specified/configured. If no task specified, default is \ **osimage**\ . -If \ **-c**\ is specified, it will then run \ **rcons**\ on the node. This is allowed only if one node is in the noderange. If consoles are needed on multiple nodes, see winstall(8)|winstall.8. +If \ **-c**\ is specified, \ **rinstall**\ will run \ **rcons**\ on the node. This is allowed only if one node is in the noderange. If consoles are needed on multiple nodes, see winstall(8)|winstall.8. *************** -\ **Options**\ +\ **Options**\ *************** -\ **boot**\ - +\ **boot**\ + Instruct network boot loader to be skipped, generally meaning boot to hard disk - + \ **osimage**\ [=\ *imagename*\ ] - + Prepare server for installing a node using the specified OS image. The OS image is defined in the \ *osimage*\ table and \ *linuximage*\ table. If the \ *imagename*\ is omitted, the OS image name will be obtained from \ *nodetype.provmethod*\ for the node. + - -\ **-**\ **-noupdateinitrd**\ Skip the rebuilding of initrd when the 'netdrivers', 'driverupdatesrc' or 'osupdatename' were set for injecting new drivers to initrd. But, the \ **geninitrd**\ command should be run to rebuild the initrd for new drivers injecting. This is used to improve the performance of \ **rinstall**\ command. +\ **-**\ **-noupdateinitrd**\ + + Skip the rebuilding of initrd when the 'netdrivers', 'driverupdatesrc' or 'osupdatename' were set for injecting new drivers to initrd. But, the \ **geninitrd**\ command should be run to rebuild the initrd for new drivers injecting. This is used to improve the performance of \ **rinstall**\ command. + - -\ **-**\ **-ignorekernelchk**\ - +\ **-**\ **-ignorekernelchk**\ + Skip the kernel version checking when injecting drivers from osimage.driverupdatesrc. That means all drivers from osimage.driverupdatesrc will be injected to initrd for the specific target kernel. + - -\ **runimage=**\ \ *task*\ - +\ **runimage=**\ \ *task*\ + If you would like to run a task after deployment, you can define that task with this attribute. + - -\ **runcmd=**\ \ *command*\ - +\ **runcmd=**\ \ *command*\ + This instructs the node to boot to the xCAT genesis environment and specified command to be executed. + - -\ **shell**\ - +\ **shell**\ + This instructs the node to boot to the xCAT genesis environment, and present a shell prompt on console. The node will also be able to be sshed into and have utilities such as wget, tftp, scp, nfs, and cifs. It will have storage drivers available for many common systems. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display version. + - -\ **-u | -**\ **-uefimode**\ - +\ **-u | -**\ **-uefimode**\ + For BMC-based servers, to specify the next boot mode to be "UEFI Mode". + - -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose output. + - -\ **-c | -**\ **-console**\ - +\ **-c | -**\ **-console**\ + Requests that \ **rinstall**\ runs \ **rcons**\ once the provision starts. This will only work if there is only one node in the noderange. See winstall(8)|winstall.8 for starting consoles on multiple nodes. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. Provision nodes 1 through 20, using their current configuration. - - + + .. code-block:: perl - + rinstall node1-node20 - - + + 2. Provision nodes 1 through 20 with the osimage rhels6.4-ppc64-netboot-compute. - - + + .. code-block:: perl - + rinstall node1-node20 osimage=rhels6.4-ppc64-netboot-compute - - + + 3. Provision node1 and start a console to monitor the process. - - + + .. code-block:: perl - + rinstall node1 -c - - + + 4. Boot node1 into xCAT genesis environment and execute bmcsetup script. This causes the IP, netmask, gateway, username, and password to be programmed according to the configuration in node object definition. - - + + .. code-block:: perl - + rinstall node1 runcmd=bmcsetup - - + + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man8/rmosdistro.8.rst b/docs/source/guides/admin-guides/references/man8/rmosdistro.8.rst index 51f8268b1..396299699 100644 --- a/docs/source/guides/admin-guides/references/man8/rmosdistro.8.rst +++ b/docs/source/guides/admin-guides/references/man8/rmosdistro.8.rst @@ -38,22 +38,22 @@ OPTIONS -\ **-a | -**\ **-all**\ - +\ **-a | -**\ **-all**\ + If specified, try to delete all the OS Distros. + - -\ **-f | -**\ **-force**\ - +\ **-f | -**\ **-force**\ + Remove referenced OS Distros, never prompt. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Show info of rmosdistro usage. - + @@ -76,32 +76,32 @@ EXAMPLES 1. To remove OS Distro "rhels6.2-ppc64" and "sles11.2-ppc64": - - + + .. code-block:: perl - + rmosdistro rhels6.2-ppc64 sles11.2-ppc64 - - + + 2. To remove OS Distro "rhels6.2-ppc64", regardless of whether is referenced by any osimage: - - + + .. code-block:: perl - + rmosdistro -f rhels6.2-ppc64 - - + + 3. To remove all OS Distros: - - + + .. code-block:: perl - + rmosdistro -a - - + + diff --git a/docs/source/guides/admin-guides/references/man8/runsqlcmd.8.rst b/docs/source/guides/admin-guides/references/man8/runsqlcmd.8.rst index 1f6790e4b..7554e407d 100644 --- a/docs/source/guides/admin-guides/references/man8/runsqlcmd.8.rst +++ b/docs/source/guides/admin-guides/references/man8/runsqlcmd.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **runsqlcmd**\ +\ **runsqlcmd**\ \ **runsqlcmd**\ [\ **-h | -**\ **-help**\ ] @@ -49,48 +49,48 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays current code version. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Displays extra debug information. + - -\ **-d|-**\ **-dir**\ - +\ **-d|-**\ **-dir**\ + To use a directory other than the default directory, enter the directory path here. + - -\ **-f|-**\ **-files**\ - +\ **-f|-**\ **-files**\ + Comma separated list of files (full path), wildcard (\*) can be used. + - -\ **File format**\ - +\ **File format**\ + The files must be of the form .sql or _.sql where - + is mysql,pgsql, or db2. Files must have permission 0755. + - -\ *sql statement*\ - +\ *sql statement*\ + Quoted sql statement syntax appropriate for the current database. - + @@ -101,52 +101,52 @@ EXAMPLES 1. To run the database appropriate \*.sql files in /opt/xcat/lib/perl/xCAT_schema : - - + + .. code-block:: perl - + runsqlcmd - - + + 2. To run the database appropriate \*.sql files in /tmp/mysql: - - + + .. code-block:: perl - + runsqlcmd -d /tmp/mysql - - + + 3. To run the database appropriate \*.sql files in the input list: - - + + .. code-block:: perl - + runsqlcmd -f "/tmp/mysql/test*,/tmp/mysql/test1*" - - + + 4. To checkout one DB2 sql file: - - + + .. code-block:: perl - + runsqlcmd -f /tmp/db2/test_db2.sql - - + + 5. To run the following command to the database: - - + + .. code-block:: perl - + runsqlcmd "Select * from site;" - - + + diff --git a/docs/source/guides/admin-guides/references/man8/setupiscsidev.8.rst b/docs/source/guides/admin-guides/references/man8/setupiscsidev.8.rst index ab4b2beee..7685b9efb 100644 --- a/docs/source/guides/admin-guides/references/man8/setupiscsidev.8.rst +++ b/docs/source/guides/admin-guides/references/man8/setupiscsidev.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **setupiscsidev**\ [\ **-s|-**\ **-size**\ ] \ *noderange*\ +\ **setupiscsidev**\ [\ **-s|-**\ **-size**\ ] \ *noderange*\ \ **setupiscsidev**\ [\ **-h|-**\ **-help|-v|-**\ **-version**\ ] @@ -40,22 +40,22 @@ OPTIONS -\ **-s|-**\ **-size**\ - +\ **-s|-**\ **-size**\ + The size of the LUN that should be created. Default is 4096. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Display version. + - -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. - + @@ -65,11 +65,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. diff --git a/docs/source/guides/admin-guides/references/man8/tabch.8.rst b/docs/source/guides/admin-guides/references/man8/tabch.8.rst index 109b5705e..2e0d6e076 100644 --- a/docs/source/guides/admin-guides/references/man8/tabch.8.rst +++ b/docs/source/guides/admin-guides/references/man8/tabch.8.rst @@ -56,11 +56,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -71,64 +71,64 @@ EXAMPLES -1. To add a node=node1 to the nodelist table with groups=all: - - +1. To add a node=node1 to the nodelist table with groups=all: + + .. code-block:: perl - + tabch node=node1 nodelist.groups=all + + - - -2. To add a keyword (tftpdir) and value (/tftpboot) to the site table: - - +2. To add a keyword (tftpdir) and value (/tftpboot) to the site table: + + .. code-block:: perl - + tabch key=tftpdir site.value=/tftpboot + + - - -3. To add node1 to the nodetype table with os=rhel5: - - +3. To add node1 to the nodetype table with os=rhel5: + + .. code-block:: perl - + tabch node=node1 nodetype.os=rhel5 + + - - -4. To change node1 in nodetype table setting os=sles: - - +4. To change node1 in nodetype table setting os=sles: + + .. code-block:: perl - + tabch node=node1 nodetype.os=sles + + - - -5. To change node1 by appending otherpkgs to the postbootscripts field in the postscripts table: - - +5. To change node1 by appending otherpkgs to the postbootscripts field in the postscripts table: + + .. code-block:: perl - + tabch node=node1 postscripts.postbootscripts+=otherpkgs + + - - -6. To delete node1 from nodetype table: - - +6. To delete node1 from nodetype table: + + .. code-block:: perl - + tabch -d node=node1 nodetype - - + + diff --git a/docs/source/guides/admin-guides/references/man8/tabdump.8.rst b/docs/source/guides/admin-guides/references/man8/tabdump.8.rst index 7b67d827f..c83ce5cf1 100644 --- a/docs/source/guides/admin-guides/references/man8/tabdump.8.rst +++ b/docs/source/guides/admin-guides/references/man8/tabdump.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **tabdump**\ +\ **tabdump**\ \ **tabdump**\ [\ **-d**\ ] [\ *table*\ ] @@ -54,40 +54,40 @@ OPTIONS -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. + - -\ **-d**\ - +\ **-d**\ + Show descriptions of the tables, instead of the contents of the tables. If a table name is also specified, descriptions of the columns (attributes) of the table will be displayed. Otherwise, a summary of each table will be displayed. + - -\ **-n**\ - +\ **-n**\ + Shows the most recent number of entries as supplied on the -n flag from the auditlog or eventlog table. + - -\ **-f**\ - +\ **-f**\ + File name or path to file in which to dump the table. Without this the table is dumped to stdout. Using the -f flag allows the table to be dumped one record at a time. If tables are very large, dumping to stdout can cause problems such as running out of memory. - + \ **-w**\ \ *'attr==val'*\ \ **-w**\ \ *'attr=~val'*\ ... - + Use one or multiple -w flags to specify the selection string that can be used to select particular rows of the table. See examples. - + Operator descriptions: - - + + .. code-block:: perl - + == Select nodes where the attribute value is exactly this value. != Select nodes where the attribute value is not this specific value. > Select nodes where the attribute value is greater than this specific value. @@ -96,8 +96,8 @@ OPTIONS <= Select nodes where the attribute value is less than or equal to this specific value. =~ Select nodes where the attribute value matches the SQL LIKE value. !~ Select nodes where the attribute value matches the SQL NOT LIKE value. - - + + @@ -107,11 +107,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -123,105 +123,105 @@ EXAMPLES 1. To display the contents of the site table: - - + + .. code-block:: perl - + tabdump site - - + + 2. To display the contents of the nodelist table where the groups attribute is compute : - - + + .. code-block:: perl - + tabdump -w 'groups==compute' nodelist - - + + 3. To display the contents of the nodelist table where the groups attribute is comput% where % is a wildcard and can represent any string and the status attribute is booted : - - + + .. code-block:: perl - + tabdump -w 'groups=~comput%' -w 'status==booted' nodelist - - + + 4. To display the records of the auditlog on date 2011-04-18 11:30:00 : - - + + .. code-block:: perl - + tabdump -w 'audittime==2011-04-18 11:30:00' auditlog - - + + 5. To display the records of the auditlog starting on 2011-04-18: - - + + .. code-block:: perl - + tabdump -w 'audittime>2011-04-18 11:30:00' auditlog - - + + 6. To display the 10 most recent entries in the auditlog: - - + + .. code-block:: perl - + tabdump -n 10 auditlog - - + + 7. To see what tables exist in the xCAT database: - - + + .. code-block:: perl - + tabdump - - + + 8. To back up all the xCAT database tables, instead of running \ **tabdump**\ multiple times, you can use the \ **dumpxCATdb**\ command as follows: - - + + .. code-block:: perl - + dumpxCATdb -p /tmp/xcatbak - - + + See the \ **dumpxCATdb**\ man page for details. - + 9. To display a summary description of each table: - - + + .. code-block:: perl - + tabdump -d - - + + 10. To display a description of each column in the nodehm table: - - + + .. code-block:: perl - + tabdump -d nodehm - - + + diff --git a/docs/source/guides/admin-guides/references/man8/tabedit.8.rst b/docs/source/guides/admin-guides/references/man8/tabedit.8.rst index 0cfdc0260..0bd593d78 100644 --- a/docs/source/guides/admin-guides/references/man8/tabedit.8.rst +++ b/docs/source/guides/admin-guides/references/man8/tabedit.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **tabedit**\ \ *table*\ +\ **tabedit**\ \ *table*\ \ **tabedit**\ [\ **-?**\ | \ **-h**\ | \ **-**\ **-help**\ ] @@ -43,10 +43,10 @@ OPTIONS -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. - + @@ -57,11 +57,11 @@ ENVIRONMENT VARIABLES TABEDITOR - + The editor that should be used to edit the table, for example: vi, vim, emacs, oocalc, pico, gnumeric, nano. If \ **TABEDITOR**\ is not set, the value from \ **EDITOR**\ will be used. If \ **EDITOR**\ is not set, it will default to vi. - + @@ -71,11 +71,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -87,13 +87,13 @@ EXAMPLES 1. To edit the site table: - - + + .. code-block:: perl - + tabedit site - - + + diff --git a/docs/source/guides/admin-guides/references/man8/tabprune.8.rst b/docs/source/guides/admin-guides/references/man8/tabprune.8.rst index 8eb9f39c5..58c489334 100644 --- a/docs/source/guides/admin-guides/references/man8/tabprune.8.rst +++ b/docs/source/guides/admin-guides/references/man8/tabprune.8.rst @@ -21,7 +21,7 @@ SYNOPSIS \ **tabprune**\ [\ **eventlog | auditlog**\ ] [\ **-V**\ ] [\ **-i**\ \ *recid*\ | \ **-n**\ \ *number of records*\ | \ **-p**\ \ *percentage*\ | \ **-d**\ \ *number of days*\ | \ **-a**\ ] -\ **tabprune**\ \ *tablename*\ \ **-a**\ +\ **tabprune**\ \ *tablename*\ \ **-a**\ \ **tabprune**\ [\ **-h | -**\ **-help**\ ] [\ **-v | -**\ **-version**\ ] @@ -40,47 +40,47 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Display usage message. + - -\ **-V**\ - +\ **-V**\ + Verbose mode. This will cause tabprune to display the records that are being deleted from the table, in case you want to redirect them to a file to archive them. + - -\ **-a**\ - +\ **-a**\ + Remove all records from the input table name. This option can be used on any xCAT table. + - -\ **-i**\ \ *recid number*\ - +\ **-i**\ \ *recid number*\ + Remove the records whose recid is less than the input recid number. + - -\ **-n**\ \ *number*\ - +\ **-n**\ \ *number*\ + Remove the number of records input. + - -\ **-p**\ \ *percent*\ - +\ **-p**\ \ *percent*\ + Remove the number of records input. + - -\ **-d**\ \ *number of days*\ - +\ **-d**\ \ *number of days*\ + Remove all records that occurred >= than number of days ago. - + @@ -106,63 +106,63 @@ EXAMPLES 1. To remove all the records in the eventlog table: - - + + .. code-block:: perl - + tabprune eventlog -a - - + + 2. To remove all the records in the eventlog table saving the deleted records in eventlog.csv: - - + + .. code-block:: perl - + tabprune eventlog -V -a > eventlog.csv - - + + 3. To remove all the records before recid=200 in the auditlog table: - - + + .. code-block:: perl - + tabprune auditlog -i 200 - - + + 4. To remove 400 records from the auditlog table and display the remove records: - - + + .. code-block:: perl - + tabprune auditlog -V -n 400 - - + + 5. To remove 50% of the eventlog table: - - + + .. code-block:: perl - + tabprune eventlog -p 50 - - + + 6. To remove all records that occurred >= 5 days ago in the eventlog: - - + + .. code-block:: perl - + tabprune eventlog -d 5 - - + + diff --git a/docs/source/guides/admin-guides/references/man8/tabrestore.8.rst b/docs/source/guides/admin-guides/references/man8/tabrestore.8.rst index 25318187d..10b6c2331 100644 --- a/docs/source/guides/admin-guides/references/man8/tabrestore.8.rst +++ b/docs/source/guides/admin-guides/references/man8/tabrestore.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **tabrestore**\ [\ **-a**\ ] \ *table.csv*\ +\ **tabrestore**\ [\ **-a**\ ] \ *table.csv*\ \ **tabrestore**\ [\ **-?**\ | \ **-h**\ | \ **-**\ **-help**\ ] @@ -47,22 +47,22 @@ OPTIONS -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Display version. + - -\ **-a|-**\ **-addrows**\ - +\ **-a|-**\ **-addrows**\ + Add rows from the CSV file to the table instead of replacing the table with the CSV file. - + @@ -88,42 +88,42 @@ EXAMPLES 1. To replace the rows in the mp table with the rows in the mp.csv file: - - + + .. code-block:: perl - + tabrestore mp.csv - - + + The file mp.csv could contain something like: - - + + .. code-block:: perl - + #node,mpa,id,comments,disable "blade","|\D+(\d+)|amm(($1-1)/14+1)|","|\D+(\d+)|(($1-1)%14+1)|",, - - + + 2. To add the rows in the mp.csv file to the rows in the mp table: - - + + .. code-block:: perl - + tabrestore -a mp.csv - - + + 3. To restore database tables from restore_directory that we dumped with dumpxCATdb: - - + + .. code-block:: perl - + restorexCATdb -p restore_directory - - + + diff --git a/docs/source/guides/admin-guides/references/man8/winstall.8.rst b/docs/source/guides/admin-guides/references/man8/winstall.8.rst index cbf27cf7f..e939b5554 100644 --- a/docs/source/guides/admin-guides/references/man8/winstall.8.rst +++ b/docs/source/guides/admin-guides/references/man8/winstall.8.rst @@ -15,7 +15,7 @@ Name **************** -\ **Synopsis**\ +\ **Synopsis**\ **************** @@ -27,7 +27,7 @@ Name ******************* -\ **Description**\ +\ **Description**\ ******************* @@ -39,102 +39,102 @@ It will then run \ **wcons**\ on the noderange. *************** -\ **Options**\ +\ **Options**\ *************** -\ **boot**\ - +\ **boot**\ + Instruct network boot loader to be skipped, generally meaning boot to hard disk + - -\ *imagename*\ | \ **osimage=**\ \ *imagename*\ - +\ *imagename*\ | \ **osimage=**\ \ *imagename*\ + Prepare server for installing a node using the specified os image. The os image is defined in the \ *osimage*\ table and \ *linuximage*\ table. If the \ *imagename*\ is omitted, the os image name will be obtained from \ *nodetype.provmethod*\ for the node. + - -\ **-**\ **-ignorekernelchk**\ - +\ **-**\ **-ignorekernelchk**\ + Skip the kernel version checking when injecting drivers from osimage.driverupdatesrc. That means all drivers from osimage.driverupdatesrc will be injected to initrd for the specific target kernel. + - -\ **runimage=**\ \ *task*\ - +\ **runimage=**\ \ *task*\ + If you would like to run a task after deployment, you can define that task with this attribute. + - -\ **runcmd=bmcsetup**\ - +\ **runcmd=bmcsetup**\ + This instructs the node to boot to the xCAT nbfs environment and proceed to configure BMC for basic remote access. This causes the IP, netmask, gateway, username, and password to be programmed according to the configuration table. + - -\ **shell**\ - +\ **shell**\ + This instructs the node to boot to the xCAT genesis environment, and present a shell prompt on console. The node will also be able to be sshed into and have utilities such as wget, tftp, scp, nfs, and cifs. It will have storage drivers available for many common systems. + - -\ **-h | -**\ **-help**\ - +\ **-h | -**\ **-help**\ + Display usage message. + - -\ **-v | -**\ **-version**\ - +\ **-v | -**\ **-version**\ + Display version. + - -\ **-u | -**\ **-uefimode**\ - +\ **-u | -**\ **-uefimode**\ + For BMC-based servers, to specify the next boot mode to be "UEFI Mode". + - -\ **-V | -**\ **-verbose**\ - +\ **-V | -**\ **-verbose**\ + Verbose output. - + **************** -\ **Examples**\ +\ **Examples**\ **************** 1. Provision nodes 1 through 20, using their current configuration. - - + + .. code-block:: perl - + winstall node1-node20 - - + + 2. Provision nodes 1 through 20 with the osimage rhels6.4-ppc64-netboot-compute. - - + + .. code-block:: perl - + winstall node1-node20 osimage=rhels6.4-ppc64-netboot-compute - - + + ************************ -\ **See**\ \ **Also**\ +\ **See**\ \ **Also**\ ************************ diff --git a/docs/source/guides/admin-guides/references/man8/xcatconfig.8.rst b/docs/source/guides/admin-guides/references/man8/xcatconfig.8.rst index 4002f73e8..85a089555 100644 --- a/docs/source/guides/admin-guides/references/man8/xcatconfig.8.rst +++ b/docs/source/guides/admin-guides/references/man8/xcatconfig.8.rst @@ -46,80 +46,80 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the release version of the code. + - -\ **-V|-**\ **-verbose**\ - +\ **-V|-**\ **-verbose**\ + Displays verbose messages. + - -\ **-i|-**\ **-initialinstall**\ - +\ **-i|-**\ **-initialinstall**\ + The install option is normally run as a post operation from the rpm xCAT.spec file during the initial install of xCAT on the Management Node. It will setup the root ssh keys, ssh node keys, xCAT credentials, initialize the database, export directories, start syslog and other daemons as needed after the initial install of xCAT. + - -\ **-u|-**\ **-updateinstall**\ - +\ **-u|-**\ **-updateinstall**\ + The update install option is normally run as a post operation from the rpm xCAT.spec file during an update install of xCAT on the Management Node. It will check the setup the root ssh keys, ssh node keys, xCAT credentials, database, exported directories, syslog and the state of daemons needed by xCAT, after the updateinstall of xCAT. If setup is required, it will perform the operation. It will restart the necessary daemons. + - -\ **-k|-**\ **-sshkeys**\ - +\ **-k|-**\ **-sshkeys**\ + This option will remove and regenerate the root id_rsa keys. It should only be used, if the keys are deleted or corrupted. The keys must then be distributed to the nodes by installing, running updatenode -k, or using xdsh -K option, for root to be able to ssh to the nodes without being prompted for a password. rspconfig will need to be run to distribute the key to the MM and HMCs. Any device, we need to ssh from the MN to the device will also have to be updated with the new ssh keys. + - -\ **-s|-**\ **-sshnodehostkeys**\ - +\ **-s|-**\ **-sshnodehostkeys**\ + This option will remove and regenerate the node host ssh keys. It should only be used, if the keys are deleted or are corrupted. The keys must then be redistribute to the nodes by installing, running updatenode -k or using xdcp or pcp to copy the keys from /etc/xcat/hostkeys directory to the /etc/ssh directory on the nodes. + - -\ **-c|-**\ **-credentials**\ - +\ **-c|-**\ **-credentials**\ + This option will remove all xcat credentials for root and any userids where credentials have been created. It will regenerate roots credentials, but the admin will have to add back all the userid credentials needed with the /opt/xcat/share/xcat/scripts/setup-local-client.sh command. It should only be used, if they are deleted or become corrupted. The root credentials must be redistributed to the service nodes by installing the service node or using updatenode -k. makeconservercf must be rerun to pick up the new credentials, and conserver must be stopped and started. + - -\ **-d|-**\ **-database**\ - +\ **-d|-**\ **-database**\ + This option will reinitialize the basic xCAT database table setup. It will not remove any new database entries that have been added, but it is strongly suggested that you backup you database (dumpxCATdb) before using it. + - -\ **-f|-**\ **-force**\ - +\ **-f|-**\ **-force**\ + The force option may be used after the install to reinitialize the Management Node. This option will regenerate keys, credential and reinitialize the site table. This option should be used, if keys or credentials become corrupt or lost. Additional action must be taken after using the force options. ssh keys must be redistributed to the nodes, site table attributes might need to be restored, makeconservercf needs to be rerun to pick up the new credentials and conserver stopped and started, rspconfig needs to be rerun to distribute the new keys to the MM and the HMCs. A new set of common ssh host keys will have been generated for the nodes. If you wish your nodes to be able to ssh to each other with out password intervention, then you should redistribute these new keys to the nodes. If the nodes hostkeys are updated then you will need to remove their entries from the known_hosts files on the management node before using ssh, xdsh, xdcp. Redistribute credentials and ssh keys to the service nodes and ssh keys to the nodes by using the updatenode -k command. + - -\ **-m|-**\ **-mgtnode**\ - +\ **-m|-**\ **-mgtnode**\ + This option will add the Management Node to the database with the correct attributes set to be recognized by xCAT. This should be run after the hostname of the Management Node is set to the name that will resolve to the cluster-facing NIC. + - -\ **-t|-**\ **-tunables**\ - +\ **-t|-**\ **-tunables**\ + This option will set tunable parameters on the Management and Service nodes recommended for your Linux cluster. It will only set them during initial install, if you run xcatconfig -f or xcatconfig -t. - + @@ -130,52 +130,52 @@ EXAMPLES 1. To force regeneration of keys and credentials and reinitialize the site table: - - + + .. code-block:: perl - + xcatconfig -f - - + + 2. To regenerate root's ssh keys: - - + + .. code-block:: perl - + xcatconfig -k - - + + 3. To regenerate node host ssh keys: - - + + .. code-block:: perl - + xcatconfig -s - - + + 4. To regenerate node host ssh keys and credentials: - - + + .. code-block:: perl - + xcatconfig -s -c - - + + 5. To add the Management Node to the DB: - - + + .. code-block:: perl - + xcatconfig -m - - + + diff --git a/docs/source/guides/admin-guides/references/man8/xcatd.8.rst b/docs/source/guides/admin-guides/references/man8/xcatd.8.rst index adb1479d4..ab01ab2dd 100644 --- a/docs/source/guides/admin-guides/references/man8/xcatd.8.rst +++ b/docs/source/guides/admin-guides/references/man8/xcatd.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **xcatd**\ +\ **xcatd**\ *********** @@ -41,33 +41,33 @@ EXAMPLES 1. To start/stop/restart xcatd on Linux, enter: - - + + .. code-block:: perl - + service xcatd start - + service xcatd stop - + service xcatd restart - - + + 2. To start/stop/restart xcatd on AIX, enter: - - + + .. code-block:: perl - + restartxcatd - + or - + startsrc -s xcatd - + stopsrc -s xcatd - - + + diff --git a/docs/source/guides/admin-guides/references/man8/xcatdebug.8.rst b/docs/source/guides/admin-guides/references/man8/xcatdebug.8.rst index ce0dc1705..6a32f61e7 100644 --- a/docs/source/guides/admin-guides/references/man8/xcatdebug.8.rst +++ b/docs/source/guides/admin-guides/references/man8/xcatdebug.8.rst @@ -30,15 +30,15 @@ DESCRIPTION xCAT offers two trace facilities to debug the xCAT: -\ **Subroutine calling trace**\ +\ **Subroutine calling trace**\ Display the calling trace for subroutine when it is called. The trace message includes: The name of the called subroutine; The arguments which passed to the called subroutine; The calling stack of the subroutine. By default, the trace will be enabled to all the subroutines in the xcatd and plugin modules. The target subroutine can be configured by configuration file or through xcatdebug command line. The flag \ **-c**\ is used to specify the subroutine list for \ **subroutine calling trace**\ , it can only work with \ **-f**\ . The value of \ **-c**\ can be a configuration file or a subroutine list. - \ **configuration file**\ : a file contains multiple lines of \ **SUBROUTINE_DEFINITION**\ - \ **subroutine list**\ : \ **SUBROUTINE_DEFINITION | SUBROUTINE_DEFINITION|...**\ + \ **configuration file**\ : a file contains multiple lines of \ **SUBROUTINE_DEFINITION**\ + \ **subroutine list**\ : \ **SUBROUTINE_DEFINITION | SUBROUTINE_DEFINITION|...**\ \ **SUBROUTINE_DEFINITION**\ : is the element for the \ **-c**\ to specify the subroutine list. @@ -53,7 +53,7 @@ Otherwise, the package name of the plugin should be specified. The trace log will be written to /var/log/xcat/subcallingtrace. The log file subcallingtrace will be backed up for each running of the \ **xcatdebug -f enable**\ . -\ **Commented trace log**\ +\ **Commented trace log**\ The trace log code is presented as comments in the code of xCAT. In general mode, it will be kept as comments. But in debug mode, it will be commented back as common code to display the trace log. @@ -88,39 +88,39 @@ OPTIONS -\ **-f**\ - +\ **-f**\ + Enable or disable the \ **subroutine calling trace**\ . - + For \ **enable**\ , if ignoring the \ **-c**\ flag, all the subroutines in the xcatd and plugin modules will be enabled. - + For \ **disable**\ , all the subroutines which has been enabled by \ **-f enable**\ will be disabled. \ **-c**\ will be ignored. + - -\ **-c**\ - +\ **-c**\ + Specify the configuration file or subroutine list. - - - \ **configuration file**\ : a file contains multiple lines of \ **SUBROUTINE_DEFINITION**\ + + + \ **configuration file**\ : a file contains multiple lines of \ **SUBROUTINE_DEFINITION**\ e.g. (plugin_command) xCAT_plugin::DBobjectdefs(defls,process_request) xCAT::DBobjUtils(getobjdefs) - - \ **subroutine list**\ : a string like \ **SUBROUTINE_DEFINITION | SUBROUTINE_DEFINITION|...**\ + + \ **subroutine list**\ : a string like \ **SUBROUTINE_DEFINITION | SUBROUTINE_DEFINITION|...**\ e.g. "(plugin_command)|xCAT_plugin::DBobjectdefs(defls,process_request)|xCAT::DBobjUtils(getobjdefs)" + - -\ **-d**\ - +\ **-d**\ + Enable or disable the \ **commented trace log**\ . - - Note: The xcatd will be restarted for the performing of \ **-d**\ - + + Note: The xcatd will be restarted for the performing of \ **-d**\ + @@ -131,62 +131,62 @@ EXAMPLES 1. Enable the \ **subroutine calling trace**\ for all the subroutines in the xcatd and plugin modules. - - + + .. code-block:: perl - + xcatdebug -f enable - - + + 2. Enable the \ **subroutine calling trace**\ for the subroutines configured in the /opt/xcat/share/xcat/samples/tracelevel0 - - + + .. code-block:: perl - + xcatdebug -f enable -c /opt/xcat/share/xcat/samples/tracelevel0 - - + + 3. Enable the \ **subroutine calling trace**\ for the plugin_command in xcatd and defls,process_request in the xCAT_plugin::DBobjectdefs module. - - + + .. code-block:: perl - + xcatdebug -f enable -c "xCAT_plugin::DBobjectdefs(defls,process_request)|(plugin_command)" - - + + 4. Disable the \ **subroutine calling trace**\ for all the subroutines which have been enabled by \ **xcatdebug -f enable**\ . - - + + .. code-block:: perl - + xcatdebug -f disable + + - - -5. Enable the \ **commented trace log**\ - - +5. Enable the \ **commented trace log**\ + + .. code-block:: perl - + xcatdebug -d enable + + - - -6. Enable both the \ **subroutine calling trace**\ and \ **commented trace log**\ - - +6. Enable both the \ **subroutine calling trace**\ and \ **commented trace log**\ + + .. code-block:: perl - + xcatdebug -f enable -c /opt/xcat/share/xcat/samples/tracelevel0 -d enable - - + + diff --git a/docs/source/guides/admin-guides/references/man8/xcatsetup.8.rst b/docs/source/guides/admin-guides/references/man8/xcatsetup.8.rst index 011d5506e..1bb93617d 100644 --- a/docs/source/guides/admin-guides/references/man8/xcatsetup.8.rst +++ b/docs/source/guides/admin-guides/references/man8/xcatsetup.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **xcatsetup**\ [\ **-s|-**\ **-stanzas**\ \ *stanza-list*\ ] [\ **-**\ **-yesreallydeletenodes**\ ] \ *cluster-config-file*\ +\ **xcatsetup**\ [\ **-s|-**\ **-stanzas**\ \ *stanza-list*\ ] [\ **-**\ **-yesreallydeletenodes**\ ] \ *cluster-config-file*\ \ **xcatsetup**\ [\ **-?**\ | \ **-h**\ | \ **-**\ **-help**\ | \ **-v**\ | \ **-**\ **-version**\ ] @@ -36,51 +36,51 @@ the hardware that is connected to the service and cluster networks. The typical 1. - + Install the xCAT software on the management node - + 2. - + Create the cluster config file and run xcatsetup - + 3. - + Put hardware control passwords in the ppchcp or ppcdirect database table - + 4. - + Run makenetworks and makedhcp - + 5. - + Run the discovery commands (lsslp, mkhwconn, rspconfig) as described in the System P Hardware Management cookbook. - + 6. - + Configure and start services using makehosts, makedns, mkconserver.cf, etc. - + 7. - + Create the images that should be installed or booted on the nodes - + 8. - + Run nodeset and rpower/rnetboot to boot up the nodes. - + The \ **xcatsetup**\ command is intended as a quick way to fill out the database for a cluster that has very regular @@ -140,16 +140,16 @@ This sample configuration file is for a 2 building block cluster. # ISR network topology. For example, one of the following: 128D, 64D, 32D, 16D, 8D, 4D, 2D, 1D topology = 32D # The nameservers in site table will be set with the value of master automatically. - + xcat-service-lan: # IP range used for DHCP. If you set the entry, the networks table will be filled # automatically with this range and the dhcp interface will be set in the site table. dhcp-dynamic-range = 50.0.0.0-50.0.0.200 - + xcat-hmcs: hostname-range = hmc1-hmc2 starting-ip = 10.200.1.1 - + xcat-frames: # these are the connections to the frames hostname-range = frame[1-6] @@ -170,8 +170,8 @@ This sample configuration file is for a 2 building block cluster. # second BPA/FSP in the Frame/CEC). For BPAs "y" is always be 0 and for FSPs "y" is the cec id. vlan-1 = 40 vlan-2 = 41 - - + + xcat-cecs: # These are the connections to the CECs. Either form of hostname is supported. #hostname-range = cec01-cec64 @@ -189,12 +189,12 @@ This sample configuration file is for a 2 building block cluster. #fsp-b-0-starting-ip = 10.230.4.1 #fsp-a-1-starting-ip = 10.231.3.1 #fsp-b-1-starting-ip = 10.231.4.1 - - + + xcat-building-blocks: num-frames-per-bb = 3 num-cecs-per-bb = 32 - + xcat-lpars: num-lpars-per-cec = 8 # If you set these, then do not set the corresponding attributes in the other node stanzas below. @@ -205,7 +205,7 @@ This sample configuration file is for a 2 building block cluster. aliases = -hf0 # ml0 is for aix. For linux, use bond0 instead. otherinterfaces = -hf1:11.1.1.1,-hf2:12.1.1.1,-hf3:13.1.1.1,-ml0:14.1.1.1 - + xcat-service-nodes: num-service-nodes-per-bb = 2 # which cecs within the bldg block that the SNs are located in @@ -216,7 +216,7 @@ This sample configuration file is for a 2 building block cluster. # this value is the same format as the hosts.otherinterfaces attribute except # the IP addresses are starting IP addresses #otherinterfaces = -hf0:10.10.1.1,-hf1:10.11.1.1,-hf2:10.12.1.1,-hf3:10.13.1.1,-ml0:10.14.1.1 - + xcat-storage-nodes: num-storage-nodes-per-bb = 3 # which cecs within the bldg block that the storage nodes are located in @@ -225,7 +225,7 @@ This sample configuration file is for a 2 building block cluster. #starting-ip = 10.20.1.1 #aliases = -hf0 #otherinterfaces = -hf1:10.21.1.1,-hf2:10.22.1.1,-hf3:10.23.1.1,-ml0:10.24.1.1 - + xcat-compute-nodes: #hostname-range = n001-n502 #starting-ip = 10.30.1.1 @@ -312,16 +312,16 @@ VPD data or supernode numbers at this time. xcat-site: use-direct-fsp-control = 1 - + xcat-frames: hostname-range = frame[1-2] - + xcat-cecs: #hostname-range = cec[01-24] hostname-range = f[1-2]c[01-12] num-cecs-per-frame = 12 - - + + xcat-lpars: hostname-range = f[1-2]c[01-12]p[01,05,09,13,17,21,25,29] @@ -335,154 +335,154 @@ The following lists which database attributes are filled in as a result of each in the stanza, some attributes might not be filled in. -\ **xcat-site**\ - +\ **xcat-site**\ + site table: domain, nameservers, topology + - -\ **xcat-hmcs**\ - +\ **xcat-hmcs**\ + site table: ea_primary_hmc, ea_backup_hmc - + nodelist table: node, groups (all HMCs (hmc) ), hidden - + hosts table: node, ip - + ppc table: node, comments - + nodetype table: node, nodetype + - -\ **xcat-frames**\ - +\ **xcat-frames**\ + nodelist table: node, groups (all frames (frame) ), hidden - + ppc table: node, id, hcp, nodetype, sfp - + nodetype table: node, nodetype - + nodehm table: node, mgt - + vpd table: node, serial, mtm, side + - -\ **xcat-bpas**\ - +\ **xcat-bpas**\ + nodelist table: node, groups (bpa,all) , hidden - + ppc table: node, id, hcp, nodetype, parent - + nodetype table: node, nodetype - + nodehm table: node, mgt - + vpd table: node, serial, mtm, side + - -\ **xcat-cecs**\ - +\ **xcat-cecs**\ + nodelist table: node, groups (all CECs (cec), all CECs in a frame (cec) ), hidden - + ppc table: node, supernode, hcp, id, parent - + nodetype table: node, nodetype - + nodehm table: node, mgt - + nodegroup table: groupname, grouptype, members, wherevals (all nodes in a CEC (nodes) ) - + nodepos: rack, u + - -\ **xcat-fsps**\ - +\ **xcat-fsps**\ + nodelist table: node, groups (fsp,all), hidden - + ppc table: node, id, hcp, nodetype, parent - + nodetype table: node, nodetype - + nodehm table: node, mgt - + vpd table: node, serial, mtm, side + - -\ **xcat-building-blocks**\ - +\ **xcat-building-blocks**\ + site table: sharedtftp, sshbetweennodes(service) - + ppc table: node, parent (for frame) + - -\ **xcat-service-nodes**\ - +\ **xcat-service-nodes**\ + nodelist table: node, groups (all service nodes (service), all service nodes in a BB (bbservice) ) - + hosts table: node, ip, hostnames, otherinterfaces - + ppc table: node, id, hcp, parent - + nodetype table: node, nodetype, arch - + nodehm table: node, mgt, cons - + noderes table: netboot - + servicenode table: node, nameserver, dhcpserver, tftpserver, nfsserver, conserver, monserver, ftpserver, nimserver, ipforward - + nodegroup table: groupname, grouptype, members, wherevals (all nodes under a service node (nodes) ) - + nodepos: rack, u + - -\ **xcat-storage-nodes**\ - +\ **xcat-storage-nodes**\ + nodelist table: node, groups (all storage nodes (storage), all storage nodes in a BB (bbstorage) ) - + hosts table: node, ip, hostnames, otherinterfaces - + ppc table: node, id, hcp, parent - + nodetype table: node, nodetype, arch - + nodehm table: node, mgt, cons - + noderes table: netboot, xcatmaster, servicenode - + nodepos: rack, u + - -\ **xcat-compute-nodes**\ - +\ **xcat-compute-nodes**\ + nodelist table: node, groups (all compute nodes (compute) ) - + hosts table: node, ip, hostnames, otherinterfaces - + ppc table: node, id, hcp, parent - + nodetype table: node, nodetype, arch - + nodehm table: node, mgt, cons - + noderes table: netboot, xcatmaster, servicenode - + nodepos: rack, u + - -\ **ll-config**\ - +\ **ll-config**\ + postscripts: postscripts - + @@ -493,36 +493,36 @@ OPTIONS -\ **-s|-**\ **-stanzas**\ \ *stanza-list*\ - +\ **-s|-**\ **-stanzas**\ \ *stanza-list*\ + A comma-separated list of stanza names that \ **xcatsetup**\ should process in the configuration file. If not specified, it will process all the stanzas that start with 'xcat' and some other stanzas that give xCAT hints about how to set up the HPC products. - + This option should only be specified if you have already run \ **xcatsetup**\ earlier with the stanzas that occur before this in the configuration file. Otherwise, objects will be created that refer back to other objects that do not exist in the database. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Command Version. + - -\ **-?|-h|-**\ **-help**\ - +\ **-?|-h|-**\ **-help**\ + Display usage message. + - -\ **-**\ **-yesreallydeletenodes**\ - +\ **-**\ **-yesreallydeletenodes**\ + Delete the nodes represented in the cluster config file, instead of creating them. This is useful if your first attempt with the cluster config file wasn't quite right and you want to start over. But use this option with extreme caution, because it will potentially delete a lot of nodes. If the only thing you have done so far in your database is add nodes by running \ **xcatsetup**\ , then it is safe to use this option to start over. If you have made other changes to your database, you should first back it up using dumpxCATdb(1)|dumpxCATdb.1 before using this option. - + @@ -532,11 +532,11 @@ RETURN VALUE -0. The command completed successfully. +0. The command completed successfully. -1. An error has occurred. +1. An error has occurred. @@ -549,45 +549,45 @@ EXAMPLES 1. Use the sample config.txt file at the beginning of this man page to create all the objects/nodes for a 2 building block cluster. - - + + .. code-block:: perl - + xcatsetup config.txt - - + + The output: - - + + .. code-block:: perl - + Defining site attributes... Defining HMCs... Defining frames... Defining CECs... Defining building blocks... Defining LPAR nodes... - - + + 2. Use the simpler config file shown earlier in this man page to create just the frame and cec objects: - - + + .. code-block:: perl - + xcatsetup config-simple.txt - - + + The output: - - + + .. code-block:: perl - + Defining frames... Defining CECs... - - + + diff --git a/docs/source/guides/admin-guides/references/man8/xcatsnap.8.rst b/docs/source/guides/admin-guides/references/man8/xcatsnap.8.rst index 6474da807..7ff985b66 100644 --- a/docs/source/guides/admin-guides/references/man8/xcatsnap.8.rst +++ b/docs/source/guides/admin-guides/references/man8/xcatsnap.8.rst @@ -19,7 +19,7 @@ SYNOPSIS ******** -\ **xcatsnap**\ +\ **xcatsnap**\ \ **xcatsnap**\ [\ **-h | -**\ **-help**\ ] @@ -46,28 +46,28 @@ OPTIONS -\ **-h|-**\ **-help**\ - +\ **-h|-**\ **-help**\ + Displays the usage message. + - -\ **-v|-**\ **-version**\ - +\ **-v|-**\ **-version**\ + Displays the release version of the code. + - -\ **-B|-**\ **-bypass**\ - +\ **-B|-**\ **-bypass**\ + Runs in bypass mode, use if the xcatd daemon is hung. + - -\ **-d|-**\ **-dir**\ - +\ **-d|-**\ **-dir**\ + The directory to put the snap information. Default is /tmp/xcatsnap. - + @@ -84,22 +84,22 @@ EXAMPLES 1. Run the xcatsnap routine in bypass mode and put info in /tmp/mydir : - - + + .. code-block:: perl - + xcatsnap -B -d /tmp/mydir + + - - -2. To run the xcatsnap routine and use default directory /tmp/xcatsnap : - - +2. To run the xcatsnap routine and use default directory /tmp/xcatsnap : + + .. code-block:: perl - + xcatsnap - - + + diff --git a/docs/source/guides/install-guides/maintenance/uninstall_xcat.rst b/docs/source/guides/install-guides/maintenance/uninstall_xcat.rst index c3e84774b..b31b1a79d 100644 --- a/docs/source/guides/install-guides/maintenance/uninstall_xcat.rst +++ b/docs/source/guides/install-guides/maintenance/uninstall_xcat.rst @@ -46,18 +46,25 @@ Stop xCAT Service Remove xCAT Files ----------------- -1. Remove the xCAT RPMs +1. Remove xCAT Packages - There is no easy way to identify all xCAT packages. For packages shipped by xCAT, you can remove them by using the commands below. + To automatically remove all xCAT packages, run the following command :: - [RHEL and SLES] :: + /opt/xcat/share/xcat/tools/go-xcat uninstall - yum remove '*xcat*' - yum remove '*xCAT*' + There is no easy way to identify all xCAT packages. For packages shipped by xCAT, you can manually remove them by using one of the commands below. + + [RHEL] :: + + yum remove conserver-xcat elilo-xcat goconserver grub2-xcat ipmitool-xcat perl-xCAT syslinux-xcat xCAT xCAT-SoftLayer xCAT-buildkit xCAT-client xCAT-confluent xCAT-csm xCAT-genesis-base-ppc64 xCAT-genesis-base-x86_64 xCAT-genesis-scripts-ppc64 xCAT-genesis-scripts-x86_64 xCAT-openbmc-py xCAT-probe xCAT-server xnba-undi yaboot-xcat + + [SLES] :: + + zypper remove conserver-xcat elilo-xcat goconserver grub2-xcat ipmitool-xcat perl-xCAT syslinux-xcat xCAT xCAT-SoftLayer xCAT-buildkit xCAT-client xCAT-confluent xCAT-csm xCAT-genesis-base-ppc64 xCAT-genesis-base-x86_64 xCAT-genesis-scripts-ppc64 xCAT-genesis-scripts-x86_64 xCAT-openbmc-py xCAT-probe xCAT-server xnba-undi yaboot-xcat [Ubuntu] :: - dpkg -l | awk '/xcat/ { print $2 }' + apt-get remove conserver-xcat elilo-xcat goconserver grub2-xcat ipmitool-xcat perl-xcat syslinux-xcat xcat xcat-buildkit xcat-client xcat-confluent xcat-genesis-base-amd64 xcat-genesis-base-ppc64 xcat-genesis-scripts-amd64 xcat-genesis-scripts-ppc64 xcat-probe xcat-server xcat-test xcat-vlan xcatsn xnba-undi To do an even more thorough cleanup, use links below to get a list of RPMs installed by xCAT. Some RPMs may not to be installed in a specific environment. diff --git a/docs/source/index.rst b/docs/source/index.rst index f971139ad..048b7095d 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -1,7 +1,7 @@ -Extreme Cloud/Cluster Administration Toolkit -============================================ +Extreme Cloud Administration Toolkit +==================================== -xCAT stands for E\ **x**\ treme **C**\ loud/\ **C**\ luster **A**\ dministration **T**\ oolkit. +xCAT stands for E\ **x**\ treme **C**\ loud **A**\ dministration **T**\ oolkit. xCAT offers complete management of clouds, clusters, HPC, grids, datacenters, renderfarms, online gaming infrastructure, and whatever tomorrows next buzzword may be. diff --git a/docs/source/overview/xcat2_release.rst b/docs/source/overview/xcat2_release.rst index 486faf10e..969d36b70 100644 --- a/docs/source/overview/xcat2_release.rst +++ b/docs/source/overview/xcat2_release.rst @@ -14,13 +14,29 @@ xCAT 2.14.x |xCAT |New OS |New |New Feature | |Version | |Hardware | | +=================================+===============+=============+==================================+ +|| xCAT 2.14.5 2018/12/07 |- RHEL7.6 | |- syslog tag refine | +|| | | | | +| `2.14.5 Release Notes `_ | | |- localdisk GPT partition support | +| | | | | +| | | |- goconserver v0.3.2 | +| | | | | +| | | |- xcat-inventory 0.1.6 | ++---------------------------------+---------------+-------------+----------------------------------+ +|| xCAT 2.14.4 2018/10/19 |- UBT18.04.1 | | | +|| | | | | +| `2.14.4 Release Notes `_ | | | | ++---------------------------------+---------------+-------------+----------------------------------+ || xCAT 2.14.3 2018/8/24 |- SLES12.3 | |- OpenBMC rflash enhancement | || | | | | | `2.14.3 Release Notes `_ | | |- goconserver v0.3.1 | +---------------------------------+---------------+-------------+----------------------------------+ -|| xCAT 2.14.2 2018/7/13 |- Ubuntu 18.04 | | | +|| xCAT 2.14.2 2018/7/13 |- UBT 18.04 | | | || |- RHEL6.10 | | | | `2.14.2 Release Notes :/etc/yum.repos.d/ + rsync -v /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 root@:/etc/pki/rpm-gpg/ + +#. Update packages on SN :: + + updatenode -S + +Install on diskful SN using rinstall +```````````````````````````````````` + +#. Configure ``synclists`` attribute of osimage :: + + chdef -t osimage rhels7.5-ppc64le-install-service synclists=/install/custom/netboot/compute.synclist + +#. Add the following to the contents of ``/install/custom/netboot/compute.synclist`` :: + + ... + /etc/yum.repos.d/epel.repo -> /etc/yum.repos.d/epel.repo + /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 -> /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 + +#. Install SN :: + + rinstall osimage=rhels7.5-ppc64le-install-service + +Install on diskless SN using rinstall +````````````````````````````````````` + +#. Add EPEL online repository https://dl.fedoraproject.org/pub/epel/7/ppc64le to ``pkgdir`` attribute of osimage:: + + chdef -t osimage -o rhels7.5-ppc64le-netboot-service -p pkgdir=https://dl.fedoraproject.org/pub/epel/7/ppc64le + +#. Install diskless SN :: + + genimage rhels7.5-ppc64le-netboot-service + packimage rhels7.5-ppc64le-netboot-service + rinstall osimage=rhels7.5-ppc64le-netboot-service + + diff --git a/docs/source/references/coral/known_issues/index.rst b/docs/source/references/coral/known_issues/index.rst index 63e9126be..359cd90de 100644 --- a/docs/source/references/coral/known_issues/index.rst +++ b/docs/source/references/coral/known_issues/index.rst @@ -5,4 +5,3 @@ Known Issues :maxdepth: 2 genesis_base.rst - openbmc/index.rst diff --git a/docs/source/references/coral/known_issues/openbmc/2_13_8.rst b/docs/source/references/coral/known_issues/openbmc/2_13_8.rst deleted file mode 100644 index 957c40a03..000000000 --- a/docs/source/references/coral/known_issues/openbmc/2_13_8.rst +++ /dev/null @@ -1,7 +0,0 @@ -#4264 - rpower command intermittently reports 503: Service Unavailable Error -============================================================================ - -Issue `#4264 `_ - -In attempt to improve the performance of the REST calls to OpenBMC and reduce the time spent in a timeout, we fail too soon here before the BMC has a chance to respond. - diff --git a/docs/source/references/coral/known_issues/openbmc/SW402273.rst b/docs/source/references/coral/known_issues/openbmc/SW402273.rst deleted file mode 100644 index 7c3105f3d..000000000 --- a/docs/source/references/coral/known_issues/openbmc/SW402273.rst +++ /dev/null @@ -1,17 +0,0 @@ -SW402273 - Unable to tell the firmware level that is actually running on the node via REST -========================================================================================== - -* **Issue:** `SW402273 `_ -* **Reported:** 1738B (ibm-v1.99.10-0-r7) -* **Fixed:** 1740B (ibm-v1.99.10-0-r13) - -**Issue:** - -Until 1740B firmware (> ibm-v1.99.10-0-r13), there's no method provided by OpenBMC to indicate the active running firmware on the node. Until the BMC is rebooted or the HOST is rebooted, the Active firmware may or may not really be running. - -If you are running a version that prints the following message from ``rflash``: :: - - cn01: WARNING, The current firmware is unable to detect running firmware version. - -Please update the BMC to a version higher than ibm-v1.99.10-0-r13. - diff --git a/docs/source/references/coral/known_issues/openbmc/SW404161.rst b/docs/source/references/coral/known_issues/openbmc/SW404161.rst deleted file mode 100644 index a3d3405db..000000000 --- a/docs/source/references/coral/known_issues/openbmc/SW404161.rst +++ /dev/null @@ -1,26 +0,0 @@ -SW404161 - Firmware do not self extract tar, causing rflash cannot find ID to activate -====================================================================================== - -* **Issue:** `SW404161 `_ -* **Reported:** 1738A (ibm-v1.99.10-0-r7) -* **Fixed:** 1742D (ibm-v1.99.10-0-113-r10) - -**Issue:** - -Firmware is not extracted and could not be found by rflash to activate :: - - [root@c650mnp03 ~]# rflash c650f07p27 obmc-phosphor-image-witherspoon.ubi.mtd.tar -a - c650f07p27: Uploading /root/obmc-phosphor-image-witherspoon.ubi.mtd.tar ... - c650f07p27: Firmware upload successful. Attempting to activate firmware: ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d - c650f07p27: Could not find ID for firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d to activate, waiting 10 seconds and retry... - c650f07p27: Could not find ID for firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d to activate, waiting 10 seconds and retry... - c650f07p27: Could not find ID for firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d to activate, waiting 10 seconds and retry... - c650f07p27: Could not find ID for firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d to activate, waiting 10 seconds and retry... - c650f07p27: Could not find ID for firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d to activate, waiting 10 seconds and retry... - c650f07p27: Could not find ID for firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d to activate, waiting 10 seconds and retry... - c650f07p27: Error: Could not find firmware ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d after waiting 60 seconds. - -**Work-around:** Use one of the following methods: - -* Reboot the BMC before flashing firmware: ``rpower <> bmcreboot`` -* ssh into bmc and run: ``systemctl restart xyz.openbmc_project.Software.Version.service`` diff --git a/docs/source/references/coral/known_issues/openbmc/SW406771.rst b/docs/source/references/coral/known_issues/openbmc/SW406771.rst deleted file mode 100644 index d02460327..000000000 --- a/docs/source/references/coral/known_issues/openbmc/SW406771.rst +++ /dev/null @@ -1,84 +0,0 @@ -SW406771 - Duplicate FW ID or 2 BMC firmware active at the same time -==================================================================== - -* **Issue:** `SW407037 `_ -* **Reported:** 1740A (ibm-v1.99.10-0-r11-0-g9c65260) -* **Fixed:** 1742 or higher - -**Issue:** - -At some point after 1740A firmware, ``ibm-v1.99.10-0-r11-0-g9c65260``, the hashing algorithm to create the ID on the BMC was chagned by the Firmware team. This allows for the same firmware to potentially have two different IDs resulting in two active running BMC firmware. - - -**Work-around** - -Upgrade from 1740A ------------------- - -If you are running 1740A, you will need to get two BMC firmware levels from your IBM representative. - -This example will cover flashing from 1740A to 1742D, using 1742C as the recovery flash level. - -#. Identify the issue where the IDs are not using the correct hash :: - - mid05tor12cn13: ID Purpose State Version - mid05tor12cn13: ------------------------------------------------------- - mid05tor12cn13: 9e55358e BMC Active(*) ibm-v1.99.10-0-r11-0-g9c65260 - mid05tor12cn13: 6e71e1af BMC Ready ibm-v1.99.10-113-g65edf7d-r10-0-gcdf7635 <--- bad hash for 1742D - - mid05tor12cn16: ID Purpose State Version - mid05tor12cn16: ------------------------------------------------------- - mid05tor12cn16: efc8a851 BMC Ready ibm-v1.99.10-113-g65edf7d-r10-0-gcdf7635 <--- correct hash for 1742D - mid05tor12cn16: b48d27e1 BMC Active(*) ibm-v1.99.10-113-g65edf7d-r3-0-g9e4f715 - -#. Flash up to 1742D, activate and reboot: :: - - mid05tor12cn13: ID Purpose State Version - mid05tor12cn13: ------------------------------------------------------- - mid05tor12cn13: 9e55358e BMC Active ibm-v1.99.10-0-r11-0-g9c65260 - mid05tor12cn13: 221d9020 Host Active(*) IBM-witherspoon-redbud-ibm-OP9_v1.19_1.33 - mid05tor12cn13: 6e71e1af BMC Active(*) ibm-v1.99.10-113-g65edf7d-r10-0-gcdf7635 <--- bad hash, active - mid05tor12cn13: - -#. Flash down to 1742C, activate and reboot: :: - - mid05tor12cn13: ID Purpose State Version - mid05tor12cn13: ------------------------------------------------------- - mid05tor12cn13: 9e55358e BMC Active ibm-v1.99.10-0-r11-0-g9c65260 - mid05tor12cn13: 221d9020 Host Active(*) IBM-witherspoon-redbud-ibm-OP9_v1.19_1.33 - mid05tor12cn13: 6e71e1af BMC Active(*) ibm-v1.99.10-113-g65edf7d-r10-0-gcdf7635 - mid05tor12cn13: f6590ce0 BMC Active(+) ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d <--- 1742C - mid05tor12cn13: - -#. Delete the bad hash firmware: ``rflash -d 6e71e1af`` - - **Note:** This is optional because the BMC only allows 2 firmware max, so it would get pushed out. - -#. Flash back up to 1742D (with correct hash), activate and reboot: :: - - mid05tor12cn13: ID Purpose State Version - mid05tor12cn13: ------------------------------------------------------- - mid05tor12cn13: 221d9020 Host Active(*) IBM-witherspoon-redbud-ibm-OP9_v1.19_1.33 - mid05tor12cn13: efc8a851 BMC Active(*) ibm-v1.99.10-113-g65edf7d-r10-0-gcdf7635 <--- good hash - mid05tor12cn13: f6590ce0 BMC Active ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d - mid05tor12cn13: - -Two active BMCs ---------------- - -If you have two active BMCs:: - - [root@mgt03 ~]# rflash f7n02 -l - f7n02: ID Purpose State Version - f7n02: ------------------------------------------------------- - f7n02: b5273d71 BMC Active(*) ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d - f7n02: 30ee1c48 Host Active(*) IBM-witherspoon-ibm-OP9_v1.19_1.112 - f7n02: 4f33e0f4 Host Failed(+) IBM-witherspoon-ibm-OP9_v1.19_1.109 - f7n02: f6590ce0 BMC Active(*) ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d - f7n02: - -There's no way to de-activate one manually, recover by doing the following: - -#. Flash the BMC to the previous level of the firmware and reboot BMC -#. Delete the duplicate firmware using ``rflash -d `` -#. Re-flash the BMC to the target level and reboot the BMC. diff --git a/docs/source/references/coral/known_issues/openbmc/SW407037.rst b/docs/source/references/coral/known_issues/openbmc/SW407037.rst deleted file mode 100644 index d3947a6c1..000000000 --- a/docs/source/references/coral/known_issues/openbmc/SW407037.rst +++ /dev/null @@ -1,38 +0,0 @@ -SW407037 - bmcsetup does not successfully configure the IP (Sev1) -================================================================= - -* **Issue:** `SW407037 `_ -* **Reported:** 1742C (ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d) -* **Fixed:** Fixed in xCAT after 11/07/17 `#4242 `_ - -**Issue:** - -OpenBMC firmware has problems with ipmi inband support of the ``access on`` comamnd and the work around is to use the ``raw 0x06 0x40`` instead. In early Sept, we switched to using ``access on`` because the implementation looked like it was working, since then we have found some issues with it and recommendation is to revert back to the raw command. - -See related issues describing potential problems: -* https://github.com/openbmc/openbmc/issues/2493 -* https://github.com/openbmc/openbmc/issues/2492 - -This problem is very severe because if the network is not configured correctly, the access to the BMC is lost. - -**Work-around** - -Use one of the following work arounds: - -#. Install a version of xCAT built after November, 07, 2017 which includes the fix. (**Recommended**) - -#. Manually patch bmcsetup using changes in PR: https://github.com/xcat2/xcat-core/pull/4247, then run ``mknb ppc64`` - -#. Patch the system with provided patch: - - #. Download patch file: https://github.com/xcat2/xcat-core/files/1451181/bmcsetup.4242.patch.txt - - #. If file name is ``/tmp/bmcsetup.4242.patch.txt`` - - #. ``cd /opt/xcat/share/xcat/netboot/genesis/ppc64/fs/usr/bin`` - - #. ``patch -p0 < /tmp/bmcsetup.4242.patch.txt`` - - #. ``mknb ppc64`` - - diff --git a/docs/source/references/coral/known_issues/openbmc/index.rst b/docs/source/references/coral/known_issues/openbmc/index.rst deleted file mode 100644 index 03ae246fc..000000000 --- a/docs/source/references/coral/known_issues/openbmc/index.rst +++ /dev/null @@ -1,47 +0,0 @@ -OpenBMC Management Issues -========================= - -xCAT ----- - -2.13.8 -`````` - -Please see the `2.13.8 Release Notes `_ for the full list of known issues. - -.. toctree:: - :maxdepth: 2 - - 2_13_8.rst - -Firmware --------- - -The following versions indicate the level of firmware the issue was reported. - - -1742C - ibm-v1.99.10-113-g65edf7d-r8-0-g713d86d -``````````````````````````````````````````````` - -.. toctree:: - :maxdepth: 1 - - SW407037.rst - -1740A - ibm-v1.99.10-0-r11 -`````````````````````````` - -.. toctree:: - :maxdepth: 1 - - SW406771.rst - - -1738A - ibm-v1.99.10-0-r7 -`````````````````````````` - -.. toctree:: - :maxdepth: 1 - - SW404161.rst - SW402273.rst diff --git a/perl-xCAT/README b/perl-xCAT/README index 52f308009..04b56cd36 100644 --- a/perl-xCAT/README +++ b/perl-xCAT/README @@ -1,5 +1,3 @@ -xCAT - eXtreme Cloud Administration Toolkit - xCAT is a toolkit for the deployment and administration of clusters. xCAT documentation is available at: http://xcat-docs.readthedocs.org/ diff --git a/perl-xCAT/xCAT/CFMUtils.pm b/perl-xCAT/xCAT/CFMUtils.pm index e0d306503..e11fb41e8 100644 --- a/perl-xCAT/xCAT/CFMUtils.pm +++ b/perl-xCAT/xCAT/CFMUtils.pm @@ -59,7 +59,7 @@ sub initCFMdir my @sysfiles = ("/etc/hosts"); # the /etc/passwd, shadow, group files will be merged - my @userfiles = ("/etc/passwd", "/etc/shadow", "/etc/group"); + my @userfiles = ("/etc/passwd", "/etc/shadow", "/etc/gshadow", "/etc/group"); # create the cfmdir if (!-d $cfmdir) @@ -113,7 +113,7 @@ sub initCFMdir #----------------------------------------------------------------------------- =head3 updateUserInfo - Update the /etc/passwd, shadow, group merge files under specified CFM directory + Update the /etc/passwd, shadow, gshadow, group merge files under specified CFM directory Arguments: $cfmdir - CFM directory for osimage @@ -133,7 +133,7 @@ sub initCFMdir sub updateUserInfo { my ($class, $cfmdir) = @_; - my @userfiles = ("/etc/passwd", "/etc/shadow", "/etc/group"); + my @userfiles = ("/etc/passwd", "/etc/shadow", "/etc/gshadow", "/etc/group"); my @osfiles = glob("$cfmdir/*.OS"); if (!@osfiles) @@ -141,7 +141,7 @@ sub updateUserInfo { if ($::VERBOSE) { my $rsp = {}; - $rsp->{data}->[0] = "Skiping the update of the /etc/passwd, shadow, group merge files under the CFM directory."; + $rsp->{data}->[0] = "Skiping the update of the /etc/passwd, shadow, gshadow, group merge files under the CFM directory."; xCAT::MsgUtils->message("I", $rsp, $::CALLBACK); } return 0; @@ -153,7 +153,7 @@ sub updateUserInfo { my @newrecords = (); my $backup = basename($file) . ".OS"; - # get the records from /etc/passwd, shadow, group file and backup files(.OS files) + # get the records from /etc/passwd, shadow, gshadow, group file and backup files(.OS files) # and all the files from /install/osimages/$imgname/cfmdir directory foreach my $userinfo ($file, "$cfmdir/$backup") { @@ -173,7 +173,7 @@ sub updateUserInfo { } close($fp); - # check the records from /etc/passwd, shadow, group file or backup + # check the records from /etc/passwd, shadow, gshadow, group file or backup if ($userinfo =~ /^\/etc/) { @newrecords = @records; @@ -309,6 +309,7 @@ sub setCFMSynclistFile { MERGE: /etc/group.merge -> /etc/group /etc/shadow.merge -> /etc/shadow + /etc/gshadow.merge -> /etc/gshadow /etc/passwd.merge -> /etc/passwd Arguments: @@ -358,13 +359,13 @@ sub updateCFMSynclistFile { mkpath dirname($cfmsynclist); } - # update /etc/passwd, shadow, group merge files + # update /etc/passwd, shadow, gshadow, group merge files my $ret = xCAT::CFMUtils->updateUserInfo($cfmdir); if ($ret != 0) { my $rsp = {}; $rsp->{error}->[0] = - "Update /etc/passwd, shadow, group merge files failed."; + "Update /etc/passwd, shadow, gshadow, group merge files failed."; xCAT::MsgUtils->message("E", $rsp, $::CALLBACK); return 1; } @@ -418,10 +419,10 @@ sub updateCFMSynclistFile { } foreach my $file (@mergefiles) { - my @userfiles = ("/etc/passwd", "/etc/shadow", "/etc/group"); + my @userfiles = ("/etc/passwd", "/etc/shadow", "/etc/gshadow", "/etc/group"); my $dest = substr($file, length($cfmdir), length($file) - length(".merge") - length($cfmdir)); - # only /etc/passwd, /etc/shadow, /etc/groups merging is supported + # only /etc/passwd, /etc/shadow, /etc/gshadow, /etc/groups merging is supported if (grep(/$dest/, @userfiles)) { print $fp "$file -> $dest\n"; } diff --git a/perl-xCAT/xCAT/Client.pm b/perl-xCAT/xCAT/Client.pm index 994c9ce4a..53666bf0b 100644 --- a/perl-xCAT/xCAT/Client.pm +++ b/perl-xCAT/xCAT/Client.pm @@ -1039,6 +1039,11 @@ sub populate_site_hash { foreach (@records) { $::XCATSITEVALS{ $_->{key} } = $_->{value}; } + + unless (exists($::XCATSITEVALS{'httpport'}) and ($::XCATSITEVALS{'httpport'} ne "")){ + $::XCATSITEVALS{'httpport'}="80"; + } + } diff --git a/perl-xCAT/xCAT/DBobjUtils.pm b/perl-xCAT/xCAT/DBobjUtils.pm index f3efe6c34..fea5f3c2d 100755 --- a/perl-xCAT/xCAT/DBobjUtils.pm +++ b/perl-xCAT/xCAT/DBobjUtils.pm @@ -92,19 +92,20 @@ sub getObjectsOfType } # if this is type "group" we need to check the nodelist table - my @nodeGroupList = (); if ($type eq 'group') { my $table = "nodelist"; + my %ext_groups = (); my @TableRowArray = xCAT::DBobjUtils->getDBtable($table); - foreach (@TableRowArray) { - my @tmplist = split(',', $_->{'groups'}); - push(@nodeGroupList, @tmplist); - } - foreach my $n (@nodeGroupList) { - if (!grep(/^$n$/, @objlist)) { - push(@objlist, $n); + foreach my $r (@TableRowArray) { + my @tmplist = split(',', $r->{'groups'}); + foreach (@tmplist) { + $ext_groups{$_} = 1 unless exists($ext_groups{$_}) ; } } + foreach (@objlist) { + $ext_groups{$_} = 1 unless exists($ext_groups{$_}) ; + } + @objlist = sort keys %ext_groups; } @{ $::saveObjList{$type} } = @objlist; @@ -142,7 +143,6 @@ sub getobjattrs my $class = shift; my $ref_hash = shift; my @attrs; - # The $attrs is an optional argument if (ref $_[0]) { @attrs = @{ shift() }; @@ -164,35 +164,18 @@ sub getobjattrs # go through each object type and look up all the info for each object foreach my $objtype (keys %objtypelist) { - # only do node type for now - if ($objtype eq 'node') { - + # only do node and nodegroup type for now + if ($objtype eq 'node' || $objtype eq 'group') { # find the list of tables and corresponding attrs # - for this object type - # get the object type decription from Schema.pm - my $datatype = $xCAT::Schema::defspec{$objtype}; - foreach my $this_attr (@{ $datatype->{'attrs'} }) { - my $attr = $this_attr->{attr_name}; - if (scalar(@attrs) > 0) { # Only query specific attributes - if (!grep(/^$attr$/, @attrs)) { - next; # This attribute is not needed - } - } - - # table_attr is the attr that actually appears in the - # table which could possibly be different then the attr - # used in the node def - # ex. 'nodetype.arch' - my ($lookup_table, $table_attr) = split('\.', $this_attr->{tabentry}); - if (!grep(/^$table_attr$/, @{ $tableattrs{$lookup_table} })) { - push @{ $tableattrs{$lookup_table} }, $table_attr; - } - } + # get the object type description from Schema.pm + my %tableattrs = xCAT::DBobjUtils->gettbldesc($objtype, \@attrs); + my @objlist = @{ $objtypelist{$objtype} }; # foreach table look up the list of attrs for this # list of object names foreach my $table (keys %tableattrs) { - + next if ($table eq 'nodegroup'); #getNodesAttribs cannot handle this table now # open the table # with autocommit => 0, it does not work on Ubuntu running mysql my $thistable = xCAT::Table->new($table, -create => 1, -autocommit => 1); @@ -203,9 +186,14 @@ sub getobjattrs next; } - my @objlist = @{ $objtypelist{$objtype} }; - - my $rec = $thistable->getNodesAttribs(\@objlist, @{ $tableattrs{$table} }); + my $rec; + if ($objtype eq 'node') { + $rec = $thistable->getNodesAttribs(\@objlist, @{$tableattrs{$table}}); + } else { + my %options = (); + $options{keep_raw} = 1; + $rec = $thistable->getNodesAttribs(\@objlist, \@{$tableattrs{$table}}, %options); + } # fill in %tabhash with any values that are set foreach my $n (@objlist) { @@ -232,6 +220,62 @@ sub getobjattrs #---------------------------------------------------------------------------- +=head3 gettbldesc + + Get required table and columns from the Schema for specified definition type. + + $objtype: definition type + $attrs_ref: only get the specific attributes, + this can be useful especially for performance considerations + Arguments: + Returns: + undef - error + hash ref - $tblattrshash{tablename} = [col1, col2] + Globals: + Error: + Example: + + To get the table attributes for object type + ex. + + xCAT::DBobjUtils->gettbldesc('node', @attr); + + Comments: + +=cut + +#----------------------------------------------------------------------------- +sub gettbldesc { + my ($class, $objtype) = @_; + my @attrs; + # The $attrs is an optional argument + if (ref $_[0]) { + @attrs = @{ shift() }; + } + my %tableattrs = (); + my $datatype = $xCAT::Schema::defspec{$objtype}; + foreach my $this_attr (@{ $datatype->{'attrs'} }) { + my $attr = $this_attr->{attr_name}; + if (scalar(@attrs) > 0) { # Only query specific attributes + if (!grep(/^$attr$/, @attrs)) { + next; # This attribute is not needed + } + } + + # table_attr is the attr that actually appears in the + # table which could possibly be different then the attr + # used in the node def + # ex. 'nodetype.arch' + my ($lookup_table, $table_attr) = split('\.', $this_attr->{tabentry}); + if (!grep(/^$table_attr$/, @{ $tableattrs{$lookup_table} })) { + push @{ $tableattrs{$lookup_table} }, $table_attr; + } + } + return %tableattrs; +} + +#---------------------------------------------------------------------------- + =head3 getobjdefs Get object definitions from the DB. @@ -263,13 +307,14 @@ sub getobjattrs sub getobjdefs { my ($class, $hash_ref, $verbose, $attrs_ref, $chname_ref) = @_; - my %objhash; + my %typehash = %$hash_ref; - my %tabhash; - my @attrs; + my @attrs; # required attributes if (ref($attrs_ref)) { @attrs = @$attrs_ref; } + my %objhash; # fetched result will be stored in this hash + my %tabhash; # used to cache the some result for node/group @::foundTableList = (); @@ -283,40 +328,7 @@ sub getobjdefs return %objhash; } - # see if we need to get any objects of type 'node' - my $getnodes = 0; - foreach my $objname (keys %typehash) { - if ($typehash{$objname} eq 'node') { - $getnodes = 1; - } - } - - # if so then get node info from tables now - # still may need to look up values in some tables using - # other keys - also need to figure out what tables to take - # values from when using 'only_if' - see below - # - but this saves lots of time - if ($getnodes) { - if (scalar(@attrs) > 0) { # Only get specific attributes of the node - # find the onlyif key for the attributes - REDO: my $datatype = $xCAT::Schema::defspec{'node'}; - foreach my $this_attr (@{ $datatype->{'attrs'} }) { - my $attr = $this_attr->{attr_name}; - if (exists($this_attr->{only_if})) { - my ($onlyif_key, $onlyif_value) = split('\=', $this_attr->{only_if}); - if (!grep (/^$onlyif_key$/, @attrs)) { - push @attrs, $onlyif_key; - goto REDO; - } - } - } - %tabhash = xCAT::DBobjUtils->getobjattrs(\%typehash, \@attrs); - } else { - %tabhash = xCAT::DBobjUtils->getobjattrs(\%typehash); - } - } - - # Classify the nodes with type + # Classify the objects with type, for example, {'node' => ['cn1', 'cn2']} my %type_obj = (); foreach my $objname (keys %typehash) { push @{ $type_obj{ $typehash{$objname} } }, $objname; @@ -422,11 +434,39 @@ sub getobjdefs # get the object type decription from Schema.pm my $datatype = $xCAT::Schema::defspec{$objtype}; + # if so then get objects info from tables now + # still may need to look up values in some tables using + # other keys - also need to figure out what tables to take + # values from when using 'only_if' - see below + # - but this saves lots of time + if ($objtype eq 'node' or $objtype eq 'group') { + if (scalar(@attrs) > 0) { + # Only get specific attributes of the object + # find the onlyif key for the attributes + REDO: + foreach my $this_attr (@{$datatype->{'attrs'}}) { + my $attr = $this_attr->{attr_name}; + if (exists($this_attr->{only_if})) { + my ($onlyif_key, $onlyif_value) = split('\=', $this_attr->{only_if}); + if (!grep (/^$onlyif_key$/, @attrs)) { + push @attrs, $onlyif_key; + goto REDO; + } + } + } + %tabhash = xCAT::DBobjUtils->getobjattrs(\%typehash, \@attrs); + } + else { + %tabhash = xCAT::DBobjUtils->getobjattrs(\%typehash); + } + } + # get the key to look for, for this object type my $objkey = $datatype->{'objkey'}; # go through the list of valid attrs foreach my $this_attr (@{ $datatype->{'attrs'} }) { + my $ent; my $attr = $this_attr->{attr_name}; @@ -436,7 +476,7 @@ sub getobjdefs } # skip the attributes that does not needed for node type - if ($getnodes) { + if ($objtype eq 'node') { if (scalar(@attrs) > 0 && !grep(/^$attr$/, @attrs)) { next; } @@ -450,33 +490,33 @@ sub getobjdefs # ex. noderes.nfsdir my ($tab, $tabattr) = split('\.', $this_attr->{tabentry}); - foreach my $objname (sort @{ $type_obj{$objtype} }) { + my $check_attr = undef; + my $check_value = undef; + if (exists $this_attr->{only_if}) { + ($check_attr, $check_value) = split('\=', $this_attr->{only_if}); + } + foreach my $objname (sort @{ $type_obj{$objtype} }) { # get table lookup info from Schema.pm # !!!! some tables depend on the value of certain attrs # we need to look up attrs in the correct order or we will # not be able to determine what tables to look # in for some attrs. - if (exists($this_attr->{only_if})) { - my ($check_attr, $check_value) = split('\=', $this_attr->{only_if}); - + if (defined($check_attr) && defined($check_value)) { # if the object value is not the value we need # to match then try the next only_if value next if (!($objhash{$objname}{$check_attr} =~ /\b$check_value\b/)); } - $objhash{$objname}{'objtype'} = $objtype; - my %tabentry = (); + my %tabentry = (); # def commands need to support multiple keys in one table # the subroutine parse_access_tabentry is used for supporting multiple keys - my $rc = xCAT::DBobjUtils->parse_access_tabentry($objname, - $this_attr->{access_tabentry}, \%tabentry); + my $rc = xCAT::DBobjUtils->parse_access_tabentry($objname, $this_attr->{access_tabentry}, \%tabentry); if ($rc != 0) { my $rsp; - $rsp->{data}->[0] = -"access_tabentry \'$this_attr->{access_tabentry}\' is not valid."; + $rsp->{data}->[0] = "access_tabentry \'$this_attr->{access_tabentry}\' is not valid."; xCAT::MsgUtils->message("E", $rsp, $::callback); next; } @@ -492,7 +532,8 @@ sub getobjdefs # The %tabhash is for performance considerations my $tabspec = $xCAT::Schema::tabspec{$lookup_table}; my $nodecol = $tabspec->{'nodecol'} if defined($tabspec->{'nodecol'}); - if (($lookup_attr eq 'node' && $objtype eq 'node') || (defined($nodecol) && $objtype eq 'node' && $lookup_table ne 'ppcdirect')) { + if (($lookup_attr eq 'node' && ($objtype eq 'node' || $objtype eq 'group')) || + (defined($nodecol) && ($objtype eq 'node' || $objtype eq 'group') && $lookup_table ne 'ppcdirect')) { if (defined($tabhash{$lookup_table}{$objname}{$tabattr})) { if ($verbose == 1) { $objhash{$objname}{$attr} = "$tabhash{$lookup_table}{$objname}{$tabattr}\t(Table:$lookup_table - Key:$lookup_attr - Column:$tabattr)"; @@ -511,7 +552,6 @@ sub getobjdefs $notsearched = 1; } } - # Not in tabhash, # Need to lookup the table if ($intabhash == 0 && $notsearched == 1) { @@ -583,7 +623,8 @@ sub getDBtable # save this table info - in case this subr gets called multiple times # --nocache flag specifies not to use cahe - if (grep(/^$table$/, @::foundTableList) && !$::opt_nc) { + #if (grep(/^$table$/, @::foundTableList) && !$::opt_nc) { + if (exists $::TableHash{$table} && !$::opt_nc) { # already have this @rows = @{ $::TableHash{$table} }; @@ -603,7 +644,7 @@ sub getDBtable # keep track of the fact that we checked this table # - even if it's empty! - push(@::foundTableList, $thistable->{tabname}); + #push(@::foundTableList, $thistable->{tabname}); @{ $::TableHash{$table} } = @rows; diff --git a/perl-xCAT/xCAT/DSHCLI.pm b/perl-xCAT/xCAT/DSHCLI.pm index 6e4676cfd..1fd552528 100644 --- a/perl-xCAT/xCAT/DSHCLI.pm +++ b/perl-xCAT/xCAT/DSHCLI.pm @@ -3441,7 +3441,7 @@ sub verify_targets { my $rsp = {}; $rsp->{error}->[0] = -"$user_target is not responding. No command will be issued to this host."; +"$user_target is not responding, make sure it is a node object and is defined in xCATdb. No command will be issued to this host."; xCAT::MsgUtils->message("E", $rsp, $::CALLBACK); # report error status --nodestatus @@ -5502,9 +5502,10 @@ sub build_append_rsync /tmp/mypasswd -> /etc/passwd /tmp/mygroup -> /etc/group /tmp/myshadow -> /etc/shadow + /tmp/mygshadow -> /etc/gshadow - Merges the information from the files in mypasswd, mygroup, - myshadow into /etc/passwd, /etc/group , /etc/shadow on the nodes. + Merges the information from the files in mypasswd, mygroup,mygshadow, + myshadow into /etc/passwd, /etc/group , /etc/gshadow, /etc/shadow on the nodes. These are the only files supported from MERGE and only on Linux Returns: Files do not exist, rsync errors. @@ -6155,8 +6156,9 @@ sub bld_and_run_append Runs xdsh with input to call /opt/xcat/share/xcat/scripts/xdcpmerge.sh which will perform the merge function on the node. - Input is the nodesyncfiledir mergefile1:orgfile mergefile2:orgfile2....] Note: MERGE is only support on Linux and for /etc/passwd,/etc/shadow, - and /etc/group + Input is the nodesyncfiledir mergefile1:orgfile mergefile2:orgfile2....] + Note: MERGE is only support on Linux and for /etc/passwd,/etc/shadow, + /etc/gshadow, and /etc/group =cut #------------------------------------------------------------------------------- @@ -6189,9 +6191,10 @@ sub bld_and_run_merge my $filetomerge = $2; # file to merge right of arrow if (($filetomerge ne "/etc/passwd") && ($filetomerge ne "/etc/group") + && ($filetomerge ne "/etc/gshadow") && ($filetomerge ne "/etc/shadow")) { my $rsp = {}; - $rsp->{error}->[0] = "$filetomerge is not either /etc/passwd, /etc/group or /etc/shadow. Those are the only supported files for MERGE"; + $rsp->{error}->[0] = "$filetomerge is not either /etc/passwd, /etc/group, /etc/gshadow or /etc/shadow. Those are the only supported files for MERGE"; xCAT::MsgUtils->message("E", $rsp, $::CALLBACK, 1); return 1; @@ -6310,7 +6313,18 @@ sub run_always_rsync_postscripts # build xdsh queue # build host and all scripts to execute - push(@{ $dshparms->{'postscripts'}{$postsfile} }, $host); + # EXECUTEALWAYS will only execute the syncfile in the syncfile list + foreach my $key (keys %{$$options{'destDir_srcFile'}{$host}}) { + foreach my $key1 (keys %{ $$options{'destDir_srcFile'}{$host}{$key} }) { + my $index = 0; + while (my $src_file = $$options{'destDir_srcFile'}{$host}{$key}{$key1}->[$index]) { + if ($src_file eq $tmppostfile) { + push(@{ $dshparms->{'postscripts'}{$postsfile} }, $host); + } + $index++; + } + } + } } } diff --git a/perl-xCAT/xCAT/FSPpower.pm b/perl-xCAT/xCAT/FSPpower.pm index 972c22791..9aad0c01e 100644 --- a/perl-xCAT/xCAT/FSPpower.pm +++ b/perl-xCAT/xCAT/FSPpower.pm @@ -8,7 +8,6 @@ use xCAT::PPCcli qw(SUCCESS EXPECT_ERROR RC_ERROR NR_ERROR); use xCAT::PPCpower; use xCAT::FSPUtils; use xCAT::GlobalDef; -use xCAT_monitoring::monitorctrl; #use Data::Dumper; @@ -183,6 +182,7 @@ sub powercmd_boot { } } if (%newnodestatus) { + require xCAT_monitoring::monitorctrl; xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%newnodestatus, 1); } return (\@output); @@ -364,6 +364,7 @@ sub powercmd { } if (%newnodestatus) { + require xCAT_monitoring::monitorctrl; xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%newnodestatus, 1); } return (\@output); diff --git a/perl-xCAT/xCAT/PPCboot.pm b/perl-xCAT/xCAT/PPCboot.pm index c29da6816..80d80f919 100644 --- a/perl-xCAT/xCAT/PPCboot.pm +++ b/perl-xCAT/xCAT/PPCboot.pm @@ -614,6 +614,7 @@ sub rnetboot { my $newstat = $::STATUS_POWERING_ON; my %newnodestatus = (); $newnodestatus{$newstat} = [$node]; + require xCAT_monitoring::monitorctrl; xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%newnodestatus, 1); return ([ [ $node, "Success", $Rc ] ]); } diff --git a/perl-xCAT/xCAT/PPClog.pm b/perl-xCAT/xCAT/PPClog.pm index 720288f89..54530500b 100644 --- a/perl-xCAT/xCAT/PPClog.pm +++ b/perl-xCAT/xCAT/PPClog.pm @@ -40,7 +40,7 @@ sub parse_args { $Getopt::Long::ignorecase = 0; Getopt::Long::Configure("bundling"); - if (!GetOptions(\%opt, qw(V|Verbose))) { + if (!GetOptions(\%opt, qw(V|verbose))) { return (usage()); } #################################### diff --git a/perl-xCAT/xCAT/PPCpower.pm b/perl-xCAT/xCAT/PPCpower.pm index e61dbbcbf..77e73704e 100644 --- a/perl-xCAT/xCAT/PPCpower.pm +++ b/perl-xCAT/xCAT/PPCpower.pm @@ -9,7 +9,6 @@ use xCAT::MsgUtils; use xCAT::FSPpower; use xCAT::GlobalDef; -use xCAT_monitoring::monitorctrl; ########################################################################## # Parse the command line for options and operands @@ -301,6 +300,7 @@ sub powercmd_boot { } } + require xCAT_monitoring::monitorctrl; xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%newnodestatus, 1); return (\@output); } @@ -423,6 +423,7 @@ sub powercmd { } } } + require xCAT_monitoring::monitorctrl; xCAT_monitoring::monitorctrl::setNodeStatusAttributes(\%newnodestatus, 1); return (\@result); } diff --git a/perl-xCAT/xCAT/RSYNC.pm b/perl-xCAT/xCAT/RSYNC.pm index d36694cf0..ba8209929 100644 --- a/perl-xCAT/xCAT/RSYNC.pm +++ b/perl-xCAT/xCAT/RSYNC.pm @@ -151,7 +151,7 @@ sub remote_copy_command or die "Can not open file $rsyncfile"; my $dest_dir_list = join ' ', keys %{ $$config{'destDir_srcFile'} }; my $dest_user_host = $$config{'dest-host'}; - if ($$config{'dest-user'}) + if (getpwnam($$config{'dest-user'})) { $dest_user_host = "$$config{'dest-user'}@" . "$$config{'dest-host'}"; diff --git a/perl-xCAT/xCAT/SINV.pm b/perl-xCAT/xCAT/SINV.pm index 1a6887dad..6a8606ea6 100644 --- a/perl-xCAT/xCAT/SINV.pm +++ b/perl-xCAT/xCAT/SINV.pm @@ -118,7 +118,7 @@ sub parse_and_run_sinv 'c|cmd=s' => \$options{'sinv_cmd'}, 'f|file=s' => \$options{'sinv_cmd_file'}, 'v|version' => \$options{'version'}, - 'V|Verbose' => \$options{'verbose'}, + 'V|verbose' => \$options{'verbose'}, ) ) { diff --git a/perl-xCAT/xCAT/SSH.pm b/perl-xCAT/xCAT/SSH.pm index f7b70fff1..f146db1d1 100644 --- a/perl-xCAT/xCAT/SSH.pm +++ b/perl-xCAT/xCAT/SSH.pm @@ -150,7 +150,7 @@ sub remote_copy_command { open SCPCMDFILE, "> $scpfile" or die "Can not open file $scpfile"; - if ($$config{'dest-user'}) + if (getpwnam($$config{'dest-user'})) { $dest_user_host = "$$config{'dest-user'}@" . "$$config{'dest-host'}"; diff --git a/perl-xCAT/xCAT/Schema.pm b/perl-xCAT/xCAT/Schema.pm index c2e1c33da..877124750 100755 --- a/perl-xCAT/xCAT/Schema.pm +++ b/perl-xCAT/xCAT/Schema.pm @@ -585,7 +585,7 @@ passed as argument rather than by table value', table_desc => 'Contains group definitions, whose membership is dynamic depending on characteristics of the node.', descriptions => { groupname => 'Name of the group.', - grouptype => 'The only current valid value is dynamic. We will be looking at having the object def commands working with static group definitions in the nodelist table.', + grouptype => 'Static or Dynamic. A static group is defined to contain a specific set of cluster nodes. A dynamic node group is one that has its members determined by specifying a selection criteria for node attributes.', members => 'The value of the attribute is not used, but the attribute is necessary as a place holder for the object def commands. (The membership for static groups is stored in the nodelist table.)', membergroups => 'This attribute stores a comma-separated list of nodegroups that this nodegroup refers to. This attribute is only used by PCM.', wherevals => 'A list of "attr*val" pairs that can be used to determine the members of a dynamic group, the delimiter is "::" and the operator * can be ==, =~, != or !~.', @@ -1255,9 +1255,11 @@ passed as argument rather than by table value', " FQDNfirst: Fully Qualified Domain Name first. If set to 1/yes/enable, the /etc/hosts \n" . " entries generated by 'makehosts' will put the FQDN before the PQDN(Partially \n" . " Qualified Domain Name). Otherwise, the original behavior will be performed.\n\n" . -" hierarchicalattrs: Table attributes(e.g. postscripts, postbootscripts) that will be\n" . -" included hierarchically. Attribute values for all the node's groups\n" . +" hierarchicalattrs: A comma delimited list of table attributes(e.g. postscripts, postbootscripts)\n" . +" that will be included hierarchically. Attribute values for all the node's groups\n" . " will be applied to the node in the groups' order except the repeat one.\n" . +" By default, comma is used to combine the values. But some columns use different \n" . +" delimiter, to specify delimiter for those columns as format of 'column:delimiter'.\n\n" . " dbtracelevel: The trace level for the database access log. To activate this setting, please. \n". " restart xcatd or send HUP signal to the 'xcatd: DB Access' process, Like: .\n". " ps -ef | grep 'xcatd: DB Access' | grep -v grep | awk '{print \$2}' | xargs kill -HUP \n". @@ -1308,7 +1310,7 @@ passed as argument rather than by table value', " xcatdport: The port used by the xcatd daemon for client/server communication.\n\n" . " xcatiport: The port used by xcatd to receive install status updates from nodes.\n\n" . " xcatlport: The port used by xcatd command log writer process to collect command output.\n\n" . -" xcatsslversion: The ssl version by xcatd. Default is SSLv3.\n\n" . +" xcatsslversion: The ssl version by xcatd. Default is TLSv1.\n\n" . " xcatsslciphers: The ssl cipher by xcatd. Default is 3DES.\n\n", value => 'The value of the attribute specified in the "key" column.', comments => 'Any user-written notes.', diff --git a/perl-xCAT/xCAT/Table.pm b/perl-xCAT/xCAT/Table.pm index d50846d6d..1db623b31 100644 --- a/perl-xCAT/xCAT/Table.pm +++ b/perl-xCAT/xCAT/Table.pm @@ -2324,12 +2324,8 @@ sub getNodesAttribs { } if (!exists($options{hierarchy_attrs})) { - my @hierarchy_attrs = (); - my $hierarchy_field = xCAT::TableUtils->get_site_attribute("hierarchicalattrs"); - if ($hierarchy_field) { - @hierarchy_attrs = split(/,/, $hierarchy_field); - } - $options{hierarchy_attrs} = \@hierarchy_attrs; + my $hierarchy_field = xCAT::TableUtils->getHierarchyAttrs(); + $options{hierarchy_attrs} = $hierarchy_field; } if ($dbworkerpid > 0) { @@ -2359,12 +2355,6 @@ sub getNodesAttribs { $self->{nodelist}->{_use_cache} = 1; } my $rethash; - #my @hierarchy_attrs = (); - #my $hierarchy_field = xCAT::TableUtils->get_site_attribute("hierarchicalattrs"); - #if ($hierarchy_field) { - # @hierarchy_attrs = split(/,/, $hierarchy_field); - #} - #$options{hierarchy_attrs} = \@hierarchy_attrs; foreach (@$nodelist) { my @nodeentries = $self->getNodeAttribs($_, \@realattribs, %options); $rethash->{$_} = \@nodeentries; #$self->getNodeAttribs($_,\@attribs); @@ -2755,12 +2745,19 @@ sub getNodeAttribs } if (!exists($options{hierarchy_attrs})) { - my @hierarchy_attrs = (); - my $hierarchy_field = xCAT::TableUtils->get_site_attribute("hierarchicalattrs"); - if ($hierarchy_field) { - @hierarchy_attrs = split(/,/, $hierarchy_field); - } - $options{hierarchy_attrs} = \@hierarchy_attrs; + my $hierarchy_field = xCAT::TableUtils->getHierarchyAttrs(); + $options{hierarchy_attrs} = $hierarchy_field; + } + if ($dbworkerpid > 0) { #TODO: should this be moved outside of the DB worker entirely? I'm thinking so, but I don't dare do so right now... + #the benefit would be the potentially computationally intensive substitution logic would be moved out and less time inside limited + #db worker scope + return dbc_call($self, 'getNodeAttribs', $node, \@attribs, %options); + } + $self->trace_db(START_TYPE); + + if (!defined($self->{dbh})) { + xCAT::MsgUtils->message("S", "xcatd: DBI is missing, Please check the db access process."); + return undef; } if ($dbworkerpid > 0) { #TODO: should this be moved outside of the DB worker entirely? I'm thinking so, but I don't dare do so right now... #the benefit would be the potentially computationally intensive substitution logic would be moved out and less time inside limited @@ -2811,87 +2808,21 @@ sub getNodeAttribs unless (scalar keys %{ $data[0] }) { return undef; } - my $attrib; - foreach $datum (@data) { - foreach $attrib (@attribs) - { - unless (defined $datum->{$attrib}) { - - #skip undefined values, save time - next; - } - if ($datum->{$attrib} =~ /^\/[^\/]*\/[^\/]*\/$/) - { - my $exp = substr($datum->{$attrib}, 1); - chop $exp; - my @parts = split('/', $exp, 2); - my $retval = $node; - $retval =~ s/$parts[0]/$parts[1]/; - $datum->{$attrib} = $retval; - } - elsif ($datum->{$attrib} =~ /^\|.*\|$/) - { - - #Perform arithmetic and only arithmetic operations in bracketed issues on the right. - #Tricky part: don't allow potentially dangerous code, only eval if - #to-be-evaled expression is only made up of ()\d+-/%$ - #Futher paranoia? use Safe module to make sure I'm good - my $exp = substr($datum->{$attrib}, 1); - chop $exp; - my @parts = split('\|', $exp, 2); - my $arraySize = @parts; - if ($arraySize < 2) { # easy regx, generate lhs from node - my $lhs; - my @numbers = $node =~ m/[\D0]*(\d+)/g; - $lhs = '[\D0]*(\d+)' x scalar(@numbers); - $lhs .= '.*$'; - unshift(@parts, $lhs); + if (!exists($options{keep_raw})){ + my $attrib; + foreach $datum (@data) { + foreach $attrib (@attribs) { + unless (defined $datum->{$attrib}) { + #skip undefined values, save time + next; } - my $curr; - my $next; - my $prev; - my $retval = $parts[1]; - ($curr, $next, $prev) = - extract_bracketed($retval, '()', qr/[^()]*/); - - unless ($curr) { #If there were no paramaters to save, treat this one like a plain regex - undef $@; #extract_bracketed would have set $@ if it didn't return, undef $@ - $retval = $node; - $retval =~ s/$parts[0]/$parts[1]/; + my $retval; + if (defined($retval = transRegexAttrs($node, $datum->{$attrib}))) { $datum->{$attrib} = $retval; - if ($datum->{$attrib} =~ /^$/) { - - #If regex forces a blank, act like a normal blank does - delete $datum->{$attrib}; - } - next; #skip the redundancy that follows otherwise } - while ($curr) - { - - #my $next = $comps[0]; - my $value = $node; - $value =~ s/$parts[0]/$curr/; - $value = $evalcpt->reval('use integer;' . $value); - $retval = $prev . $value . $next; - ($curr, $next, $prev) = - extract_bracketed($retval, '()', qr/[^()]*/); + else { + delete $datum->{$attrib}; } - undef $@; - - #At this point, $retval is the expression after being arithmetically contemplated, a generated regex, and therefore - #must be applied in total - my $answval = $node; - $answval =~ s/$parts[0]/$retval/; - $datum->{$attrib} = $answval; #$retval; - - #print Data::Dumper::Dumper(extract_bracketed($parts[1],'()',qr/[^()]*/)); - #use text::balanced extract_bracketed to parse earch atom, make sure nothing but arith operators, parans, and numbers are in it to guard against code execution - } - if ($datum->{$attrib} =~ /^$/) { - - #If regex forces a blank, act like a normal blank does - delete $datum->{$attrib}; } } } @@ -3065,6 +2996,9 @@ sub getNodeAttribs_nosub_returnany } @results = $self->getAttribs({ $nodekey => $node }, @attribs); + # return the DB without any rendering, this is for fetch attributes of group + return @results if (exists($options{keep_raw})); + my %attribsToDo; for (@attribs) { $attribsToDo{$_} = 0 @@ -3072,14 +3006,15 @@ sub getNodeAttribs_nosub_returnany my $attrib; my $result; - my @hierarchy_attrs = @{ $options{hierarchy_attrs} }; + my $hierarchy_attrs = $options{hierarchy_attrs}; my $data = $results[0]; if (defined {$data}) { #if there was some data for the node, loop through and check it foreach $result (@results) { foreach $attrib (keys %attribsToDo) { if (defined($result) && defined($result->{$attrib}) && $self->{tabname} ne 'nodelist' - && @hierarchy_attrs && grep (/^$attrib$/, @hierarchy_attrs)) { - $result->{$attrib} .= ',+=NEXTRECORD'; + && ref($hierarchy_attrs) eq "HASH" && exists $hierarchy_attrs->{$attrib}) { + $result->{$attrib} .= $hierarchy_attrs->{$attrib}; + $result->{$attrib} .= '+=NEXTRECORD'; } #check each item in the results to see which attributes were satisfied @@ -3139,8 +3074,9 @@ sub getNodeAttribs_nosub_returnany $attribsDone{$attrib} = 0; # for hierarchy attribute, append attributes from all the node's group - if (@hierarchy_attrs && grep (/^$attrib$/, @hierarchy_attrs)) { - $groupResult->{$attrib} .= ',+=NEXTRECORD'; + if (ref($hierarchy_attrs) eq "HASH" && exists $hierarchy_attrs->{$attrib}) { + $groupResult->{$attrib} .= $hierarchy_attrs->{$attrib}; + $groupResult->{$attrib} .= '+=NEXTRECORD'; } foreach $result (@results) { #loop through our existing results to add or modify the value for this attribute if (defined($result)) { @@ -3227,13 +3163,13 @@ sub getNodeAttribs_nosub_returnany for $result (@results) { for my $key (keys %$result) { $result->{$key} =~ s/\+=NEXTRECORD//g; - if (@hierarchy_attrs && grep (/^$key$/, @hierarchy_attrs)) { - my @attribs = split(/,/, $result->{$key}); + if (ref($hierarchy_attrs) eq "HASH" && exists $hierarchy_attrs->{$key}) { + my @attribs = split(/\Q$hierarchy_attrs->{$key}/, $result->{$key}); my %count; # remove the repeat value @attribs = grep { ++$count{$_} < 2; } @attribs; - $result->{$key} = join(',', @attribs); + $result->{$key} = join($hierarchy_attrs->{$key}, @attribs); } } } @@ -3497,11 +3433,7 @@ sub getAllNodeAttribs $self->{_use_cache} = 1; $self->{nodelist}->{_use_cache} = 1; - my @hierarchy_attrs = (); - my $hierarchy_field = xCAT::TableUtils->get_site_attribute("hierarchicalattrs"); - if ($hierarchy_field) { - @hierarchy_attrs = split(/,/, $hierarchy_field); - } + my $hierarchy_field = xCAT::TableUtils->getHierarchyAttrs(); while (my $data = $query->fetchrow_hashref()) { @@ -3529,7 +3461,7 @@ sub getAllNodeAttribs # @hierarchy_attrs = split(/,/, $hierarchy_field); #} my %options = (); - $options{hierarchy_attrs} = \@hierarchy_attrs; + $options{hierarchy_attrs} = $hierarchy_field; foreach (@nodes) { if ($donenodes{$_}) { next; } @@ -4409,8 +4341,10 @@ sub delimitcol { #-------------------------------------------------------------------------------- sub buildWhereClause { my $attrvalstr = shift; # array of atrval strings + my $getkeysonly = shift; my $whereclause; # Where Clause my $firstpass = 1; + my @gotkeys = (); foreach my $m (@{$attrvalstr}) { my $attr; @@ -4451,6 +4385,9 @@ sub buildWhereClause { ($attr, $val) = split />/, $m, 2; $operator = ' > '; } else { + if (defined($getkeysonly)) { + return "Unsupported operator:$m on -w flag input"; + } xCAT::MsgUtils->message("S", "Unsupported operator:$m on -w flag input, could not build a Where Clause."); $whereclause = ""; return $whereclause; @@ -4465,7 +4402,12 @@ sub buildWhereClause { #$whereclause .="\')"; $whereclause .= "\'"; - + if (defined($getkeysonly)) { + push @gotkeys, $attr; + } + } + if (defined($getkeysonly)) { + return \@gotkeys; } return $whereclause; diff --git a/perl-xCAT/xCAT/TableUtils.pm b/perl-xCAT/xCAT/TableUtils.pm index 472a2aedc..dc18128da 100755 --- a/perl-xCAT/xCAT/TableUtils.pm +++ b/perl-xCAT/xCAT/TableUtils.pm @@ -1533,6 +1533,51 @@ sub get_site_Master } +#-------------------------------------------------------------------------------- + +=head3 getHierarchyAttrs + + Get the global hierarchy attributes in site table, and parse the corresponding delimiter. + + Arguments: + none + Returns: + Hash reference of hierarchy attributes defined at site.hierarchicalattrs. + { + 'begin' => '|', + 'postscripts' => ',' + } + Globals: + none + Error: + none + Example: + $attrs = xCAT::TableUtils->getHierarchyAttrs(); + Comments: + none + +=cut + +#-------------------------------------------------------------------------------- + +sub getHierarchyAttrs +{ + my %hierarchy_attrs = (); + my $hierarchy_field = xCAT::TableUtils->get_site_attribute("hierarchicalattrs"); + if ($hierarchy_field) { + # $hierarchy_field should be `attr1_name:delimiter1,attr2,attr3:delimiter2` + foreach my $item (split(/,/, $hierarchy_field)) { + $item = xCAT::Utils->strim($item); + next unless ($item); + my ($attr, $del) = split(/\s*:\s*/, $item, 2); + $del = ',' unless ($del); + $hierarchy_attrs{$attr} = $del if ($attr); + } + } + + return \%hierarchy_attrs; +} + #------------------------------------------------------------------------------- =head3 checkCredFiles diff --git a/perl-xCAT/xCAT/data/discinfo.pm b/perl-xCAT/xCAT/data/discinfo.pm index c3432566a..e4e132777 100755 --- a/perl-xCAT/xCAT/data/discinfo.pm +++ b/perl-xCAT/xCAT/data/discinfo.pm @@ -96,6 +96,8 @@ our %distnames = ( "1446216863.790260" => "rhels7.2", #x86_64 "1446216863.764721" => "rhels7.2", #ppc64 "1446216863.771788" => "rhels7.2", #ppc64le + "1527763142.409770" => "rhels8.0", #ppc64le + "1537463022.540933" => "rhels8.0", #ppc64le "1285193176.593806" => "rhelhpc6", #x86_64 "1305067719.718814" => "rhelhpc6.1", #x86_64 diff --git a/pull_request_template.md b/pull_request_template.md new file mode 100644 index 000000000..d101565fc --- /dev/null +++ b/pull_request_template.md @@ -0,0 +1,25 @@ +### The PR is to fix issue _#xxx_ + +### The modification include + +_##item1_ + +_##item2_ + +### The UT result +`##The UT output##` + +# Please remove this line and below if fix issue + +# Please remove this line and above for tasks or features + +### The PR is for task _#xxx_ or to implement feature #xxx + +_##Feature description##_ + +### The content of the PR: +* [ ] _##The mini-design link_ +* [ ] _##The basic code logic_ + +### The UT result +`##The UT output##` diff --git a/travis.pl b/travis.pl index 71f6ad95f..11119f160 100644 --- a/travis.pl +++ b/travis.pl @@ -114,7 +114,7 @@ sub check_pr_format{ unless ($pr_url_resp) { print "[check_pr_format] After $retries retries, not able to get response from $pr_url \n"; # Failed after trying a few times, return error - return 1; + return $counter; } my $pr_content = decode_json($pr_url_resp); my $pr_title = $pr_content->{title}; @@ -271,19 +271,19 @@ sub send_back_comment{ #-------------------------------------------------------- sub build_xcat_core{ my @output; - my @cmds = ("gpg --list-keys", - "sed -i '/SignWith: /d' $ENV{'PWD'}/build-ubunturepo"); - foreach my $cmd (@cmds){ - print "[build_xcat_core] running $cmd\n"; - @output = runcmd("$cmd"); - if($::RUNCMD_RC){ - print "[build_xcat_core] $cmd ....[Failed]\n"; - send_back_comment("> **BUILD ERROR** : $cmd failed. Please click ``Details`` label in ``Merge pull request`` box for detailed information"); - return 1; - } - } + #my @cmds = ("gpg --list-keys", + # "sed -i '/SignWith: /d' $ENV{'PWD'}/build-ubunturepo"); + #foreach my $cmd (@cmds){ + # print "[build_xcat_core] running $cmd\n"; + # @output = runcmd("$cmd"); + # if($::RUNCMD_RC){ + # print "[build_xcat_core] $cmd ....[Failed]\n"; + # send_back_comment("> **BUILD ERROR** : $cmd failed. Please click ``Details`` label in ``Merge pull request`` box for detailed information"); + # return 1; + # } + #} - my $cmd = "sudo ./build-ubunturepo -c UP=0 BUILDALL=1"; + my $cmd = "sudo ./build-ubunturepo -c UP=0 BUILDALL=1 GPGSIGN=0"; @output = runcmd("$cmd"); print ">>>>>Dumper the output of '$cmd'\n"; print Dumper \@output; @@ -321,8 +321,8 @@ sub install_xcat{ my @cmds = ("cd ./../../xcat-core && sudo ./mklocalrepo.sh", "sudo chmod 777 /etc/apt/sources.list", - "sudo echo \"deb [arch=amd64] http://xcat.org/files/xcat/repos/apt/devel/xcat-dep trusty main\" >> /etc/apt/sources.list", - "sudo echo \"deb [arch=ppc64el] http://xcat.org/files/xcat/repos/apt/devel/xcat-dep trusty main\" >> /etc/apt/sources.list", + "sudo echo \"deb [arch=amd64 allow-insecure=yes] http://xcat.org/files/xcat/repos/apt/devel/xcat-dep xenial main\" >> /etc/apt/sources.list", + "sudo echo \"deb [arch=ppc64el allow-insecure=yes] http://xcat.org/files/xcat/repos/apt/devel/xcat-dep xenial main\" >> /etc/apt/sources.list", "sudo wget -q -O - \"http://xcat.org/files/xcat/repos/apt/apt.key\" | sudo apt-key add -", "sudo apt-get -qq update"); my @output; @@ -339,7 +339,7 @@ sub install_xcat{ } } - my $cmd = "sudo apt-get install xcat --force-yes"; + my $cmd = "sudo apt-get install xcat --allow-remove-essential --allow-unauthenticated"; @output = runcmd("$cmd"); #print ">>>>>Dumper the output of '$cmd'\n"; #print Dumper \@output; @@ -448,7 +448,7 @@ sub check_syntax{ # Return code: #-------------------------------------------------------- sub run_fast_regression_test{ - my $cmd = "sudo apt-get install xcat-test --force-yes"; + my $cmd = "sudo apt-get install xcat-test --allow-remove-essential --allow-unauthenticated"; my @output = runcmd("$cmd"); if($::RUNCMD_RC){ print RED "[run_fast_regression_test] $cmd ....[Failed]\n"; @@ -488,8 +488,7 @@ sub run_fast_regression_test{ @output = runcmd("cat $conf_file"); print Dumper \@output; - - $cmd = "sudo bash -c '. /etc/profile.d/xcat.sh && xcattest -s \"mn_only-wait_fix\" -l'"; + $cmd = "sudo bash -c '. /etc/profile.d/xcat.sh && xcattest -s \"ci_test\" -l'"; my @caseslist = runcmd("$cmd"); if($::RUNCMD_RC){ print RED "[run_fast_regression_test] $cmd ....[Failed]\n"; @@ -501,29 +500,8 @@ sub run_fast_regression_test{ print Dumper \@caseslist; } - #This is a black list for CI test - #It is useful for debug or development - #please ignore during common work -# { -# sub array_filter { -# my $src_array_ref = shift; -# my $filter_array_ref = shift; -# -# my @left_array; -# foreach my $item (@{$src_array_ref}) { -# my $hit = 0; -# foreach my $f (@{$filter_array_ref}) { -# $hit = 1 if ($f eq $item); -# } -# push @left_array, $item unless ($hit); -# } -# @$src_array_ref = @left_array; -# } -# -# #my @filter_cases=("testtest"); -# #array_filter(\@caseslist, \@filter_cases); -# } + #my @caseslist = runcmd("sudo bash -c '. /etc/profile.d/xcat.sh && xcattest -l caselist -b MN_basic.bundle'"); my $casenum = @caseslist; my $x = 0; my @failcase; @@ -612,13 +590,28 @@ my @disk = runcmd("df -h"); print "Disk information:\n"; print Dumper \@disk; +# Hacking the netmask. Not sure if we need to recover it after finish xcattest +# Note: Here has an assumption from Travis VM: only 1 UP Ethernet interface available (CHANGEME if it not as is) +my @intfinfo = runcmd("ip -o link |grep 'link/ether'|grep 'state UP' |awk -F ':' '{print \$2}'|head -1"); +foreach my $nic (@intfinfo) { + print "Hacking the netmask length to 16 if it is 32: $nic\n"; + runcmd("ip -4 addr show $nic|grep 'inet'|grep -q '/32' && sudo ip addr add \$(hostname -I|awk '{print \$1}')/16 dev $nic"); +} +my @ipinfo = runcmd("ip addr"); +print "Networking information:\n"; +print Dumper \@ipinfo; + #Start to check the format of pull request $last_func_start = timelocal(localtime()); print GREEN "\n------ Checking Pull Request Format ------\n"; $rst = check_pr_format(); +my $redo_check_pr = 0; if($rst){ - print RED "Check of pull request format failed\n"; - exit $rst; + if($rst <= $retries) { + print RED "Check of pull request format failed\n"; + exit $rst; + } + $redo_check_pr = 1; } mark_time("check_pr_format"); @@ -659,4 +652,14 @@ if($rst){ } mark_time("run_fast_regression_test"); +if ($redo_check_pr) { + print GREEN "\n------ Checking Pull Request Format ------\n"; + $rst = check_pr_format(); + if($rst){ + print RED "Check of pull request format failed\n"; + exit $rst; + } + mark_time("check_pr_format"); +} + exit 0; diff --git a/xCAT-OpenStack-baremetal/xpod2man b/xCAT-OpenStack-baremetal/xpod2man index 5a2b973f0..cbec892b8 100755 --- a/xCAT-OpenStack-baremetal/xpod2man +++ b/xCAT-OpenStack-baremetal/xpod2man @@ -9,7 +9,6 @@ use strict; -#use lib '.'; use Pod::Man; use Pod::Html; @@ -20,13 +19,6 @@ my $cachedir = '/tmp'; my @pods = getPodList($poddir); -#foreach (@pods) { print "$_\n"; } exit; - -# Build the cmd overview page. -#writesummarypage("$poddir/man1/xcat.1.pod", @pods); - -# Build the man page for each pod. -#mkdir($mandir) or die "Error: could not create $mandir.\n"; print "Converting PODs to man pages...\n"; foreach my $podfile (@pods) { my $manfile = $podfile; @@ -41,8 +33,6 @@ foreach my $podfile (@pods) { my @dummyPods = createDummyPods($poddir, \@pods); -# Build the html page for each pod. -#mkdir($htmldir) or die "Error: could not create $htmldir.\n"; print "Converting PODs to HTML pages...\n"; # have to clear the cache, because old entries can cause a problem @@ -55,7 +45,6 @@ foreach my $podfile (@pods) { $hdir =~ s|/[^/]*$||; # get rid of the basename part if (system("mkdir -p $hdir")) { die "Error: could not create $hdir.\n"; } - #print "$podfile, $htmlfile, $poddir, $htmldir\n"; convertpod2html($podfile, $htmlfile, $poddir, $htmldir); } @@ -74,16 +63,12 @@ sub createDummyPods { my ($poddir, $pods) = @_; my $cmd = "grep -r -E 'L<.+\\([57]\\)\\|.+\\.[57]>' " . $poddir; - #print "Running cmd: ", $cmd, "\n"; my @lines = `$cmd`; if ($?) { print "Did not find any section 5 man page, creating dummy pods...\n"; print join('', @lines); } - #my @lines; - #system($cmd); my @dummyPods; foreach my $l (@lines) { - #print "$l\n"; my @matches = $l =~ /L<([^\(]+)\(([57])\)\|\1\.[57]>/g; # get all the matches in the line # The above line should create the array with every other entry being the man page name # and every other entry is the section # (5 or 7) @@ -134,71 +119,6 @@ sub getPodList { } -# Create the xcat man page that gives a summary description of each xcat cmd. -# Not used -sub writesummarypage { - my $file = shift; # relative path file name of the man page - # the rest of @_ contains the pod files that describe each cmd - - open(FILE, ">$file") or die "Error: could not open $file for writing.\n"; - - print FILE <<'EOS1'; -=head1 NAME - -B - extreme Cluster Administration Tool. - -=head1 DESCRIPTION - -Extreme Cluster Administration Toolkit (xCAT). xCAT is a scalable distributed computing management -and provisioning tool that provides a unified interface for hardware control, discovery, and -OS diskful/diskfree deployment. - - -=head1 XCAT DATABASE - -All of the cluster configuration information is in the xCAT database. See L for -descriptions of every table in the database. - -=head1 XCAT COMMANDS - -What follows is a short description of each xCAT command. To get more information about a particular -command, see its man page. Note that the commands are listed in alphabetical order B, -i.e. all the commands in section 1, then the commands in section 3, etc. - -=over 12 -EOS1 - - # extract the summary for each cmd from its man page - foreach my $manpage (@_) { - my ($sectionnum) = $manpage =~ /\.(\d+)\.pod$/; - - # Suck in the whole file, then we will parse it. - open(MANPAGE, "$manpage") or die "Error: could not open $manpage for reading.\n"; - my @contents = ; - my $wholemanpage = join('', @contents); - close(MANPAGE); - - # This regex matches: optional space, =head1, space, title, space, cmd, space, description, newline - my ($cmd, $description) = $wholemanpage =~ /^\s*=head1\s+\S+\s+(\S+)\s+(.+?)\n/si; - if (!defined($cmd)) { print "Warning: $manpage is not in a recognized structure. It will be ignored.\n"; next; } - if (!defined($description)) { print "Warning: $manpage does not have a description for $cmd. It will be ignored.\n"; next; } - $cmd =~ s/^.<(.+)>$/$1/; # if the cmd name has pod formatting around it, strip it off - $description =~ s/^-\s*//; # if the description has a leading hypen, strip it off - print FILE "\n=item L<$cmd($sectionnum)|$cmd.$sectionnum>\n\n" . $description . "\n"; - } - - # Artificially add the xcattest cmd, because the xCAT-test rpm will add this - print FILE "\n=item L\n\nRun automated xCAT test cases.\n"; - - print FILE <<"EOS3"; - -=back -EOS3 - - close FILE; -} - - # Create the html page for one pod. sub convertpod2html { my ($podfile, $htmlfile, $poddir, $htmldir) = @_; diff --git a/xCAT-SoftLayer/xpod2man b/xCAT-SoftLayer/xpod2man index d867fd448..f28a08a72 100755 --- a/xCAT-SoftLayer/xpod2man +++ b/xCAT-SoftLayer/xpod2man @@ -9,7 +9,6 @@ use strict; -#use lib '.'; use Pod::Man; use Pod::Html; @@ -21,13 +20,6 @@ if (system("mkdir -p $cachedir")) { die "Error: could not create $cachedir.\n"; my @pods = getPodList($poddir); -#foreach (@pods) { print "$_\n"; } exit; - -# Build the cmd overview page. -#writesummarypage("$poddir/man1/xcat.1.pod", @pods); - -# Build the man page for each pod. -#mkdir($mandir) or die "Error: could not create $mandir.\n"; print "Converting PODs to man pages...\n"; foreach my $podfile (@pods) { my $manfile = $podfile; @@ -42,8 +34,6 @@ foreach my $podfile (@pods) { my @dummyPods = createDummyPods($poddir, \@pods); -# Build the html page for each pod. -#mkdir($htmldir) or die "Error: could not create $htmldir.\n"; print "Converting PODs to HTML pages...\n"; # have to clear the cache, because old entries can cause a problem @@ -56,7 +46,6 @@ foreach my $podfile (@pods) { $hdir =~ s|/[^/]*$||; # get rid of the basename part if (system("mkdir -p $hdir")) { die "Error: could not create $hdir.\n"; } - #print "$podfile, $htmlfile, $poddir, $htmldir\n"; convertpod2html($podfile, $htmlfile, $poddir, $htmldir); } @@ -75,16 +64,12 @@ sub createDummyPods { my ($poddir, $pods) = @_; my $cmd = "grep -r -E 'L<.+\\([57]\\)\\|.+\\.[57]>' " . $poddir; - #print "Running cmd: ", $cmd, "\n"; my @lines = `$cmd`; if ($?) { print "Did not find any section 5 man page, creating dummy pods...\n"; print join('', @lines); } - #my @lines; - #system($cmd); my @dummyPods; foreach my $l (@lines) { - #print "$l\n"; my @matches = $l =~ /L<([^\(]+)\(([57])\)\|\1\.[57]>/g; # get all the matches in the line # The above line should create the array with every other entry being the man page name # and every other entry is the section # (5 or 7) @@ -134,72 +119,6 @@ sub getPodList { return sort @files; } - -# Create the xcat man page that gives a summary description of each xcat cmd. -# Not used. -sub writesummarypage { - my $file = shift; # relative path file name of the man page - # the rest of @_ contains the pod files that describe each cmd - - open(FILE, ">$file") or die "Error: could not open $file for writing.\n"; - - print FILE <<'EOS1'; -=head1 NAME - -B - extreme Cluster Administration Tool. - -=head1 DESCRIPTION - -Extreme Cluster Administration Toolkit (xCAT). xCAT is a scalable distributed computing management -and provisioning tool that provides a unified interface for hardware control, discovery, and -OS diskful/diskfree deployment. - - -=head1 XCAT DATABASE - -All of the cluster configuration information is in the xCAT database. See L for -descriptions of every table in the database. - -=head1 XCAT COMMANDS - -What follows is a short description of each xCAT command. To get more information about a particular -command, see its man page. Note that the commands are listed in alphabetical order B, -i.e. all the commands in section 1, then the commands in section 3, etc. - -=over 12 -EOS1 - - # extract the summary for each cmd from its man page - foreach my $manpage (@_) { - my ($sectionnum) = $manpage =~ /\.(\d+)\.pod$/; - - # Suck in the whole file, then we will parse it. - open(MANPAGE, "$manpage") or die "Error: could not open $manpage for reading.\n"; - my @contents = ; - my $wholemanpage = join('', @contents); - close(MANPAGE); - - # This regex matches: optional space, =head1, space, title, space, cmd, space, description, newline - my ($cmd, $description) = $wholemanpage =~ /^\s*=head1\s+\S+\s+(\S+)\s+(.+?)\n/si; - if (!defined($cmd)) { print "Warning: $manpage is not in a recognized structure. It will be ignored.\n"; next; } - if (!defined($description)) { print "Warning: $manpage does not have a description for $cmd. It will be ignored.\n"; next; } - $cmd =~ s/^.<(.+)>$/$1/; # if the cmd name has pod formatting around it, strip it off - $description =~ s/^-\s*//; # if the description has a leading hypen, strip it off - print FILE "\n=item L<$cmd($sectionnum)|$cmd.$sectionnum>\n\n" . $description . "\n"; - } - - # Artificially add the xcattest cmd, because the xCAT-test rpm will add this - print FILE "\n=item L\n\nRun automated xCAT test cases.\n"; - - print FILE <<"EOS3"; - -=back -EOS3 - - close FILE; -} - - # Create the html page for one pod. sub convertpod2html { my ($podfile, $htmlfile, $poddir, $htmldir) = @_; diff --git a/xCAT-UI/debian/control b/xCAT-UI/debian/control index f9fe95278..d0020859d 100644 --- a/xCAT-UI/debian/control +++ b/xCAT-UI/debian/control @@ -9,5 +9,4 @@ Package: xcat-ui Architecture: all Depends: ${perl:Depends}, python (>= 2.3), apache2, libapache2-mod-php Description: Provides a browser-based interface for xCAT - Provides a browser-based interface for xCAT (extreme Cluster Administration - Tool). + Provides a browser-based interface for xCAT. diff --git a/xCAT-UI/lib/ui.php b/xCAT-UI/lib/ui.php index 458105a75..f7f96f3a1 100644 --- a/xCAT-UI/lib/ui.php +++ b/xCAT-UI/lib/ui.php @@ -72,7 +72,7 @@ function login() {
- + diff --git a/xCAT-UI/service.php b/xCAT-UI/service.php index 558d39f85..ed9cc89bd 100644 --- a/xCAT-UI/service.php +++ b/xCAT-UI/service.php @@ -57,7 +57,7 @@ if (!isAuthenticated()) {
eXtreme Cloud Administration Toolkit
xCAT
- + diff --git a/xCAT-UI/xCAT-UI.spec b/xCAT-UI/xCAT-UI.spec index 15b714315..a39fb564c 100644 --- a/xCAT-UI/xCAT-UI.spec +++ b/xCAT-UI/xCAT-UI.spec @@ -31,7 +31,7 @@ Requires: httpd %endif %description -Provides a browser-based interface for xCAT (Extreme Cloud Administration Toolkit). +Provides a browser-based interface for xCAT. %prep %setup -q -n xCAT-UI diff --git a/xCAT-client/bin/pping b/xCAT-client/bin/pping index 81c18518f..22a8b111d 100755 --- a/xCAT-client/bin/pping +++ b/xCAT-client/bin/pping @@ -200,9 +200,10 @@ sub nmap_pping { @nmap_options = xCAT::TableUtils->get_site_attribute("nmapoptions"); $more_options = $nmap_options[0]; } - open(FPING, "nmap -PE --system-dns --unprivileged --send-ip -sP $more_options " . join(' ', @$nodes) . " 2> /dev/null|") or die("Cannot open nmap pipe: $!"); + # Added port 22 for unprivileged case (#4324) + open(NMAP, "nmap -PE --system-dns --send-ip -sP --unprivileged -PA80,443,22 $more_options " . join(' ', @$nodes) . " 2> /dev/null|") or die("Cannot open nmap pipe: $!"); my $node; - while () { + while () { if (/Host (.*) \(.*\) appears to be up/) { $node = $1; unless ($deadnodes{$node}) { diff --git a/xCAT-client/bin/pscp b/xCAT-client/bin/pscp index 80d764e37..378298d3d 100755 --- a/xCAT-client/bin/pscp +++ b/xCAT-client/bin/pscp @@ -20,7 +20,7 @@ my $interface; GetOptions( "interface=s" => \$interface, "f|fanout=s" => \$fanout, - "h|help" => \$usage, + "h|help" => \&usage, "v|version" => \$::VERSION, ); my %nodehdl; @@ -32,9 +32,17 @@ if ($ENV{XCATHOST}) { sub usage { - print $_[0]; + my $rc = 1; + my @info = @_; + if (@info) { + if ($info[0] eq "h") { + $rc = 0; + } else { + print $info[0]; + } + } print "Usage: pscp [ -f fanout] [-i ] [SCP OPTIONS...] FILE... :\n"; - exit 1; + exit $rc; } my $pshmaxp = 64; diff --git a/xCAT-client/pods/man1/chzone.1.pod b/xCAT-client/pods/man1/chzone.1.pod index 4ac96916d..b7b4c601c 100644 --- a/xCAT-client/pods/man1/chzone.1.pod +++ b/xCAT-client/pods/man1/chzone.1.pod @@ -12,8 +12,8 @@ B [B<-h> | B<-v>] =head1 B The B command is designed to change the definition of a zone previous defined in the cluster. -The chzone command is only supported on Linux ( No AIX support). -The nodes are not updated with the new root ssh keys by chzone. You must run updatenode -k or xdsh -K to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. +The B command is only supported on Linux ( No AIX support). +The nodes are not updated with the new root ssh keys by B. You must run B or B to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. Note: if any zones in the zone table, there must be one and only one defaultzone. Otherwise, errors will occur. =head1 B @@ -30,12 +30,12 @@ Displays command version and build date. =item B<-k | --sshkeypath> I -This is the path to the id_rsa key that will be used to build new root's ssh keys for the zone. If -k is used, it will generate the ssh public key from the input ssh RSA private key, and store both in /etc/xcat/sshkeys//.ssh directory. +This is the path to the id_rsa key that will be used to build new root's ssh keys for the zone. If B<-k> is used, it will generate the ssh public key from the input ssh RSA private key, and store both in /etc/xcat/sshkeys//.ssh directory. =item B<-K | --genkeys> Using this flag, will generate new ssh RSA private and public keys for the zone into the /etc/xcat/sshkeys//.ssh directory. -The nodes are not automatically updated with the new root ssh keys by chzone. You must run updatenode -k or xdsh -K to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. +The nodes are not automatically updated with the new root ssh keys by chzone. You must run B or B to the nodes to update the root ssh keys to the new generated zone keys. This will also sync any service nodes with the zone keys, if you have a hierarchical cluster. =item B<--defaultzone> @@ -48,20 +48,20 @@ Note: if any zones in the zone table, there must be one and only one defaultzone =item B<-a | --addnoderange> I For each node in the noderange, it will set the zonename attribute for that node to the input zonename. -If the -g flag is also on the command, then +If the B<-g> flag is also on the command, then it will add the group name "zonename" to each node in the noderange. =item B<-r | --rmnoderange> I For each node in the noderange, if the node is a member of the input zone, it will remove the zonename attribute for that node. If any of the nodes in the noderange is not a member of the zone, you will get an error and nothing will be changed. -If the -g flag is also on the command, then +If the B<-g> flag is also on the command, then it will remove the group name "zonename" from each node in the noderange. =item B<-s| --sshbetweennodes> B -If -s entered, the zone sshbetweennodes attribute will be set to yes or no based on the input. When this is set to yes, then ssh will be setup to allow passwordless root access between nodes. If no, then root will be prompted for a password when running ssh between the nodes in the zone. +If B<-s> entered, the zone sshbetweennodes attribute will be set to yes or no based on the input. When this is set to yes, then ssh will be setup to allow passwordless root access between nodes. If no, then root will be prompted for a password when running ssh between the nodes in the zone. =item B<-f | --force> @@ -71,7 +71,7 @@ Used with the B<--defaultzone> flag to override the current default zone. Used with the B<-a> or B<-r> flag to add or remove the group zonename for all nodes in the input noderange. -=item B<-V>|B<--Verbose> +=item B<-V>|B<--verbose> Verbose mode. @@ -108,7 +108,6 @@ To add a new group of nodes (compute3) to zone3 and add zone3 group to the nodes chzone zone3 -a compute3 -g =item 5. - To remove a group of nodes (compute4) from zone4 and remove zone4 group from the nodes, enter: chzone> zone4 -r compute4 -g @@ -130,4 +129,4 @@ Location of the chzone command. =head1 B -L ,L ,L , L +L, L, L, L diff --git a/xCAT-client/pods/man1/db2sqlsetup.1.pod b/xCAT-client/pods/man1/db2sqlsetup.1.pod index 67f6a1d41..7c1ad1e7a 100644 --- a/xCAT-client/pods/man1/db2sqlsetup.1.pod +++ b/xCAT-client/pods/man1/db2sqlsetup.1.pod @@ -116,7 +116,6 @@ To setup the ODBC for DB2 xcatdb database access, on the SN : db2sqlsetup -o -C =item 5. - To setup the DB2 database but not start xcat running with it: db2sqlsetup -i -S -N diff --git a/xCAT-client/pods/man1/lstree.1.pod b/xCAT-client/pods/man1/lstree.1.pod index 99ecb1907..01f734f26 100644 --- a/xCAT-client/pods/man1/lstree.1.pod +++ b/xCAT-client/pods/man1/lstree.1.pod @@ -67,7 +67,6 @@ Output is similar to: ...... =item 2. - To display the tree of service node hierarchy for service node "mysn01". lstree -s mysn01 @@ -80,7 +79,6 @@ Output is similar to: |__mycn03 =item 3. - To display the tree of hardware hierarchy for all the nodes. lstree -H diff --git a/xCAT-client/pods/man1/mkdsklsnode.1.pod b/xCAT-client/pods/man1/mkdsklsnode.1.pod index a56d670ce..030f52583 100644 --- a/xCAT-client/pods/man1/mkdsklsnode.1.pod +++ b/xCAT-client/pods/man1/mkdsklsnode.1.pod @@ -176,7 +176,6 @@ Initialize diskless node "clstrn29" using the xCAT osimage called "61dskls". Al mkdsklsnode -i 61dskls clstrn29 psize=128 sparse_paging=yes =item 4. - Initialize an xCAT node called "node02" as an AIX diskless node. Create a new NIM machine definition name with the osimage as an extension to the xCAT node name. mkdsklsnode -n -i 61spot node02 diff --git a/xCAT-client/pods/man1/mkzone.1.pod b/xCAT-client/pods/man1/mkzone.1.pod index 9480b92b5..776ec229b 100644 --- a/xCAT-client/pods/man1/mkzone.1.pod +++ b/xCAT-client/pods/man1/mkzone.1.pod @@ -59,7 +59,7 @@ Used with the (--defaultzone) flag to override the current default zone. Used with the (-a) flag to create the group zonename for all nodes in the input noderange. -=item B<-V>|B<--Verbose> +=item B<-V>|B<--verbose> Verbose mode. @@ -82,13 +82,11 @@ To make a new zone2 using defaults and make it the default zone enter: mkzone> zone2 --defaultzone -f =item 3. - To make a new zone2A using the ssh id_rsa private key in /root/.ssh: mkzone zone2A -k /root/.ssh =item 4. - To make a new zone3 and assign the noderange compute3 to the zone enter: mkzone zone3 -a compute3 @@ -99,7 +97,6 @@ To make a new zone4 and assign the noderange compute4 to the zone and add zone4 mkzone zone4 -a compute4 -g =item 6. - To make a new zone5 and assign the noderange compute5 to the zone and add zone5 as a group to each node but not allow passwordless ssh between the nodes enter: mkzone zone5 -a compute5 -g -s no diff --git a/xCAT-client/pods/man1/nodechmac.1.pod b/xCAT-client/pods/man1/nodechmac.1.pod index 0bf9830f8..c0a674cba 100644 --- a/xCAT-client/pods/man1/nodechmac.1.pod +++ b/xCAT-client/pods/man1/nodechmac.1.pod @@ -10,7 +10,7 @@ B I BI =head1 DESCRIPTION -The B command changes the MAC address for provisioned node’s network interface. +The B command changes the MAC address for provisioned node's network interface. You can use this command to keep an existing node configuration. For example, if an existing node has hardware problems, the replacement node can use the old configurations. By using the nodechmac command, the node name and network settings of the old node can be used by the new node. diff --git a/xCAT-client/pods/man1/piflash.1.pod b/xCAT-client/pods/man1/piflash.1.pod index 9d4752f5f..c689e024c 100644 --- a/xCAT-client/pods/man1/piflash.1.pod +++ b/xCAT-client/pods/man1/piflash.1.pod @@ -5,7 +5,7 @@ B - Remotely applies firmware updates to servers. =head1 SYNOPSIS -B --package +B I --package I =head1 DESCRIPTION diff --git a/xCAT-client/pods/man1/renergy.1.pod b/xCAT-client/pods/man1/renergy.1.pod index 18580e603..780a2ce10 100644 --- a/xCAT-client/pods/man1/renergy.1.pod +++ b/xCAT-client/pods/man1/renergy.1.pod @@ -699,8 +699,7 @@ The output of the query operation: ... =item 4 - -Query all the attirbutes for management module node MM1. (For chassis) +Query all the attributes for management module node MM1. (For chassis) renergy MM1 all diff --git a/xCAT-client/pods/man1/rinv.1.pod b/xCAT-client/pods/man1/rinv.1.pod index f7aed5981..815c9a81a 100644 --- a/xCAT-client/pods/man1/rinv.1.pod +++ b/xCAT-client/pods/man1/rinv.1.pod @@ -258,7 +258,6 @@ Output is similar to: =item 3. - To retrieve 'config' information from the HMC-managed LPAR node3, enter: rinv node3 config @@ -270,7 +269,6 @@ Output is similar to: node5: Total Memory (MB): 1024 =item 4. - To retrieve information about a VMware node vm1, enter: rinv vm1 @@ -287,7 +285,6 @@ Output is similar to: B =item 5. - To list the defined network names available for a given node: rinv pokdev61 --getnetworknames @@ -304,7 +301,6 @@ Output is similar to: pokdev61: VSWITCH SYSTEM VSW3 =item 6. - To list the configuration for a given network: rinv pokdev61 --getnetwork GLAN1 @@ -317,7 +313,6 @@ Output is similar to: pokdev61: Isolation Status: OFF =item 7. - To list the disk pool names available: rinv pokdev61 --diskpoolnames @@ -329,7 +324,6 @@ Output is similar to: pokdev61: POOL3 =item 8. - List the configuration for a given disk pool: rinv pokdev61 --diskpool POOL1 free @@ -342,7 +336,6 @@ Output is similar to: =item 9. - List the known zFCP pool names. rinv pokdev61 --zfcppoolnames @@ -354,7 +347,6 @@ Output is similar to: pokdev61: zfcp3 =item 10. - List the SCSI/FCP devices contained in a given zFCP pool: rinv pokdev61 --zfcppool zfcp1 diff --git a/xCAT-client/pods/man1/rmzone.1.pod b/xCAT-client/pods/man1/rmzone.1.pod index 1e3755ff4..d2ede20d3 100644 --- a/xCAT-client/pods/man1/rmzone.1.pod +++ b/xCAT-client/pods/man1/rmzone.1.pod @@ -40,7 +40,7 @@ adding a new zone or changing an existing zone to be the default zone. Remove the assigned group named B from all nodes assigned to the zone being removed. -=item B<-V>|B<--Verbose> +=item B<-V>|B<--verbose> Verbose mode. @@ -58,13 +58,11 @@ To remove zone1 from the zone table and the zonename attribute on all it's assig rmzone zone1 =item 2. - To remove zone2 from the zone table, the zone2 zonename attribute, and the zone2 group assigned to all nodes that were in zone2, enter: rmzone zone2 -g =item 3. - To remove zone3 from the zone table, all the node zone attributes and override the fact it is the defaultzone, enter: rmzone zone3 -g -f @@ -79,4 +77,4 @@ Location of the rmzone command. =head1 B -L ,L ,L , L +L, L, L, L diff --git a/xCAT-client/pods/man1/rspconfig.1.pod b/xCAT-client/pods/man1/rspconfig.1.pod index 10df8ed4b..b4cd8b4d3 100644 --- a/xCAT-client/pods/man1/rspconfig.1.pod +++ b/xCAT-client/pods/man1/rspconfig.1.pod @@ -264,7 +264,7 @@ Get the BMC backup gateway ip address. =item B={B | I} -Get or set the SNMP commmunity value. The default is B. +Get or set the SNMP community value. The default is B. =item B=I @@ -348,7 +348,7 @@ Get or set hostname on the service processor. =item B -Get or set vlan ID. For get vlan ID, if vlan is not enabled, 'BMC VLAN disabled' will be outputed. For set vlan ID, the valid value are [1-4096]. +Get or set vlan ID. For get vlan ID, if vlan is not enabled, 'BMC VLAN disabled' will be displayed. For set vlan ID, the valid value are [1-4096]. =item B @@ -855,7 +855,6 @@ To force service processor failover for cec01: cec01: 192.168.2.2: sp=primary,ipadd=192.168.2.2,alt_ipadd=unavailable,state=LINE UP =item 27. - To deconfigure memory bank 9 and 10 of Processing Unit 0 on mm01: rspconfig mm01 memdecfg=deconfigure:bank:0:9,10 @@ -865,7 +864,6 @@ Output is similar to: mm01: Success =item 28. - To reset the network interface of the specified nodes: rspconfig --resetnet diff --git a/xCAT-client/pods/man1/sinv.1.pod b/xCAT-client/pods/man1/sinv.1.pod index e8bd98d17..13a4fd740 100644 --- a/xCAT-client/pods/man1/sinv.1.pod +++ b/xCAT-client/pods/man1/sinv.1.pod @@ -135,7 +135,7 @@ xCAT ships some default configuration files for Ethernet switches and IB switches under I directory. If you want to overwrite any of the configuration files, copy them to I -directory and cutomize. +directory and customize. For example, I is the configuration file location if devicetype is specified as IBSwitch::Qlogic. xCAT will first search config file using I as the base. @@ -182,7 +182,7 @@ Displays usage information. Displays xCAT release version. -=item B<-V>|B<--Verbose> +=item B<-V>|B<--verbose> Verbose mode. @@ -252,7 +252,6 @@ To execute B on the Linux osimage defined for cn1. First build a template sinv -c "xdsh -i /install/netboot/rhels6/ppc64/test_ramdisk_statelite/rootimg cat /etc/hosts" -e -t 1 -p /tmp/sinv.template -o /tmp/sinv.output =item 8. - To execute B on the AIX NIM 611dskls spot and compare /etc/hosts to compute1 node, run the following: xdsh compute1 "cat /etc/hosts" | xdshcoll > /tmp/sinv2/template" @@ -260,7 +259,6 @@ To execute B on the AIX NIM 611dskls spot and compare /etc/hosts to comput sinv -c "xdsh -i 611dskls cat /etc/hosts" -e -t1 -p /tmp/sinv.template -o /tmp/sinv.output =item 9. - To execute B on the device mswitch2 and compare to mswitch1 sinv -c "xdsh mswitch enable;show version" -s mswitch1 -p /tmp/sinv/template --devicetype IBSwitch::Mellanox -l admin -t 2 @@ -275,4 +273,4 @@ Location of the sinv command. =head1 B -L , L +L, L diff --git a/xCAT-client/pods/man1/xdcp.1.pod b/xCAT-client/pods/man1/xdcp.1.pod index 2495b6431..a4f2fc9db 100644 --- a/xCAT-client/pods/man1/xdcp.1.pod +++ b/xCAT-client/pods/man1/xdcp.1.pod @@ -31,7 +31,7 @@ If the Management Node is target node, it must be defined in the xCAT database w B B: A user_ID can be specified for the remote copy command. Remote user -specification is identical for the xdcp and xdsh commands. See the xdsh +specification is identical for the B and B commands. See the B command for more information. B B B: @@ -185,7 +185,7 @@ For example, your rsynclist file may look like this: When you use the append script, the file (left) of the arrow is appended to the file right of the arrow. In this example, /etc/myappenddir/appendfile is appended to /etc/mysetup/setup file, which must already exist on the node. The /opt/xcat/share/xcat/scripts/xdcpappend.sh is used to accomplish this. -Another option is the B clause in the synclist file. The B clause is used to append the contents of the input file to /etc/passwd, /etc/group, or /etc/shadow on a Linux node. It is only supported for those files and only on Linux. You must not use both the APPEND and MERGE funcion for these three files. The processing could end up not creating the file you desire. The MERGE function is the preferred method, becuase APPEND only adds to the file. MERGE will add to the file but also insure there are no duplicate entries. +Another option is the B clause in the synclist file. The B clause is used to append the contents of the input file to /etc/passwd, /etc/group, or /etc/shadow on a Linux node. It is only supported for those files and only on Linux. You must not use both the APPEND and MERGE funcion for these three files. The processing could end up not creating the file you desire. The MERGE function is the preferred method, because APPEND only adds to the file. MERGE will add to the file but also insure there are no duplicate entries. For example, your rsynclist file may look like this: /tmp/share/file2 -> /tmp/file2 @@ -469,7 +469,6 @@ Run: xdcp compute -F /tmp/myrsync =item 9. - To rsync all the files in /home/mikev to the compute nodes: Create a rsync file /tmp/myrsync, with this line: diff --git a/xCAT-client/pods/man1/xdsh.1.pod b/xCAT-client/pods/man1/xdsh.1.pod index 269a51446..c5572ca91 100644 --- a/xCAT-client/pods/man1/xdsh.1.pod +++ b/xCAT-client/pods/man1/xdsh.1.pod @@ -70,8 +70,7 @@ The remote shell is determined as follows, in order of precedence: 4. The B command. -The remote shell options are determined as follows, in order of prece- -dence: +The remote shell options are determined as follows, in order of precedence: 1. The B<-o> flag. @@ -525,7 +524,6 @@ To cleanup the servicenode directory that stages the copy of files to the nodes, xdsh servicenoderange -c =item 9. - To define the QLogic IB switch as a node and to set up the SSH keys for IB switch B with device configuration file B and user name B, enter @@ -548,7 +546,6 @@ B with and user name B, enter xdsh mswitch -l admin --devicetype IBSwitch::Mellanox 'enable;configure terminal;show ssh server host-keys' =item 12. - To define a BNT Ethernet switch as a node and run a command to create a new vlan with vlan id 3 on the switch. chdef myswitch groups=all @@ -562,7 +559,6 @@ If it is for Telnet, add I in front of the user name: I. dsh myswitch --devicetype EthSwitch::BNT 'enable;configure terminal;vlan 3;end;show vlan' =item 13. - To run B with the non-root userid "user1" that has been setup as an xCAT userid and with sudo on node1 and node2 to run as root, do the following, see xCAT doc on Granting_Users_xCAT_privileges: xdsh node1,node2 --sudo -l user1 "cat /etc/passwd" diff --git a/xCAT-client/pods/man1/xdshbak.1.pod b/xCAT-client/pods/man1/xdshbak.1.pod index fed91b77d..c315b2274 100644 --- a/xCAT-client/pods/man1/xdshbak.1.pod +++ b/xCAT-client/pods/man1/xdshbak.1.pod @@ -114,7 +114,6 @@ the format used in the Description, enter: xdsh node1,node2,node3 cat /etc/passwd | xdshbak =item 2. - To display the results of a command issued on several nodes with identical output displayed only once, enter: diff --git a/xCAT-client/pods/man8/rinstall.8.pod b/xCAT-client/pods/man8/rinstall.8.pod index 68da3c407..17b7a4898 100644 --- a/xCAT-client/pods/man8/rinstall.8.pod +++ b/xCAT-client/pods/man8/rinstall.8.pod @@ -6,7 +6,7 @@ B - Begin OS provision on a noderange B I [B | B | BI] [B<-c>|B<--console>] [B<-V>|B<--verbose>] -B I B[=I] [B<--noupdateinitrd>][B<--ignorekernelchk>] [B<-c>|B<--console>] [B<-u>|B<--uefimode>] [B<-V>|B<--verbose>] +B I [B[=I]] [B<--noupdateinitrd>][B<--ignorekernelchk>] [B<-c>|B<--console>] [B<-u>|B<--uefimode>] [B<-V>|B<--verbose>] B I BI @@ -16,9 +16,9 @@ B [B<-h>|B<--help>|B<-v>|B<--version>] B is a convenience command to begin OS provision on a noderange. -If B=I is specified or B is specified and nodetype.provmethod=B is set, provision the noderange with the osimage specified/configured. +If B=I is specified or B is specified and nodetype.provmethod=I is set, provision the noderange with the osimage specified/configured. If no task specified, default is B. -If B<-c> is specified, it will then run B on the node. This is allowed only if one node is in the noderange. If consoles are needed on multiple nodes, see L. +If B<-c> is specified, B will run B on the node. This is allowed only if one node is in the noderange. If consoles are needed on multiple nodes, see L. =head1 B @@ -33,6 +33,7 @@ Instruct network boot loader to be skipped, generally meaning boot to hard disk Prepare server for installing a node using the specified OS image. The OS image is defined in the I table and I table. If the I is omitted, the OS image name will be obtained from I for the node. =item B<--noupdateinitrd> + Skip the rebuilding of initrd when the 'netdrivers', 'driverupdatesrc' or 'osupdatename' were set for injecting new drivers to initrd. But, the B command should be run to rebuild the initrd for new drivers injecting. This is used to improve the performance of B command. =item B<--ignorekernelchk> diff --git a/xCAT-client/share/xcat/tools/groupfiles4dsh b/xCAT-client/share/xcat/tools/groupfiles4dsh index faf2aeceb..2174d84d8 100755 --- a/xCAT-client/share/xcat/tools/groupfiles4dsh +++ b/xCAT-client/share/xcat/tools/groupfiles4dsh @@ -45,7 +45,7 @@ use xCAT::Utils; # Main my $rc = 0; &parse_args; -my $cmd = "lsdef -t group"; +my $cmd = "lsdef -t group | awk '{print \$1}'"; my @grpoutput = xCAT::Utils->runcmd($cmd, 0); if ($::RUNCMD_RC != 0) { # error diff --git a/xCAT-client/xpod2man b/xCAT-client/xpod2man index d7ee05ea9..908804ba7 100755 --- a/xCAT-client/xpod2man +++ b/xCAT-client/xpod2man @@ -9,7 +9,6 @@ use strict; -#use lib '.'; use Pod::Man; use Pod::Html; @@ -21,14 +20,10 @@ if (system("mkdir -p $cachedir")) { die "Error: could not create $cachedir.\n"; my @pods = getPodList($poddir); -#foreach (@pods) { print "$_\n"; } exit; - # Build the cmd overview page. writesummarypage("$poddir/man1/xcat.1.pod", @pods); push @pods, "$poddir/man1/xcat.1.pod"; -# Build the man page for each pod. -#mkdir($mandir) or die "Error: could not create $mandir.\n"; print "Converting PODs to man pages...\n"; foreach my $podfile (@pods) { my $manfile = $podfile; @@ -43,8 +38,6 @@ foreach my $podfile (@pods) { my @dummyPods = createDummyPods($poddir, \@pods); -# Build the html page for each pod. -#mkdir($htmldir) or die "Error: could not create $htmldir.\n"; print "Converting PODs to HTML pages...\n"; # have to clear the cache, because old entries can cause a problem @@ -57,7 +50,6 @@ foreach my $podfile (@pods) { $hdir =~ s|/[^/]*$||; # get rid of the basename part if (system("mkdir -p $hdir")) { die "Error: could not create $hdir.\n"; } - #print "$podfile, $htmlfile, $poddir, $htmldir\n"; convertpod2html($podfile, $htmlfile, $poddir, $htmldir); } @@ -76,16 +68,12 @@ sub createDummyPods { my ($poddir, $pods) = @_; my $cmd = "grep -r -E 'L<.+\\([57]\\)\\|.+\\.[57]>' " . $poddir; - #print "Running cmd: ", $cmd, "\n"; my @lines = `$cmd`; if ($?) { print "Did not find any section 5 man page, creating dummy pods...\n"; print join('', @lines); } - #my @lines; - #system($cmd); my @dummyPods; foreach my $l (@lines) { - #print "$l\n"; my @matches = $l =~ /L<([^\(]+)\(([57])\)\|\1\.[57]>/g; # get all the matches in the line # The above line should create the array with every other entry being the man page name # and every other entry is the section # (5 or 7) @@ -149,11 +137,11 @@ sub writesummarypage { print FILE <<'EOS1'; =head1 NAME -B - extreme Cluster Administration Tool. +B - Extreme Cloud Administration Toolkit. =head1 DESCRIPTION -Extreme Cluster Administration Toolkit (xCAT). xCAT is a scalable distributed computing management +Extreme Cloud Administration Toolkit (xCAT). xCAT is a scalable distributed computing management and provisioning tool that provides a unified interface for hardware control, discovery, and OS diskful/diskfree deployment. diff --git a/xCAT-confluent/xpod2man b/xCAT-confluent/xpod2man index d49af7443..346bb674e 100755 --- a/xCAT-confluent/xpod2man +++ b/xCAT-confluent/xpod2man @@ -9,7 +9,6 @@ use strict; -#use lib '.'; use Pod::Man; use Pod::Html; @@ -20,13 +19,6 @@ my $cachedir = '/tmp'; my @pods = getPodList($poddir); -#foreach (@pods) { print "$_\n"; } exit; - -# Build the cmd overview page. -#writesummarypage("$poddir/man1/xcat.1.pod", @pods); - -# Build the man page for each pod. -#mkdir($mandir) or die "Error: could not create $mandir.\n"; print "Converting PODs to man pages...\n"; foreach my $podfile (@pods) { my $manfile = $podfile; @@ -41,8 +33,6 @@ foreach my $podfile (@pods) { my @dummyPods = createDummyPods($poddir, \@pods); -# Build the html page for each pod. -#mkdir($htmldir) or die "Error: could not create $htmldir.\n"; print "Converting PODs to HTML pages...\n"; # have to clear the cache, because old entries can cause a problem @@ -55,7 +45,6 @@ foreach my $podfile (@pods) { $hdir =~ s|/[^/]*$||; # get rid of the basename part if (system("mkdir -p $hdir")) { die "Error: could not create $hdir.\n"; } - #print "$podfile, $htmlfile, $poddir, $htmldir\n"; convertpod2html($podfile, $htmlfile, $poddir, $htmldir); } @@ -74,27 +63,21 @@ sub createDummyPods { my ($poddir, $pods) = @_; my $cmd = "grep -r -E 'L<.+\\([57]\\)\\|.+\\.[57]>' " . $poddir; - #print "Running cmd: ", $cmd, "\n"; my @lines = `$cmd`; if ($?) { print "Did not find any section 5 man page, creating dummy pods...\n"; print join('', @lines); } - #my @lines; - #system($cmd); my @dummyPods; foreach my $l (@lines) { - #print "$l\n"; my @matches = $l =~ /L<([^\(]+)\(([57])\)\|\1\.[57]>/g; # get all the matches in the line # The above line should create the array with every other entry being the man page name # and every other entry is the section # (5 or 7) my $cmd; while ($cmd = shift @matches) { - #foreach my $m (@matches) { my $section = shift @matches; my $filename = "$poddir/man$section/$cmd.$section.pod"; - #print "$filename\n"; if (!(grep /^$filename$/, @$pods) && !(grep /^$filename$/, @dummyPods)) { push @dummyPods, $filename; } } } @@ -133,71 +116,6 @@ sub getPodList { return sort @files; } - -# Create the xcat man page that gives a summary description of each xcat cmd. -sub writesummarypage { - my $file = shift; # relative path file name of the man page - # the rest of @_ contains the pod files that describe each cmd - - open(FILE, ">$file") or die "Error: could not open $file for writing.\n"; - - print FILE <<'EOS1'; -=head1 NAME - -B - extreme Cluster Administration Tool. - -=head1 DESCRIPTION - -Extreme Cluster Administration Toolkit (xCAT). xCAT is a scalable distributed computing management -and provisioning tool that provides a unified interface for hardware control, discovery, and -OS diskful/diskfree deployment. - - -=head1 XCAT DATABASE - -All of the cluster configuration information is in the xCAT database. See L for -descriptions of every table in the database. - -=head1 XCAT COMMANDS - -What follows is a short description of each xCAT command. To get more information about a particular -command, see its man page. Note that the commands are listed in alphabetical order B, -i.e. all the commands in section 1, then the commands in section 3, etc. - -=over 12 -EOS1 - - # extract the summary for each cmd from its man page - foreach my $manpage (@_) { - my ($sectionnum) = $manpage =~ /\.(\d+)\.pod$/; - - # Suck in the whole file, then we will parse it. - open(MANPAGE, "$manpage") or die "Error: could not open $manpage for reading.\n"; - my @contents = ; - my $wholemanpage = join('', @contents); - close(MANPAGE); - - # This regex matches: optional space, =head1, space, title, space, cmd, space, description, newline - my ($cmd, $description) = $wholemanpage =~ /^\s*=head1\s+\S+\s+(\S+)\s+(.+?)\n/si; - if (!defined($cmd)) { print "Warning: $manpage is not in a recognized structure. It will be ignored.\n"; next; } - if (!defined($description)) { print "Warning: $manpage does not have a description for $cmd. It will be ignored.\n"; next; } - $cmd =~ s/^.<(.+)>$/$1/; # if the cmd name has pod formatting around it, strip it off - $description =~ s/^-\s*//; # if the description has a leading hypen, strip it off - print FILE "\n=item L<$cmd($sectionnum)|$cmd.$sectionnum>\n\n" . $description . "\n"; - } - - # Artificially add the xcattest cmd, because the xCAT-test rpm will add this - print FILE "\n=item L\n\nRun automated xCAT test cases.\n"; - - print FILE <<"EOS3"; - -=back -EOS3 - - close FILE; -} - - # Create the html page for one pod. sub convertpod2html { my ($podfile, $htmlfile, $poddir, $htmldir) = @_; diff --git a/xCAT-genesis-builder/xCAT-genesis-base.spec b/xCAT-genesis-builder/xCAT-genesis-base.spec index 76bd5644b..a7f121dee 100644 --- a/xCAT-genesis-builder/xCAT-genesis-base.spec +++ b/xCAT-genesis-builder/xCAT-genesis-base.spec @@ -72,7 +72,7 @@ end local function remove_directory(directory, level, prefix) local num_dirs = 0 local num_files = 0 - if posix.access(directory,"rw") then + if posix.access(directory, "rw") then local files = posix.dir(directory) local last_file_index = table.getn(files) table.sort(files) @@ -89,7 +89,7 @@ local function remove_directory(directory, level, prefix) posix.unlink(full_name) end - -- printf('%s%s%s%s\n', prefix, prefix2, name, link) + -- printf('%s%s%s%s\n', prefix, prefix2, name, link) if info.type == 'directory' then local indent = is_tail and tail_leaf_indent or leaf_indent @@ -112,11 +112,18 @@ local function remove_directory_deep(directory) -- print(directory) - num_dirs, num_files = remove_directory(directory, 0, '') + if posix.access(directory, "rw") then + local info = assert(posix.stat(directory)) + if info.type == 'directory' then + num_dirs, num_files = remove_directory(directory, 0, '') - -- printf('\ndropped %d directories, %d files\n', num_dirs, num_files) + -- printf('\ndropped %d directories, %d files\n', num_dirs, num_files) - posix.rmdir(directory) + posix.rmdir(directory) + else + posix.unlink(directory) + end + end end remove_directory_deep("/opt/xcat/share/xcat/netboot/genesis/%{tarch}/fs/bin") @@ -127,13 +134,13 @@ remove_directory_deep("/opt/xcat/share/xcat/netboot/genesis/%{tarch}/fs/var/run" %post if [ "$1" == "2" ]; then #only on upgrade, as on install it's probably not going to work... - if [ -f "/proc/cmdline" ]; then # prevent running it during install into chroot image - . /etc/profile.d/xcat.sh - #mknb %{tarch} + if [ -f "/proc/cmdline" ]; then # prevent running it during install into chroot image + . /etc/profile.d/xcat.sh + #mknb %{tarch} echo "If you are installing/updating xCAT-genesis-base separately, not as part of installing/updating all of xCAT, run 'mknb ' manually" mkdir -p /etc/xcat touch /etc/xcat/genesis-base-updated - fi + fi fi %Files diff --git a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_bmcconfig.py b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_bmcconfig.py index fa1377626..19b990228 100644 --- a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_bmcconfig.py +++ b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_bmcconfig.py @@ -334,6 +334,9 @@ rmdir \"/tmp/$userid\" \n") if not nic: return self.callback.error('Can not get facing NIC for %s' % bmcip, node) + if (netinfo[nic]['ipsrc'] == 'DHCP'): + return self.callback.error('BMC IP source is DHCP, could not set NTPServers', node) + try: obmc.set_ntp_servers(nic, servers) self.callback.info('%s: BMC Setting NTPServers...' % node) @@ -376,6 +379,8 @@ rmdir \"/tmp/$userid\" \n") except (SelfServerException, SelfClientException) as e: self.callback.error(e.message, node) + self.callback.info("%s: BMC password changed. Update 'bmcpasswd' for the node or the 'passwd' table with the new password." % node) + def _set_apis_values(self, key, value, **kw): node = kw['node'] obmc = openbmc.OpenBMCRest(name=node, nodeinfo=kw['nodeinfo'], messager=self.callback, @@ -427,8 +432,8 @@ rmdir \"/tmp/$userid\" \n") def _print_bmc_netinfo(self, node, ip, netmask, gateway, vlan): - self.callback.info('%s: BMC IP: %s'% (node, ip)) - self.callback.info('%s: BMC Netmask: %s' % (node, netmask)) + self.callback.info('%s: BMC IP: %s' % (node, ip)) + self.callback.info('%s: BMC Netmask: %s' % (node, netmask)) self.callback.info('%s: BMC Gateway: %s' % (node, gateway)) if vlan: self.callback.info('%s: BMC VLAN ID: %s' % (node, vlan)) @@ -437,6 +442,7 @@ rmdir \"/tmp/$userid\" \n") node = kw['node'] node_info = kw['nodeinfo'] + zeroconf = "Unknown" obmc = openbmc.OpenBMCRest(name=node, nodeinfo=node_info, messager=self.callback, debugmode=self.debugmode, verbose=self.verbose) @@ -448,7 +454,7 @@ rmdir \"/tmp/$userid\" \n") return if not netinfo: - return self.callback.error("No network information get", node) + return self.callback.error("Can not get network information", node) if 'error' in netinfo: return self.callback.info('%s: %s' % (node, netinfo['error'])) @@ -467,6 +473,7 @@ rmdir \"/tmp/$userid\" \n") origin_type = netinfo[origin_nic]['ipsrc'] origin_ip_obj = netinfo[origin_nic]['ipobj'] + zeroconf = netinfo[origin_nic]['zeroconf'] if vlan: pre_nic = nic.split('_')[0] @@ -479,6 +486,8 @@ rmdir \"/tmp/$userid\" \n") nic = pre_nic + '_' + vlan try: + # Display Zero Config information in case IP setting fails or set IP is not accessible + self.callback.info('%s: Setting BMC IP configuration... [Zero Config IP: %s]' % (node, zeroconf)) obmc.set_netinfo(nic, ip, prefix, gateway) sleep( 5 ) nic_netinfo = obmc.get_nic_netinfo(nic) @@ -487,7 +496,7 @@ rmdir \"/tmp/$userid\" \n") return if not nic_netinfo: - return self.callback.error('Did not get info for NIC %s' % nic, node) + return self.callback.error('Can not get info for NIC %s' % nic, node) set_success = False for net_id, attr in nic_netinfo.items(): @@ -497,7 +506,7 @@ rmdir \"/tmp/$userid\" \n") set_success = True if not set_success: - return self.callback.error('Config BMC IP failed', node) + return self.callback.error('Setting BMC IP configuration failed. [Zero Config IP: %s]' % zeroconf, node) try: if origin_type == 'DHCP': @@ -505,7 +514,7 @@ rmdir \"/tmp/$userid\" \n") elif origin_type == 'Static': obmc.delete_ip_object(origin_nic, origin_ip_obj) else: - self.callback.error('Get wrong Origin type %s for NIC %s IP object %s' % (origin_type, nic, origin_ip_obj), node) + self.callback.error('Got wrong origin type %s for NIC %s IP object %s' % (origin_type, nic, origin_ip_obj), node) except (SelfServerException, SelfClientException) as e: self.callback.error(e.message, node) @@ -522,7 +531,7 @@ rmdir \"/tmp/$userid\" \n") self.callback.error(e.message, node) return if not netinfo: - return self.callback.error("No network information get", node) + return self.callback.error("Can not get network information", node) defaultgateway = "n/a" bmchostname = "" if 'defaultgateway' in netinfo: diff --git a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_eventlog.py b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_eventlog.py index 2f4242ed0..ad7f34853 100644 --- a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_eventlog.py +++ b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_eventlog.py @@ -102,11 +102,11 @@ class OpenBMCEventlogTask(ParallelNodesCommand): if self.verbose: self.callback.info('%s: Not resolving already resolved eventlog ID %s' % (node, id_to_resolve)) else: - self.callback.info('%s: Invalid ID: %s' % (node, id_to_resolve)) + self.callback.error('Invalid ID: %s' % (id_to_resolve), node) if len(eventlog_ids_to_resolve) == 0: # At the end and there are no entries to resolve - self.callback.info('%s: No event log entries needed to be resolved' % node) + self.callback.error('No event log entries needed to be resolved', node) else: # Resolve entries that were collected into the eventlog_ids_to_resolve array obmc.resolve_event_log_entries(eventlog_ids_to_resolve) diff --git a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_inventory.py b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_inventory.py index 0b454d426..dd9d15c76 100644 --- a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_inventory.py +++ b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_inventory.py @@ -60,7 +60,7 @@ class OpenBMCInventoryTask(ParallelNodesCommand): continue firm_info.append('%s Firmware Product: %s (%s)%s' % - (firm_obj_dict[key].purpose, + (firm_obj_dict[key].purpose.upper(), firm_obj_dict[key].version, firm_obj_dict[key].active, flag)) @@ -70,7 +70,7 @@ class OpenBMCInventoryTask(ParallelNodesCommand): for extended in extendeds: firm_info.append('%s Firmware Product: ' \ '-- additional info: %s' % \ - (firm_obj_dict[key].purpose, extended)) + (firm_obj_dict[key].purpose.upper(), extended)) return firm_info diff --git a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_power.py b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_power.py index 819fbc887..b6bc0b4e4 100644 --- a/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_power.py +++ b/xCAT-openbmc-py/lib/python/agent/hwctl/executor/openbmc_power.py @@ -109,12 +109,15 @@ class OpenBMCPowerTask(ParallelNodesCommand): off_flag = False start_timeStamp = int(time.time()) for i in range (0, 30): - states = obmc.list_power_states() - status = obmc.get_host_state(states) - if openbmc.RPOWER_STATES.get(status) == 'off': - off_flag = True - break gevent.sleep( 2 ) + try: + states = obmc.list_power_states() + status = obmc.get_host_state(states) + if openbmc.RPOWER_STATES.get(status) == 'off': + off_flag = True + break + except SelfServerException as e: + continue end_timeStamp = int(time.time()) @@ -123,10 +126,18 @@ class OpenBMCPowerTask(ParallelNodesCommand): 'to off after waiting %s seconds. (State= %s).' % (end_timeStamp - start_timeStamp, status) raise SelfServerException(error) - ret = obmc.set_power_state('on') - self.callback.update_node_attributes('status', node, POWER_STATE_DB['on']) + for i in range(0, 2): + try: + ret = obmc.set_power_state('on') + self.callback.update_node_attributes('status', node, POWER_STATE_DB['on']) + self.callback.info('%s: %s' % (node, 'reset')) + return + except SelfServerException as e: + self.callback.syslog('%s: %s' % (node, e.message)) + gevent.sleep( 1 ) + continue - self.callback.info('%s: %s' % (node, 'reset')) + self.callback.error(e.message, node) except (SelfServerException, SelfClientException) as e: self.callback.error(e.message, node) diff --git a/xCAT-openbmc-py/lib/python/agent/hwctl/openbmc_client.py b/xCAT-openbmc-py/lib/python/agent/hwctl/openbmc_client.py index 1670a51da..c244abc40 100644 --- a/xCAT-openbmc-py/lib/python/agent/hwctl/openbmc_client.py +++ b/xCAT-openbmc-py/lib/python/agent/hwctl/openbmc_client.py @@ -345,7 +345,7 @@ class OpenBMCRest(object): e.message = "Login to BMC failed: Can't connect to {0} {1}.".format(e.host_and_port, e.detail_msg) else: e.message = 'BMC did not respond. ' \ - 'Validate BMC configuration and retry the command.' + 'Validate BMC configuration and retry the command. ' + e.detail_msg self._print_error_log(e.message, cmd) raise except ValueError: @@ -900,13 +900,15 @@ class OpenBMCRest(object): continue dev,match,netid = k.partition("/ipv4/") if netid: - if 'LinkLocal' in v["Origin"] or v["Address"].startswith("169.254"): - msg = "Found LinkLocal address %s for interface %s, Ignoring..." % (v["Address"], dev) - self._print_record_log(msg, 'get_netinfo') - continue nicid = dev.split('/')[-1] if nicid not in netinfo: netinfo[nicid] = {} + if 'LinkLocal' in v["Origin"] or v["Address"].startswith("169.254"): + msg = "Found LinkLocal address %s for interface %s, Ignoring..." % (v["Address"], dev) + self._print_record_log(msg, 'get_netinfo') + # Save Zero Conf information + netinfo[nicid]["zeroconf"] = v["Address"] + continue if 'ip' in netinfo[nicid]: msg = "%s: Another valid ip %s found." % (node, v["Address"]) self._print_record_log(msg, 'get_netinfo') diff --git a/xCAT-probe/debian/changelog b/xCAT-probe/debian/changelog index 050572c17..d7c9e2b06 100644 --- a/xCAT-probe/debian/changelog +++ b/xCAT-probe/debian/changelog @@ -1,3 +1,9 @@ +xcat-probe (2.14.3) unstable; urgency=low + + * Add tcpdump as recommend + + -- GONG Jie Thu, 30 Aug 2018 17:26:33 +0800 + xcat-probe (2.12) unstable; urgency=low * Initial build diff --git a/xCAT-probe/debian/control b/xCAT-probe/debian/control index 2a7549362..7140f1513 100644 --- a/xCAT-probe/debian/control +++ b/xCAT-probe/debian/control @@ -8,5 +8,5 @@ Standards-Version: 3.9.4 Package: xcat-probe Architecture: all Depends: ${perl:Depends} -Recommends: wget, dnsutils, tftp-hpa +Recommends: wget, dnsutils, tftp-hpa, tcpdump Description: Provides a toolkit to probe possible issues in xCAT diff --git a/xCAT-probe/lib/perl/LogParse.pm b/xCAT-probe/lib/perl/LogParse.pm index ec8cb98b7..eed2a80fd 100644 --- a/xCAT-probe/lib/perl/LogParse.pm +++ b/xCAT-probe/lib/perl/LogParse.pm @@ -126,10 +126,15 @@ sub obtain_log_file_list { my $self = shift; my %candidate_log; + my @loglist = ("/var/log/messages", + "/var/log/xcat/cluster.log", + "/var/log/xcat/computes.log", + "/var/log/syslog"); + my @candidate_log_set; - push @candidate_log_set, "/var/log/messages" if (-e "/var/log/messages"); - push @candidate_log_set, "/var/log/xcat/cluster.log" if (-e "/var/log/xcat/cluster.log"); - push @candidate_log_set, "/var/log/xcat/computes.log" if (-e "/var/log/xcat/computes.log"); + foreach my $log (@loglist){ + push @candidate_log_set, $log if (-e "$log"); + } my $filename; foreach my $log (@candidate_log_set) { diff --git a/xCAT-probe/lib/perl/probe_utils.pm b/xCAT-probe/lib/perl/probe_utils.pm index 21121c605..115814943 100644 --- a/xCAT-probe/lib/perl/probe_utils.pm +++ b/xCAT-probe/lib/perl/probe_utils.pm @@ -286,10 +286,21 @@ sub is_firewall_open { sub is_http_ready { my $mnip = shift; $mnip = shift if (($mnip) && ($mnip =~ /probe_utils/)); + my $httpport = shift; my $installdir = shift; my $errormsg_ref = shift; - my $http = "http://$mnip/$installdir/postscripts/syslog"; + my $http_status = `netstat -tnlp | grep -e "httpd" -e "apache" 2>&1`; + if (!$http_status) { + $$errormsg_ref = "No HTTP listening status get by command 'netstat'"; + return 0; + } elsif ($http_status !~ /\S*\s+\S*\s+\S*\s+\S*:$httpport\s+.+/) { + $$errormsg_ref = "The port defined in 'site' table HTTP is not listening"; + return 0; + } + my $test_file = "efibootmgr"; + + my $http = "http://$mnip:$httpport/$installdir/postscripts/$test_file"; my %httperror = ( "400" => "The request $http could not be understood by the server due to malformed syntax", "401" => "The request requires user authentication.", @@ -320,12 +331,12 @@ sub is_http_ready { $$errormsg_ref = "Prepare test environment error: $!"; return 0; } - my @outputtmp = `wget -O $tmpdir/syslog $http 2>&1`; + my @outputtmp = `wget -O $tmpdir/$test_file $http 2>&1`; my $rst = $?; $rst = $rst >> 8; - if ((!$rst) && (-e "$tmpdir/syslog")) { - unlink("$tmpdir/syslog"); + if ((!$rst) && (-e "$tmpdir/$test_file")) { + unlink("$tmpdir/$test_file"); rmdir ("$tmpdir"); return 1; } elsif ($rst == 4) { @@ -345,7 +356,7 @@ sub is_http_ready { $$errormsg_ref = "Unknown return code of wget <$returncode>."; } } - unlink("$tmpdir/syslog"); + unlink("$tmpdir/$test_file"); if(! rmdir ("$tmpdir")){ $$errormsg_ref .= " Clean test environment error(rmdir $tmpdir): $!"; } @@ -369,20 +380,24 @@ sub is_tftp_ready { my $mnip = shift; $mnip = shift if (($mnip) && ($mnip =~ /probe_utils/)); my $tftpdir = shift; + my $test_dir = $tftpdir . "/tftptest/"; + system("mkdir -p $test_dir"); - rename("/$tftpdir/tftptestt.tmp", "/$tftpdir/tftptestt.tmp.old") if (-e "/$tftpdir/tftptestt.tmp"); + rename("/$test_dir/tftptestt.tmp", "/$test_dir/tftptestt.tmp.old") if (-e "/$test_dir/tftptestt.tmp"); rename("./tftptestt.tmp", "./tftptestt.tmp.old") if (-e "./tftptestt.tmp"); - system("touch /$tftpdir/tftptestt.tmp"); - my $output = `tftp -4 -v $mnip -c get tftptestt.tmp`; - if ((!$?) && (-e "./tftptestt.tmp")) { + system("date > /$test_dir/tftptestt.tmp"); + my $output = `tftp -4 -v $mnip -c get /tftptest/tftptestt.tmp 2>&1`; + if ((!$?) && (-s "./tftptestt.tmp")) { unlink("./tftptestt.tmp"); rename("./tftptestt.tmp.old", "./tftptestt.tmp") if (-e "./tftptestt.tmp.old"); - rename("/$tftpdir/tftptestt.tmp.old", "/$tftpdir/tftptestt.tmp") if (-e "/$tftpdir/tftptestt.tmp.old"); + rename("/$test_dir/tftptestt.tmp.old", "/$test_dir/tftptestt.tmp") if (-e "/$test_dir/tftptestt.tmp.old"); + system("rm -rf $test_dir"); return 1; } else { rename("./tftptestt.tmp.old", "./tftptestt.tmp") if (-e "./tftptestt.tmp.old"); - rename("/$tftpdir/tftptestt.tmp.old", "/$tftpdir/tftptestt.tmp") if (-e "/$tftpdir/tftptestt.tmp.old"); + rename("/$test_dir/tftptestt.tmp.old", "/$test_dir/tftptestt.tmp") if (-e "/$test_dir/tftptestt.tmp.old"); + system("rm -rf $test_dir"); return 0; } } @@ -510,6 +525,42 @@ sub parse_node_range { #------------------------------------------ +=head3 + Description: + Test if chrony service is ready to use in current operating system + Arguments: + errormsg_ref: (output attribute) if there is something wrong for chrony service, this attribute save the possible reason. + Returns: + 1 : yes + 0 : no +=cut + +#------------------------------------------ +sub is_chrony_ready { + my $errormsg_ref = shift; + $errormsg_ref = shift if (($errormsg_ref) && ($errormsg_ref =~ /probe_utils/)); + + my $chronycoutput = `chronyc tracking 2>&1`; + if ($?) { + if ($chronycoutput =~ /Cannot talk to daemon/) { + $$errormsg_ref = "chronyd service is not running! Please setup ntp in current node"; + return 0; + } + $$errormsg_ref = "command 'chronyc tracking' failed, could not get status of ntp service"; + return 0; + } + if ($chronycoutput =~ /Leap status : (.+)/) { + my $status = $1; + if ($status eq "Not synchronised") { + $$errormsg_ref = "chronyd did not synchronize."; + return 0; + } + } + return 1; +} + +#------------------------------------------ + =head3 Description: Test if ntp service is ready to use in current operating system @@ -523,7 +574,7 @@ sub parse_node_range { #------------------------------------------ sub is_ntp_ready{ my $errormsg_ref = shift; - $errormsg_ref= shift if (($errormsg_ref) && ($errormsg_ref =~ /probe_utils/)); + $errormsg_ref = shift if (($errormsg_ref) && ($errormsg_ref =~ /probe_utils/)); my $cmd = 'ntpq -c "rv 0"'; $| = 1; @@ -657,6 +708,72 @@ sub convert_second_to_time { #------------------------------------------ +=head3 + Description: + Call get_files_recursive to get all files under given dir, + and save to target file + Arguments: + dir: the dir want to get files + target_file: the file to save files list + +=cut + +#------------------------------------------ +sub list_files_to_file { + my $src_dir = shift; + $src_dir = shift if (($src_dir) && ($src_dir =~ /probe_utils/)); + my $target_file = shift; + my $errormsg_ref = shift; + + my @files = (); + get_files_recursive("$src_dir", \@files); + my $all_file = join("\n", @files); + + if (!open f,"> $target_file") { + $$errormsg_ref = "Can not open file $target_file to save files list"; + return 1; + } + print f $all_file; + close f; + + return 0; +} + +#------------------------------------------ + +=head3 + Description: + Get all files under the given dir + Arguments: + dir: the dir want to get files + files_path_ref: list of all files +=cut + +#------------------------------------------ +sub get_files_recursive { + my $dir = shift; + my $files_path_ref = shift; + + my $fd = undef; + opendir($fd, $dir); + for (; ;) + { + my $direntry = readdir($fd); + last unless (defined($direntry)); + next if ($direntry =~ m/^\.\w*/); + next if ($direntry eq '..'); + my $target = "$dir/$direntry"; + if (-d $target) { + get_files_recursive($target, $files_path_ref); + } else { + push(@{$files_path_ref}, glob("$target\n")); + } + } + closedir($fd); +} + +#------------------------------------------ + =head3 Description: print table diff --git a/xCAT-probe/subcmds/discovery b/xCAT-probe/subcmds/discovery index b3b9b7993..a926064f2 100755 --- a/xCAT-probe/subcmds/discovery +++ b/xCAT-probe/subcmds/discovery @@ -585,9 +585,15 @@ sub check_genesis_file { } } - my $tftpdir = `tabdump site | awk -F',' '/^"tftpdir",/ { gsub(/"/, "", \$2) ; print \$2 }'`; - chomp($tftpdir); - $tftpdir =~ s/"//g; + my $site_info = `lsdef -t site -i tftpdir,httpport -c`; + my $tftpdir = ""; + my $httpport = 80; + if ($site_info =~ /clustersite: tftpdir=(\S*)/) { + $tftpdir = $1; + } + if ($site_info =~ /clustersite: httpport=(\S*)/) { + $httpport = $1; + } my $genesis_folder; my @genesis_files; my $genesis_line; @@ -623,14 +629,22 @@ sub check_genesis_file { if ($genesis_line =~ /^initrd/) { @initrd_info = split(' ', $genesis_line); $initrd_path = $initrd_info[1]; - $wget_rst = system("wget -q --spider $initrd_path -T 0.5 -t 3"); - if ($wget_rst) { - push @errors, "'initrd' cannot be downloaded from $initrd_path."; - $rst = 1; - } - if ($initrd_path =~ /http:\/\/.+:80(\/.+)/) { - my $initrd_file = $1; + if ($initrd_path =~ /http:\/\/.+:(\d*)(\/.+)/) { + my $initrd_port = $1; + my $initrd_file = $2; + + if ($initrd_port != $httpport) { + push @errors, "The http port for initrd file in '$file' is not the same with defined in 'site' table."; + $rst = 1; + } else { + $wget_rst = system("wget -q --spider $initrd_path -T 0.5 -t 3"); + if ($wget_rst) { + push @errors, "'initrd' cannot be downloaded from $initrd_path."; + $rst = 1; + } + } + my $initrd_time = `stat $initrd_file | grep Modify | cut -d ' ' -f 2-3`; if ($genesis_time and $initrd_time < $genesis_time) { $genesis_update_flag_p = 1; @@ -641,10 +655,18 @@ sub check_genesis_file { if ($genesis_line =~ /^kernel/) { @kernel_info = split(' ', $genesis_line); $kernel_path = $kernel_info[1]; - $wget_rst = system("wget -q --spider $kernel_path -T 0.5 -t 3"); - if ($wget_rst) { - push @errors, "kernel cannot be downloaded from $kernel_path."; - $rst = 1; + if ($kernel_path =~ /http:\/\/.+:(\d*)\/.+/) { + my $kernel_port = $1; + if ($kernel_port != $httpport) { + push @errors, "The http port for kernel file in '$file' is not the same with defined in 'site' table."; + $rst = 1; + } else { + $wget_rst = system("wget -q --spider $kernel_path -T 0.5 -t 3"); + if ($wget_rst) { + push @errors, "kernel cannot be downloaded from $kernel_path."; + $rst = 1; + } + } } } } @@ -703,7 +725,7 @@ sub check_genesis_file { next; } - $host_ip .= ":80"; + $host_ip .= ":$httpport"; while ($genesis_line = ) { chomp($genesis_line); $genesis_line =~ s/^\s+|\s+$//g; diff --git a/xCAT-probe/subcmds/osdeploy b/xCAT-probe/subcmds/osdeploy index 144f31cea..afe461baa 100755 --- a/xCAT-probe/subcmds/osdeploy +++ b/xCAT-probe/subcmds/osdeploy @@ -1169,10 +1169,11 @@ sub handle_cluster_msg { my $log_msg = $log_ref->{msg}; my @split_log = split(/\s+/, $log_msg); - if ($split_log[1] eq "Allowing") { - my $command = $split_log[2]; - my $nodes_str = $split_log[4]; - my $sub_command = $split_log[5]; + # As xcat log message will in both messages.log and cluster.log, need to filter one to avoid the duplication + if ($split_log[1] eq "xCAT:" && $split_log[2] eq "Allowing") { + my $command = $split_log[3]; + my $nodes_str = $split_log[5]; + my $sub_command = $split_log[6]; if ($command eq "rinstall" or $command eq "rnetboot" or ($command eq "rpower" and $sub_command =~ /on|boot|reset/) or ($command eq "xdsh" and $log_msg =~ /reboot|shutdown -r/)) { my @nodes = probe_utils->parse_node_range($nodes_str); @@ -1188,7 +1189,7 @@ sub handle_cluster_msg { } } } - } elsif ($log_ref->{msg} =~ /(.+)\s+status:\s+(.+)\s+statustime:/) { + } elsif ($log_ref->{msg} =~ /INFO xcat.updatestatus - (.+):\s+changing status=(.+)/) { my $nodes = $1; my $status = $2; my $record = "Node status is changed to $status"; diff --git a/xCAT-probe/subcmds/xcatmn b/xCAT-probe/subcmds/xcatmn index 1eb1f4462..612e95620 100755 --- a/xCAT-probe/subcmds/xcatmn +++ b/xCAT-probe/subcmds/xcatmn @@ -87,8 +87,9 @@ sub do_main_job { $rc |= $rst; #check important directory - $rst = check_directory(\%sitetable, \$checkpoint, \@error); - print_check_result($checkpoint, "f", $rst, \@error); + ($rst, $flag) = check_directory(\%sitetable, \$checkpoint, \@error); + print_check_result($checkpoint, $flag, $rst, \@error); + $rst = 0 if ($flag == "w"); $rc |= $rst; #check if SElinux is disabled @@ -102,8 +103,9 @@ sub do_main_job { $rc |= $rst; #check tftp service - $rst = check_tftp_service($installnicip, \$checkpoint, \@error); - print_check_result($checkpoint, "f", $rst, \@error); + ($rst, $flag) = check_tftp_service($installnicip, \$checkpoint, \@error); + print_check_result($checkpoint, $flag, $rst, \@error); + $rst = 0 if ($flag == "w"); $rc |= $rst; #check DNS service @@ -375,19 +377,28 @@ sub check_site_table { $$checkpoint_ref = "Checking 'site' table is configured..."; @$error_ref = (); - my @attr_list = ("master", "domain", "installdir", "tftpdir"); + my @attr_list = ("master", "domain", "installdir", "tftpdir", "sharedtftp", "installloc"); foreach my $attr (@attr_list) { my $value; $value = `lsdef -t site -i $attr -c 2>&1 | awk -F'=' '{print \$2}'`; chomp($value); if ($value eq "") { - push @$error_ref, "There isn't '$attr' definition in 'site' table"; - $rst = 1; - } else { - if (($attr eq "master") and (!probe_utils->is_ip_addr("$value"))) { - push @$error_ref, "The value of 'master' in 'site' table isn't an IP addres"; + if ($attr ne "sharedtftp" and $attr ne "installloc") { + push @$error_ref, "There isn't '$attr' definition in 'site' table"; $rst = 1; } + } else { + if (($attr eq "master") and (!xCAT::NetworkUtils->isIpaddr("$value"))) { + my $masterip = xCAT::NetworkUtils->getipaddr("$value"); + if (! defined $masterip){ + push @$error_ref, "The value of 'master' in 'site' table isn't an IP addres and can not be resolved to a IP addres"; + $rst = 1; + }else{ + probe_utils->send_msg("$output", "i", "The value of 'master' in 'site' table is $value, can be resolve to $masterip") if($verbose); + $value = $masterip; + } + } + $sitetable_ref->{$attr} = $value; } } @@ -522,6 +533,7 @@ sub check_directory { my $checkpoint_ref = shift; my $error_ref = shift; my $rst = 0; + my $flag = "f"; my @dir_list = ("installdir", "tftpdir"); my $dir_list_str = join(",",@dir_list); @@ -538,29 +550,67 @@ sub check_directory { $rst = 1; } else { if ($is_sn) { - my $mountoutput = `mount 2>&1| grep '$sitetable_ref->{$dir}'`; - chomp($mountoutput); + if (($dir eq "tftpdir" and $sitetable_ref->{sharedtftp} eq "1") or + ($dir eq "installdir" and $sitetable_ref->{installloc})) { + my $mountoutput = `mount 2>&1| grep '$sitetable_ref->{$dir}'`; + chomp($mountoutput); - my $mountip; - if ($mountoutput =~ /(.+):$sitetable_ref->{$dir} on $sitetable_ref->{$dir} /) { - my $mountsource = $1; - if (xCAT::NetworkUtils->isIpaddr($mountsource)) { - $mountip = $mountsource; - } else { - $mountip = xCAT::NetworkUtils->getipaddr($mountsource); + my $mountip; + if ($mountoutput =~ /(.+):$sitetable_ref->{$dir} on $sitetable_ref->{$dir} /) { + my $mountsource = $1; + if (xCAT::NetworkUtils->isIpaddr($mountsource)) { + $mountip = $mountsource; + } else { + $mountip = xCAT::NetworkUtils->getipaddr($mountsource); + } } - } - if ($mountip ne $sitetable_ref->{master}) { - push @$error_ref, "$dir '$sitetable_ref->{$dir}' isn't mounted from the management node,please check SN's configuration"; - $rst = 1; + if ($mountip ne $sitetable_ref->{master}) { + push @$error_ref, "$dir '$sitetable_ref->{$dir}' isn't mounted from the management node,please check SN's configuration"; + $rst = 1; + } + } elsif (($dir eq "tftpdir" and $sitetable_ref->{sharedtftp} ne "1") or + ($dir eq "installdir" and !$sitetable_ref->{installloc})) { + my $tmpdir = "/tmp/tmp_$dir"; + mkdir($tmpdir); + my $mountrst = `mount $sitetable_ref->{master}:$sitetable_ref->{$dir} $tmpdir 2>&1`; + if ($?) { + push @$error_ref, "mount $sitetable_ref->{master}:$sitetable_ref->{$dir} $tmpdir failed"; + $flag = "w" if (!$rst); + $rst = 1; + } else { + my $dir_list_file = "/tmp/$dir" . "_list"; + my $mnt_list_file = $tmpdir . "_list"; + my $error; + if (probe_utils->list_files_to_file($sitetable_ref->{$dir}, $dir_list_file, \$error)) { + push @$error_ref, "$error"; + $flag = "w" if (!$rst); + $rst = 1; + } elsif (probe_utils->list_files_to_file($tmpdir, $mnt_list_file, \$error)) { + push @$error_ref, "$error"; + $flag = "w" if (!$rst); + $rst = 1; + } else { + `sed -i "s|^$tmpdir|$sitetable_ref->{$dir}|g" $mnt_list_file`; + my $diffout = `diff $dir_list_file $mnt_list_file`; + if ($diffout) { + push @$error_ref, "$dir '$sitetable_ref->{$dir}' is not the same with MN's, may be error"; + $flag = "w" if (!$rst); + $rst = 1; + } + } + `umount $tmpdir`; + unlink($dir_list_file) if (-e "$dir_list_file"); + unlink($mnt_list_file) if (-e "$mnt_list_file"); + rmdir($tmpdir); + } } } } } } - return $rst; + return ($rst, $flag); } @@ -665,10 +715,18 @@ sub check_http_service { push @$error_ref, "HTTP check need 'wget' tool, please install 'wget' tool and try again"; } else { { - my $installdir = `lsdef -t site -i installdir -c 2>&1 | awk -F'=' '{print \$2}'`; - chomp($installdir); + my $httpinfo = `lsdef -t site -i installdir,httpport -c 2>&1`; + my $installdir = ""; + my $httpport = 80; + if ($httpinfo =~ /clustersite: installdir=(\S*)/) { + $installdir = $1; + } + if ($httpinfo =~ /clustersite: httpport=(\S*)/) { + $httpport = $1; + } + unless($installdir){ - push @$error_ref, "HTTP work path(installdir) isn't configured in 'sit' table"; + push @$error_ref, "HTTP work path(installdir) isn't configured in 'site' table"; last; } @@ -678,7 +736,7 @@ sub check_http_service { } my $errormsg; - unless(probe_utils->is_http_ready("$serverip", $installdir, \$errormsg)) { + unless(probe_utils->is_http_ready("$serverip", $httpport, $installdir, \$errormsg)) { push @$error_ref, "$errormsg"; last; } @@ -696,6 +754,7 @@ sub check_tftp_service { my $checkpoint_ref = shift; my $error_ref = shift; my $rst = 1; + my $flag = 'f'; $$checkpoint_ref = "Checking TFTP service is configured..."; @$error_ref = (); @@ -726,10 +785,17 @@ sub check_tftp_service { push @$error_ref, "There isn't '$tftpdir' directory on current server"; last; } + my $tftp_ps = `ps aux 2>&1| grep tftp | grep xcat |grep -v grep`; + if (!$tftp_ps) { + push @$error_ref, "TFTP service based on xCAT is not running"; + $flag = 'w'; + } unless(probe_utils->is_tftp_ready("$serverip", $tftpdir)) { - push @$error_ref, "TFTP service isn't ready on $serverip"; + push @$error_ref, "TFTP service isn't ready on $serverip, stop tftp service and start it by restarting xcatd"; + $flag = 'f'; last; } + last if ($flag eq 'w'); $rst = 0; } } @@ -737,7 +803,7 @@ sub check_tftp_service { $rst = 2; } - return $rst; + return ($rst, $flag); } sub check_rsyslog_service { @@ -839,13 +905,22 @@ sub check_ntp_service{ $$checkpoint_ref = "Checking NTP service is configured..."; @$error_ref = (); - `which ntpq > /dev/null 2>&1`; + `which chronyc > /dev/null 2>&1`; if($?){ - push @$error_ref, "ntp service check need 'ntpq' tool, please install 'ntpq' toll and try again"; - $rst = 1; - }else{ + `which ntpq > /dev/null 2>&1`; + if ($?) { + push @$error_ref, "ntp service check need 'ntpq' or 'chronyc' tool, please install and try again"; + $rst = 1; + } else { + my $error; + if(!probe_utils->is_ntp_ready(\$error)){ + push @$error_ref, "$error"; + $rst = 1; + } + } + } else{ my $error; - if(!probe_utils->is_ntp_ready(\$error)){ + if(!probe_utils->is_chrony_ready(\$error)){ push @$error_ref, "$error"; $rst = 1; } @@ -1143,7 +1218,7 @@ sub get_attribute_value { if ($command_info =~ /$attr=(\d+)/) { $cmd_value = $1 } - print_check_result("Checking $table table attribute... $attr=$cmd_value", 0, 0, \@error); + probe_utils->send_msg("$output", "i", "Checking $table table attribute... $attr=$cmd_value") if($verbose); return $cmd_value } @@ -1272,7 +1347,7 @@ while ($hierarchy_instance->read_reply(\%reply_cache)) { #print ">>>$reply_cache{$servers}->[$_]<<<\n"; #For cases like below: #c910f02c04p04: [ok] :All xCAT daemons are running - if ($reply_cache{$servers}->[$_] =~ /^(\w+)\s*:\s*(\[\w+\]\s*):\s*(.*)/) { + if ($reply_cache{$servers}->[$_] =~ /^(\S+)\s*:\s*(\[\w+\]\s*):\s*(.*)/) { if ("$1" eq "$server") { $logmsg = "$2: $3"; $msg = "$2:[$server]: $3"; @@ -1280,7 +1355,7 @@ while ($hierarchy_instance->read_reply(\%reply_cache)) { #For cases like below: #sn02: ssh: connect to host sn02 port 22: No route to host - } elsif ($reply_cache{$servers}->[$_] =~ /^(\w+)\s*:\s*(ssh:.+)/){ + } elsif ($reply_cache{$servers}->[$_] =~ /^(\S+)\s*:\s*(ssh:.+)/){ if("$1" eq "$server") { $logmsg = "$2"; $msg = "[failed] :[$server]: $2"; @@ -1288,7 +1363,7 @@ while ($hierarchy_instance->read_reply(\%reply_cache)) { #For cases like below: #c910f02c04p05: IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY! - } elsif ($reply_cache{$servers}->[$_] =~ /^(\w+)\s*:\s*(.*)/) { + } elsif ($reply_cache{$servers}->[$_] =~ /^(\S+)\s*:\s*(.*)/) { if ("$1" eq "$server") { $logmsg = "$2"; $msg = "[$server]: $2"; diff --git a/xCAT-probe/xCAT-probe.spec b/xCAT-probe/xCAT-probe.spec index 1fa41ccf3..5c0c463b2 100644 --- a/xCAT-probe/xCAT-probe.spec +++ b/xCAT-probe/xCAT-probe.spec @@ -21,6 +21,8 @@ BuildArch: noarch Requires: /usr/bin/nslookup Requires: /usr/bin/tftp Requires: /usr/bin/wget +# Tool detect_dhcpd requires tcpdump +Requires: /usr/sbin/tcpdump %endif %description @@ -57,6 +59,8 @@ rm -rf $RPM_BUILD_ROOT %{prefix} %changelog +* Thu Aug 30 2018 - GONG Jie +- Add /usr/sbin/tcpdump as requirement * Fri Jul 1 2016 - huweihua - "Create xCAT probe package" diff --git a/xCAT-server/lib/perl/xCAT/Postage.pm b/xCAT-server/lib/perl/xCAT/Postage.pm index 81ce6c126..4ce1188b6 100644 --- a/xCAT-server/lib/perl/xCAT/Postage.pm +++ b/xCAT-server/lib/perl/xCAT/Postage.pm @@ -1204,7 +1204,9 @@ sub getImageitems_for_node } if ($ref1->{'environvar'}){ foreach my $myenvar(split(',',$ref1->{'environvar'})){ - $result .='export '.$myenvar."\n"; + $result .=$myenvar."\n"; + my ($varname,$value)=split('=',$myenvar); + $result .='export '.$varname."\n"; } } } diff --git a/xCAT-server/lib/perl/xCAT/Template.pm b/xCAT-server/lib/perl/xCAT/Template.pm index eaa2f84d8..8c83c1f4a 100644 --- a/xCAT-server/lib/perl/xCAT/Template.pm +++ b/xCAT-server/lib/perl/xCAT/Template.pm @@ -139,7 +139,14 @@ sub subvars { } $ENV{INSTALLDIR} = $installroot; + my $httpport; + $httpport = xCAT::TableUtils->get_site_attribute("httpport"); + if (!defined($httpport)) { + $httpport = "80"; + } + $ENV{HTTPPORT} = $httpport; + my $httpportsuffix=":$httpport"; #replace the env with the right value so that correct include files can be found $inc =~ s/#ENV:([^#]+)#/envvar($1)/eg; my $res; @@ -282,6 +289,7 @@ sub subvars { $inc =~ s/#INCLUDE:([^#^\n]+)#/includefile($1, 0, 0)/eg; } + #support multiple paths of osimage in rh/sles diskfull installation my @pkgdirs; if (defined($media_dir)) { @@ -295,11 +303,11 @@ sub subvars { if ($c == 0) { # After some tests, if we put the repo in pre scripts in the kickstart like for rhels6.x # the rhels5.9 will not be installed successfully. So put in kickstart directly. - $source_in_pre .= "echo 'url --url http://'\$nextserver'/$pkgdir' >> /tmp/repos"; - $source .= "url --url http://#TABLE:noderes:\$NODE:nfsserver#/$pkgdir\n"; #For rhels5.9 + $source_in_pre .= "echo 'url --url http://'\$nextserver'$httpportsuffix/$pkgdir' >> /tmp/repos"; + $source .= "url --url http://#TABLE:noderes:\$NODE:nfsserver#$httpportsuffix/$pkgdir\n"; #For rhels5.9 } else { - $source_in_pre .= "\necho 'repo --name=pkg$c --baseurl=http://'\$nextserver'/$pkgdir' >> /tmp/repos"; - $source .= "repo --name=pkg$c --baseurl=http://#TABLE:noderes:\$NODE:nfsserver#/$pkgdir\n"; #for rhels5.9 + $source_in_pre .= "\necho 'repo --name=pkg$c --baseurl=http://'\$nextserver'$httpportsuffix/$pkgdir' >> /tmp/repos"; + $source .= "repo --name=pkg$c --baseurl=http://#TABLE:noderes:\$NODE:nfsserver#$httpportsuffix/$pkgdir\n"; #for rhels5.9 } my $distrepofile="/install/postscripts/repos/$pkgdir/local-repository.tmpl"; if( -f "$distrepofile"){ @@ -309,13 +317,13 @@ sub subvars { open($repofd,"<","$distrepofile"); $repo_in_post = <$repofd>; close($repofd); - $repo_in_post =~ s#baseurl=#baseurl=http://$master/#g; + $repo_in_post =~ s#baseurl=#baseurl=http://$master$httpportsuffix/#g; $writerepo .= "\ncat >/etc/yum.repos.d/local-repository-$c.repo << 'EOF'\n"; $writerepo .="$repo_in_post\n"; $writerepo .="EOF\n"; } } elsif ($platform =~ /^(sles|suse)/) { - my $http = "http://#TABLE:noderes:\$NODE:nfsserver#$pkgdir"; + my $http = "http://#TABLE:noderes:\$NODE:nfsserver#$httpportsuffix/$pkgdir"; $source .= " $http SuSE-Linux-pkg$c @@ -323,11 +331,29 @@ sub subvars { false SuSE-Linux-pkg$c "; - $source_in_pre .= "http://'\$nextserver'$pkgdirSuSE-Linux-pkg$c/falseSuSE-Linux-pkg$c"; + $source_in_pre .= "http://'\$nextserver'$httpportsuffix$pkgdirSuSE-Linux-pkg$c/falseSuSE-Linux-pkg$c"; + } elsif ($platform =~ /^sle15*/) { + if ( -d "$pkgdir") { + opendir(DIR,$pkgdir); + my @subpkgdir=grep(!/\.\.?$|^media.1$/, readdir DIR); + foreach my $subdir (@subpkgdir){ + my $product_name; + my $product_dir; + $product_dir=$subdir; + if($subdir =~ /^Module-/){ + $product_name="sle-".lc($subdir); + }elsif($subdir =~ /^Product-/){ + $subdir=~s/Product-//; + $product_name=$subdir; + } + if (defined($product_name) && defined($product_dir)){ + $source .="http://XCATNEXTSERVERHOOK$httpportsuffix$pkgdir$product_name/$product_dir"; + } + } + } } $c++; } - $inc =~ s/#INSTALL_SOURCES#/$source/g; $inc =~ s/#INSTALL_SOURCES_IN_PRE#/$source_in_pre/g; if (("ubuntu" eq $platform) || ("debian" eq $platform)) { @@ -374,7 +400,7 @@ sub subvars { $inc =~ s/#UNCOMMENTOENABLESSH#/ /g; } - my $sles_sdk_media = "http://" . $tmpl_hash->{tftpserver} . $media_dir . "/sdk1"; + my $sles_sdk_media = "http://" . $tmpl_hash->{tftpserver}.$httpportsuffix . $media_dir . "/sdk1"; $inc =~ s/#SLES_SDK_MEDIA#/$sles_sdk_media/eg; @@ -513,7 +539,7 @@ sub subvars { } } elsif ("ubuntu" eq $platform) { - my $default_script = " wget http://`cat /tmp/xcatserver`" . $ENV{INSTALLDIR} . "/autoinst/getinstdisk; chmod u+x getinstdisk; ./getinstdisk;"; + my $default_script = " wget http://`cat /tmp/xcatserver`".':'.$ENV{HTTPPORT} . $ENV{INSTALLDIR} . "/autoinst/getinstdisk; chmod u+x getinstdisk; ./getinstdisk;"; $inc =~ s/#INCLUDE_GET_INSTALL_DISK_SCRIPT#/$default_script/; } else { @@ -1101,7 +1127,7 @@ sub mirrorspec { if (!$pkgdir) { $pkgdir = $_; } else { - my $osuurl = "http://" . $masternode . $_ . " ./"; + my $osuurl = "http://" . $masternode.':'.$ENV{httpport} . $_ . " ./"; push @mirrors, $osuurl; } } diff --git a/xCAT-server/lib/xcat/monitoring/monitorctrl.pm b/xCAT-server/lib/xcat/monitoring/monitorctrl.pm index afd38801a..87aa3378d 100644 --- a/xCAT-server/lib/xcat/monitoring/monitorctrl.pm +++ b/xCAT-server/lib/xcat/monitoring/monitorctrl.pm @@ -627,7 +627,7 @@ sub getNodeStatusFromNodesetState { Arguments: status -- a hash pointer of the node status. A key is a status string. The value is an array pointer of nodes that have the same status. - for example: {alive=>["node1", "node1"], unreachable=>["node5","node100"]} + for example: {alive=>["node1", "node2"], unreachable=>["node5","node100"]} force -- 1 force the input values to be set. -- 0 make sure if the input value is the next valid value. Returns: @@ -637,7 +637,7 @@ sub getNodeStatusFromNodesetState { #-------------------------------------------------------------------------------- sub setNodeStatusAttributes { - print "monitorctrl::setNodeStatusAttributes called\n"; + #print "monitorctrl::setNodeStatusAttributes called\n"; my $temp = shift; if ($temp =~ /xCAT_monitoring::monitorctrl/) { $temp = shift; @@ -703,8 +703,12 @@ sub setNodeStatusAttributes { if (@$nodes > 0) { $updates{'status'} = $_; $updates{'statustime'} = $currtime; - my $nodestate = "@$nodes status: $updates{'status'} statustime: $updates{'statustime'}"; - xCAT::MsgUtils->message('S', "$nodestate"); + #my $nodestate = "@$nodes status: $updates{'status'} statustime: $updates{'statustime'}"; + foreach my $node (@$nodes) { + # To make the log clear, iterate for each node. This might be potential performance issue! + my $nodestate = "xcat.updatestatus - $node: changing status=$updates{'status'}"; + xCAT::MsgUtils->message('S', "$nodestate"); + } my $where_clause; my $dbname = xCAT::Utils->get_DBName(); diff --git a/xCAT-server/lib/xcat/monitoring/snmpmon.pm b/xCAT-server/lib/xcat/monitoring/snmpmon.pm index a82ab17bf..c07f5c8b3 100644 --- a/xCAT-server/lib/xcat/monitoring/snmpmon.pm +++ b/xCAT-server/lib/xcat/monitoring/snmpmon.pm @@ -759,7 +759,7 @@ sub configSwitch { my $table = xCAT::Table->new('switches', -create => 0); if ($table) { my @tmp1 = $table->getAllAttribs(('switch')); - if (defined(@tmp1) && (@tmp1 > 0)) { + if (scalar @tmp1 > 0) { foreach (@tmp1) { my @switches_tmp = noderange($_->{switch}); if (@switches_tmp == 0) { push @switches_tmp, $_->{switch}; } @@ -1360,7 +1360,7 @@ sub getNodesMonServers my $table = xCAT::Table->new('switches', -create => 0); if ($table) { my @tmp1 = $table->getAllAttribs(('switch')); - if (defined(@tmp1) && (@tmp1 > 0)) { + if (scalar @tmp1 > 0) { foreach (@tmp1) { my @switches_tmp = noderange($_->{switch}); if (@switches_tmp == 0) { push @switches_tmp, $_->{switch}; } diff --git a/xCAT-server/lib/xcat/plugins/AAsn.pm b/xCAT-server/lib/xcat/plugins/AAsn.pm index 202fecee1..6a3d96386 100755 --- a/xCAT-server/lib/xcat/plugins/AAsn.pm +++ b/xCAT-server/lib/xcat/plugins/AAsn.pm @@ -1260,8 +1260,9 @@ sub setup_TFTP my $plugins_dir = $::XCATROOT . '/lib/perl/xCAT_plugin'; foreach my $modname (keys %netmethods) { - $cmdref->{node} = $netmethods{$modname}; - $doreq->($cmdref, \&xCAT::Client::handle_response); + my $reqcopy = {%$cmdref}; + $reqcopy->{node} = $netmethods{$modname}; + $doreq->($reqcopy, \&xCAT::Client::handle_response); } } diff --git a/xCAT-server/lib/xcat/plugins/DBobjectdefs.pm b/xCAT-server/lib/xcat/plugins/DBobjectdefs.pm index aa6b43386..1e0b3ca43 100755 --- a/xCAT-server/lib/xcat/plugins/DBobjectdefs.pm +++ b/xCAT-server/lib/xcat/plugins/DBobjectdefs.pm @@ -1709,9 +1709,11 @@ sub defmk $objTypeListsHash{$objk}{$obj} = 1; } } + my $numobjrequest = 0; OBJ: foreach my $obj (keys %::FINALATTRS) { + $numobjrequest++; my $type = $::FINALATTRS{$obj}{objtype}; # check to make sure we have type @@ -2034,16 +2036,19 @@ sub defmk if ($error) { my $rsp; - $rsp->{data}->[0] = "One or more errors occured when attempting to create or modify xCAT \nobject definitions."; + $rsp->{data}->[0] = "One or more errors occured when attempting to create or modify xCAT object definitions."; + $rsp->{numofnodes}->[0] = $numobjrequest; xCAT::MsgUtils->message("E", $rsp, $::callback); return 1; } else { my $nodenum = 0; + my $totalnumobj = 0; my $ret = 0; my @nodes_updated = (); foreach my $node (keys %::FINALATTRS) { + $totalnumobj++; if ($::FINALATTRS{$node}{updated}) { $nodenum++; push @nodes_updated, $node; @@ -2065,6 +2070,7 @@ sub defmk $rsp->{data}->[$n] = "$o"; $n++; } + $rsp->{numofnodes}->[0] = $totalnumobj; if ($n > 1) { # Some objects were created ($n was increased), report as success $rsp->{data}->[0] = "The database was updated for the following objects:"; @@ -2078,6 +2084,7 @@ sub defmk } my $rsp; $rsp->{data}->[0] = "$nodenum object definitions have been created or modified."; + $rsp->{numofnodes}->[0] = $totalnumobj; if ($nodenum > 0) { # Some objects were created, report as success xCAT::MsgUtils->message("I", $rsp, $::callback); @@ -2384,9 +2391,10 @@ sub defch } my $nodewithdomain; my $invalidobjname = (); + my $numobjrequest = 0; foreach my $obj (keys %::FINALATTRS) { - + $numobjrequest++; my $isDefined = 0; my $type = $::FINALATTRS{$obj}{objtype}; my %attrhash; @@ -2918,7 +2926,8 @@ sub defch if ($error) { my $rsp; - $rsp->{data}->[0] = "One or more errors occured when attempting to create or modify xCAT \nobject definitions."; + $rsp->{data}->[0] = "One or more errors occured when attempting to create or modify xCAT object definitions."; + $rsp->{numofnodes}->[0] = $numobjrequest; xCAT::MsgUtils->message("E", $rsp, $::callback); return 1; } @@ -2927,7 +2936,9 @@ sub defch my $nodenum = 0; my $ret = 0; my @nodes_updated = (); + my $totalnumobj = 0; foreach my $node (keys %::FINALATTRS) { + $totalnumobj++; if ($::FINALATTRS{$node}{updated}) { $nodenum++; push @nodes_updated, $node; @@ -2954,6 +2965,7 @@ sub defch } else { $rsp->{data}->[0] = "No database was updated"; } + $rsp->{numofnodes}->[0] = $totalnumobj; xCAT::MsgUtils->message("I", $rsp, $::callback); } else @@ -2965,6 +2977,7 @@ sub defch } else { $rsp->{data}->[0] = "No object definitions have been created or modified."; } + $rsp->{numofnodes}->[0] = $totalnumobj; xCAT::MsgUtils->message("I", $rsp, $::callback); if (scalar(keys %newobjects) > 0) { @@ -3786,6 +3799,8 @@ sub defls my $numobjects = 0; # keep track of how many object we want to display # for each type + my $totalnumobj = 0; + foreach my $type (@::clobjtypes) { # Check if -i specifies valid attributes @@ -3904,6 +3919,7 @@ sub defls # for each object foreach my $obj (sort keys %defhash) { + $totalnumobj++; # include all the obj unless ($obj) { @@ -4157,7 +4173,15 @@ sub defls # Display the definition of objects if (defined($rsp_info->{data}) && scalar(@{ $rsp_info->{data} }) > 0) { + $rsp_info->{numofnodes}->[0] = $totalnumobj; xCAT::MsgUtils->message("I", $rsp_info, $::callback); + } else { + if ( $totalnumobj > 0) { + my $rsp; + $rsp->{data}->[0] = "No object definitions have been found"; + $rsp->{numofnodes}->[0] = $totalnumobj; + xCAT::MsgUtils->message("I", $rsp, $::callback); + } } return 0; @@ -4305,9 +4329,11 @@ sub defrm # the memberlist nodes must be updated. my $numobjects = 0; + my $totalnumobj = 0; my %objTypeLists; foreach my $obj (keys %objhash) { + $totalnumobj++; my $objtype = $objhash{$obj}; if (!defined($objTypeLists{$objtype})) # Do no call getObjectsOfType for the same objtype more than once. { @@ -4503,11 +4529,11 @@ sub defrm { if ($numobjects > 0) { + my $rsp; if ($::verbose) { # give results - my $rsp; $rsp->{data}->[0] = "The following objects were removed:"; xCAT::MsgUtils->message("I", $rsp, $::callback); @@ -4517,15 +4543,14 @@ sub defrm $rsp->{data}->[$n] = "$o"; $n++; } - xCAT::MsgUtils->message("I", $rsp, $::callback); } else { - my $rsp; my $nodenum = scalar(keys %objhash); $rsp->{data}->[0] = "$nodenum object definitions have been removed."; - xCAT::MsgUtils->message("I", $rsp, $::callback); } + $rsp->{numofnodes}->[0] = $totalnumobj; + xCAT::MsgUtils->message("I", $rsp, $::callback); # Give a warning message to the user to remove the children of the node. for my $tn (keys %objhash) { @@ -4539,6 +4564,7 @@ sub defrm else { my $rsp; + $rsp->{numofnodes}->[0] = $totalnumobj; $rsp->{data}->[0] = "No objects have been removed from the xCAT database."; xCAT::MsgUtils->message("I", $rsp, $::callback); } diff --git a/xCAT-server/lib/xcat/plugins/anaconda.pm b/xCAT-server/lib/xcat/plugins/anaconda.pm index eb19a6c96..39b8e9f14 100644 --- a/xCAT-server/lib/xcat/plugins/anaconda.pm +++ b/xCAT-server/lib/xcat/plugins/anaconda.pm @@ -652,7 +652,7 @@ sub mknetboot $kcmdline .= $statemnt . " "; $kcmdline .= "XCAT=$xcatmasterip:$xcatdport "; - + if ($rootfstype ne "ramdisk") { @@ -694,6 +694,8 @@ sub mknetboot $kcmdline .= " nonodestatus "; } + $kcmdline .= "XCATHTTPPORT=$httpport "; + if (($::XCATSITEVALS{xcatdebugmode} eq "1") or ($::XCATSITEVALS{xcatdebugmode} eq "2")) { #for use in postscript and postbootscript in xcatdsklspost in the rootimg $kcmdline .= " LOGSERVER=$xcatmasterip "; diff --git a/xCAT-server/lib/xcat/plugins/bmcdiscover.pm b/xCAT-server/lib/xcat/plugins/bmcdiscover.pm index 291ded928..a16765531 100644 --- a/xCAT-server/lib/xcat/plugins/bmcdiscover.pm +++ b/xCAT-server/lib/xcat/plugins/bmcdiscover.pm @@ -51,7 +51,7 @@ my $openbmc_pass; my $done_num = 0; $::P9_WITHERSPOON_MFG_ID = "42817"; $::P9_WITHERSPOON_PRODUCT_ID = "16975"; - +%::VPDHASH = (); my %node_in_list = (); #------------------------------------------------------- @@ -322,22 +322,29 @@ sub bmcdiscovery_processargs { ###################################### # check if there is nmap or not ###################################### - if (-x '/usr/bin/nmap') - { + if (-x '/usr/bin/nmap') { $nmap_path = "/usr/bin/nmap"; } - elsif (-x '/usr/local/bin/nmap') - { + elsif (-x '/usr/local/bin/nmap') { $nmap_path = "/usr/local/bin/nmap"; } - else - { + else { my $rsp; push @{ $rsp->{data} }, "\tThere is no nmap in /usr/bin/ or /usr/local/bin/. \n "; xCAT::MsgUtils->message("E", $rsp, $::CALLBACK); return 1; } + ###################################### + # check if there is ipmitool-xcat or not + ###################################### + unless (-x '/opt/xcat/bin/ipmitool-xcat') { + my $rsp; + push @{ $rsp->{data} }, "\tThere is no ipmitool-xcat in /opt/xcat/bin/, make sure that package ipmitool-xcat is installed successfully.\n "; + xCAT::MsgUtils->message("E", $rsp, $::CALLBACK); + return 1; + } + if ($::opt_T) { my $msg = "The -t option is deprecated and will be ignored"; my $rsp = {}; @@ -540,6 +547,53 @@ sub check_auth_process { } } +sub buildup_mtms_hash { + xCAT::MsgUtils->trace(0, "I", "Establish hash for vpd table with key=mtm*serial, value=node"); + my %nodehash = (); + if (my $vpdtab = xCAT::Table->new("vpd")) { + my @entries = $vpdtab->getAllAttribs(qw/node serial mtm/); + foreach (@entries) { + unless ($_->{mtm} and $_->{serial}) { next; } + my $mtms = lc($_->{mtm}) . "*" . lc($_->{serial}); + $nodehash{$_->{node}} = $mtms; + } + } + my @nodes = keys %nodehash; + foreach my $tab (qw/ipmi openbmc/) { + my $tabfd = xCAT::Table->new($tab); + my $entries = $tabfd->getNodesAttribs(\@nodes,qw/bmc/); + foreach my $node (@nodes) { + my $bmc = $entries->{$node}->[0]->{bmc}; + unless($bmc) { next; } + if (exists($nodehash{$node})) { + my $mtmsip = $nodehash{$node}."-".$bmc; + $nodehash{$node} = $mtmsip; + } + } + } + my @tmp_bmc_nodes = (); + foreach my $node (keys %nodehash) { + my $mtmsip = $nodehash{$node}; + if (exists($::VPDHASH{$mtmsip})) { + my $tmp_node = $::VPDHASH{$mtmsip}; + if ($tmp_node =~ /node-.+/) { + push @tmp_bmc_nodes, $tmp_node; + } elsif ($node =~ /node-.+/) { + $::VPDHASH{$mtmsip} = $node; + push @tmp_bmc_nodes, $node; + } else { + xCAT::MsgUtils->message("W", { data => ["Node $node and $tmp_node have the same mtms-ip keys: $mtmsip"] }, $::CALLBACK); + } + next; + } + $::VPDHASH{$mtmsip} = $node; + } + if ($#tmp_bmc_nodes > 0) { + my $useless_nodes = join(',', @tmp_bmc_nodes); + xCAT::MsgUtils->message("W", { data => ["The nodes: $useless_nodes have normal nodes defined, please remove them"] }, $::CALLBACK); + } +} + #---------------------------------------------------------------------------- =head3 scan_process @@ -619,6 +673,7 @@ sub scan_process { my $live_mac = split_comma_delim_str($mac_list); my %pipe_map; if (scalar(@{$live_ip}) > 0) { + xCAT::MsgUtils->trace(0, "I", "$log_label Scaned live IPs " . scalar(@{$live_ip}) . " with mac " . scalar(@{$live_mac})); foreach (@{$live_ip}) { my $new_mac = lc(shift @{$live_mac}); @@ -668,7 +723,7 @@ sub scan_process { } } }; - + buildup_mtms_hash(); for (my $i = 0 ; $i < scalar(@{$live_ip}) ; $i++) { # fork a sub process to handle the communication with service processor @@ -1123,6 +1178,16 @@ sub bmcdiscovery_ipmi { } $node_data .= ",mp,bmc"; if ($mtm and $serial) { + my $mtmsip = lc($mtm)."*".lc($serial)."-".$ip; + if (exists($::VPDHASH{$mtmsip})) { + my $pre_node = $::VPDHASH{$mtmsip}; + xCAT::MsgUtils->message("I", { data => ["Found match node $pre_node with bmc ip address: $ip, rsetboot/rpower $pre_node to continue hardware discovery."] }, $::CALLBACK); + if ($opz) { + $node_data .= ","; + display_output($opz,undef,$pre_node,$mac_node,$node_data,"ipmi",$request_command); + } + return; + } $mtms_node = "node-$mtm-$serial"; $mtms_node =~ s/(.*)/\L$1/g; $mtms_node =~ s/[\s:\._]/-/g; @@ -1246,6 +1311,16 @@ sub bmcdiscovery_openbmc{ } $node_data .= ",mp,bmc"; if ($mtm and $serial) { + my $mtmsip = lc($mtm)."*".lc($serial)."-".$ip; + if (exists($::VPDHASH{$mtmsip})) { + my $pre_node = $::VPDHASH{$mtmsip}; + xCAT::MsgUtils->message("I", { data => ["Found match node $pre_node with bmc ip address: $ip, rsetboot/rpower $pre_node to continue hardware discovery."] }, $::CALLBACK); + if ($opz) { + $node_data .= ","; + display_output($opz,undef,$pre_node,$mac_node,$node_data,"openbmc",$request_command); + } + return; + } $mtms_node = "node-$mtm-$serial"; $mtms_node =~ s/(.*)/\L$1/g; $mtms_node =~ s/[\s:\._]/-/g; diff --git a/xCAT-server/lib/xcat/plugins/debian.pm b/xCAT-server/lib/xcat/plugins/debian.pm index 97a560452..44b434e7f 100644 --- a/xCAT-server/lib/xcat/plugins/debian.pm +++ b/xCAT-server/lib/xcat/plugins/debian.pm @@ -770,7 +770,7 @@ sub mkinstall { if ($arch =~ /ppc64/i and !(-e "$pkgdir/install/netboot/initrd.gz") and !(-e "$pkgdir/install/netboot/ubuntu-installer/$darch/initrd.gz")) { - xCAT::MsgUtils->report_node_error($callback, $node, + xCAT::MsgUtils->report_node_error($callback, $node, "The network boot initrd.gz is not found in $pkgdir/install/netboot. This is provided by Ubuntu, please download and retry." ); next; @@ -859,11 +859,17 @@ sub mkinstall { $instserver = '!myipfn!'; } + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } + if ($ent and $ent->{nfsserver}) { $instserver = $ent->{nfsserver}; } - my $kcmdline = "nofb utf8 auto url=http://" . $instserver . "/install/autoinst/" . $node; + my $kcmdline = "nofb utf8 auto url=http://" . $instserver . ":$httpport/install/autoinst/" . $node; $kcmdline .= " xcatd=" . $instserver; $kcmdline .= " mirror/http/hostname=" . $instserver; @@ -927,7 +933,7 @@ sub mkinstall { #from 12.10, the live install changed, so add the live-installer if (-r "$pkgdir/install/filesystem.squashfs") { - $kcmdline .= " live-installer/net-image=http://${instserver}${pkgdir}/install/filesystem.squashfs"; + $kcmdline .= " live-installer/net-image=http://${instserver}:$httpport${pkgdir}/install/filesystem.squashfs"; } xCAT::MsgUtils->trace($verbose_on_off, "d", "debian->mkinstall: kcmdline=$kcmdline kernal=$rtftppath/vmlinuz initrd=$rtftppath/initrd.img"); @@ -1326,12 +1332,10 @@ sub mknetboot $kcmdline = "NFSROOT=$nfssrv:$nfsdir STATEMNT="; } } else { - $kcmdline = "imgurl=http://$imgsrv/$rootimgdir/rootimg-statelite.gz STATEMNT="; + $kcmdline = "imgurl=http://$imgsrv:$httpport/$rootimgdir/rootimg-statelite.gz STATEMNT="; } - - # add support for subVars in the value of "statemnt" my $statemnt = ""; if (exists($stateHash->{$node})) { @@ -1384,16 +1388,18 @@ sub mknetboot else { $kcmdline = - "imgurl=http://$imgsrv/$rootimgdir/$compressedrootimg "; + "imgurl=http://$imgsrv:$httpport/$rootimgdir/$compressedrootimg "; $kcmdline .= "XCAT=$xcatmaster:$xcatdport "; } + # if site.nodestatus='n', add "nonodestatus" to kcmdline to inform the node not to update nodestatus during provision if (($nodestatus eq "n") or ($nodestatus eq "N") or ($nodestatus eq "0")) { $kcmdline .= " nonodestatus "; } + $kcmdline .=" XCATHTTPPORT=$httpport "; if (($::XCATSITEVALS{xcatdebugmode} eq "1") or ($::XCATSITEVALS{xcatdebugmode} eq "2")) { my ($host, $ipaddr) = xCAT::NetworkUtils->gethostnameandip($xcatmaster); diff --git a/xCAT-server/lib/xcat/plugins/dhcp.pm b/xCAT-server/lib/xcat/plugins/dhcp.pm index c244bb2cd..9cecc6e6e 100644 --- a/xCAT-server/lib/xcat/plugins/dhcp.pm +++ b/xCAT-server/lib/xcat/plugins/dhcp.pm @@ -488,6 +488,12 @@ sub addnode my $ntent; my $tftpserver; + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } + if ($chainents and $chainents->{$node}) { $chainent = $chainents->{$node}->[0]; } @@ -538,19 +544,19 @@ sub addnode unless ($nxtsrvd[0]) { $nxtsrv = $nxtsrvd[1]; } elsif ($nxtsrvd[0] == 1) { $callback->({ error => [ $nxtsrvd[1] ] }); } else { - $callback->({ error => ["Unable to determine the tftpserver for $node"], errorcode => [1] }); + $callback->({ error => ["Unable to determine the tftpserver for $node, verify \"xcatmaster\" is set correctly"], errorcode => [1] }); return; } } else { my $tmp_server = inet_aton($node_server); unless ($tmp_server) { - $callback->({ error => ["Unable to resolve the tftpserver for $node"], errorcode => [1] }); + $callback->({ error => ["Unable to resolve the tftpserver for $node, verify \"xcatmaster\" is set correctly"], errorcode => [1] }); return; } $nxtsrv = inet_ntoa($tmp_server); } unless ($nxtsrv) { - $callback->({ error => ["Unable to determine the tftpserver for $node"], errorcode => [1] }); + $callback->({ error => ["Unable to determine the tftpserver for $node, verify \"xcatmaster\" is set correctly"], errorcode => [1] }); return; } $guess_next_server = 0; @@ -680,12 +686,12 @@ sub addnode if (proxydhcp($nrent)) { #proxy dhcp required in uefi invocation $lstatements = 'if option client-architecture = 00:00 or option client-architecture = 00:07 or option client-architecture = 00:09 { filename = \"\"; option vendor-class-identifier \"PXEClient\"; } else { filename = \"\"; }' . $lstatements; #If proxydhcp daemon is enable, use it. } else { - $lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { always-broadcast on; filename = \"http://' . $nxtsrv . '/tftpboot/xcat/xnba/nodes/' . $node . '\"; } else if option client-architecture = 00:07 or option client-architecture = 00:09 { filename = \"\"; option vendor-class-identifier \"PXEClient\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }' . $lstatements; #Only PXE compliant clients should ever receive xNBA + $lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { always-broadcast on; filename = \"http://' . $nxtsrv . ':' . $httpport . '/tftpboot/xcat/xnba/nodes/' . $node . '\"; } else if option client-architecture = 00:07 or option client-architecture = 00:09 { filename = \"\"; option vendor-class-identifier \"PXEClient\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }' . $lstatements; #Only PXE compliant clients should ever receive xNBA } } elsif ($douefi and $chainent->{currstate} ne "boot" and $chainent->{currstate} ne "iscsiboot") { - $lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { always-broadcast on; filename = \"http://' . $nxtsrv . '/tftpboot/xcat/xnba/nodes/' . $node . '\"; } else if option user-class-identifier = \"xNBA\" and (option client-architecture = 00:09 or option client-architecture = 00:07) { filename = \"http://' . $nxtsrv . '/tftpboot/xcat/xnba/nodes/' . $node . '.uefi\"; } else if option client-architecture = 00:07 { filename = \"xcat/xnba.efi\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }' . $lstatements; #Only PXE compliant clients should ever receive xNBA + $lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { always-broadcast on; filename = \"http://' . $nxtsrv . ':' . $httpport . '/tftpboot/xcat/xnba/nodes/' . $node . '\"; } else if option user-class-identifier = \"xNBA\" and (option client-architecture = 00:09 or option client-architecture = 00:07) { filename = \"http://' . $nxtsrv .':' . $httpport . '/tftpboot/xcat/xnba/nodes/' . $node . '.uefi\"; } else if option client-architecture = 00:07 { filename = \"xcat/xnba.efi\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }' . $lstatements; #Only PXE compliant clients should ever receive xNBA } else { - $lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { filename = \"http://' . $nxtsrv . '/tftpboot/xcat/xnba/nodes/' . $node . '\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }' . $lstatements; #Only PXE compliant clients should ever receive xNBA + $lstatements = 'if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { filename = \"http://' . $nxtsrv .':' . $httpport . '/tftpboot/xcat/xnba/nodes/' . $node . '\"; } else if option client-architecture = 00:00 { filename = \"xcat/xnba.kpxe\"; } else { filename = \"\"; }' . $lstatements; #Only PXE compliant clients should ever receive xNBA } } } #TODO: warn when windows @@ -702,7 +708,7 @@ sub addnode } elsif ($nrent and $nrent->{netboot} and $nrent->{netboot} eq 'grub2') { $lstatements = 'filename = \"/boot/grub2/grub2-' . $node . '\";' . $lstatements; } elsif ($nrent and $nrent->{netboot} and $nrent->{netboot} eq 'petitboot') { - $lstatements = 'option conf-file \"http://' . $nxtsrv . '/tftpboot/petitboot/' . $node . '\";' . $lstatements; + $lstatements = 'option conf-file \"http://' . $nxtsrv .':' . $httpport . '/tftpboot/petitboot/' . $node . '\";' . $lstatements; } elsif ($nrent and $nrent->{netboot} and $nrent->{netboot} eq 'onie') { my $provmethod = $ntent->{provmethod}; if ($provmethod) { @@ -714,7 +720,7 @@ sub addnode my $validpkgdir; foreach my $mypkgdir (@pkgdirs){ if (-f $mypkgdir) { - $lstatements = 'if substring (option vendor-class-identifier,0,11) = \"onie_vendor\" { option www-server = \"http://' . $nxtsrv . $mypkgdir . '\";}' . $lstatements; + $lstatements = 'if substring (option vendor-class-identifier,0,11) = \"onie_vendor\" { option www-server = \"http://' . $nxtsrv .':' . $httpport . $mypkgdir . '\";}' . $lstatements; $validpkgdir = 1; last; } @@ -2439,6 +2445,11 @@ sub addnet my $mask = shift; my $nic; my $domain; + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } my $firstoctet = $net; $firstoctet =~ s/^(\d+)\..*/$1/; if ($net eq "169.254.0.0" or ($firstoctet >= 224 and $firstoctet <= 239)) { @@ -2722,7 +2733,7 @@ sub addnet } } #for cumulus ZTP process - push @netent, " option cumulus-provision-url \"http://$tftp/install/postscripts/cumulusztp\";\n"; + push @netent, " option cumulus-provision-url \"http://$tftp.':' . $httpport/install/postscripts/cumulusztp\";\n"; my $ddnserver = $nameservers; $ddnserver =~ s/,.*//; @@ -2762,9 +2773,9 @@ sub addnet # $lstatements = 'if exists gpxe.bus-id { filename = \"\"; } else if exists client-architecture { filename = \"xcat/xnba.kpxe\"; } '.$lstatements; push @netent, " if option user-class-identifier = \"xNBA\" and option client-architecture = 00:00 { #x86, xCAT Network Boot Agent\n"; push @netent, " always-broadcast on;\n"; - push @netent, " filename = \"http://$tftp/tftpboot/xcat/xnba/nets/" . $net . "_" . $maskbits . "\";\n"; + push @netent, " filename = \"http://$tftp.':' . $httpport/tftpboot/xcat/xnba/nets/" . $net . "_" . $maskbits . "\";\n"; push @netent, " } else if option user-class-identifier = \"xNBA\" and option client-architecture = 00:09 { #x86, xCAT Network Boot Agent\n"; - push @netent, " filename = \"http://$tftp/tftpboot/xcat/xnba/nets/" . $net . "_" . $maskbits . ".uefi\";\n"; + push @netent, " filename = \"http://$tftp.':' . $httpport/tftpboot/xcat/xnba/nets/" . $net . "_" . $maskbits . ".uefi\";\n"; push @netent, " } else if option client-architecture = 00:00 { #x86\n"; push @netent, " filename \"xcat/xnba.kpxe\";\n"; push @netent, " } else if option vendor-class-identifier = \"Etherboot-5.4\" { #x86\n"; @@ -2780,10 +2791,10 @@ sub addnet push @netent, " filename \"elilo.efi\";\n"; push @netent, " } else if option client-architecture = 00:0e { #OPAL-v3\n "; - push @netent, " option conf-file = \"http://$tftp/tftpboot/pxelinux.cfg/p/" . $net . "_" . $maskbits . "\";\n"; + push @netent, " option conf-file = \"http://$tftp.':' . $httpport/tftpboot/pxelinux.cfg/p/" . $net . "_" . $maskbits . "\";\n"; push @netent, " } else if substring (option vendor-class-identifier,0,11) = \"onie_vendor\" { #for onie on cumulus switch\n"; - push @netent, " option www-server = \"http://$tftp/install/onie/onie-installer\";\n"; + push @netent, " option www-server = \"http://$tftp.':' . $httpport/install/onie/onie-installer\";\n"; push @netent, " } else if substring(filename,0,1) = null { #otherwise, provide yaboot if the client isn't specific\n "; push @netent, " filename \"/yaboot\";\n"; diff --git a/xCAT-server/lib/xcat/plugins/docker.pm b/xCAT-server/lib/xcat/plugins/docker.pm index 3c6d30cb9..3c342facc 100755 --- a/xCAT-server/lib/xcat/plugins/docker.pm +++ b/xCAT-server/lib/xcat/plugins/docker.pm @@ -647,7 +647,7 @@ sub parse_args { # Process command-line flags ############################################# if (!GetOptions(\%opt, - qw(h|help V|Verbose v|version))) { + qw(h|help V|verbose v|version))) { return (usage()); } diff --git a/xCAT-server/lib/xcat/plugins/getpartition.pm b/xCAT-server/lib/xcat/plugins/getpartition.pm index 42a651c54..b90aadee7 100644 --- a/xCAT-server/lib/xcat/plugins/getpartition.pm +++ b/xCAT-server/lib/xcat/plugins/getpartition.pm @@ -54,7 +54,7 @@ sub process_request if ($client) { ($client) = noderange($client) } unless ($client) { #Not able to do identify the host in question - xCAT::MsgUtils->message("S", "Received syncfiles from $client, which couldn't be correlated to a node (domain mismatch?)"); + xCAT::MsgUtils->message("S", "Received getpartition from $client, which couldn't be correlated to a node (domain mismatch?)"); return; } diff --git a/xCAT-server/lib/xcat/plugins/grub2.pm b/xCAT-server/lib/xcat/plugins/grub2.pm index b6692d07f..12048e0d1 100644 --- a/xCAT-server/lib/xcat/plugins/grub2.pm +++ b/xCAT-server/lib/xcat/plugins/grub2.pm @@ -442,6 +442,11 @@ sub preprocess_request { return; } + # inittime flag in request will only be set in AAsn.pm (it is only used when xcatd starting on service node) + # There is special requirement to not run in parallel on one SN to avoid DB CPU 100% when all service nodes booting in the same time. + my $inittime = 0; + if (exists($req->{inittime})) { $inittime = $req->{inittime}->[0]; } + if (!$inittime) { $inittime = 0; } #Assume shared tftp directory for boring people, but for cool people, help sync up tftpdirectory contents when #if they specify no sharedtftp in site table @@ -468,16 +473,16 @@ sub preprocess_request { } $req->{'_disparatetftp'} = [1]; - if ($req->{inittime}->[0]) { - return [$req]; - } if (@CN > 0) { # if compute nodes only, then broadcast to servic enodes + # 1, Non-hierarchy, run on locally with parallel my @sn = xCAT::ServiceNodeUtils->getSNList(); unless ( @sn > 0 ) { - return xCAT::Scope->get_parallel_scope($req) + return if (xCAT::Utils->isServiceNode()); # in case the wrong configuration + return xCAT::Scope->get_parallel_scope($req); } + # To check site table to see if disjoint mode my $mynodeonly = 0; my @entries = xCAT::TableUtils->get_site_attribute("disjointdhcps"); my $t_entry = $entries[0]; @@ -487,11 +492,29 @@ sub preprocess_request { $req->{'_disjointmode'} = [$mynodeonly]; xCAT::MsgUtils->trace(0, "d", "grub2: disjointdhcps=$mynodeonly"); - if ($mynodeonly == 0 || $ALLFLAG) { # broadcast to all service nodes + # 2, Non-disjoint mode, broadcast to all service nodes, + # but for SN init time (AAsn.pm), only run locally without parallel. + if ($mynodeonly == 0 || $ALLFLAG) { + if ($inittime) { + $req->{_xcatpreprocessed}->[0] = 1; + return [$req]; + } return xCAT::Scope->get_broadcast_scope_with_parallel($req, \@sn); } + # 3, Disjoint mode, run on local for owned CNs only and + # dispatch to parent SNs of the requesting nodes and `dhcpserver` which serving dynamic range in `networks` table. + # but for SN init time (AAsn.pm), only run locally without parallel. my $sn_hash = xCAT::ServiceNodeUtils->getSNformattedhash(\@CN, "xcat", "MN"); + if ($inittime) { + foreach my $sn ( keys %$sn_hash ) { + unless (xCAT::NetworkUtils->thishostisnot($sn)) { + $req->{node} = $sn_hash->{$sn}; + $req->{_xcatpreprocessed}->[0] = 1; + return [$req]; + } + } + } my @dhcpsvrs = (); my $ntab = xCAT::Table->new('networks'); if ($ntab) { @@ -502,6 +525,9 @@ sub preprocess_request { } return xCAT::Scope->get_broadcast_disjoint_scope_with_parallel($req, $sn_hash, \@dhcpsvrs); } + } elsif ($inittime) { + # Shared TFTP, no need to run on service node booting (AAsn.pm) + return; } # Do not dispatch to service nodes if non-sharedtftp or the node range contains only SNs. return xCAT::Scope->get_parallel_scope($req); @@ -598,8 +624,14 @@ sub process_request { @nodes = keys %preparednodes; } - my $str_node = join(" ", @nodes); - xCAT::MsgUtils->trace($verbose_on_off, "d", "grub2: nodes are $str_node") if ($str_node); + my $str_node = ''; + my $total = $#nodes; + if ($total > 20) { + $str_node = join(" ", @nodes[0..19]) . " ..."; + } else { + $str_node = join(" ", @nodes); + } + xCAT::MsgUtils->trace($verbose_on_off, "d", "grub2: [total=$total] nodes are $str_node"); # Return directly if no nodes in the same network, need to report error on console if its managed nodes are not handled. unless (@nodes) { diff --git a/xCAT-server/lib/xcat/plugins/hpblade.pm b/xCAT-server/lib/xcat/plugins/hpblade.pm index e3c9f0477..81c8a6299 100755 --- a/xCAT-server/lib/xcat/plugins/hpblade.pm +++ b/xCAT-server/lib/xcat/plugins/hpblade.pm @@ -1468,7 +1468,7 @@ sub rscan { return (join('', ($_[0], $usage_string))); }; - if (!GetOptions(\%opt, qw(V|Verbose w x z))) { + if (!GetOptions(\%opt, qw(V|verbose w x z))) { return (1, usage()); } if (defined($ARGV[0])) { diff --git a/xCAT-server/lib/xcat/plugins/ipmi.pm b/xCAT-server/lib/xcat/plugins/ipmi.pm index 4c06e3f99..a6f53b0da 100644 --- a/xCAT-server/lib/xcat/plugins/ipmi.pm +++ b/xCAT-server/lib/xcat/plugins/ipmi.pm @@ -8251,7 +8251,13 @@ sub loadsdrcache { if (!open($fh, "<$file")) { return (1); } - $r = retrieve_fd($fh); + eval { + $r = retrieve_fd($fh); + }; + if($@){ + xCAT::MsgUtils->message("S", "loadsdrcache: Fatal error while retrieving data from $file, $@"); + return 1; + } unless ($r) { close($fh); return 1; } unless ($r->{xcat_sdrcacheversion} and $r->{xcat_sdrcacheversion} == $cache_version) { close($fh); return 1; } #version mismatch diff --git a/xCAT-server/lib/xcat/plugins/lsslp.pm b/xCAT-server/lib/xcat/plugins/lsslp.pm index 369b41867..697390ce2 100755 --- a/xCAT-server/lib/xcat/plugins/lsslp.pm +++ b/xCAT-server/lib/xcat/plugins/lsslp.pm @@ -283,7 +283,7 @@ sub parse_args { # Process command-line flags ############################################# if (!GetOptions(\%opt, - qw(h|help V|Verbose v|version i=s x z w r s=s e=s t=s m c n C=s T=s I u range=s flexdiscover updatehosts vpdtable))) { + qw(h|help V|verbose v|version i=s x z w r s=s e=s t=s m c n C=s T=s I u range=s flexdiscover updatehosts vpdtable))) { return (usage()); } diff --git a/xCAT-server/lib/xcat/plugins/makentp.pm b/xCAT-server/lib/xcat/plugins/makentp.pm index c05ef697c..35d20ee84 100755 --- a/xCAT-server/lib/xcat/plugins/makentp.pm +++ b/xCAT-server/lib/xcat/plugins/makentp.pm @@ -129,7 +129,7 @@ sub parse_args { # Process command-line flags if (!GetOptions(\%opt, - qw(h|help V|Verbose v|version a|all))) { + qw(h|help V|verbose v|version a|all))) { return (usage()); } diff --git a/xCAT-server/lib/xcat/plugins/mknb.pm b/xCAT-server/lib/xcat/plugins/mknb.pm index ab8c17665..02a3a39c5 100644 --- a/xCAT-server/lib/xcat/plugins/mknb.pm +++ b/xCAT-server/lib/xcat/plugins/mknb.pm @@ -46,6 +46,12 @@ sub process_request { $xcatdport = $t_entry; } + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } + @entries = xCAT::TableUtils->get_site_attribute("dhcpinterfaces"); $t_entry = $entries[0]; if (defined($t_entry)) { @@ -263,6 +269,10 @@ sub process_request { copy("/usr/lib/syslinux/pxelinux.0", "$tftpdir/pxelinux.0"); } elsif (-r "/usr/share/syslinux/pxelinux.0") { copy("/usr/share/syslinux/pxelinux.0", "$tftpdir/pxelinux.0"); + } elsif ("/usr/lib/PXELINUX/pxelinux.0") { + copy("/usr/lib/PXELINUX/pxelinux.0", "$tftpdir/pxelinux.0"); + } else { + copy("/opt/xcat/share/xcat/netboot/syslinux/pxelinux.0", "$tftpdir/pxelinux.0"); } if (-r "$tftpdir/pxelinux.0") { chmod(0644, "$tftpdir/pxelinux.0"); @@ -305,15 +315,15 @@ sub process_request { open($cfg, ">", "$tftpdir/xcat/xnba/nets/$net"); print $cfg "#!gpxe\n"; if ($invisibletouch) { - print $cfg 'imgfetch -n kernel http://${next-server}/tftpboot/xcat/genesis.kernel.' . "$arch quiet xcatd=" . $normnets->{$_} . ":$xcatdport $consolecmdline BOOTIF=01-" . '${netX/machyp}' . "\n"; + print $cfg 'imgfetch -n kernel http://${next-server}:'.$httpport.'/tftpboot/xcat/genesis.kernel.' . "$arch quiet xcatd=" . $normnets->{$_} . ":$xcatdport $consolecmdline BOOTIF=01-" . '${netX/machyp}' . "\n"; if ($lzma_exit_value) { - print $cfg 'imgfetch -n nbfs http://${next-server}/tftpboot/xcat/genesis.fs.' . "$arch.gz\n"; + print $cfg 'imgfetch -n nbfs http://${next-server}:'.$httpport.'/tftpboot/xcat/genesis.fs.' . "$arch.gz\n"; } else { - print $cfg 'imgfetch -n nbfs http://${next-server}/tftpboot/xcat/genesis.fs.' . "$arch.lzma\n"; + print $cfg 'imgfetch -n nbfs http://${next-server}:'.$httpport.'/tftpboot/xcat/genesis.fs.' . "$arch.lzma\n"; } } else { - print $cfg 'imgfetch -n kernel http://${next-server}/tftpboot/xcat/nbk.' . "$arch quiet xcatd=" . $normnets->{$_} . ":$xcatdport $consolecmdline\n"; - print $cfg 'imgfetch -n nbfs http://${next-server}/tftpboot/xcat/nbfs.' . "$arch.gz\n"; + print $cfg 'imgfetch -n kernel http://${next-server}:'.$httpport.'/tftpboot/xcat/nbk.' . "$arch quiet xcatd=" . $normnets->{$_} . ":$xcatdport $consolecmdline\n"; + print $cfg 'imgfetch -n nbfs http://${next-server}:'.$httpport.'/tftpboot/xcat/nbfs.' . "$arch.gz\n"; } print $cfg "imgload kernel\n"; print $cfg "imgexec kernel\n"; @@ -333,7 +343,7 @@ sub process_request { close($cfg); open($cfg, ">", "$tftpdir/xcat/xnba/nets/$net.uefi"); print $cfg "#!gpxe\n"; - print $cfg 'chain http://${next-server}/tftpboot/xcat/elilo-x64.efi -C /tftpboot/xcat/xnba/nets/' . "$net.elilo\n"; + print $cfg 'chain http://${next-server}:'.$httpport.'/tftpboot/xcat/elilo-x64.efi -C /tftpboot/xcat/xnba/nets/' . "$net.elilo\n"; close($cfg); } } elsif ($arch =~ /ppc/) { @@ -341,8 +351,8 @@ sub process_request { print $cfgfile "default \"xCAT Genesis (" . $normnets->{$_} . ")\"\n"; print $cfgfile " delay=10\n"; print $cfgfile " label \"xCAT Genesis (" . $normnets->{$_} . ")\"\n"; - print $cfgfile " kernel http://" . $normnets->{$_} . ":80/$tftpdir/xcat/genesis.kernel.$arch\n"; - print $cfgfile " initrd http://" . $normnets->{$_} . ":80/$initrd_file\n"; + print $cfgfile " kernel http://" . $normnets->{$_} . ":$httpport/$tftpdir/xcat/genesis.kernel.$arch\n"; + print $cfgfile " initrd http://" . $normnets->{$_} . ":$httpport/$initrd_file\n"; print $cfgfile ' append "quiet xcatd=' . $normnets->{$_} . ":$xcatdport $consolecmdline\"\n"; close($cfgfile); } @@ -379,8 +389,8 @@ sub process_request { print $cfgfile "default \"xCAT Genesis (" . $normnets->{$_} . ")\"\n"; print $cfgfile " delay=10\n"; print $cfgfile " label \"xCAT Genesis (" . $normnets->{$_} . ")\"\n"; - print $cfgfile " kernel http://" . $hexnets->{$_} . ":80/$tftpdir/xcat/genesis.kernel.$arch\n"; - print $cfgfile " initrd http://" . $hexnets->{$_} . ":80/$initrd_file\n"; + print $cfgfile " kernel http://" . $hexnets->{$_} . ":$httpport/$tftpdir/xcat/genesis.kernel.$arch\n"; + print $cfgfile " initrd http://" . $hexnets->{$_} . ":$httpport/$initrd_file\n"; print $cfgfile ' append "quiet xcatd=' . $hexnets->{$_} . ":$xcatdport $consolecmdline\"\n"; close($cfgfile); } diff --git a/xCAT-server/lib/xcat/plugins/nodediscover.pm b/xCAT-server/lib/xcat/plugins/nodediscover.pm index 1ba0b1a16..d7f4fef1e 100644 --- a/xCAT-server/lib/xcat/plugins/nodediscover.pm +++ b/xCAT-server/lib/xcat/plugins/nodediscover.pm @@ -414,6 +414,17 @@ sub process_request { # search the management nic and record the switch informaiton foreach my $nic (@{ $request->{nic} }) { if (defined($nic->{'hwaddr'}) && $nic->{'hwaddr'}->[0] =~ /$firstmac/i) { + if (defined($nic->{'switchname'}) && defined($nic->{'switchport'})) { + # update the switch table + my $switchtab = xCAT::Table->new('switch'); + if ($switchtab) { + $switchtab->setNodeAttribs($node, { switch => $nic->{'switchname'}->[0], port => $nic->{'switchport'}->[0] }); + $switchtab->close(); + } + + } + next; + # Don't create switch definition in nodelist, hosts, switches table if (defined($nic->{'switchname'}) && defined($nic->{'switchaddr'})) { # update the switch to switches table diff --git a/xCAT-server/lib/xcat/plugins/nodestat.pm b/xCAT-server/lib/xcat/plugins/nodestat.pm index 6a3b1979f..6d70988cf 100644 --- a/xCAT-server/lib/xcat/plugins/nodestat.pm +++ b/xCAT-server/lib/xcat/plugins/nodestat.pm @@ -658,7 +658,7 @@ sub process_request_nmap { if ($ip6 and scalar(@ip6s)) { open($fping, "nmap --unprivileged -6 -PS$ports,3001 -n --send-ip -p $ports,3001 $more_options " . join(' ', @ip6s) . " 2> /dev/null|") or die("Can't start nmap: $!"); } elsif (not $ip6 and scalar(@ips)) { - open($fping, "nmap --unprivileged -PE -n --send-ip -p $ports,3001 $more_options " . join(' ', @ips) . " 2> /dev/null|") or die("Can't start nmap: $!"); + open($fping, "nmap --unprivileged -PA80,443,22 -PE -n --send-ip -p $ports,3001 $more_options " . join(' ', @ips) . " 2> /dev/null|") or die("Can't start nmap: $!"); } else { next; } while (<$fping>) { if (/Interesting ports on ([^ ]*)[: ]/ or /Nmap scan report for ([^ ]*)/) { diff --git a/xCAT-server/lib/xcat/plugins/onie.pm b/xCAT-server/lib/xcat/plugins/onie.pm index 817c4d8eb..65e49c6f8 100644 --- a/xCAT-server/lib/xcat/plugins/onie.pm +++ b/xCAT-server/lib/xcat/plugins/onie.pm @@ -277,7 +277,9 @@ sub nodeset { $provmethod = $nodehash->{$switch}->[0]->{provmethod}; } if ($::VERBOSE) { - xCAT::MsgUtils->message("I", { data => ["$switch has provmethod=$provmethod"] }, $callback); + if (!defined($::DISABLENODESETWARNING)) { # set by AAsn.pm + xCAT::MsgUtils->message("I", { data => [ "$switch has provmethod=$provmethod" ] }, $callback); + } } #get pkgdir from osimage @@ -286,7 +288,9 @@ sub nodeset { my $imagetab = $linuximagetab->getAttribs({ imagename => $provmethod },'pkgdir'); my $osimghash = $osimagetab->getAttribs({ imagename => $provmethod },'osvers','osarch'); unless($imagetab and $osimghash){ - xCAT::MsgUtils->message("E", { error => ["cannot find osimage \"$provmethod\" for $switch, please make sure the osimage specified in command line or node.provmethod exists!"], errorcode => ["1"] }, $callback); + if (!defined($::DISABLENODESETWARNING)) { # set by AAsn.pm + xCAT::MsgUtils->message("E", { error => ["cannot find osimage \"$provmethod\" for $switch, please make sure the osimage specified in command line or node.provmethod exists!"], errorcode => ["1"] }, $callback); + } next; } diff --git a/xCAT-server/lib/xcat/plugins/openbmc.pm b/xCAT-server/lib/xcat/plugins/openbmc.pm index 10b11257c..f8f74dc46 100644 --- a/xCAT-server/lib/xcat/plugins/openbmc.pm +++ b/xCAT-server/lib/xcat/plugins/openbmc.pm @@ -1224,19 +1224,13 @@ sub parse_args { return ([ 1, "Error parsing arguments." ]); } - # If command includes '-V', it must be the last one prarmeter. Or print error message. - if ($verbose) { - my $option = $$extrargs[-1]; - return ([ 1, "Error parsing arguments." ]) if ($option !~ /V|verbose/); - } - if (scalar(@ARGV) >= 2 and ($command =~ /rpower|rinv|rvitals/)) { return ([ 1, "Only one option is supported at the same time for $command" ]); } elsif (scalar(@ARGV) >= 2 and $command eq "reventlog") { my $option_s; GetOptions( 's' => \$option_s ); return ([ 1, "The -s option is not supported for OpenBMC." ]) if ($option_s); - if ( "resolved" ~~ @ARGV) { + if ( "resolved=" ~~ @ARGV) { return ([ 1, "$usage_errormsg $reventlog_no_id_resolved_errormsg" ]); } return ([ 1, "Only one option is supported at the same time for $command" ]); @@ -1249,7 +1243,7 @@ sub parse_args { if ($command eq "rbeacon") { unless ($subcommand =~ /^on$|^off$|^stat$/) { - return ([ 1, "Only 'on', 'off' or 'stat' are supported for OpenBMC managed nodes."]); + return ([ 1, "Only 'on', 'off' and 'stat' are supported for OpenBMC managed nodes."]); } } elsif ($command eq "rpower") { unless ($subcommand =~ /^on$|^off$|^softoff$|^reset$|^boot$|^bmcreboot$|^bmcstate$|^status$|^stat$|^state$/) { @@ -1297,6 +1291,22 @@ sub parse_args { if ($::RSPCONFIG_CONFIGURED_API_KEY ne -1) { return ([ 1, "Can not query $api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{subcommand} information with other options at the same time" ]) if ($#ARGV > 1); # subcommand defined in the configured API hash, return from here, the RSPCONFIG_CONFIGURED_API_KEY is the key into the hash + if ($subcommand =~ /(\w+)=(.*)/) { + my $subcommand_key = $1; + my $subcommand_value = $2; + my $error_msg = "Invalid value '$subcommand_value' for '$subcommand_key'"; + my @valid_values = sort (keys %{ $api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{attr_value} }); + if (!@valid_values) { + if ($api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{type} eq "boolean") { + @valid_values = (0, 1); + } else { + return ([1, "$error_msg"]); + } + } + if (! grep { $_ eq $subcommand_value } @valid_values ) { + return ([1, "$error_msg, Valid values: " . join(",", @valid_values)]); + } + } return; } elsif ($subcommand =~ /^(\w+)=(.*)/) { @@ -1514,9 +1524,11 @@ sub parse_command_status { return if ($command eq "getopenbmccons"); - if ($$subcommands[-1] and $$subcommands[-1] =~ /V|verbose/) { - $::VERBOSE = 1; - pop(@$subcommands); + for (my $i = $#{ $subcommands }; $i >= 0; $i--) { + if (${ $subcommands }[$i] =~ /^-V$|^--verbose$/) { + $::VERBOSE = 1; + splice(@{ $subcommands }, $i, 1); + } } $next_status{LOGIN_REQUEST} = "LOGIN_RESPONSE"; @@ -1733,14 +1745,16 @@ sub parse_command_status { } else { # Everything else is invalid - xCAT::SvrUtils::sendmsg([1, "Invalid value '$subcommand_value' for '$subcommand_key'"], $callback); + my $error_msg = "Invalid value '$subcommand_value' for '$subcommand_key'"; my @valid_values = keys %{ $api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{attr_value} }; if (!@valid_values) { if ($api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{type} eq "boolean") { - xCAT::SvrUtils::sendmsg([1, "Valid values: 0,1"], $callback); + xCAT::SvrUtils::sendmsg([1, "$error_msg, Valid values: 0,1"], $callback); + } else { + xCAT::SvrUtils::sendmsg([1, "$error_msg"], $callback); } } else { - xCAT::SvrUtils::sendmsg([1, "Valid values: " . join(",", @valid_values)], $callback); + xCAT::SvrUtils::sendmsg([1, "$error_msg, Valid values: " . join(",", @valid_values)], $callback); } return 1; } @@ -1786,7 +1800,7 @@ sub parse_command_status { $next_status{RSPCONFIG_GET_REQUEST} = "RSPCONFIG_GET_RESPONSE"; $status_info{RSPCONFIG_SET_HOSTNAME_REQUEST}{data} = $1; - $status_info{RSPCONFIG_SET_RESPONSE}{argv} = "Hostname"; + $status_info{RSPCONFIG_SET_RESPONSE}{argv} = "BMC Hostname"; $status_info{RSPCONFIG_GET_RESPONSE}{argv} = "hostname"; return 0; } @@ -2534,7 +2548,7 @@ sub deal_with_response { $cur_url = $status_info{REVENTLOG_RESOLVED_REQUEST}{init_url}; } my $log_id = (split ('/', $cur_url))[5]; - $error = "Invalid ID=$log_id provided to be resolved. [$::RESPONSE_FORBIDDEN]"; + $error = "Invalid ID: $log_id provided to be resolved. [$::RESPONSE_FORBIDDEN]"; } else{ $error = "$::RESPONSE_FORBIDDEN - Requested endpoint does not exist or may indicate function is not yet supported by OpenBMC firmware."; } @@ -3324,7 +3338,7 @@ sub reventlog_response { } else { # Return if there are no entries with callout data - xCAT::SvrUtils::sendmsg("There are no event log entries contributing to LED fault", $callback, $node); + xCAT::SvrUtils::sendmsg([1, "No event log entries needed to be resolved"], $callback, $node); $wait_node_num--; return; } @@ -3532,6 +3546,11 @@ sub rspconfig_response { if (defined($content{Address}) and $content{Address}) { if ($content{Address} eq $node_info{$node}{bmcip} and $node_info{$node}{cur_status} eq "RSPCONFIG_GET_NIC_RESPONSE") { $status_info{RSPCONFIG_SET_NTPSERVERS_REQUEST}{init_url} =~ s/#NIC#/$nic/g; + if (defined($content{Origin}) and $content{Origin} =~ /DHCP$/) { + xCAT::SvrUtils::sendmsg([1, "BMC IP source is DHCP, could not set NTPServers"], $callback, $node); + $wait_node_num--; + return; + } if ($next_status{"RSPCONFIG_GET_NIC_RESPONSE"}) { $node_info{$node}{cur_status} = $next_status{"RSPCONFIG_GET_NIC_RESPONSE"}; gen_send_request($node); @@ -3877,7 +3896,7 @@ sub rspconfig_api_config_response { my $last_component = $attr_value[-1]; my @valid_values = values %{ $api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{attr_value} }; if ($value) { - xCAT::SvrUtils::sendmsg($api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{display_name} . " : $last_component", $callback, $node); + xCAT::SvrUtils::sendmsg($api_config_info{$::RSPCONFIG_CONFIGURED_API_KEY}{display_name} . ": $last_component", $callback, $node); my $found = grep(/$value/, @valid_values); if ($found eq 0) { # Received data value not expected @@ -4112,7 +4131,7 @@ sub rspconfig_dump_response { if ($node_info{$node}{cur_status} eq "RSPCONFIG_DUMP_CLEAR_RESPONSE") { if ($response_info->{'message'} eq $::RESPONSE_OK) { my $dump_id = $status_info{RSPCONFIG_DUMP_CLEAR_RESPONSE}{argv}; - xCAT::MsgUtils->message("I", { data => ["[$dump_id] clear"] }, $callback) unless ($next_status{ $node_info{$node}{cur_status} }); + xCAT::MsgUtils->message("I", { data => ["$node: [$dump_id] clear"] }, $callback) unless ($next_status{ $node_info{$node}{cur_status} }); } else { my $error_msg = "Could not clear BMC diagnostics successfully (". $response_info->{'message'} . ")"; xCAT::MsgUtils->message("W", { data => ["$node: $error_msg"] }, $callback) if ($next_status{ $node_info{$node}{cur_status} }); diff --git a/xCAT-server/lib/xcat/plugins/openbmc2.pm b/xCAT-server/lib/xcat/plugins/openbmc2.pm index 9ccfac90a..c15bf7ad8 100644 --- a/xCAT-server/lib/xcat/plugins/openbmc2.pm +++ b/xCAT-server/lib/xcat/plugins/openbmc2.pm @@ -202,7 +202,7 @@ sub parse_args { if ($command eq "rbeacon") { unless ($subcommand =~ /^on$|^off$|^stat$/) { - return ([ 1, "Only 'on', 'off' or 'stat' is supported for OpenBMC managed nodes."]); + return ([ 1, "Only 'on', 'off' and 'stat' are supported for OpenBMC managed nodes."]); } } elsif ($command eq "rflash") { my ($activate, $check, $delete, $directory, $list, $upload) = (0) x 6; diff --git a/xCAT-server/lib/xcat/plugins/petitboot.pm b/xCAT-server/lib/xcat/plugins/petitboot.pm index d9af33974..83b8f948d 100644 --- a/xCAT-server/lib/xcat/plugins/petitboot.pm +++ b/xCAT-server/lib/xcat/plugins/petitboot.pm @@ -318,11 +318,18 @@ sub preprocess_request { return; } + # inittime flag in request will only be set in AAsn.pm (it is only used when xcatd starting on service node) + # There is special requirement to not run in parallel on one SN to avoid DB CPU 100% when all service nodes booting in the same time. + my $inittime = 0; + if (exists($req->{inittime})) { $inittime = $req->{inittime}->[0]; } + if (!$inittime) { $inittime = 0; } + #Assume shared tftp directory for boring people, but for cool people, help sync up tftpdirectory contents when #if they specify no sharedtftp in site table my @entries = xCAT::TableUtils->get_site_attribute("sharedtftp"); my $t_entry = $entries[0]; xCAT::MsgUtils->trace($verbose_on_off, "d", "petitboot: sharedtftp = $t_entry"); + if (defined($t_entry) and ($t_entry == 0 or $t_entry =~ /no/i)) { # check for computenodes and servicenodes from the noderange, if so error out @@ -341,16 +348,16 @@ sub preprocess_request { } $req->{'_disparatetftp'} = [1]; - if ($req->{inittime}->[0]) { - return [$req]; - } if (@CN > 0) { # if compute nodes only, then broadcast to servic enodes + # 1, Non-hierarchy, run on locally with parallel my @sn = xCAT::ServiceNodeUtils->getSNList(); unless ( @sn > 0 ) { - return xCAT::Scope->get_parallel_scope($req) + return if (xCAT::Utils->isServiceNode()); # in case the wrong configuration + return xCAT::Scope->get_parallel_scope($req); } + # To check site table to see if disjoint mode my $mynodeonly = 0; my @entries = xCAT::TableUtils->get_site_attribute("disjointdhcps"); my $t_entry = $entries[0]; @@ -360,11 +367,30 @@ sub preprocess_request { $req->{'_disjointmode'} = [$mynodeonly]; xCAT::MsgUtils->trace(0, "d", "petitboot: disjointdhcps=$mynodeonly"); - if ($mynodeonly == 0 || $ALLFLAG) { # broadcast to all service nodes + # 2, Non-disjoint mode, broadcast to all service nodes, + # but for SN init time (AAsn.pm), only run locally without parallel. + if ($mynodeonly == 0 || $ALLFLAG) { + if ($inittime) { + $req->{_xcatpreprocessed}->[0] = 1; + return [$req]; + } return xCAT::Scope->get_broadcast_scope_with_parallel($req, \@sn); } + # 3, Disjoint mode, run on local for owned CNs only and + # dispatch to parent SNs of the requesting nodes and `dhcpserver` which serving dynamic range in `networks` table. + # but for SN init time (AAsn.pm), only run locally without parallel. my $sn_hash = xCAT::ServiceNodeUtils->getSNformattedhash(\@CN, "xcat", "MN"); + if ($inittime) { + foreach my $sn ( keys %$sn_hash ) { + unless (xCAT::NetworkUtils->thishostisnot($sn)) { + $req->{node} = $sn_hash->{$sn}; + $req->{_xcatpreprocessed}->[0] = 1; + return [$req]; + } + } + } + my @dhcpsvrs = (); my $ntab = xCAT::Table->new('networks'); if ($ntab) { @@ -375,6 +401,9 @@ sub preprocess_request { } return xCAT::Scope->get_broadcast_disjoint_scope_with_parallel($req, $sn_hash, \@dhcpsvrs); } + } elsif ($inittime) { + # Shared TFTP, no need to run on service node booting (AAsn.pm) + return; } # Do not dispatch to service nodes if non-sharedtftp or the node range contains only SNs. return xCAT::Scope->get_parallel_scope($req); @@ -450,7 +479,9 @@ sub process_request { my $errormsg = $ipret->{'error'}; my $nodeip = $ipret->{'ip'}; if ($errormsg) {# Add the node to failure set - xCAT::MsgUtils->trace(0, "E", "petitboot: Defined IP address of $_ is $nodeip. $errormsg"); + if (!defined($::DISABLENODESETWARNING)) { # set by AAsn.pm + xCAT::MsgUtils->trace(0, "E", "petitboot: Defined IP address of $_ is $nodeip. $errormsg"); + } unless ($nodeip) { $failurenodes{$_} = 1; } @@ -468,7 +499,9 @@ sub process_request { if (xCAT::NetworkUtils->nodeonmynet($preparednodes{$_})) { push @nodes, $_; } else { - xCAT::MsgUtils->trace(0, "W", "petitboot: configuration file was not created for [$_] because the node is not on the same network as this server"); + if (!defined($::DISABLENODESETWARNING)) { # set by AAsn.pm + xCAT::MsgUtils->trace(0, "W", "petitboot: configuration file was not created for [$_] because the node is not on the same network as this server"); + } delete $preparednodes{$_}; } } @@ -476,8 +509,14 @@ sub process_request { @nodes = keys %preparednodes; } - my $str_node = join(" ", @nodes); - xCAT::MsgUtils->trace($verbose_on_off, "d", "petitboot: nodes are $str_node") if ($str_node); + my $str_node = ''; + my $total = $#nodes; + if ($total > 20) { + $str_node = join(" ", @nodes[0..19]) . " ..."; + } else { + $str_node = join(" ", @nodes); + } + xCAT::MsgUtils->trace($verbose_on_off, "d", "petitboot: [total=$total] nodes are $str_node"); # Return directly if no nodes in the same network, need to report error on console if its managed nodes are not handled. unless (@nodes) { @@ -552,7 +591,7 @@ sub process_request { \&pass_along); if ($errored) { xCAT::MsgUtils->trace($verbose_on_off, "d", "petitboot: Failed in processing setdestiny."); - return if ($errored > 1); + return if ($errored > 1); # errored = 1 means to go with error, errored = 2 means to stop } } diff --git a/xCAT-server/lib/xcat/plugins/prescripts.pm b/xCAT-server/lib/xcat/plugins/prescripts.pm index 36fbf64b7..08bdf780d 100644 --- a/xCAT-server/lib/xcat/plugins/prescripts.pm +++ b/xCAT-server/lib/xcat/plugins/prescripts.pm @@ -426,21 +426,19 @@ sub parseprescripts my $scripts = shift; my $action = shift; my $ret; - if ($scripts) { - if ($scripts =~ /:/) { - my @a = split(/\|/, $scripts); - foreach my $token (@a) { - #print "token=$token, action=$action\n"; + if ($scripts) { + foreach my $token (split(/\|/, $scripts)) { + if ($token =~ /:/) { if ($token =~ /^$action:(.*)/) { - $ret = $1; - last; + $ret .= "$1,"; } + } else { + $ret .= "$token,"; } - } else { - $ret = $scripts; } } + return $ret; } diff --git a/xCAT-server/lib/xcat/plugins/pxe.pm b/xCAT-server/lib/xcat/plugins/pxe.pm index 0031d9bdf..dab9cbe81 100644 --- a/xCAT-server/lib/xcat/plugins/pxe.pm +++ b/xCAT-server/lib/xcat/plugins/pxe.pm @@ -478,24 +478,19 @@ sub process_request { } #end prescripts code - if (!-r "$tftpdir/pxelinux.0") { - unless (-r "/usr/lib/syslinux/pxelinux.0" or -r "/usr/share/syslinux/pxelinux.0") { - $::PXE_callback->({ error => ["Unable to find pxelinux.0 "], errorcode => [1] }); - return; + my @pxelinuxpaths=("/usr/lib/syslinux/pxelinux.0","/usr/share/syslinux/pxelinux.0","/usr/lib/PXELINUX/pxelinux.0","/opt/xcat/share/xcat/netboot/syslinux/pxelinux.0"); + foreach $path (@pxelinuxpaths) { + if (-r "$path") { + copy("$path","$globaltftpdir/pxelinux.0"); + chmod(0644, "$globaltftpdir/pxelinux.0"); + last; } - if (-r "/usr/lib/syslinux/pxelinux.0") { - copy("/usr/lib/syslinux/pxelinux.0", "$tftpdir/pxelinux.0"); - } else { - copy("/usr/share/syslinux/pxelinux.0", "$tftpdir/pxelinux.0"); - } - chmod(0644, "$tftpdir/pxelinux.0"); } - unless (-r "$tftpdir/pxelinux.0") { - $::PXE_callback->({ errror => ["Unable to find pxelinux.0 from syslinux"], errorcode => [1] }); + unless (-r "$globaltftpdir/pxelinux.0") { + $::PXE_callback->({ errror => ["Unable to find pxelinux.0 from syslinux or pxelinux"], errorcode => [1] }); return; } - $errored = 0; my %bphash; my $inittime = 0; diff --git a/xCAT-server/lib/xcat/plugins/rescanplugins.pm b/xCAT-server/lib/xcat/plugins/rescanplugins.pm index 8c58b0ef4..9a60d2e77 100644 --- a/xCAT-server/lib/xcat/plugins/rescanplugins.pm +++ b/xCAT-server/lib/xcat/plugins/rescanplugins.pm @@ -76,7 +76,7 @@ sub preprocess_request 'h|help' => \$options{'help'}, 's|servicenodes' => \$options{'servicenodes'}, 'v|version' => \$options{'version'}, - 'V|Verbose' => \$options{'verbose'} + 'V|verbose' => \$options{'verbose'} ) ) { diff --git a/xCAT-server/lib/xcat/plugins/rinstall.pm b/xCAT-server/lib/xcat/plugins/rinstall.pm index 7bc13461a..52fcc4e27 100644 --- a/xCAT-server/lib/xcat/plugins/rinstall.pm +++ b/xCAT-server/lib/xcat/plugins/rinstall.pm @@ -257,12 +257,6 @@ sub rinstall { push @parameter, "osimage=$OSIMAGE"; - if ($ignorekernelchk) { - push @parameter, "--ignorekernelchk"; - } - if ($noupdateinitrd) { - push @parameter, "--noupdateinitrd"; - } } elsif ($STATES) { push @parameter, "$STATES"; @@ -318,6 +312,18 @@ sub rinstall { #only provision the normal nodes @nodes = @validnodes; push @parameter, "osimage"; + + } + + if ( grep( /osimage/, @parameter ) ) { + # Task is osimage, check --ignorekernelchk and --noupdateinitrd flags and set if needed + + if ($ignorekernelchk) { + push @parameter, "--ignorekernelchk"; + } + if ($noupdateinitrd) { + push @parameter, "--noupdateinitrd"; + } } if (scalar(@nodes) == 0) { @@ -406,7 +412,7 @@ sub rinstall { $::RUNCMD_RC = 0; my @nodes = @{ $hmhash{$hmkey} }; unless ($hmkey =~ /^(ipmi|blade|hmc|ivm|fsp|kvm|esx|rhevm|openbmc)$/) { - $rsp->{error}->[0] = "@nodes: rinstall only support nodehm.mgt type 'ipmi', 'blade', 'hmc', 'ivm', 'fsp', 'kvm', 'esx', 'rhevm'."; + $rsp->{error}->[0] = "@nodes: rinstall only support nodehm.mgt type 'ipmi', 'blade', 'hmc', 'ivm', 'fsp', 'kvm', 'esx', 'rhevm', 'openbmc'."; $rsp->{errorcode}->[0] = 1; xCAT::MsgUtils->message("E", $rsp, $callback); next; @@ -598,7 +604,7 @@ sub usage { my $rsp = {}; $rsp->{data}->[0] = "Usage:"; $rsp->{data}->[1] = " $command [boot | shell | runcmd=] [-c|--console] [-u|--uefimode] [-V|--verbose]"; - $rsp->{data}->[2] = " $command osimage[=] [--noupdateinitrd] [--ignorekernelchk] [-c|--console] [-u|--uefimode] [-V|--verbose]"; + $rsp->{data}->[2] = " $command [osimage[=]] [--noupdateinitrd] [--ignorekernelchk] [-c|--console] [-u|--uefimode] [-V|--verbose]"; $rsp->{data}->[3] = " $command runimage="; $rsp->{data}->[4] = " $command [-h|--help|-v|--version]"; xCAT::MsgUtils->message("I", $rsp, $callback); diff --git a/xCAT-server/lib/xcat/plugins/sles.pm b/xCAT-server/lib/xcat/plugins/sles.pm index 7470483b1..79487429e 100644 --- a/xCAT-server/lib/xcat/plugins/sles.pm +++ b/xCAT-server/lib/xcat/plugins/sles.pm @@ -459,7 +459,7 @@ sub mknetboot $kcmdline = "NFSROOT=$nfssrv:$nfsdir STATEMNT="; } } else { - $kcmdline = "imgurl=$httpmethod://$imgsrv/$rootimgdir/rootimg-statelite.gz STATEMNT="; + $kcmdline = "imgurl=$httpmethod://$imgsrv:$httpport/$rootimgdir/rootimg-statelite.gz STATEMNT="; } # add support for subVars in the value of "statemnt" @@ -512,9 +512,10 @@ sub mknetboot else { $kcmdline = - "imgurl=$httpmethod://$imgsrv/$rootimgdir/$compressedrootimg "; + "imgurl=$httpmethod://$imgsrv:$httpport/$rootimgdir/$compressedrootimg "; } $kcmdline .= "XCAT=$xcatmaster:$xcatdport quiet "; + $kcmdline .= " XCATHTTPPORT=$httpport "; #if site.nodestatus="n", append "nonodestatus" to kcmdline #to inform the statelite/stateless node not to update the nodestatus during provision @@ -937,7 +938,11 @@ sub mkinstall # trim the "/" in /install/sles11.3/x86_64/ $pkgdir =~ s/\/$//; if ($pkgdir =~ /^($installroot\/$os\/$arch)$/) { - $srcdirs[0] = "$pkgdir/1"; + if ( -d "$pkgdir/2") { + $srcdirs[0] = "$pkgdir/1,$pkgdir/2"; + }else{ + $srcdirs[0] = "$pkgdir/1"; + } $tmppkgdir = join(",", @srcdirs); } @@ -1744,7 +1749,9 @@ sub copycd open($dinfo, $mntpath . "/media.1/media"); my $dsc = <$dinfo>; if ($dsc =~ /x86_64/) { - $darch = "x86_64"; + $darch = "x86_64"; + } elsif ($dsc =~ /ppc64le/) { + $darch = "ppc64le" ; } if ($dsc =~ /Installer/ and $dsc =~ /SLE-15/) { $discnumber = 1; diff --git a/xCAT-server/lib/xcat/plugins/tabutils.pm b/xCAT-server/lib/xcat/plugins/tabutils.pm index 2033d898a..12c135135 100644 --- a/xCAT-server/lib/xcat/plugins/tabutils.pm +++ b/xCAT-server/lib/xcat/plugins/tabutils.pm @@ -732,6 +732,18 @@ sub tabdump foreach my $w (@{$OPTW}) { # get each attr=val push @attrarray, $w; } + my $keys = xCAT::Table::buildWhereClause(\@attrarray, "1"); + if (ref($keys) ne 'ARRAY') { + $cb->({ error => ["$keys"], errorcode => [1] }); + return; + } else { + foreach my $k (@$keys) { + unless (grep /$k/, @{ $xCAT::Schema::tabspec{$table}->{cols} }) { + $cb->({ error => ["No column \"$k\" in table \"$table\""], errorcode => [1] }); + return; + } + } + } @ents = $tabh->getAllAttribsWhere(\@attrarray, 'ALL'); @$recs = (); foreach my $e (@ents) { @@ -1888,6 +1900,8 @@ sub nodels my $VERSION; my $HELP; + my $nodenum; + my $nodels_usage = sub { my $exitcode = shift @_; @@ -2160,6 +2174,7 @@ sub nodels } } $callback->($rsp); + $nodenum = scalar (@$nodes); } else { @@ -2211,8 +2226,12 @@ sub nodels #} } + $nodenum = scalar (@nodes); } } + my $rsp_info; + $rsp_info->{numofnodes}->[0] = $nodenum; + $callback->($rsp_info); return 0; } @@ -2303,6 +2322,7 @@ sub tabch { my %rsp; $rsp{data}->[0] = "Incorrect argument \"$_\".\n"; $rsp{data}->[1] = "Check man tabch or tabch -h\n"; + $rsp{errorcode}->[0] = 1; $callback->(\%rsp); return 1; } @@ -2324,14 +2344,23 @@ sub tabch { my %rsp; $rsp{data}->[0] = "Missing table name.\n"; $rsp{data}->[1] = "Check man tabch or tabch -h\n"; + $rsp{errorcode}->[0] = 1; $callback->(\%rsp); return 1; } + for (@tables_to_del) { - $tables{$_} = xCAT::Table->new($_, -create => 1, -autocommit => 0); - $tables{$_}->delEntries(\%keyhash); - $tables{$_}->commit; + my $tab = xCAT::Table->new($_, -create => 1, -autocommit => 0); + unless ($tab) { + my %rsp; + $rsp{data}->[0] = "Table $_ does not exist."; + $rsp{errorcode}->[0] = 1; + $callback->(\%rsp); + next; + } + $tab->delEntries(\%keyhash); + $tab->commit; } } else { @@ -2353,11 +2382,22 @@ sub tabch { } else { my %rsp; $rsp{data}->[0] = "Table $table does not exist.\n"; + $rsp{errorcode}->[0] = 1; $callback->(\%rsp); return 1; } } + my $err_found = 0; + for my $k (keys %keyhash) { + unless (grep /$k/, @{ $xCAT::Schema::tabspec{$table}->{cols} }) { + $callback->({ error => ["No column \"$k\" in table \"$table\""], errorcode => [1] }); + $err_found = 1; + } + } + if ($err_found) { + return 1; + } #splice assignment if (grep /\+=/, $temp) { @@ -2392,7 +2432,7 @@ sub tabch { } unless (grep /$column/, @{ $xCAT::Schema::tabspec{$table}->{cols} }) { $callback->({ error => "$table.$column not a valid table.column description", errorcode => [1] }); - return; + return 1; } $tableupdates{$table}{$column} = $value; } diff --git a/xCAT-server/lib/xcat/plugins/updatenode.pm b/xCAT-server/lib/xcat/plugins/updatenode.pm index e53e7aec7..60f8403ed 100644 --- a/xCAT-server/lib/xcat/plugins/updatenode.pm +++ b/xCAT-server/lib/xcat/plugins/updatenode.pm @@ -1564,6 +1564,11 @@ sub updatenoderunps if ($fc[0] && ($fc[0] =~ /1|Yes|yes|YES|Y|y/)) { $flowcontrol = 1; } + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } # if running postscript report status here, if requested. if ((defined($request->{status})) && ($request->{status} eq "yes")) { @@ -1625,10 +1630,10 @@ sub updatenoderunps if ($::SETSERVER) { # update the xcatinfo file on the node and run setuppostbootscripts $runpscmd = -"$installdir/postscripts/xcatdsklspost $mode -M $snkey '$postscripts' --tftp $tftpdir --installdir $installdir --nfsv4 $nfsv4 -c"; +"$installdir/postscripts/xcatdsklspost $mode -M $snkey:$httpport '$postscripts' --tftp $tftpdir --installdir $installdir --nfsv4 $nfsv4 -c"; } else { $runpscmd = -"$installdir/postscripts/xcatdsklspost $mode -m $snkey '$postscripts' --tftp $tftpdir --installdir $installdir --nfsv4 $nfsv4 -c" +"$installdir/postscripts/xcatdsklspost $mode -m $snkey:$httpport '$postscripts' --tftp $tftpdir --installdir $installdir --nfsv4 $nfsv4 -c" } # add flowcontrol flag @@ -2084,6 +2089,12 @@ sub updatenodesoftware $flowcontrol = 1; } + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } + # this drives getdata to report status complete for software updatees $::TYPECALL = "S"; @@ -2117,7 +2128,7 @@ sub updatenodesoftware my $cmd; my $args1; $cmd = -"$installdir/postscripts/xcatdsklspost 2 -m $snkey 'ospkgs,otherpkgs,syscloneimgupdate' --tftp $tftpdir --installdir $installdir --nfsv4 $nfsv4 -c"; +"$installdir/postscripts/xcatdsklspost 2 -m $snkey:$httpport 'ospkgs,otherpkgs,syscloneimgupdate' --tftp $tftpdir --installdir $installdir --nfsv4 $nfsv4 -c"; # add flowcontrol flag if ($flowcontrol == 1) { @@ -3301,6 +3312,12 @@ sub updateOS # Get install directory my $installDIR = xCAT::TableUtils->getInstallDir(); + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } + # Get HTTP server my $http; my @httpd = xCAT::NetworkUtils->my_ip_facing($node); @@ -3372,7 +3389,7 @@ sub updateOS { # SUSE repository path - http://10.1.100.1/install/sles10.3/s390x/1/ - $path = "http://$http$installDIR/$os/$arch/1/"; + $path = "http://$http:$httpport$installDIR/$os/$arch/1/"; if (!(-e "$installDIR/$os/$arch/1/")) { push @{ $rsp->{data} }, @@ -3406,7 +3423,7 @@ sub updateOS { # SUSE repository path - http://10.1.100.1/install/sles10.3/s390x/1/ - $path = "http://$http$installDIR/$os/$arch/1/"; + $path = "http://$http$httpport$installDIR/$os/$arch/1/"; if (!(-e "$installDIR/$os/$arch/1/")) { push @{ $rsp->{data} }, @@ -3438,7 +3455,7 @@ sub updateOS my $verifyOS = $os; $verifyOS =~ s/^\D+([\d.]+)$/$1/; if (xCAT::Utils->version_cmp($verifyOS, "7.0") < 0) { - $path = "http://$http$installDIR/$os/$arch/Server/"; + $path = "http://$http:$httpport$installDIR/$os/$arch/Server/"; if (!(-e "$installDIR/$os/$arch/Server/")) { push @{ $rsp->{data} }, @@ -3449,7 +3466,7 @@ sub updateOS } else { - $path = "http://$http$installDIR/$os/$arch/"; + $path = "http://$http:$httpport$installDIR/$os/$arch/"; if (!(-e "$installDIR/$os/$arch/")) { push @{ $rsp->{data} }, diff --git a/xCAT-server/lib/xcat/plugins/xCATWorld.pm b/xCAT-server/lib/xcat/plugins/xCATWorld.pm index bb90b99ce..9d73371d3 100644 --- a/xCAT-server/lib/xcat/plugins/xCATWorld.pm +++ b/xCAT-server/lib/xcat/plugins/xCATWorld.pm @@ -120,7 +120,7 @@ sub process_request !GetOptions( 'h|help' => \$options{'help'}, 'v|version' => \$options{'version'}, - 'V|Verbose' => \$options{'verbose'} + 'V|verbose' => \$options{'verbose'} ) ) { diff --git a/xCAT-server/lib/xcat/plugins/xnba.pm b/xCAT-server/lib/xcat/plugins/xnba.pm index db8aa5dc8..14758aaa9 100644 --- a/xCAT-server/lib/xcat/plugins/xnba.pm +++ b/xCAT-server/lib/xcat/plugins/xnba.pm @@ -111,6 +111,12 @@ sub setstate { my $imgaddkcmdline = $linuximghashref->{'addkcmdline'}; my $imgboottarget = $linuximghashref->{'boottarget'}; + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } + # get kernel and initrd from boottarget table my $bttab; my $btentry; @@ -246,8 +252,8 @@ sub setstate { my $kernel; ($kernel, $hypervisor) = split /!/, $kern->{kernel}; print $pcfg " set 209:string xcat/xnba/nodes/$node.pxelinux\n"; - print $pcfg " set 210:string http://" . '${next-server}' . "/tftpboot/\n"; - print $pcfg " imgfetch -n pxelinux.0 http://" . '${next-server}' . "/tftpboot/xcat/pxelinux.0\n"; + print $pcfg " set 210:string http://" . '${next-server}'. ':' . $httpport . "/tftpboot/\n"; + print $pcfg " imgfetch -n pxelinux.0 http://" . '${next-server}' . ':' . $httpport . "/tftpboot/xcat/pxelinux.0\n"; print $pcfg " imgload pxelinux.0\n"; print $pcfg " imgexec pxelinux.0\n"; close($pcfg); @@ -257,8 +263,8 @@ sub setstate { } else { if ($kern->{kernel} =~ /\.c32\z/ or $kern->{kernel} =~ /memdisk\z/) { #gPXE comboot support seems insufficient, chain pxelinux instead print $pcfg " set 209:string xcat/xnba/nodes/$node.pxelinux\n"; - print $pcfg " set 210:string http://" . '${next-server}' . "/tftpboot/\n"; - print $pcfg " imgfetch -n pxelinux.0 http://" . '${next-server}' . "/tftpboot/xcat/pxelinux.0\n"; + print $pcfg " set 210:string http://" . '${next-server}' . ':' . $httpport . "/tftpboot/\n"; + print $pcfg " imgfetch -n pxelinux.0 http://" . '${next-server}' . ':' . $httpport . "/tftpboot/xcat/pxelinux.0\n"; print $pcfg " imgload pxelinux.0\n"; print $pcfg " imgexec pxelinux.0\n"; close($pcfg); @@ -286,11 +292,11 @@ sub setstate { $kern->{kcmdline} =~ s/xcat\/netboot/\/tftpboot\/xcat\/netboot/; } print $ucfg "#!gpxe\n"; - print $ucfg 'chain http://${next-server}/tftpboot/xcat/esxboot-x64.efi ' . $kern->{kcmdline} . "\n"; + print $ucfg 'chain http://${next-server}:'.$httpport.'/tftpboot/xcat/esxboot-x64.efi ' . $kern->{kcmdline} . "\n"; close($ucfg); } } else { #other than comboot/multiboot, we won't have need of pxelinux - print $pcfg "imgfetch -n kernel http://" . '${next-server}/tftpboot/' . $kern->{kernel} . "\n"; + print $pcfg "imgfetch -n kernel http://" . '${next-server}:' . $httpport.'/tftpboot/' . $kern->{kernel} . "\n"; print $pcfg "imgload kernel\n"; if ($kern->{kcmdline}) { print $pcfg "imgargs kernel " . $kern->{kcmdline} . ' BOOTIF=01-${netX/mac:hexhyp}' . "\n"; @@ -298,14 +304,14 @@ sub setstate { print $pcfg "imgargs kernel BOOTIF=" . '${netX/mac}' . "\n"; } if ($kern->{initrd}) { - print $pcfg "imgfetch http://" . '${next-server}' . "/tftpboot/" . $kern->{initrd} . "\n"; + print $pcfg "imgfetch http://" . '${next-server}:' . "$httpport/tftpboot/" . $kern->{initrd} . "\n"; } print $pcfg "imgexec kernel\n"; if ($kern->{kcmdline} and $kern->{initrd}) { #only a linux kernel/initrd pair should land here, write elilo config and uefi variant of xnba config file my $ucfg; open($ucfg, '>', $tftpdir . "/xcat/xnba/nodes/" . $node . ".uefi"); print $ucfg "#!gpxe\n"; - print $ucfg 'chain http://${next-server}/tftpboot/xcat/elilo-x64.efi -C /tftpboot/xcat/xnba/nodes/' . $node . ".elilo\n"; + print $ucfg 'chain http://${next-server}:'.$httpport.'/tftpboot/xcat/elilo-x64.efi -C /tftpboot/xcat/xnba/nodes/' . $node . ".elilo\n"; close($ucfg); open($ucfg, '>', $tftpdir . "/xcat/xnba/nodes/" . $node . ".elilo"); print $ucfg 'default="xCAT"' . "\n"; @@ -447,6 +453,12 @@ sub preprocess_request { return; } + # inittime flag in request will only be set in AAsn.pm (it is only used when xcatd starting on service node) + # There is special requirement to not run in parallel on one SN to avoid DB CPU 100% when all service nodes booting in the same time. + my $inittime = 0; + if (exists($req->{inittime})) { $inittime = $req->{inittime}->[0]; } + if (!$inittime) { $inittime = 0; } + #Assume shared tftp directory for boring people, but for cool people, help sync up tftpdirectory contents when #they specify no sharedtftp in site table my @entries = xCAT::TableUtils->get_site_attribute("sharedtftp"); @@ -470,16 +482,16 @@ sub preprocess_request { } $req->{'_disparatetftp'} = [1]; - if ($req->{inittime}->[0]) { - return [$req]; - } if (@CN > 0) { # if compute nodes broadcast to all servicenodes + # 1, Non-hierarchy, run on locally with parallel my @sn = xCAT::ServiceNodeUtils->getSNList(); unless ( @sn > 0 ) { - return xCAT::Scope->get_parallel_scope($req) + return if (xCAT::Utils->isServiceNode()); # in case the wrong configuration + return xCAT::Scope->get_parallel_scope($req); } + # To check site table to see if disjoint mode my $mynodeonly = 0; my @entries = xCAT::TableUtils->get_site_attribute("disjointdhcps"); my $t_entry = $entries[0]; @@ -489,11 +501,30 @@ sub preprocess_request { $req->{'_disjointmode'} = [$mynodeonly]; xCAT::MsgUtils->trace(0, "d", "xnba: disjointdhcps=$mynodeonly"); - if ($mynodeonly == 0 || $ALLFLAG) { # broadcast to all service nodes + # 2, Non-disjoint mode, broadcast to all service nodes, + # but for SN init time (AAsn.pm), only run locally without parallel. + if ($mynodeonly == 0 || $ALLFLAG) { + # broadcast to all service nodes, but for SN init time (AAsn.pm), only run locally. + if ($inittime) { + $req->{_xcatpreprocessed}->[0] = 1; + return [$req]; + } return xCAT::Scope->get_broadcast_scope_with_parallel($req, \@sn); } + # 3, Disjoint mode, run on local for owned CNs only and + # dispatch to parent SNs of the requesting nodes and `dhcpserver` which serving dynamic range in `networks` table. + # but for SN init time (AAsn.pm), only run locally without parallel. my $sn_hash = xCAT::ServiceNodeUtils->getSNformattedhash(\@CN, "xcat", "MN"); + if ($inittime) { + foreach my $sn ( keys %$sn_hash ) { + unless (xCAT::NetworkUtils->thishostisnot($sn)) { + $req->{node} = $sn_hash->{$sn}; + $req->{_xcatpreprocessed}->[0] = 1; + return [$req]; + } + } + } my @dhcpsvrs = (); my $ntab = xCAT::Table->new('networks'); if ($ntab) { @@ -504,6 +535,9 @@ sub preprocess_request { } return xCAT::Scope->get_broadcast_disjoint_scope_with_parallel($req, $sn_hash, \@dhcpsvrs); } + } elsif ($inittime) { + # Shared TFTP, no need to run on service node booting (AAsn.pm) + return; } # Do not dispatch to service nodes if non-sharedtftp or the node range contains only SNs. return xCAT::Scope->get_parallel_scope($req); @@ -599,8 +633,14 @@ sub process_request { @nodes = keys %preparednodes; } - my $str_node = join(" ", @nodes); - xCAT::MsgUtils->trace(0, "d", "xnba: nodes are $str_node") if ($str_node); + my $str_node = ''; + my $total = $#nodes; + if ($total > 20) { + $str_node = join(" ", @nodes[0..19]) . " ..."; + } else { + $str_node = join(" ", @nodes); + } + xCAT::MsgUtils->trace($verbose_on_off, "d", "xnba: [total=$total] nodes are $str_node"); # Return directly if no nodes in the same network, need to report error on console if its managed nodes are not handled. unless (@nodes) { diff --git a/xCAT-server/lib/xcat/plugins/zone.pm b/xCAT-server/lib/xcat/plugins/zone.pm index 7e5803cdb..780101ea7 100644 --- a/xCAT-server/lib/xcat/plugins/zone.pm +++ b/xCAT-server/lib/xcat/plugins/zone.pm @@ -127,7 +127,7 @@ sub process_request 'K|genkeys' => \$options{'gensshkeys'}, 's|sshbetweennodes=s' => \$options{'sshbetweennodes'}, 'v|version' => \$options{'version'}, - 'V|Verbose' => \$options{'verbose'}, + 'V|verbose' => \$options{'verbose'}, ) ) { diff --git a/xCAT-server/sbin/xcatd b/xCAT-server/sbin/xcatd index f98aa25cc..1708cb959 100755 --- a/xCAT-server/sbin/xcatd +++ b/xCAT-server/sbin/xcatd @@ -30,6 +30,8 @@ my $udpctl; my $pid_UDP; my $pid_MON; +my $numofnodes=0; + # ----used for command log start--------- my $cmdlog_svrpid; @@ -507,7 +509,12 @@ sub do_installm_service { node => [$node], arg => ["$newstat"], ); - xCAT::MsgUtils->trace(0, "I", "xcatd: triggering \'updatenodestat $node $newstat\'..."); + # TODO, better to use constant here for the specified status + if ($newstat eq 'installing') { + xCAT::MsgUtils->trace(0, "I", "xcat.updatestatus - $node: provisioning detected..."); + } elsif ($newstat eq 'netbooting') { + xCAT::MsgUtils->trace(0, "I", "xcat.updatestatus - $node: provisioning detected..."); + } # node should be blocked, race condition may occur otherwise #my $pid=xCAT::Utils->xfork(); #unless ($pid) { # fork off the nodeset and potential slowness @@ -2166,6 +2173,7 @@ sub plugin_command { } } } + } my $dispatch_parentfd; @@ -2623,6 +2631,10 @@ sub populate_site_hash { foreach (@records) { $::XCATSITEVALS{ $_->{key} } = $_->{value}; } + + unless (exists($::XCATSITEVALS{'httpport'}) and ($::XCATSITEVALS{'httpport'} ne "")){ + $::XCATSITEVALS{'httpport'}="80"; + } } sub populate_vpd_hash { @@ -2662,6 +2674,9 @@ sub send_response { if ( (ref($rsp) eq 'ARRAY') && scalar(@$rsp) > 0 ) { foreach (@$rsp) { $_->{xcatdsource}->[0] = $MYXCATSERVER unless ($_->{xcatdsource}); + if ($_->{numofnodes}) { + $numofnodes = $_->{numofnodes}->[0]; + } } } } @@ -2804,6 +2819,12 @@ sub service_connection { if ($enable_perf) { xCAT::MsgUtils->perf_log_process('immediate', $req); } + + if (exists($req->{noderange}) && defined($req->{noderange}->[0])) { + my @nnodes = xCAT::NodeRange::noderange($req->{noderange}->[0]); + $numofnodes = (scalar(@nnodes)); + } + # ----used for command log start---------- $cmdlog_starttime = time(); my ($sec, $min, $hour, $mday, $mon, $year) = localtime($cmdlog_starttime); @@ -3030,6 +3051,7 @@ sub service_connection { } # ----used for command log start------- + $cmdlog_alllog .= "[NumberNodes] $numofnodes \n"; my $reqhandletime = sprintf("%.3f", time()-$cmdlog_starttime); $cmdlog_alllog .= "[ElapsedTime] $reqhandletime s\n"; cmdlog_submitlog(); diff --git a/xCAT-server/share/xcat/ib/scripts/Mellanox/mlnxofed_ib_install.v2 b/xCAT-server/share/xcat/ib/scripts/Mellanox/mlnxofed_ib_install.v2 index 2ce203c78..e16445aac 100755 --- a/xCAT-server/share/xcat/ib/scripts/Mellanox/mlnxofed_ib_install.v2 +++ b/xCAT-server/share/xcat/ib/scripts/Mellanox/mlnxofed_ib_install.v2 @@ -204,7 +204,12 @@ function cleanup() fi # Clean up the ofed iso - if mount | grep -q "$IMGROOTPATH/tmp/ofed/mountpoint"; then + tmp_imgpath=$IMGROOTPATH + while (echo $tmp_imgpath | grep "/$") + do + tmp_imgpath=${tmp_imgpath%/*} + done + if mount | grep -q "$tmp_imgpath/tmp/ofed/mountpoint"; then while ! umount "$IMGROOTPATH/tmp/ofed/mountpoint" do (( ++i > max_retry )) && echo "Umount $IMGROOTPATH/tmp/ofed/mountpoint failed" >&2 && break @@ -326,11 +331,13 @@ EOF env -i "PATH=${PATH}" /tmp/ofed/mountpoint/mlnxofedinstall "${MLNXOFED_OPTS[@]}" #force openibd load all modules in need, restart again - sleep 1 - service openibd restart - if [ "$?" != "0" ] ;then - echo "[Error] service openibd restart failed." - exit 1 + if [ "$NODESETSTATE" = "boot" ]; then + sleep 1 + service openibd restart + if [ "$?" != "0" ]; then + echo "[Error] service openibd restart failed." + exit 1 + fi fi fi diff --git a/xCAT-server/share/xcat/install/centos/compute.centos7.tmpl b/xCAT-server/share/xcat/install/centos/compute.centos7.tmpl index b8cc19ca5..71da3c7c9 100644 --- a/xCAT-server/share/xcat/install/centos/compute.centos7.tmpl +++ b/xCAT-server/share/xcat/install/centos/compute.centos7.tmpl @@ -33,6 +33,7 @@ clearpart --all --initlabel #XCAT_PARTITION_START# # xCAT based partitioning %include /tmp/partitionfile + #No RAID #/boot really significant for this sort of setup nowadays? #part /boot --size 50 --fstype ext3 @@ -134,7 +135,6 @@ rootpw --iscrypted #CRYPT:passwd:key=system,username=root:password# # OR auth --useshadow --enablemd5 - # # SE Linux # diff --git a/xCAT-server/share/xcat/install/centos/kvm.centos7.tmpl b/xCAT-server/share/xcat/install/centos/kvm.centos7.tmpl index 17e6078c4..71da3c7c9 100644 --- a/xCAT-server/share/xcat/install/centos/kvm.centos7.tmpl +++ b/xCAT-server/share/xcat/install/centos/kvm.centos7.tmpl @@ -12,8 +12,6 @@ lang en_US %include /tmp/repos -#INSTALL_SOURCES# - #device ethernet e100 keyboard "us" @@ -25,8 +23,7 @@ zerombr # # Wipe out the disk # -# Clear partitioning via partitition file -#clearpart --all --initlabel +clearpart --all --initlabel #clearpart --linux # @@ -34,7 +31,7 @@ zerombr # #XCAT_PARTITION_START# -#Use script based partition table creation +# xCAT based partitioning %include /tmp/partitionfile #No RAID @@ -168,5 +165,6 @@ cat >> /var/log/xcat/xcat.log << "EOF" EOF echo "Running Kickstart Post-Installation script..." #INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/post.xcat# +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/post.rhels7# } &>>/var/log/xcat/xcat.log %end diff --git a/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl b/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl index b8cc19ca5..71da3c7c9 100644 --- a/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl +++ b/xCAT-server/share/xcat/install/rh/compute.rhels7.tmpl @@ -33,6 +33,7 @@ clearpart --all --initlabel #XCAT_PARTITION_START# # xCAT based partitioning %include /tmp/partitionfile + #No RAID #/boot really significant for this sort of setup nowadays? #part /boot --size 50 --fstype ext3 @@ -134,7 +135,6 @@ rootpw --iscrypted #CRYPT:passwd:key=system,username=root:password# # OR auth --useshadow --enablemd5 - # # SE Linux # diff --git a/xCAT-server/share/xcat/install/rh/compute.rhels8.pkglist b/xCAT-server/share/xcat/install/rh/compute.rhels8.pkglist index 527ec9825..5ecd9605c 100644 --- a/xCAT-server/share/xcat/install/rh/compute.rhels8.pkglist +++ b/xCAT-server/share/xcat/install/rh/compute.rhels8.pkglist @@ -5,3 +5,4 @@ nfs-utils openssh-server rsync util-linux +wget diff --git a/xCAT-server/share/xcat/install/rh/kvm.rhels7.tmpl b/xCAT-server/share/xcat/install/rh/kvm.rhels7.tmpl index 9bc3b7250..71da3c7c9 100644 --- a/xCAT-server/share/xcat/install/rh/kvm.rhels7.tmpl +++ b/xCAT-server/share/xcat/install/rh/kvm.rhels7.tmpl @@ -31,13 +31,14 @@ clearpart --all --initlabel # #XCAT_PARTITION_START# +# xCAT based partitioning +%include /tmp/partitionfile + #No RAID #/boot really significant for this sort of setup nowadays? #part /boot --size 50 --fstype ext3 -%include /tmp/partitionfile #part swap --size 1024 #part / --size 1 --grow --fstype ext4 -#XCAT_PARTITION_END# #RAID 0 /scr for performance #part / --size 1024 --ondisk sda @@ -68,6 +69,7 @@ clearpart --all --initlabel #part raid.41 --size 1 --grow --ondisk sda #part raid.42 --size 1 --grow --ondisk sdb #raid /scr --level 1 --device md4 raid.41 raid.42 +#XCAT_PARTITION_END# # # bootloader config @@ -75,7 +77,12 @@ clearpart --all --initlabel # --useLilo # --md5pass # -bootloader +#The bootloader config here is commented out +#For user customized partition file or partition script, +#the bootloader configuration should be specified in the user customized partition file/script +#For the xCAT default partition scheme, the bootloader configuration is in /tmp/partitionfile +#which is generated in %pre section +##KICKSTARTBOOTLOADER# # # install or upgrade @@ -128,7 +135,6 @@ rootpw --iscrypted #CRYPT:passwd:key=system,username=root:password# # OR auth --useshadow --enablemd5 - # # SE Linux # @@ -146,8 +152,19 @@ reboot #INCLUDE_DEFAULT_PKGLIST# %end %pre +{ +echo "Running Kickstart Pre-Installation script..." #INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/pre.rh.rhels7# +} &>>/tmp/pre-install.log %end %post +mkdir -p /var/log/xcat/ +{ +cat >> /var/log/xcat/xcat.log << "EOF" +%include /tmp/pre-install.log +EOF +echo "Running Kickstart Post-Installation script..." #INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/post.xcat# +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/post.rhels7# +} &>>/var/log/xcat/xcat.log %end diff --git a/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl b/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl index b8cc19ca5..71da3c7c9 100644 --- a/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl +++ b/xCAT-server/share/xcat/install/rh/service.rhels7.tmpl @@ -33,6 +33,7 @@ clearpart --all --initlabel #XCAT_PARTITION_START# # xCAT based partitioning %include /tmp/partitionfile + #No RAID #/boot really significant for this sort of setup nowadays? #part /boot --size 50 --fstype ext3 @@ -134,7 +135,6 @@ rootpw --iscrypted #CRYPT:passwd:key=system,username=root:password# # OR auth --useshadow --enablemd5 - # # SE Linux # diff --git a/xCAT-server/share/xcat/install/scripts/post.debian b/xCAT-server/share/xcat/install/scripts/post.debian index 83a84e413..40d26c8f0 100644 --- a/xCAT-server/share/xcat/install/scripts/post.debian +++ b/xCAT-server/share/xcat/install/scripts/post.debian @@ -34,9 +34,13 @@ export MASTER_IP="#XCATVAR:XCATMASTER#" export MASTER_IPS="#XCATVAR:XCATMASTER#" export MASTER="#XCATVAR:XCATMASTER#" export INSTALLDIR=#TABLE:site:key=installdir:value# +export HTTPPORT=#TABLEBLANKOKAY:site:key=httpport:value# if [ -z "$INSTALLDIR" ]; then INSTALLDIR="/install" fi +if [ -z "$HTTPPORT" ]; then + HTTPPORT="80" +fi cd /tmp RAND=$(perl -e 'print int(rand(50)). "\n"') sleep $RAND @@ -45,7 +49,7 @@ do GOTIT=0 for i in $MASTER_IPS do - wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -e robots=off -nH --cut-dirs=2 --reject "index.html*" --no-parent -t 0 -T 60 http://$i$INSTALLDIR/postscripts/ -P /xcatpost + wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -e robots=off -nH --cut-dirs=2 --reject "index.html*" --no-parent -t 0 -T 60 http://${i}:${HTTPPORT}${INSTALLDIR}/postscripts/ -P /xcatpost #wget --wait=10 --random-wait --waitretry=10 --retry-connrefused -t 0 -T 60 http://$i/install/autoinst/xcatpost.tar.gz if [ "$?" = "0" ] then @@ -95,6 +99,14 @@ do else echo "XCATSERVER=$i" >> /opt/xcat/xcatinfo fi + + grep 'HTTPPORT' /opt/xcat/xcatinfo > /dev/null 2>&1 + if [ $? -eq 0 ]; then + sed -i "s/HTTPPORT=.*/HTTPPORT=$HTTPPORT/" /opt/xcat/xcatinfo + else + echo "HTTPPORT=$HTTPPORT" >> /opt/xcat/xcatinfo + fi + break fi RAND=$(perl -e 'print int(rand(5)). "\n"') diff --git a/xCAT-server/share/xcat/install/scripts/post.rhels8 b/xCAT-server/share/xcat/install/scripts/post.rhels8 index d875efbaa..cdc119e25 100644 --- a/xCAT-server/share/xcat/install/scripts/post.rhels8 +++ b/xCAT-server/share/xcat/install/scripts/post.rhels8 @@ -18,3 +18,6 @@ do sed -i 's/ONBOOT=no/ONBOOT=yes/' "$i" fi done + +# Dirty hack for RHEL8 Alpha +chkconfig network on diff --git a/xCAT-server/share/xcat/install/scripts/post.xcat b/xCAT-server/share/xcat/install/scripts/post.xcat index bc2ff79e6..230a12047 100755 --- a/xCAT-server/share/xcat/install/scripts/post.xcat +++ b/xCAT-server/share/xcat/install/scripts/post.xcat @@ -8,6 +8,7 @@ export XCATIPORT=#TABLE:site:key=xcatiport:value# export INSTALLDIR=#TABLE:site:key=installdir:value# export TFTPDIR=#TABLE:site:key=tftpdir:value# export XCATDEBUGMODE="#TABLEBLANKOKAY:site:key=xcatdebugmode:value#" +export HTTPPORT="#TABLEBLANKOKAY:site:key=httpport:value#" #INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/scriptlib# @@ -27,6 +28,9 @@ fi if [[ $TFTPDIR != /* ]]; then TFTPDIR="/"$TFTPDIR fi +if [ -z "$HTTPPORT" ]; then + HTTPPORT="80" +fi NODESTATUS=$(echo "$NODESTATUS"| tr -d \'\"| tr A-Z a-z) @@ -74,6 +78,13 @@ else echo "INSTALLDIR=$INSTALLDIR" >> /opt/xcat/xcatinfo fi +grep 'HTTPPORT' /opt/xcat/xcatinfo > /dev/null 2>&1 +if [ $? -eq 0 ]; then + sed -i "s/HTTPPORT=.*/HTTPPORT=$HTTPPORT/" /opt/xcat/xcatinfo +else + echo "HTTPPORT=$HTTPPORT" >> /opt/xcat/xcatinfo +fi + if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then msgutil_r "$MASTER_IP" "debug" "/opt/xcat/xcatinfo generated" "/var/log/xcat/xcat.log" "$log_label" fi @@ -88,7 +99,7 @@ if [ ! -x /usr/bin/wget ]; then sleep 36500d fi -wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -e robots=off -nH --cut-dirs=2 --reject "index.html*" --no-parent -t 20 -T 60 http://$MASTER_IP$INSTALLDIR/postscripts/ -P /xcatpost 2> /tmp/wget.log +wget -l inf -N -r --waitretry=10 --random-wait --retry-connrefused -e robots=off -nH --cut-dirs=2 --reject "index.html*" --no-parent -t 20 -T 60 http://${MASTER_IP}:${HTTPPORT}${INSTALLDIR}/postscripts/ -P /xcatpost 2> /tmp/wget.log if [ "$?" != "0" ]; then msgutil_r "$MASTER_IP" "error" "failed to download postscripts from http://$MASTER_IP$INSTALLDIR/postscripts/,check /tmp/wget.log on the node, halt ..." "/var/log/xcat/xcat.log" "$log_label" /tmp/updateflag $MASTER $XCATIPORT "installstatus failed" @@ -105,7 +116,7 @@ export NODE=#TABLE:nodelist:THISNODE:node# msgutil_r "$MASTER_IP" "info" "trying to get mypostscript from $MASTER_IP..." "/var/log/xcat/xcat.log" "$log_label" -wget -N --waitretry=10 --random-wait --retry-connrefused -t 20 -T 60 http://$MASTER_IP$TFTPDIR/mypostscripts/mypostscript.$NODE -P /xcatpost 2> /tmp/wget.log +wget -N --waitretry=10 --random-wait --retry-connrefused -t 20 -T 60 http://${MASTER_IP}:${HTTPPORT}${TFTPDIR}/mypostscripts/mypostscript.$NODE -P /xcatpost 2> /tmp/wget.log if [ "$?" = "0" ]; then if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then msgutil_r "$MASTER_IP" "debug" "precreated mypostscript downloaded successfully" "/var/log/xcat/xcat.log" "$log_label" @@ -196,9 +207,10 @@ run_ps () { if [ -z \"\$scriptype\" ]; then scriptype=\"postscript\" fi - + log_label=\"xcat.deployment.\"\$scriptype + export LOGLABEL=\$log_label if [ -f \$1 ]; then - msgutil_r \"\$MASTER_IP\" \"info\" "\"Running \$scriptype: \$1\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype start..: \$1\"" \"\$logfile\" \"\$log_label\" if [ \"\$XCATDEBUGMODE\" = \"1\" ] || [ \"\$XCATDEBUGMODE\" = \"2\" ]; then local compt=\$(file \$1) local reg=\"shell script\" @@ -206,7 +218,7 @@ run_ps () { bash -x ./\$@ 2>&1 ret_local=\$? else - ./\$@ 2>&1 | logger -t xcat -p debug + ./\$@ 2>&1 | logger -t \$log_label -p debug ret_local=\${PIPESTATUS[0]} fi else @@ -217,9 +229,9 @@ run_ps () { if [ \"\$ret_local\" -ne \"0\" ]; then return_value=\$ret_local fi - msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype \$1 return with \$ret_local\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype end...: \$1 return with \$ret_local\"" \"\$logfile\" \"\$log_label\" else - msgutil_r \"\$MASTER_IP\" \"error\" "\"\$scriptype \$1 does NOT exist.\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"error\" "\"\$scriptype \$1 does NOT exist.\"" \"\$logfile\" \"\$log_label\" return_value=-1 fi diff --git a/xCAT-server/share/xcat/install/scripts/post.xcat.ng b/xCAT-server/share/xcat/install/scripts/post.xcat.ng index 83deac2fc..4f206b279 100644 --- a/xCAT-server/share/xcat/install/scripts/post.xcat.ng +++ b/xCAT-server/share/xcat/install/scripts/post.xcat.ng @@ -58,7 +58,7 @@ sleep "$RAND" if ! type openssl >/dev/null 2>&1 then msgutil_r "$MASTER_IP" "error" "/usr/bin/openssl does not exist, halt ..." "/var/log/xcat/xcat.log" "$log_label" - /tmp/updateflag $MASTER $XCATIPORT "installstatus failed" + /tmp/updateflag "$MASTER" "$XCATIPORT" "installstatus failed" sleep infinity fi @@ -119,11 +119,11 @@ function download_recursive() [ "$?" -ne "0" ] && return 1 ;; *) - curl --retry 20 --max-time 60 "${url}/${f}" -o "${dest_dir}/${f}" + curl --fail --retry 20 --max-time 60 "${url}/${f}" -o "${dest_dir}/${f}" [ "$?" -ne "0" ] && return 1 ;; esac - done < <(curl --retry 20 --max-time 60 "${url}/" | grep -o '\1' | cut -d '"' -f 2) + done < <(curl --fail --retry 20 --max-time 60 "${url}/" | grep -o '\1' | cut -d '"' -f 2) return 0 } @@ -143,7 +143,7 @@ export NODE="#TABLE:nodelist:THISNODE:node#" msgutil_r "$MASTER_IP" "info" "trying to get mypostscript from $MASTER_IP..." "/var/log/xcat/xcat.log" "$log_label" -curl --retry 20 --max-time 60 "http://$MASTER_IP$TFTPDIR/mypostscripts/mypostscript.$NODE" -o "/xcatpost/mypostscript.$NODE" 2> /tmp/download.log +curl --fail --retry 20 --max-time 60 "http://$MASTER_IP$TFTPDIR/mypostscripts/mypostscript.$NODE" -o "/xcatpost/mypostscript.$NODE" 2> /tmp/download.log if [ "$?" = "0" ] then case "$XCATDEBUGMODE" in @@ -242,9 +242,9 @@ run_ps () { if [ -z \"\$scriptype\" ]; then scriptype=\"postscript\" fi - + log_label=\"xcat.deployment.\"\$scriptype if [ -f \$1 ]; then - msgutil_r \"\$MASTER_IP\" \"info\" "\"Running \$scriptype: \$1\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"info\" "\"Running \$scriptype: \$1\"" \"\$logfile\" \"\$log_label\" if [ \"\$XCATDEBUGMODE\" = \"1\" ] || [ \"\$XCATDEBUGMODE\" = \"2\" ]; then local compt=\$(file \$1) local reg=\"shell script\" @@ -263,9 +263,9 @@ run_ps () { if [ \"\$ret_local\" -ne \"0\" ]; then return_value=\$ret_local fi - msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype \$1 return with \$ret_local\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype \$1 return with \$ret_local\"" \"\$logfile\" \"\$log_label\" else - msgutil_r \"\$MASTER_IP\" \"error\" "\"\$scriptype \$1 does NOT exist.\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"error\" "\"\$scriptype \$1 does NOT exist.\"" \"\$logfile\" \"\$log_label\" return_value=-1 fi diff --git a/xCAT-server/share/xcat/install/scripts/pre.rh b/xCAT-server/share/xcat/install/scripts/pre.rh index eedaab849..fd84bb2b8 100644 --- a/xCAT-server/share/xcat/install/scripts/pre.rh +++ b/xCAT-server/share/xcat/install/scripts/pre.rh @@ -2,7 +2,11 @@ export XCATDEBUGMODE="#TABLEBLANKOKAY:site:key=xcatdebugmode:value#" if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then set -x fi - +export MASTER_IP="#ENV:MASTER_IP#" +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/scriptlib# +log_label="xcat.deployment" +msgutil_r "$MASTER_IP" "info" "============deployment starting============" "/var/log/xcat/xcat.log" "$log_label" +msgutil_r "$MASTER_IP" "info" "Running Anaconda Pre-Installation script..." "/var/log/xcat/xcat.log" "$log_label" if grep n8r /proc/cmdline > /dev/null 2>&1; then stty crtscts @@ -183,7 +187,7 @@ fi #also, find first available block device (sda or vda likely) #TODO: pick a likely non-SAN target if possible shopt -s nullglob - +msgutil_r "$MASTER_IP" "info" "Detecting install disk..." "/var/log/xcat/xcat.log" "$log_label" # # The getinstdisk script is common for RHEL/SLES/PowerKVM/Ubuntu. # It will attempt to select the install disk and write the selection to /tmp/xcat.install_disk @@ -204,7 +208,7 @@ else fi BOOTFSTYPE=ext3 EFIFSTYPE=vfat - +msgutil_r "$MASTER_IP" "info" "Found $instdisk, generate partition file..." "/var/log/xcat/xcat.log" "$log_label" if [ `uname -m` = "ppc64" ]; then echo 'part None --fstype "PPC PReP Boot" --ondisk '$instdisk' --size 8' >> /tmp/partitionfile fi @@ -227,7 +231,7 @@ echo "part / --size 1 --grow --ondisk $instdisk --fstype $FSTYPE" >> /tmp/partit echo "=================The Partition Scheme================" cat /tmp/partitionfile echo "=====================================================" - +msgutil_r "$MASTER_IP" "info" "Generate the repository for the installation" "/var/log/xcat/xcat.log" "$log_label" # The following code is to generate the repository for the installation cat /proc/cmdline diff --git a/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7 b/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7 index 7bea14300..44f1c87c6 100755 --- a/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7 +++ b/xCAT-server/share/xcat/install/scripts/pre.rh.rhels7 @@ -2,7 +2,11 @@ export XCATDEBUGMODE="#TABLEBLANKOKAY:site:key=xcatdebugmode:value#" if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then set -x fi - +export MASTER_IP="#ENV:MASTER_IP#" +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/scriptlib# +log_label="xcat.deployment" +msgutil_r "$MASTER_IP" "info" "============deployment starting============" "/var/log/xcat/xcat.log" "$log_label" +msgutil_r "$MASTER_IP" "info" "Running Anaconda Pre-Installation script..." "/var/log/xcat/xcat.log" "$log_label" if grep n8r /proc/cmdline > /dev/null 2>&1; then stty crtscts @@ -38,7 +42,6 @@ sock.close() EOF - cat >/tmp/foo.py <> /tmp/partitionfile if [ `uname -m` = "ppc64" -o `uname -m` = "ppc64le" ]; then echo 'part None --fstype "PPC PReP Boot" --ondisk '$instdisk' --size 8' >> /tmp/partitionfile @@ -218,6 +222,7 @@ cat /tmp/partitionfile echo "=====================================================" # The following code is to generate the repository for the installation +msgutil_r "$MASTER_IP" "info" "Generate the repository for the installation" "/var/log/xcat/xcat.log" "$log_label" cat /proc/cmdline NEXTSERVER=`cat /proc/cmdline | grep http | head -n 1` diff --git a/xCAT-server/share/xcat/install/scripts/pre.rhels8 b/xCAT-server/share/xcat/install/scripts/pre.rhels8 index 4ea92263b..92ad09f34 100644 --- a/xCAT-server/share/xcat/install/scripts/pre.rhels8 +++ b/xCAT-server/share/xcat/install/scripts/pre.rhels8 @@ -5,7 +5,11 @@ case "$XCATDEBUGMODE" in set -x ;; esac - +export MASTER_IP="#ENV:MASTER_IP#" +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/scriptlib# +log_label="xcat.deployment" +msgutil_r "$MASTER_IP" "info" "============deployment starting============" "/var/log/xcat/xcat.log" "$log_label" +msgutil_r "$MASTER_IP" "info" "Running Anaconda Pre-Installation script..." "/var/log/xcat/xcat.log" "$log_label" if grep -q n8r /proc/cmdline >/dev/null 2>&1 then stty crtscts @@ -148,7 +152,7 @@ esac # also, find first available block device (sda or vda likely) # TODO: pick a likely non-SAN target if possible shopt -s nullglob - +msgutil_r "$MASTER_IP" "info" "Detecting install disk..." "/var/log/xcat/xcat.log" "$log_label" # # The getinstdisk script is common for RHEL/SLES/PowerKVM/Ubuntu. # It will attempt to select the install disk and write the selection to /tmp/xcat.install_disk @@ -162,7 +166,7 @@ fi BOOTFSTYPE=ext4 FSTYPE=ext4 EFIFSTYPE=efi - +msgutil_r "$MASTER_IP" "info" "Found $instdisk, generate partition file..." "/var/log/xcat/xcat.log" "$log_label" echo "ignoredisk --only-use=$instdisk" >>/tmp/partitionfile case "$(uname -m)" in "ppc64"|"ppc64le") @@ -171,14 +175,17 @@ case "$(uname -m)" in esac if [ -d /sys/firmware/efi ] then - echo "part /boot/efi --fstype=$EFIFSTYPE --ondisk=$instdisk --size=250" >>/tmp/partitionfile + echo "part /boot/efi --fstype=$EFIFSTYPE --ondisk=$instdisk --size=256" >>/tmp/partitionfile fi # TODO: Ondisk detection, /dev/disk/by-id/edd-int13_dev80 for legacy maybe, and no idea about efi. At least maybe blacklist SAN if mptsas/mpt2sas/megaraid_sas seen... echo "part /boot --fstype=$BOOTFSTYPE --asprimary --ondisk=$instdisk --size=512" >>/tmp/partitionfile -echo "part pv.000997 --grow --asprimary --ondisk=$instdisk --size=8192" >>/tmp/partitionfile +echo "part pv.000997 --grow --asprimary --ondisk=$instdisk --size=18432" >>/tmp/partitionfile echo "volgroup system --pesize=4096 pv.000997" >>/tmp/partitionfile -echo "logvol / --fstype=$FSTYPE --name=root --vgname=system --grow --size=1024" >>/tmp/partitionfile +echo "logvol / --fstype=$FSTYPE --name=root --vgname=system --grow --size=4096 --maxsize=8192" >>/tmp/partitionfile +echo "logvol /var --fstype=$FSTYPE --name=var --vgname=system --grow --size=2048 --maxsize=8192" >>/tmp/partitionfile +echo "logvol /tmp --fstype=$FSTYPE --name=tmp --vgname=system --grow --size=1024 --maxsize=4096" >>/tmp/partitionfile +echo "logvol /home --fstype=$FSTYPE --name=home --vgname=system --grow --percent=10 --maxsize=10240" >>/tmp/partitionfile echo "logvol swap --name=swap --vgname=system --recommended" >>/tmp/partitionfile # Specify "bootloader" configuration in "/tmp/partitionfile" if there is no user customized partition file @@ -207,7 +214,7 @@ fi echo "================ The Partition Scheme ===============" cat /tmp/partitionfile echo "=====================================================" - +msgutil_r "$MASTER_IP" "info" "Generate the repository for the installation" "/var/log/xcat/xcat.log" "$log_label" # The following code is to generate the repository for the installation cat /proc/cmdline diff --git a/xCAT-server/share/xcat/install/scripts/pre.sle15 b/xCAT-server/share/xcat/install/scripts/pre.sle15 index 127742a60..733fbe66b 100644 --- a/xCAT-server/share/xcat/install/scripts/pre.sle15 +++ b/xCAT-server/share/xcat/install/scripts/pre.sle15 @@ -9,6 +9,11 @@ #!/bin/sh { +export MASTER_IP="#ENV:MASTER_IP#" +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/scriptlib# +log_label="xcat.deployment" +msgutil_r "$MASTER_IP" "info" "============deployment starting============" "/var/log/xcat/xcat.log" "$log_label" +msgutil_r "$MASTER_IP" "info" "Running AutoYaST Pre-Installation script..." "/var/log/xcat/xcat.log" "$log_label" echo "Running AutoYaST Pre-Installation script..." export XCATDEBUGMODE="#TABLEBLANKOKAY:site:key=xcatdebugmode:value#" @@ -119,7 +124,7 @@ fi /tmp/foo.awk >/tmp/foo.log 2>&1 & shopt -s nullglob - +msgutil_r "$MASTER_IP" "info" "Detecting install disk..." "/var/log/xcat/xcat.log" "$log_label" # # The getinstdisk script is common for RHEL/SLES/PowerKVM/Ubuntu. # It will attempt to select the install disk and write the selection to /tmp/xcat.install_disk @@ -129,7 +134,7 @@ if [ -e "/tmp/xcat.install_disk" ]; then instdisk=`cat /tmp/xcat.install_disk` fi - +msgutil_r "$MASTER_IP" "info" "Found $instdisk, generate partition file..." "/var/log/xcat/xcat.log" "$log_label" if [ -d /sys/firmware/efi ]; then sed -e 's!XCATPARTITIONHOOK!'$instdisk'vfat/boot/efi128mbswapauto/auto!' /tmp/profile/autoinst.xml > /tmp/profile/modified.xml else @@ -147,7 +152,7 @@ if [ -r "/tmp/partitionfile" ]; then sed -e '//{N;N;s!.*!'$con'!}' /tmp/profile/autoinst.xml > /tmp/profile/modified1.xml sed -e 's!xcattempspace! !g' /tmp/profile/modified1.xml > /tmp/profile/modified.xml fi - +msgutil_r "$MASTER_IP" "info" "Generate the repository for the installation" "/var/log/xcat/xcat.log" "$log_label" export nextserver=`cat /proc/cmdline | grep http | awk -F'autoyast=http://' {'print \$2'} | awk -F':' {'print \$1'}` cp /tmp/profile/modified.xml /tmp/profile/modified1.xml sed -e 's!XCATNEXTSERVERHOOK!'$nextserver'!' /tmp/profile/modified1.xml > /tmp/profile/modified.xml diff --git a/xCAT-server/share/xcat/install/scripts/pre.sles b/xCAT-server/share/xcat/install/scripts/pre.sles index 94c414560..5ddc37786 100644 --- a/xCAT-server/share/xcat/install/scripts/pre.sles +++ b/xCAT-server/share/xcat/install/scripts/pre.sles @@ -9,6 +9,11 @@ #!/bin/sh { +export MASTER_IP="#ENV:MASTER_IP#" +#INCLUDE:#ENV:XCATROOT#/share/xcat/install/scripts/scriptlib# +log_label="xcat.deployment" +msgutil_r "$MASTER_IP" "info" "============deployment starting============" "/var/log/xcat/xcat.log" "$log_label" +msgutil_r "$MASTER_IP" "info" "Running AutoYaST Pre-Installation script..." "/var/log/xcat/xcat.log" "$log_label" echo "Running AutoYaST Pre-Installation script..." export XCATDEBUGMODE="#TABLEBLANKOKAY:site:key=xcatdebugmode:value#" @@ -119,7 +124,7 @@ fi /tmp/foo.awk >/tmp/foo.log 2>&1 & shopt -s nullglob - +msgutil_r "$MASTER_IP" "info" "Detecting install disk..." "/var/log/xcat/xcat.log" "$log_label" # # The getinstdisk script is common for RHEL/SLES/PowerKVM/Ubuntu. # It will attempt to select the install disk and write the selection to /tmp/xcat.install_disk @@ -129,7 +134,7 @@ if [ -e "/tmp/xcat.install_disk" ]; then instdisk=`cat /tmp/xcat.install_disk` fi - +msgutil_r "$MASTER_IP" "info" "Found $instdisk, generate partition file..." "/var/log/xcat/xcat.log" "$log_label" if [ -d /sys/firmware/efi ]; then sed -e 's!XCATPARTITIONHOOK!'$instdisk'vfat/boot/efi128mbswapauto/auto!' /tmp/profile/autoinst.xml > /tmp/profile/modified.xml else @@ -147,7 +152,7 @@ if [ -r "/tmp/partitionfile" ]; then sed -e '//{N;N;s!.*!'$con'!}' /tmp/profile/autoinst.xml > /tmp/profile/modified1.xml sed -e 's!xcattempspace! !g' /tmp/profile/modified1.xml > /tmp/profile/modified.xml fi - +msgutil_r "$MASTER_IP" "info" "Generate the repository for the installation" "/var/log/xcat/xcat.log" "$log_label" export nextserver=`cat /proc/cmdline | grep http | awk -F'autoyast=http://' {'print \$2'} | awk -F':' {'print \$1'}` cp /tmp/profile/modified.xml /tmp/profile/modified1.xml sed -e 's!!#INSTALL_SOURCES_IN_PRE#!' /tmp/profile/modified1.xml > /tmp/profile/modified.xml diff --git a/xCAT-server/share/xcat/install/scripts/pre.ubuntu b/xCAT-server/share/xcat/install/scripts/pre.ubuntu index 2a64b2ae8..f528eec91 100644 --- a/xCAT-server/share/xcat/install/scripts/pre.ubuntu +++ b/xCAT-server/share/xcat/install/scripts/pre.ubuntu @@ -5,11 +5,11 @@ fi #!/bin/sh -if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then - killall syslogd - syslogd -R #XCATVAR:XCATMASTER# -fi - +killall syslogd +syslogd -R #XCATVAR:XCATMASTER# +log_label="xcat.deployment" +logger -t $log_label -p "info" "============deployment starting============" +logger -t $log_label -p "info" "Running preseeding early_command Installation script..." if [ ! -c /dev/vcs ]; then mknod /dev/vcs c 7 0 fi @@ -187,7 +187,7 @@ base64decode() ))}\\x\${h$(( o2 / 16 ))}\${h$(( o2 % 16 ))}\"" done } - +logger -t $log_label -p "info" "Generate partition file..." if [ -d /sys/firmware/efi ]; then echo "ubuntu-efi ::" > /tmp/partitionfile echo " 512 512 1024 fat16" >> /tmp/partitionfile diff --git a/xCAT-server/share/xcat/install/scripts/pre.ubuntu.ppc64 b/xCAT-server/share/xcat/install/scripts/pre.ubuntu.ppc64 index b410b181f..84141c10b 100644 --- a/xCAT-server/share/xcat/install/scripts/pre.ubuntu.ppc64 +++ b/xCAT-server/share/xcat/install/scripts/pre.ubuntu.ppc64 @@ -5,11 +5,10 @@ fi #!/bin/sh -if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then - killall syslogd - syslogd -R #XCATVAR:XCATMASTER# -fi - +killall syslogd +syslogd -R #XCATVAR:XCATMASTER# +logger -t $log_label -p "info" "============deployment starting============" +logger -t $log_label -p "info" "Running preseeding early_command Installation script..." if [ ! -c /dev/vcs ]; then mknod /dev/vcs c 7 0 fi @@ -201,7 +200,7 @@ base64decode() ))}\\x\${h$(( o2 / 16 ))}\${h$(( o2 % 16 ))}\"" done } - +logger -t $log_label -p "info" "Generate partition file..." if [ -d /sys/firmware/efi ]; then echo "ubuntu-efi ::" > /tmp/partitionfile echo " 512 512 1024 fat16" >> /tmp/partitionfile diff --git a/xCAT-server/share/xcat/install/sles/compute.sle15.pkglist b/xCAT-server/share/xcat/install/sles/compute.sle15.pkglist index 2933f493c..c660ed5ed 100644 --- a/xCAT-server/share/xcat/install/sles/compute.sle15.pkglist +++ b/xCAT-server/share/xcat/install/sles/compute.sle15.pkglist @@ -1,2 +1,4 @@ +iputils +vim openssl rsync diff --git a/xCAT-server/share/xcat/install/sles/compute.sle15.tmpl b/xCAT-server/share/xcat/install/sles/compute.sle15.tmpl index 733c59eaf..d2ff50e93 100644 --- a/xCAT-server/share/xcat/install/sles/compute.sle15.tmpl +++ b/xCAT-server/share/xcat/install/sles/compute.sle15.tmpl @@ -45,16 +45,12 @@ - http://XCATNEXTSERVERHOOK/install/sles15/x86_64/2sle-module-basesystem/Module-Basesystem - http://XCATNEXTSERVERHOOK/install/sles15/x86_64/2sle-module-hpc/Module-HPC - http://XCATNEXTSERVERHOOK/install/sles15/x86_64/2sle-module-server-applications/Module-Server-Applications - http://XCATNEXTSERVERHOOK/install/sles15/x86_64/2sle-module-server-applications/Module-Server-Applications - http://XCATNEXTSERVERHOOK/install/sles15/x86_64/2SLE_HPC/Product-HPC + #INSTALL_SOURCES# - SLE_HPC + SLES #INCLUDE_DEFAULT_PTRNLIST_S# diff --git a/xCAT-server/share/xcat/install/sles/service.sles12.tmpl b/xCAT-server/share/xcat/install/sles/service.sles12.tmpl index f3f8be272..bf5a3764a 100644 --- a/xCAT-server/share/xcat/install/sles/service.sles12.tmpl +++ b/xCAT-server/share/xcat/install/sles/service.sles12.tmpl @@ -40,42 +40,6 @@ XCATPARTITIONHOOK true all - - - true - false - device - 65 - 1 - false - 8225280 - - - true - false - swap - true - false - swap - uuid - 130 - 2 - false - auto - - - true - false - btrfs - true - false - / - uuid - 131 - 3 - 100% - - diff --git a/xCAT-server/share/xcat/netboot/add-on/statelite/rc.localdisk b/xCAT-server/share/xcat/netboot/add-on/statelite/rc.localdisk index 6823bb84b..93c333e25 100755 --- a/xCAT-server/share/xcat/netboot/add-on/statelite/rc.localdisk +++ b/xCAT-server/share/xcat/netboot/add-on/statelite/rc.localdisk @@ -75,9 +75,9 @@ xCATCmd () { } doconfigure () { - echo "DEBUG: enable=[$enable]; enablepart=[$enablepart]; disk=[$disk]; localspace=[$localspace]; swapspace=[$swapspace]; dev=[$dev]; parts=[$parts]; clear=[$clear];" >>$LOG # run the configure script if [ $isscript -eq 1 ]; then + echo "DEBUG: localdisk is run in script mode ..." >>$LOG # run the script chmod +x $SCRIPTFILE $SCRIPTFILE @@ -85,8 +85,10 @@ doconfigure () { fi if [ x"$enable" != x"yes" ]; then + echo "WARN: localdisk is not enabled, enable=[$enable]" >>$LOG exit 1 fi + echo "DEBUG: enablepart=[$enablepart]; disk=[$disk]; localspace=[$localspace]; swapspace=[$swapspace]; dev=[$dev]; parts=[$parts]; clear=[$clear]; ptype=[$ptype]" >>$LOG if [ $disk -eq 1 ]; then if [ x"$enablepart" != x"yes" ]; then return @@ -105,7 +107,7 @@ doconfigure () { # To recreate the disk label when clear=yes, this action is used to resolve the issue # that the disk has been formatted by AIX if [ x$clear != x ]; then - `parted -s $dev mklabel msdos` + `parted -s $dev mklabel $ptype` fi # remove all the partitions on the device @@ -125,8 +127,8 @@ doconfigure () { if [ x$devname = x"$dev" ]; then #create the label - `parted -s $dev mklabel msdos` - echo "parted -s $dev mklabel msdos" >>$LOG + `parted -s $dev mklabel $ptype` + echo "parted -s $dev mklabel $ptype" >>$LOG fi fi done < $PARTLOG @@ -261,15 +263,15 @@ do firstline=$LINE # the format of first line should be: type=script|format key=`echo \$firstline |awk -F= '{print \$1}'` - if [ x$key != x"type" ]; then - echo "Error: Cannot recognize the format of the parition configuration file." >>$LOG + if [ x"$key" != x"type" ]; then + echo "Error: Cannot recognize the format of the partition configuration file." >>$LOG echo "Error to configure localdisk" exit 1 fi value=`echo \$firstline |awk -F= '{print \$2}'` - if [ x$value = x"script" ]; then + if [ x"$value" = x"script" ]; then isscript=1 - elif [ x$value = x"format" ]; then + elif [ x"$value" = x"format" ]; then isformat=1 fi continue @@ -288,6 +290,7 @@ do dev="" clear="" parts="" + ptype="msdos" elif [ x$LINE = x"[localspace]" ]; then doconfigure disk=0 @@ -308,6 +311,8 @@ do dev=$value elif [ x$key = x"clear" ]; then clear=$value + elif [ x$key = x"ptype" ]; then + ptype=$value elif [ x$key = x"parts" ]; then parts=$value elif [ x$key = x"fstype" ]; then diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.exlist b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.exlist new file mode 120000 index 000000000..884bdefdd --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.exlist @@ -0,0 +1 @@ +compute.rhels8.ppc64le.exlist \ No newline at end of file diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.pkglist b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.pkglist new file mode 120000 index 000000000..aaf3fcab3 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.pkglist @@ -0,0 +1 @@ +compute.rhels8.ppc64le.pkglist \ No newline at end of file diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.postinstall b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.postinstall new file mode 120000 index 000000000..0f8b224ac --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64.postinstall @@ -0,0 +1 @@ +compute.rhels8.ppc64le.postinstall \ No newline at end of file diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.exlist b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.exlist new file mode 100644 index 000000000..944d990e7 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.exlist @@ -0,0 +1,32 @@ +./boot* +./usr/include* +./usr/lib/locale* +./usr/lib64/perl5/Encode/CN* +./usr/lib64/perl5/Encode/JP* +./usr/lib64/perl5/Encode/TW* +./usr/lib64/perl5/Encode/KR* +./lib/kbd/keymaps/i386* +./lib/kbd/keymaps/mac* +./lib/kbd/keymaps/include* +./usr/local/include* +./usr/local/share/man* +./usr/share/man* +./usr/share/cracklib* +./usr/share/doc* +./usr/share/gnome* +./usr/share/i18n* ++./usr/share/i18n/en_US* +./usr/share/info* +./usr/share/locale/* ++./usr/share/locale/en_US* ++./usr/share/locale/C* ++./usr/share/locale/locale.alias ++./usr/lib/locale/locale-archive ++./usr/lib/locale/en* +./usr/share/omf* +./usr/share/vim/site/doc* +./usr/share/vim/vim74/doc* +./usr/share/zoneinfo* +./var/cache/man* +./var/lib/yum* +./tmp* diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.pkglist b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.pkglist new file mode 100644 index 000000000..f10a83507 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.pkglist @@ -0,0 +1,34 @@ +bash +bc +bzip2 +chrony +coreutils +curl +dhcp-client +dracut +dracut-network +e2fsprogs +ethtool +file +gzip +hostname +iputils +irqbalance +kernel +lsvpd +net-tools +nfs-utils +openssh-clients +openssh-server +openssl +parted +ppc64-utils +procps-ng +rpm +rsync +rsyslog +tar +util-linux +vim-minimal +xz +wget diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.postinstall b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.postinstall new file mode 100755 index 000000000..eac5a8f4d --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.ppc64le.postinstall @@ -0,0 +1,50 @@ +#!/bin/sh +#-- Do not remove following line if you want to make use of CVS version tracking +#-- $Id: compute.postinstall,v 1.21 2008/09/04 12:05:45 sikorsky Exp $ +#-- jurij.sikorsky@t-systems.cz +#-- +#-- this script is run after all packages from $profile.pkglist are installed +#-- +#-- it gets these arguments: +#-- +#-- $1 = install root (chroot directory for profile) +#-- $2 = OS version +#-- $3 = architecture +#-- $4 = profile name +#-- $5 = work dir (where genimage is located) +#-- +#-- +installroot=$1 +osver=$2 +arch=$3 +profile=$4 +workdir=$5 + +#-- Example how /etc/fstab can be automatically generated during image generation: +cat <$installroot/etc/fstab +proc /proc proc rw 0 0 +sysfs /sys sysfs rw 0 0 +devpts /dev/pts devpts rw,gid=5,mode=620 0 0 +END + + +#-- Uncomment the line contains "cons" in /etc/inittab +#cons:12345:respawn:/sbin/smart_agetty -L 38400 console +echo "co:2345:respawn:/sbin/agetty -L 38400 console" >> $installroot/etc/inittab + +#-- Disable SELinux in the rootimg +#-- Redhat 7.3 will install selinux-policy and selinux is enabled by default +#-- Need to disable selinux, otherwise, the booting will hang on "Loading selinux policy" +if [ -f "$installroot/etc/selinux/config" ] +then + sed -i 's/SELINUX=enforcing\|permissive/SELINUX=disabled/' $installroot/etc/selinux/config +fi + +#-- Example of booted image versioning +#-- We want to know, with what configuration (version of the image) each node was booted. +#-- Hence, we keep image definition files and postscripts in CVS. During image generation we create file /etc/IMGVERSION and fill it with CVS "$Id$" of files with image definition (.pkglist, .exlist, .repolist, .postinstall). Then, during boot, each "CVS enabled" postscript (see /install/postscripts/cvs_template.sh and /install/postscripts/cvs_template.pl) adds one line to /etc/IMGVERSION. Then you can determine in any time what image you are running and what postscipts in which versions were run. +#cat /dev/null > $installroot/etc/IMGVERSION +#for ext in pkglist exlist postinstall repolist; do +# [ -r $workdir/$profile.$ext ] && cat $workdir/$profile.$ext | grep -E '^[[:space:]]*#.*[[:space:]]\$Id' >> $installroot/etc/IMGVERSION +#done + diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.exlist b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.exlist new file mode 100644 index 000000000..def3241d3 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.exlist @@ -0,0 +1,33 @@ +./boot* +./usr/include* +./usr/lib/locale* +./usr/lib64/perl5/Encode/CN* +./usr/lib64/perl5/Encode/JP* +./usr/lib64/perl5/Encode/TW* +./usr/lib64/perl5/Encode/KR* +./lib/kbd/keymaps/i386* +./lib/kbd/keymaps/mac* +./lib/kdb/keymaps/include* +./usr/local/include* +./usr/local/share/man* +./usr/share/man* +./usr/share/cracklib* +./usr/share/doc* +./usr/share/gnome* +./usr/share/i18n* ++./usr/share/i18n/en_US* +./usr/share/info* +./usr/share/locale/* ++./usr/share/locale/en_US* ++./usr/share/locale/C* ++./usr/share/locale/locale.alias ++./usr/lib/locale/locale-archive ++./usr/lib/locale/en* +./usr/share/man* +./usr/share/omf* +./usr/share/vim/site/doc* +./usr/share/vim/vim74/doc* +./usr/share/zoneinfo* +./var/cache/man* +./var/lib/yum* +./tmp* diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.pkglist b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.pkglist new file mode 100644 index 000000000..03f7d93ec --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.pkglist @@ -0,0 +1,32 @@ +bash +bc +bzip2 +chrony +coreutils +curl +dhcp-client +dracut +dracut-network +e2fsprogs +ethtool +file +gzip +hostname +iputils +irqbalance +kernel +net-tools +nfs-utils +openssh-clients +openssh-server +openssl +parted +procps-ng +rpm +rsync +rsyslog +tar +util-linux +vim-minimal +xz +wget diff --git a/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.postinstall b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.postinstall new file mode 100755 index 000000000..366e3d1df --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/compute.rhels8.x86_64.postinstall @@ -0,0 +1,50 @@ +#!/bin/sh +#-- Do not remove following line if you want to make use of CVS version tracking +#-- $Id: compute.postinstall,v 1.21 2008/09/04 12:05:45 sikorsky Exp $ +#-- jurij.sikorsky@t-systems.cz +#-- +#-- this script is run after all packages from $profile.pkglist are installed +#-- +#-- it gets these arguments: +#-- +#-- $1 = install root (chroot directory for profile) +#-- $2 = OS version +#-- $3 = architecture +#-- $4 = profile name +#-- $5 = work dir (where genimage is located) +#-- +#-- +installroot=$1 +osver=$2 +arch=$3 +profile=$4 +workdir=$5 + +#-- Example how /etc/fstab can be automatically generated during image generation: +cat <$installroot/etc/fstab +proc /proc proc rw 0 0 +sysfs /sys sysfs rw 0 0 +devpts /dev/pts devpts rw,gid=5,mode=620 0 0 +END + +#-- Uncomment the line contains "cons" in /etc/inittab +#cons:12345:respawn:/sbin/smart_agetty -L 38400 console +#echo "co:2345:respawn:/sbin/agetty -L 38400 console" >> $installroot/etc/inittab + + +#-- Disable SELinux in the rootimg +#-- Redhat 7.3 will install selinux-policy and selinux is enabled by default +#-- Need to disable selinux, otherwise, the booting will hang on "Loading selinux policy" +if [ -f "$installroot/etc/selinux/config" ] +then + sed -i 's/SELINUX=enforcing\|permissive/SELINUX=disabled/' $installroot/etc/selinux/config +fi + +#-- Example of booted image versioning +#-- We want to know, with what configuration (version of the image) each node was booted. +#-- Hence, we keep image definition files and postscripts in CVS. During image generation we create file /etc/IMGVERSION and fill it with CVS "$Id$" of files with image definition (.pkglist, .exlist, .repolist, .postinstall). Then, during boot, each "CVS enabled" postscript (see /install/postscripts/cvs_template.sh and /install/postscripts/cvs_template.pl) adds one line to /etc/IMGVERSION. Then you can determine in any time what image you are running and what postscipts in which versions were run. +#cat /dev/null > $installroot/etc/IMGVERSION +#for ext in pkglist exlist postinstall repolist; do +# [ -r $workdir/$profile.$ext ] && cat $workdir/$profile.$ext | grep -E '^[[:space:]]*#.*[[:space:]]\$Id' >> $installroot/etc/IMGVERSION +#done + diff --git a/xCAT-server/share/xcat/netboot/rh/dracut/xcat-premount.sh b/xCAT-server/share/xcat/netboot/rh/dracut/xcat-premount.sh index 40c1dbbe5..9f320bb66 100644 --- a/xCAT-server/share/xcat/netboot/rh/dracut/xcat-premount.sh +++ b/xCAT-server/share/xcat/netboot/rh/dracut/xcat-premount.sh @@ -1,6 +1,8 @@ #!/bin/sh #script to update nodelist.nodestatus during provision +XCAT="$(getarg XCAT=)" +STATEMNT="$(getarg STATEMNT=)" MASTER=`echo $XCAT |awk -F: '{print $1}'` getarg nonodestatus @@ -11,8 +13,12 @@ if [ $? -ne 0 ]; then XCATIPORT="3002" fi - - +log_label="xcat.deployment" +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" +logger $SYSLOGHOST -t $log_label -p local4.info "Starting xcat-premount..." +[ "$xcatdebugmode" > "0" ] && logger $SYSLOGHOST -t $log_label -p local4.debug "MASTER=$MASTER XCATIPORT=$XCATIPORT NODESTATUS=$NODESTATUS" if [ $NODESTATUS -ne 0 ];then + logger $SYSLOGHOST -t $log_label -p local4.info "Sending request to $MASTER:$XCATIPORT for changing status to netbooting..." /tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" fi diff --git a/xCAT-server/share/xcat/netboot/rh/dracut/xcatroot b/xCAT-server/share/xcat/netboot/rh/dracut/xcatroot index 6136b3471..d70a64323 100755 --- a/xCAT-server/share/xcat/netboot/rh/dracut/xcatroot +++ b/xCAT-server/share/xcat/netboot/rh/dracut/xcatroot @@ -2,7 +2,7 @@ NEWROOT=$3 RWDIR=.statelite XCATMASTER=$XCAT - +log_label="xcat.deployment" . /lib/dracut-lib.sh rootlimit="$(getarg rootlimit=)" @@ -20,7 +20,7 @@ xcatdebugmode="$(getarg xcatdebugmode=)" [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "running xcatroot...." [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "MASTER=$MASTER XCATIPORT=$XCATIPORT" - +logger -t $log_label -p local4.info "=============deployment starting====================" if [ "$NODESTATUS" != "0" ]; then [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "nodestatus: netbooting,reporting..." /tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-premount.sh b/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-premount.sh index 394009dac..9f320bb66 100644 --- a/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-premount.sh +++ b/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-premount.sh @@ -13,8 +13,12 @@ if [ $? -ne 0 ]; then XCATIPORT="3002" fi - - +log_label="xcat.deployment" +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" +logger $SYSLOGHOST -t $log_label -p local4.info "Starting xcat-premount..." +[ "$xcatdebugmode" > "0" ] && logger $SYSLOGHOST -t $log_label -p local4.debug "MASTER=$MASTER XCATIPORT=$XCATIPORT NODESTATUS=$NODESTATUS" if [ $NODESTATUS -ne 0 ];then + logger $SYSLOGHOST -t $log_label -p local4.info "Sending request to $MASTER:$XCATIPORT for changing status to netbooting..." /tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" fi diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-prepivot.sh b/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-prepivot.sh index 6df3011e6..4bbdffa0f 100755 --- a/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-prepivot.sh +++ b/xCAT-server/share/xcat/netboot/rh/dracut_033/xcat-prepivot.sh @@ -1,9 +1,13 @@ #!/bin/sh +log_label="xcat.deployment" NEWROOT=/sysroot SERVER=${SERVER%%/*} SERVER=${SERVER%:} RWDIR=.statelite XCAT="$(getarg XCAT=)" +xcatdebugmode="$(getarg xcatdebugmode=)" +XCATMASTER=$XCAT +MASTER=`echo $XCATMASTER |awk -F: '{print $1}'` STATEMNT="$(getarg STATEMNT=)" if [ ! -z $STATEMNT ]; then #btw, uri style might have left future options other than nfs open, will u se // to detect uri in the future I guess SNAPSHOTSERVER=${STATEMNT%:*} @@ -17,6 +21,9 @@ if [ ! -z $STATEMNT ]; then #btw, uri style might have left future options other fi fi + +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "Executing xcat-prepivot to set up statelite..." echo Setting up Statelite mkdir -p $NEWROOT @@ -27,14 +34,18 @@ MAXTRIES=7 ITER=0 if [ ! -e "$NEWROOT/$RWDIR" ]; then echo "" - echo "This NFS root directory doesn't have a /$RWDIR directory for me to mount a rw filesystem. You'd better create it... " + msg="This NFS root directory doesn't have a /$RWDIR directory for me to mount a rw filesystem. You'd better create it... " + echo "$msg" echo "" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh fi if [ ! -e "$NEWROOT/etc/init.d/statelite" ]; then echo "" - echo "$NEWROOT/etc/init.d/statelite doesn't exist. Perhaps you didn't create this image with th e -m statelite mode" + msg="$NEWROOT/etc/init.d/statelite doesn't exist. Perhaps you didn't create this image with the -m statelite mode" + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" echo "" /bin/sh fi @@ -52,22 +63,26 @@ if [ ! -z $SNAPSHOTSERVER ]; then MAXTRIES=5 ITER=0 if [ -z $MNTOPTS ]; then - MNT_OPTIONS="nolock,rsize=32768,tcp,nfsvers=3,timeo=14" + MNT_OPTIONS="nolock,rsize=32768,tcp,timeo=14" else MNT_OPTIONS=$MNTOPTS fi while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Possible problems: + msg="Your are dead, rpower $ME boot to play again. + Possible problems: 1. $SNAPSHOTSERVER is not exporting $SNAPSHOTROOT ? 2. Is DNS set up? Maybe that's why I can't mount $SNAPSHOTSERVER." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh exit fi RS=$(( $RANDOM % 20 )) - echo "Trying again in $RS seconds..." + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" sleep $RS done @@ -78,13 +93,17 @@ if [ ! -z $SNAPSHOTSERVER ]; then while ! umount -l $NEWROOT/$RWDIR/persistent; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Cannot umount $NEWROOT/$RWDIR/persistent." + msg="Your are dead, rpower $ME boot to play again. + Cannot umount $NEWROOT/$RWDIR/persistent." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh exit fi RS=$(( $RANDOM % 20 )) - echo "Trying again in $RS seconds..." + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" sleep $RS done @@ -93,20 +112,26 @@ if [ ! -z $SNAPSHOTSERVER ]; then while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + msg="Your are dead, rpower $ME boot to play again. + Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + echo $msg + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" /bin/sh exit fi RS=$(( $RANDOM % 20 )) - echo "Trying again in $RS seconds..." + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" sleep $RS done fi # TODO: handle the dhclient/resolv.conf/ntp, etc -echo "Get to enable localdisk" +logger $SYSLOGHOST -t $log_label -p local4.info "Enabling localdisk ..." +echo "Enable localdisk ..." $NEWROOT/etc/init.d/localdisk +logger $SYSLOGHOST -t $log_label -p local4.info "Preparing mount points ..." $NEWROOT/etc/init.d/statelite READONLY=yes export READONLY @@ -174,3 +199,4 @@ fi echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/xcat.sh # force udevsettle to break > $hookdir/initqueue/work +logger $SYSLOGHOST -t $log_label -p local4.info "Exit xcat-prepivot" diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_033/xcatroot b/xCAT-server/share/xcat/netboot/rh/dracut_033/xcatroot index e7bf8a4b8..1531756fd 100755 --- a/xCAT-server/share/xcat/netboot/rh/dracut_033/xcatroot +++ b/xCAT-server/share/xcat/netboot/rh/dracut_033/xcatroot @@ -21,7 +21,7 @@ if [ $? -ne 0 ]; then fi [ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" - +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" logger $SYSLOGHOST -t $log_label -p local4.info "Executing xcatroot to prepare for netbooting (dracut_33)..." [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "MASTER=$MASTER XCATIPORT=$XCATIPORT NODESTATUS=$NODESTATUS" @@ -168,6 +168,7 @@ elif [ -r /rootimg-statelite.gz ]; then echo "" echo "The /$RWDIR directory doesn't exist in the rootimg... " echo "" + logger $SYSLOGHOST -t $log_label -p local4.err "The /$RWDIR directory doesn't exist in the rootimg..." /bin/sh fi @@ -175,6 +176,7 @@ elif [ -r /rootimg-statelite.gz ]; then echo "" echo "$NEWROOT/etc/init.d/statelite doesn't exist... " echo "" + logger $SYSLOGHOST -t $log_label -p local4.err "$NEWROOT/etc/init.d/statelite doesn't exist... " /bin/sh fi @@ -201,17 +203,19 @@ elif [ -r /rootimg-statelite.gz ]; then MAXTRIES=5 ITER=0 if [ -z $MNTOPTS ]; then - MNT_OPTIONS="nolock,rsize=32768,tcp,nfsvers=3,timeo=14" + MNT_OPTIONS="nolock,rsize=32768,tcp,timeo=14" else MNT_OPTIONS=$MNTOPTS fi while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "You are dead, rpower $ME boot to play again." - echo "Possible problems: + msg="You are dead, rpower $ME boot to play again. + Possible problems: 1. $SNAPSHOTSERVER is not exporting $SNAPSHOTROOT ? 2. Is DNS set up? Maybe that's why I can't mount $SNAPSHOTSERVER." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.err "$msg" /bin/sh exit fi @@ -227,8 +231,10 @@ elif [ -r /rootimg-statelite.gz ]; then while ! umount -l $NEWROOT/$RWDIR/persistent; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Cannot umount $NEWROOT/$RWDIR/persistent." + msg="Your are dead, rpower $ME boot to play again. + Cannot umount $NEWROOT/$RWDIR/persistent." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.err "$msg" /bin/sh exit fi @@ -242,8 +248,10 @@ elif [ -r /rootimg-statelite.gz ]; then while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + msg="Your are dead, rpower $ME boot to play again. + Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.err "$msg" /bin/sh exit fi @@ -253,7 +261,9 @@ elif [ -r /rootimg-statelite.gz ]; then done fi + logger $SYSLOGHOST -t $log_label -p local4.info "Enabling localdisk ..." $NEWROOT/etc/init.d/localdisk + logger $SYSLOGHOST -t $log_label -p local4.info "Preparing mount points ..." $NEWROOT/etc/init.d/statelite fastboot=yes export fastboot diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/check b/xCAT-server/share/xcat/netboot/rh/dracut_047/check new file mode 100755 index 000000000..4906616c4 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/check @@ -0,0 +1,3 @@ +#!/bin/bash +[ "$1" = "-d" ] && echo network +exit 0 diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/install.netboot b/xCAT-server/share/xcat/netboot/rh/dracut_047/install.netboot new file mode 100755 index 000000000..5ac651c5f --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/install.netboot @@ -0,0 +1,13 @@ +#!/bin/bash +echo $drivers +dracut_install curl tar cpio gzip modprobe touch echo cut wc xz +dracut_install grep ifconfig hostname awk egrep grep dirname expr +dracut_install mount.nfs +dracut_install parted mke2fs bc mkswap swapon chmod +dracut_install ethtool +inst "$moddir/xcat-updateflag" "/tmp/updateflag" +inst "$moddir/xcatroot" "/sbin/xcatroot" +inst_hook cmdline 10 "$moddir/xcat-cmdline.sh" +for file in /etc/udev/rules.d/*;do + grep -qi xcat $file && inst_rules $(basename $file) +done diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/install.statelite b/xCAT-server/share/xcat/netboot/rh/dracut_047/install.statelite new file mode 100755 index 000000000..36929bf89 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/install.statelite @@ -0,0 +1,12 @@ +#!/bin/bash +echo $drivers +dracut_install curl cpio gzip modprobe wc touch echo cut +dracut_install grep ifconfig hostname awk egrep grep dirname expr +dracut_install parted mke2fs bc mkswap swapon chmod +dracut_install ethtool +inst "$moddir/xcat-updateflag" "/tmp/updateflag" +inst_hook pre-mount 5 "$moddir/xcat-premount.sh" +inst_hook pre-pivot 5 "$moddir/xcat-prepivot.sh" +for file in /etc/udev/rules.d/*;do + grep -qi xcat $file && inst_rules $(basename $file) +done diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/installkernel b/xCAT-server/share/xcat/netboot/rh/dracut_047/installkernel new file mode 100755 index 000000000..7902ce5f7 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/installkernel @@ -0,0 +1,2 @@ +#!/bin/bash +instmods nfs sunrpc diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/module-setup.sh b/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/module-setup.sh new file mode 100755 index 000000000..ba8ed94cf --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/module-setup.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +check() { + # do not add this module by default + return 255 +} + +depends() { + return 0 +} + +install() { + local _i + local _installs + if type -P rsyslogd >/dev/null; then + _installs="rsyslogd" + inst_libdir_file rsyslog/lmnet.so rsyslog/imklog.so rsyslog/imuxsock.so rsyslog/imjournal.so + elif type -P syslogd >/dev/null; then + _installs="syslogd" + elif type -P syslog-ng >/dev/null; then + _installs="syslog-ng" + else + derror "Could not find any syslog binary although the syslogmodule" \ + "is selected to be installed. Please check." + fi + if [ -n "$_installs" ]; then + inst_multiple cat $_installs + inst_hook cmdline 90 "$moddir/parse-syslog-opts.sh" + inst_hook pre-udev 61 "$moddir/syslog-genrules.sh" + inst_hook cleanup 99 "$moddir/syslog-cleanup.sh" + inst_simple "$moddir/rsyslogd-start.sh" /sbin/rsyslogd-start + inst_simple "$moddir/rsyslogd-stop.sh" /sbin/rsyslogd-stop + mkdir -m 0755 -p ${initdir}/etc/templates + inst_simple "${moddir}/rsyslog.conf" /etc/templates/rsyslog.conf + fi + dracut_install logger + dracut_need_initqueue +} + diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/rsyslogd-start.sh b/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/rsyslogd-start.sh new file mode 100755 index 000000000..4545af2c2 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/rsyslogd-start.sh @@ -0,0 +1,56 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +# Triggered by udev and starts rsyslogd with bootparameters + +type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +rsyslog_config() { + local server=$1 + shift + local syslog_template=$1 + shift + local filters=$* + local filter= + local confline= + + cat $syslog_template + +# for filter in $filters; do +# echo "${filter} @${server}" +# done + + # In dracut 33, default rsyslogd configuration does not use journald. Then when + # rsyslog in debug mode, it causes `/dev/log` is not available after switch_root (#4929) + echo "\$ModLoad imjournal" + echo "\$OmitLocalLogging on" + echo "\$IMJournalStateFile imjournal.state" + + if [ -n "$filters" ];then + confline="${filters}"; + else + confline="*.*" + fi + + if [ -n "$server" ];then + confline="$confline @${server}" + else + confline="$confline /var/log/messages" + fi + + echo "$confline" +# echo "*.* /tmp/syslog" +} + +[ -f /tmp/syslog.server ] && read server < /tmp/syslog.server +[ -f /tmp/syslog.filters ] && read filters < /tmp/syslog.filters +[ -z "$filters" ] && filters="kern.*" +[ -f /tmp/syslog.conf ] && read conf < /tmp/syslog.conf +[ -z "$conf" ] && conf="/etc/rsyslog.conf" && echo "$conf" > /tmp/syslog.conf + +template=/etc/templates/rsyslog.conf +if [ -n "$server" ]; then + rsyslog_config "$server" "$template" "$filters" > $conf + rsyslogd -i /var/run/syslogd.pid +fi diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/syslog-genrules.sh b/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/syslog-genrules.sh new file mode 100755 index 000000000..6f9d0d262 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/patch/syslog/syslog-genrules.sh @@ -0,0 +1,97 @@ +#!/bin/sh +# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*- +# ex: ts=8 sw=4 sts=4 et filetype=sh + +# Creates the syslog udev rules to be triggered when interface becomes online. +type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh + +detect_syslog() { + syslogtype="" + if [ -e /sbin/rsyslogd ]; then + syslogtype="rsyslogd" + elif [ -e /sbin/syslogd ]; then + syslogtype="syslogd" + elif [ /sbin/syslog-ng ]; then + syslogtype="syslog-ng" + else + warn "Could not find any syslog binary although the syslogmodule is selected to be installed. Please check." + fi + echo "$syslogtype" + [ -n "$syslogtype" ] +} + +#the initqueue.sh shipped does not support --online option and +#there are some problem when processing --onetime option +#implement a patched initqueue function here, named initqueue_enhanced +initqueue_enhanced() { + local onetime= + local qname= + local unique= + local name= + local env= + while [ $# -gt 0 ]; do + case "$1" in + --onetime) + onetime="yes";; + --settled) + qname="/settled";; + --finished) + qname="/finished";; + --timeout) + qname="/timeout";; + --online) + qname="/online";; + --unique) + unique="yes";; + --name) + name="$2";shift;; + --env) + env="$2"; shift;; + *) + break;; + esac + shift + done + + local job= + if [ -z "$unique" ]; then + job="${name}$$" + else + job="${name:-$1}" + job=${job##*/} + fi + + local exe= + exe=$1 + shift + + [ -x "$exe" ] || exe=$(command -v $exe) + if [ -z "$exe" ] ; then + echo "Invalid command" + return 1 + fi + + { + [ -n "$env" ] && echo "$env" + echo "$exe $@" + [ -n "$onetime" ] && echo "[ -e $hookdir/initqueue${qname}/${job}.sh ] && rm -f -- $hookdir/initqueue${qname}/${job}.sh" + } > "/tmp/$$-${job}.sh" + + mv -f "/tmp/$$-${job}.sh" "$hookdir/initqueue${qname}/${job}.sh" + [ -z "$qname" ] && >> $hookdir/initqueue/work + + return 0 +} + +[ -f /tmp/syslog.type ] && read syslogtype < /tmp/syslog.type +if [ -z "$syslogtype" ]; then + syslogtype=$(detect_syslog) + echo $syslogtype > /tmp/syslog.type +fi +if [ -e "/sbin/${syslogtype}-start" ]; then + #printf 'ACTION=="online", SUBSYSTEM=="net", RUN+="/sbin/initqueue --onetime /sbin/'${syslogtype}'-start $env{INTERFACE}"\n' > /etc/udev/rules.d/70-syslog.rules + #printf 'ATTR{operstate}!="down", SUBSYSTEM=="net", RUN+="/sbin/initqueue --onetime /sbin/'${syslogtype}'-start $env{INTERFACE}"\n' > /etc/udev/rules.d/70-syslog.rules + initqueue_enhanced --online --onetime /sbin/${syslogtype}-start +else + warn "syslog-genrules: Could not find binary to start syslog of type \"$syslogtype\". Syslog will not be started." +fi diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-cmdline.sh b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-cmdline.sh new file mode 100644 index 000000000..80d088557 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-cmdline.sh @@ -0,0 +1,4 @@ +root=1 +rootok=1 +netroot=xcat +echo '[ -e $NEWROOT/proc ]' > $hookdir/initqueue/finished/xcatroot.sh diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-premount.sh b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-premount.sh new file mode 100644 index 000000000..9f320bb66 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-premount.sh @@ -0,0 +1,24 @@ +#!/bin/sh +#script to update nodelist.nodestatus during provision + +XCAT="$(getarg XCAT=)" +STATEMNT="$(getarg STATEMNT=)" +MASTER=`echo $XCAT |awk -F: '{print $1}'` + +getarg nonodestatus +NODESTATUS=$? + +XCATIPORT="$(getarg XCATIPORT=)" +if [ $? -ne 0 ]; then +XCATIPORT="3002" +fi + +log_label="xcat.deployment" +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" +logger $SYSLOGHOST -t $log_label -p local4.info "Starting xcat-premount..." +[ "$xcatdebugmode" > "0" ] && logger $SYSLOGHOST -t $log_label -p local4.debug "MASTER=$MASTER XCATIPORT=$XCATIPORT NODESTATUS=$NODESTATUS" +if [ $NODESTATUS -ne 0 ];then + logger $SYSLOGHOST -t $log_label -p local4.info "Sending request to $MASTER:$XCATIPORT for changing status to netbooting..." +/tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" +fi diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-prepivot.sh b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-prepivot.sh new file mode 100755 index 000000000..a3bcb8188 --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcat-prepivot.sh @@ -0,0 +1,202 @@ +#!/bin/bash +log_label="xcat.deployment" +NEWROOT=/sysroot +SERVER=${SERVER%%/*} +SERVER=${SERVER%:} +RWDIR=.statelite +XCAT="$(getarg XCAT=)" +xcatdebugmode="$(getarg xcatdebugmode=)" +XCATMASTER=$XCAT +MASTER=`echo $XCATMASTER |awk -F: '{print $1}'` +STATEMNT="$(getarg STATEMNT=)" +if [ ! -z $STATEMNT ]; then #btw, uri style might have left future options other than nfs open, will u se // to detect uri in the future I guess + SNAPSHOTSERVER=${STATEMNT%:*} + SNAPSHOTROOT=${STATEMNT#*/} + #echo $SNAPSHOTROOT + #echo $SNAPSHOTSERVER + # may be that there is not server and just a directory. + if [ -z $SNAPSHOTROOT ]; then + SNAPSHOTROOT=$SNAPSHOTSERVER + SNAPSHOTSERVER= + fi +fi + + +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "Executing xcat-prepivot to set up statelite..." +echo Setting up Statelite +mkdir -p $NEWROOT + +# now we need to mount the rest of the system. This is the read/write portions +# echo Mounting snapshot directories + +MAXTRIES=7 +ITER=0 +if [ ! -e "$NEWROOT/$RWDIR" ]; then + echo "" + msg="This NFS root directory doesn't have a /$RWDIR directory for me to mount a rw filesystem. You'd better create it... " + echo "$msg" + echo "" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" + /bin/sh +fi + +if [ ! -e "$NEWROOT/etc/init.d/statelite" ]; then + echo "" + msg="$NEWROOT/etc/init.d/statelite doesn't exist. Perhaps you didn't create this image with the -m statelite mode" + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" + echo "" + /bin/sh +fi + +mount -t tmpfs rw $NEWROOT/$RWDIR +mkdir -p $NEWROOT/$RWDIR/tmpfs +ME=`hostname -s` +if [ ! -z $NODE ]; then + ME=$NODE +fi + +# mount the SNAPSHOT directory here for persistent use. +if [ ! -z $SNAPSHOTSERVER ]; then + mkdir -p $NEWROOT/$RWDIR/persistent + MAXTRIES=5 + ITER=0 + if [ -z $MNTOPTS ]; then + MNT_OPTIONS="nolock,rsize=32768,tcp,timeo=14" + else + MNT_OPTIONS=$MNTOPTS + fi + while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do + ITER=$(( ITER + 1 )) + if [ "$ITER" == "$MAXTRIES" ]; then + msg="Your are dead, rpower $ME boot to play again. + Possible problems: +1. $SNAPSHOTSERVER is not exporting $SNAPSHOTROOT ? +2. Is DNS set up? Maybe that's why I can't mount $SNAPSHOTSERVER." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" + /bin/sh + exit + fi + RS=$(( $RANDOM % 20 )) + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" + sleep $RS + done + + # create directory which is named after my node name + mkdir -p $NEWROOT/$RWDIR/persistent/$ME + ITER=0 + # umount current persistent mount + while ! umount -l $NEWROOT/$RWDIR/persistent; do + ITER=$(( ITER + 1 )) + if [ "$ITER" == "$MAXTRIES" ]; then + msg="Your are dead, rpower $ME boot to play again. + Cannot umount $NEWROOT/$RWDIR/persistent." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" + /bin/sh + exit + fi + RS=$(( $RANDOM % 20 )) + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" + sleep $RS + done + + # mount persistent to server:/rootpath/nodename + ITER=0 + while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do + ITER=$(( ITER + 1 )) + if [ "$ITER" == "$MAXTRIES" ]; then + msg="Your are dead, rpower $ME boot to play again. + Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + echo $msg + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" + /bin/sh + exit + fi + RS=$(( $RANDOM % 20 )) + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" + sleep $RS + done +fi + +# TODO: handle the dhclient/resolv.conf/ntp, etc +logger $SYSLOGHOST -t $log_label -p local4.info "Enabling localdisk ..." +echo "Enable localdisk ..." +$NEWROOT/etc/init.d/localdisk +logger $SYSLOGHOST -t $log_label -p local4.info "Preparing mount points ..." +$NEWROOT/etc/init.d/statelite +READONLY=yes +export READONLY +fastboot=yes +export fastboot +keep_old_ip=yes +export keep_old_ip +mount -n --bind /dev $NEWROOT/dev +mount -n --bind /proc $NEWROOT/proc +mount -n --bind /sys $NEWROOT/sys + +function getdevfrommac() { + boothwaddr=$1 + ip link show | while read line + do + dev=`echo $line | egrep "^[0-9]+: [0-9A-Za-z]+" | cut -d ' ' -f 2 | cut -d ':' -f 1` + if [ "X$dev" != "X" ]; then + devname=$dev + fi + + if [ "X$devname" != "X" ]; then + hwaddr=`echo $line | egrep "^[ ]*link" | awk '{print $2}'` + if [ "X$hwaddr" = "X$boothwaddr" ]; then + echo $devname + fi + fi + done +} + + +for lf in /tmp/dhclient.*.lease; do + netif=${lf#*.} + netif=${netif%.*} + cp $lf "$NEWROOT/var/lib/dhclient/dhclient-$netif.leases" +done + +if [ ! -z "$ifname" ]; then + MACX=${ifname#*:} + ETHX=${ifname%:$MACX*} +elif [ ! -z "$netdev" ]; then + ETHX=$netdev + MACX=`ip link show $netdev | grep ether | awk '{print $2}'` +elif [ ! -z "$BOOTIF" ]; then + MACX=$BOOTIF + ETHX=$(getdevfrommac $BOOTIF) +fi + +if [ ! -z "$MACX" ] && [ ! -z "$ETHX" ]; then + if [ ! -e $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX ]; then + touch $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + fi + echo "DEVICE=$ETHX" > $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + echo "BOOTPROTO=dhcp" >> $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + echo "HWADDR=$MACX" >> $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + echo "ONBOOT=yes" >> $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX +fi + +cp /etc/resolv.conf "$NEWROOT/etc/" + +if [ -d "$NEWROOT/etc/sysconfig" -a ! -e "$NEWROOT/etc/sysconfig/selinux" ]; then + echo "SELINUX=disabled" >> "$NEWROOT/etc/sysconfig/selinux" +fi + +# inject new exit_if_exists +echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/xcat.sh +# force udevsettle to break +> $hookdir/initqueue/work +logger $SYSLOGHOST -t $log_label -p local4.info "Exit xcat-prepivot" diff --git a/xCAT-server/share/xcat/netboot/rh/dracut_047/xcatroot b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcatroot new file mode 100755 index 000000000..9f2b4182b --- /dev/null +++ b/xCAT-server/share/xcat/netboot/rh/dracut_047/xcatroot @@ -0,0 +1,376 @@ +#!/bin/bash +log_label="xcat.deployment" + +NEWROOT=$3 +RWDIR=.statelite + +. /lib/dracut-lib.sh +XCAT="$(getarg XCAT=)" +XCATMASTER=$XCAT +STATEMNT="$(getarg STATEMNT=)" +rootlimit="$(getarg rootlimit=)" +xcatdebugmode="$(getarg xcatdebugmode=)" +rflags="$(getarg rootflags=)" +getarg nonodestatus +NODESTATUS=$? + +MASTER=`echo $XCATMASTER |awk -F: '{print $1}'` +XCATIPORT="$(getarg XCATIPORT=)" +if [ $? -ne 0 ]; then + XCATIPORT="3002" +fi + +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" +logger $SYSLOGHOST -t $log_label -p local4.info "Executing xcatroot to prepare for netbooting (dracut_33)..." +[ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "MASTER=$MASTER XCATIPORT=$XCATIPORT NODESTATUS=$NODESTATUS" + +if [ "$NODESTATUS" != "0" ]; then + logger $SYSLOGHOST -t $log_label -p local4.info "Sending request to $MASTER:$XCATIPORT for changing status to netbooting..." + /tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" +fi + + +imgurl="$(getarg imgurl=)"; +if [ ! -z "$imgurl" ]; then + if [ xhttp = x${imgurl%%:*} ]; then + logger $SYSLOGHOST -t $log_label -p local4.info "Downloading rootfs image from $imgurl..." + NFS=0 + FILENAME=${imgurl##*/} + while [ ! -r "$FILENAME" ]; do + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Downloading $imgurl..." + echo Getting $imgurl... + if ! curl --fail $imgurl -o $FILENAME; then + logger $SYSLOGHOST -t $log_label -p local4.error "Downloading $imgurl FAILED, retrying..." + rm -f $FILENAME + echo Failed to get the image, waiting for next retrying... + sleep 27 + fi + done + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Download complete." + elif [ xnfs = x${imgurl%%:*} ]; then + NFS=1 + SERVER=${imgurl#nfs:} + SERVER=${SERVER#/} + SERVER=${SERVER#/} + ROOTDIR=$SERVER + SERVER=${SERVER%%/*} + SERVER=${SERVER%:} + ROOTDIR=/${ROOTDIR#*/} + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "SERVER=$SERVER ROOTDIR=$ROOTDIR" + fi +fi +#echo 0 > /proc/sys/vm/zone_reclaim_mode #Avoid kernel bug + +if [ -r /rootimg.sfs ]; then + echo Setting up squashfs with ram overlay. + mknod /dev/loop0 b 7 0 + mkdir -p /ro + mkdir -p /rw + mount -t squashfs /rootimg.sfs /ro + mount -t tmpfs rw /rw + mount -t aufs -o dirs=/rw:/ro mergedroot $NEWROOT + mkdir -p $NEWROOT/ro + mkdir -p $NEWROOT/rw + mount --move /ro $NEWROOT/ro + mount --move /rw $NEWROOT/rw +elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then + logger $SYSLOGHOST -t $log_label -p local4.info "Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]..." + echo Setting up RAM-root tmpfs. + rootopts="mode=755" + if [ -n "$rflags" ]; then + rootopts="$rootopts","$rflags" + fi + if [ -z "$rootlimit" ];then + mount -t tmpfs -o $rootopts rootfs $NEWROOT + else + mount -t tmpfs -o "$rootopts",size=$rootlimit rootfs $NEWROOT + fi + + cd $NEWROOT + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Extracting the root filesystem..." + echo "Extracting the root filesystem..." + if [ -r /rootimg.cpio.gz ]; then + if [ -x /bin/cpio ]; then + gzip -cd /rootimg.cpio.gz |/bin/cpio -idum + else + gzip -cd /rootimg.cpio.gz |cpio -idum + fi + elif [ -r /rootimg.cpio.xz ]; then + if [ -x /bin/cpio ]; then + xz -cd /rootimg.cpio.xz |/bin/cpio -idum + else + xz -cd /rootimg.cpio.xz |cpio -idum + fi + fi + $NEWROOT/etc/init.d/localdisk + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Done extracting the root filesystem..." + echo "Done extracting the root filesystem..." +elif [ -r /rootimg.tar.gz ] || [ -r /rootimg.tar.xz ]; then + logger $SYSLOGHOST -t $log_label -p local4.info "Setting up RAM-root tmpfs on downloaded rootimg.tar.[gz/xz]..." + echo Setting up RAM-root tmpfs. + if [ -z $rootlimit ];then + mount -t tmpfs -o mode=755 rootfs $NEWROOT + else + mount -t tmpfs -o mode=755,size=$rootlimit rootfs $NEWROOT + fi + + cd $NEWROOT + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Extracting the root filesystem..." + echo "Extracting the root filesystem..." + if [ -r /rootimg.tar.gz ]; then + tar --selinux --xattrs-include='*' -zxf /rootimg.tar.gz + if [ $? -ne 0 ]; then + tar --selinux -zxf /rootimg.tar.gz + fi + elif [ -r /rootimg.tar.xz ]; then + tar --selinux --xattrs-include='*' -Jxf /rootimg.tar.xz + if [ $? -ne 0 ]; then + tar --selinux -Jxf /rootimg.tar.xz + fi + fi + $NEWROOT/etc/init.d/localdisk + msg="Done extracting the root filesystem." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "$msg" + echo "$msg" +elif [ -r /rootimg-statelite.gz ]; then + msg="Setting up RAM-root tmpfs for statelite mode." + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" + echo "$msg" + + if [ -z $rootlimit];then + mount -t tmpfs -o mode=755 rootfs $NEWROOT + else + mount -t tmpfs -o mode=755,size=$rootlimit rootfs $NEWROOT + fi + + cd $NEWROOT + msg="Extracting root filesystem..." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "$msg" + echo "$msg" + if [ -x /bin/cpio ]; then + gzip -cd /rootimg-statelite.gz |/bin/cpio -idum + else + gzip -cd /rootimg-statelite.gz |cpio -idum + fi + msg="Done extracting the root filesystem." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "$msg" + echo "$msg" + # then, the statelite staffs will be processed + msg="Setting up Statelite..." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "$msg" + echo "$msg" + + modprobe nfs + MAXTRIES=7 + ITER=0 + if [ ! -e "$NEWROOT/$RWDIR" ]; then + echo "" + echo "The /$RWDIR directory doesn't exist in the rootimg... " + echo "" + logger $SYSLOGHOST -t $log_label -p local4.err "The /$RWDIR directory doesn't exist in the rootimg..." + /bin/sh + fi + + if [ ! -e "$NEWROOT/etc/init.d/statelite" ]; then + echo "" + echo "$NEWROOT/etc/init.d/statelite doesn't exist... " + echo "" + logger $SYSLOGHOST -t $log_label -p local4.err "$NEWROOT/etc/init.d/statelite doesn't exist... " + /bin/sh + fi + + mount -t tmpfs rw $NEWROOT/$RWDIR + mkdir -p $NEWROOT/$RWDIR/tmpfs + ME=`hostname -s` + if [ ! -z $NODE ]; then + ME=$NODE + fi + + + # mount the SNAPSHOT directory here for persistent use. + if [ ! -z $STATEMNT ]; then + SNAPSHOTSERVER=${STATEMNT%:*} + SNAPSHOTROOT=${STATEMNT#*/} + if [ -z $SNAPSHOTROOT ]; then + SNAPSHOTROOT=$SNAPSHOTSERVER + SNAPSHOTSERVER= + fi + fi + + if [ ! -z $SNAPSHOTSERVER ]; then + mkdir -p $NEWROOT/$RWDIR/persistent + MAXTRIES=5 + ITER=0 + if [ -z $MNTOPTS ]; then + MNT_OPTIONS="nolock,rsize=32768,tcp,timeo=14" + else + MNT_OPTIONS=$MNTOPTS + fi + while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do + ITER=$(( ITER + 1 )) + if [ "$ITER" == "$MAXTRIES" ]; then + msg="You are dead, rpower $ME boot to play again. + Possible problems: + 1. $SNAPSHOTSERVER is not exporting $SNAPSHOTROOT ? + 2. Is DNS set up? Maybe that's why I can't mount $SNAPSHOTSERVER." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.err "$msg" + /bin/sh + exit + fi + RS=$(( $RANDOM % 20 )) + echo "Trying again in $RS seconds ..." + sleep $RS + done + + # create directory which is named after my node name + mkdir -p $NEWROOT/$RWDIR/persistent/$ME + ITER=0 + # umount current persistent mount + while ! umount -l $NEWROOT/$RWDIR/persistent; do + ITER=$(( ITER + 1 )) + if [ "$ITER" == "$MAXTRIES" ]; then + msg="Your are dead, rpower $ME boot to play again. + Cannot umount $NEWROOT/$RWDIR/persistent." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.err "$msg" + /bin/sh + exit + fi + RS=$(( $RANDOM % 20 )) + echo "Trying again in $RS seconds..." + sleep $RS + done + + # mount persistent to server:/rootpath/nodename + ITER=0 + while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do + ITER=$(( ITER + 1 )) + if [ "$ITER" == "$MAXTRIES" ]; then + msg="Your are dead, rpower $ME boot to play again. + Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.err "$msg" + /bin/sh + exit + fi + RS=$(( $RANDOM % 20 )) + echo "Trying again in $RS seconds..." + sleep $RS + done + fi + + logger $SYSLOGHOST -t $log_label -p local4.info "Enabling localdisk ..." + $NEWROOT/etc/init.d/localdisk + logger $SYSLOGHOST -t $log_label -p local4.info "Preparing mount points ..." + $NEWROOT/etc/init.d/statelite + fastboot=yes + export fastboot + keep_old_ip=yes + export keep_old_ip + + mount -n --bind /dev $NEWROOT/dev + mount -n --bind /proc $NEWROOT/proc + mount -n --bind /sys $NEWROOT/sys + +else + msg="Failed to download image, panic in 5..." + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" + echo -n "$msg" + for i in 4 3 2 1 0; do + /bin/sleep 1 + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "$i..." + echo -n $i... + done + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "You're dead. rpower nodename reset to play again." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "* Did you packimage with -m cpio, -m squashfs, or -m nfs?" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "* If using -m squashfs did you include aufs.ko with geninitrd? e.g.: -n tg3,squashfs,aufs,loop" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "If using -m nfs did you export NFS and sync rootimg? And did you include the aufs and nfs modules in the proper order: e.g.: -n tg3,aufs,loop,sunrpc,lockd,nfs_acl,nfs" + + echo + echo "You're dead. rpower nodename reset to play again. + +* Did you packimage with -m cpio, -m squashfs, or -m nfs? +* If using -m squashfs did you include aufs.ko with geninitrd? + e.g.: -n tg3,squashfs,aufs,loop +* If using -m nfs did you export NFS and sync rootimg? And + did you include the aufs and nfs modules in the proper order: + e.g.: -n tg3,aufs,loop,sunrpc,lockd,nfs_acl,nfs + +" + /bin/sh + exit +fi +cd / + +function getdevfrommac() { + boothwaddr=$1 + ip link show | while read line + do + dev=`echo $line | egrep "^[0-9]+: [0-9A-Za-z]+" | cut -d ' ' -f 2 | cut -d ':' -f 1` + if [ "X$dev" != "X" ]; then + devname=$dev + fi + + if [ "X$devname" != "X" ]; then + hwaddr=`echo $line | egrep "^[ ]*link" | awk '{print $2}'` + if [ "X$hwaddr" = "X$boothwaddr" ]; then + echo $devname + fi + fi + done +} + + +if [ -z $STATEMNT ]; then + for lf in /tmp/dhclient.*.lease; do + netif=${lf#*.} + netif=${netif%.*} + cp $lf "$NEWROOT/var/lib/dhclient/dhclient-$netif.leases" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Saving $NEWROOT/var/lib/dhclient/dhclient-$netif.leases" + done + + ifname="$(getarg ifname=)" + netdev="$(getarg netdev=)" + BOOTIF="$(getarg BOOTIF=)" + if [ ! -z "$ifname" ]; then + MACX=${ifname#*:} + ETHX=${ifname%:$MACX*} + elif [ ! -z "$netdev" ]; then + ETHX=$netdev + MACX=`ip link show $netdev | grep ether | awk '{print $2}'` + elif [ ! -z "$BOOTIF" ]; then + MACX=$BOOTIF + MACX=${MACX#01-} + MACX=${MACX//-/:} + ETHX=$(getdevfrommac $MACX) + fi + + + if [ ! -z "$MACX" ] && [ ! -z "$ETHX" ]; then + if [ ! -e $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX ]; then + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Creating $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX" + touch $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + fi + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Writing $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX: DEVICE=$ETHX;BOOTPROTO=dhcp;HWADDR=$MACX;ONBOOT=yes" + echo "DEVICE=$ETHX" > $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + echo "BOOTPROTO=dhcp" >> $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + echo "HWADDR=$MACX" >> $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + echo "ONBOOT=yes" >> $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX + fi +fi + +[ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "Saving $NEWROOT/etc/resolv.conf" +cp /etc/resolv.conf "$NEWROOT/etc/" + +if [ -d "$NEWROOT/etc/sysconfig" -a ! -e "$NEWROOT/etc/sysconfig/selinux" ]; then + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p local4.debug "disable selinux ..." + echo "SELINUX=disabled" >> "$NEWROOT/etc/sysconfig/selinux" +fi + +logger $SYSLOGHOST -t $log_label -p local4.info "Exiting xcatroot..." +# inject new exit_if_exists +echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/xcat.sh +# force udevsettle to break +> $hookdir/initqueue/work diff --git a/xCAT-server/share/xcat/netboot/rh/genimage b/xCAT-server/share/xcat/netboot/rh/genimage index 77fe68e2d..73e2c55c6 100755 --- a/xCAT-server/share/xcat/netboot/rh/genimage +++ b/xCAT-server/share/xcat/netboot/rh/genimage @@ -117,7 +117,9 @@ sub mount_chroot { sub umount_chroot { my $rootimage_dir = shift; - $rootimage_dir=realpath($rootimage_dir); + if(-e "$rootimage_dir"){ + $rootimage_dir=realpath($rootimage_dir); + } if ($rootimage_dir eq "/") { print "\n\n\n\nWARNING: /proc and /sys may still be mounted in the rootimgdir\n\n\n\n"; return 1; @@ -134,7 +136,7 @@ sub umount_chroot { } close($FILEHD); foreach my $mntpt (@mntptlist){ - system("umount -l $mntpt >/dev/null 2>&1") + system("umount -l $mntpt >/dev/null 2>&1"); } if (majversion($osver) > 6) { @@ -287,7 +289,13 @@ foreach (@ndrivers) { } } -unless ($onlyinitrd) { +if($onlyinitrd){ + unless(-e "$rootimg_dir"){ + print("the root image directory \"$rootimg_dir\"does not exist, please run \"genimage $imagename\" to generate the root image directory first!\n"); + exit 1; + } +}else +{ @yumdirs = (); my @pkgdirs = split(",", $srcdir); @@ -679,6 +687,8 @@ if (-e "$rootimg_dir/boot/vmlinux-$kernelver") { cp("$rootimg_dir/boot/vmlinuz-$kernelver", "$destdir/kernel"); } elsif (-e "$rootimg_dir/boot/image-$kernelver") { cp("$rootimg_dir/boot/image-$kernelver", "$destdir/kernel"); +} elsif (-e "$rootimg_dir/lib/modules/$kernelver/vmlinuz") { + cp("$rootimg_dir/lib/modules/$kernelver/vmlinuz", "$destdir/kernel"); } else { xdie("couldn't find the kernel file matched $kernelver in $rootimg_dir/boot"); } @@ -747,7 +757,9 @@ if ((-d "$rootimg_dir/usr/share/dracut") or (-d "$rootimg_dir/usr/lib/dracut")) $dracutver = `rpm --root $rootimg_dir -qi dracut | grep Version | awk -F' ' '{print \$3}'`; chomp($dracutver); if ($dracutver =~ /^\d\d\d$/) { - if ($dracutver >= "033") { + if ($dracutver >= "047") { + $dracutdir = "dracut_047"; + } elsif ($dracutver >= "033") { $dracutdir = "dracut_033"; } else { $dracutdir = "dracut"; # The default directory @@ -1012,7 +1024,7 @@ sub mkinitrd_dracut { chmod($perm & 07777, $dracutmoduledir . "98syslog/" . "parse-syslog-opts.sh"); } - my $dracutmpath = $dracutmoduledir . "97xcat/"; + my $dracutmpath = $dracutmoduledir . "98xcat/"; mkpath($dracutmpath); my $perm = (stat("$fullpath/$dracutdir/check"))[2]; @@ -1059,14 +1071,13 @@ sub mkinitrd_dracut { #update etc/dracut.conf open($DRACUTCONF, '>', "$rootimg_dir/etc/dracut.conf"); - my $dracutmodulelist = "xcat nfs base network kernel-modules syslog "; + my $dracutmodulelist = "xcat nfs base network kernel-modules syslog"; - if (-d glob($dracutmoduledir . "[0-9]*systemd")) { - $dracutmodulelist .= " systemd "; - } - - if (-d glob($dracutmoduledir . "[0-9]*fadump")) { - $dracutmodulelist .= " fadump "; + foreach (qw/systemd systemd-initrd dracut-systemd fadump/) { + my ($dir) = glob($dracutmoduledir . "[0-9]*" . $_); + if (-d $dir) { + $dracutmodulelist .= " $_"; + } } print $DRACUTCONF qq{dracutmodules+="$dracutmodulelist"\n}; @@ -1101,15 +1112,13 @@ sub mkinitrd_dracut { $perm = (stat("$fullpath/$dracutdir/installkernel"))[2]; chmod($perm & 07777, "$dracutmpath/installkernel"); - my $dracutmodulelist = " xcat nfs base network kernel-modules syslog "; + my $dracutmodulelist = "xcat nfs base network kernel-modules syslog"; - - if (-d glob($dracutmoduledir . "[0-9]*systemd")) { - $dracutmodulelist .= " systemd "; - } - - if (-d glob($dracutmoduledir . "[0-9]*fadump")) { - $dracutmodulelist .= " fadump "; + foreach (qw/systemd systemd-initrd dracut-systemd fadump/) { + my ($dir) = glob($dracutmoduledir . "[0-9]*" . $_); + if (-d $dir) { + $dracutmodulelist .= " $_"; + } } # update etc/dracut.conf diff --git a/xCAT-server/share/xcat/netboot/sles/dracut_033/install.statelite b/xCAT-server/share/xcat/netboot/sles/dracut_033/install.statelite index 7c7646652..2c00d3ec8 100755 --- a/xCAT-server/share/xcat/netboot/sles/dracut_033/install.statelite +++ b/xCAT-server/share/xcat/netboot/sles/dracut_033/install.statelite @@ -1,7 +1,7 @@ #!/bin/sh echo $drivers dracut_install wget cpio gzip modprobe wc touch echo cut -dracut_install grep ifconfig hostname awk egrep grep dirname expr +dracut_install grep ifconfig hostname awk egrep grep dirname expr logger dracut_install parted mke2fs bc mkswap swapon chmod inst "$moddir/xcat-updateflag" "/tmp/updateflag" inst_hook pre-mount 5 "$moddir/xcat-premount.sh" diff --git a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-premount.sh b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-premount.sh index 40c1dbbe5..f9b7a5c94 100644 --- a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-premount.sh +++ b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-premount.sh @@ -1,6 +1,7 @@ #!/bin/sh #script to update nodelist.nodestatus during provision - +XCAT="$(getarg XCAT=)" +STATEMNT="$(getarg STATEMNT=)" MASTER=`echo $XCAT |awk -F: '{print $1}'` getarg nonodestatus @@ -11,8 +12,13 @@ if [ $? -ne 0 ]; then XCATIPORT="3002" fi - - +log_label="xcat.deployment" +xcatdebugmode="$(getarg xcatdebugmode=)" +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" +logger $SYSLOGHOST -t $log_label -p local4.info "Starting xcat-premount..." +[ "$xcatdebugmode" > "0" ] && logger $SYSLOGHOST -t $log_label -p local4.debug "MASTER=$MASTER XCATIPORT=$XCATIPORT NODESTATUS=$NODESTATUS" if [ $NODESTATUS -ne 0 ];then + logger $SYSLOGHOST -t $log_label -p local4.info "Sending request to $MASTER:$XCATIPORT for changing status to netbooting..." /tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" fi diff --git a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-prepivot.sh b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-prepivot.sh index d8e12e290..9471787b7 100755 --- a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-prepivot.sh +++ b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcat-prepivot.sh @@ -1,8 +1,13 @@ #!/bin/sh +log_label="xcat.deployment" NEWROOT=/sysroot SERVER=${SERVER%%/*} SERVER=${SERVER%:} RWDIR=.statelite +XCAT="$(getarg XCAT=)" +xcatdebugmode="$(getarg xcatdebugmode=)" +XCATMASTER=$XCAT +MASTER=`echo $XCATMASTER |awk -F: '{print $1}'` if [ ! -z $STATEMNT ]; then #btw, uri style might have left future options other than nfs open, will u se // to detect uri in the future I guess SNAPSHOTSERVER=${STATEMNT%:*} SNAPSHOTROOT=${STATEMNT#*/} @@ -14,7 +19,8 @@ if [ ! -z $STATEMNT ]; then #btw, uri style might have left future options other SNAPSHOTSERVER= fi fi - +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "Executing xcat-prepivot to set up statelite..." echo Setting up Statelite mkdir -p $NEWROOT @@ -25,15 +31,18 @@ MAXTRIES=7 ITER=0 if [ ! -e "$NEWROOT/$RWDIR" ]; then echo "" - echo "This NFS root directory doesn't have a /$RWDIR directory for me to mount a rw filesystem. You'd better create it... " + msg="This NFS root directory doesn't have a /$RWDIR directory for me to mount a rw filesystem. You'd better create it... " + echo "$msg" echo "" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh fi if [ ! -e "$NEWROOT/etc/init.d/statelite" ]; then echo "" - echo "$NEWROOT/etc/init.d/statelite doesn't exist. Perhaps you didn't create this image with th e -m statelite mode" + msg="$NEWROOT/etc/init.d/statelite doesn't exist. Perhaps you didn't create this image with th e -m statelite mode" echo "" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh fi @@ -57,15 +66,19 @@ if [ ! -z $SNAPSHOTSERVER ]; then while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Possible problems: + msg="Your are dead, rpower $ME boot to play again. + Possible problems: 1. $SNAPSHOTSERVER is not exporting $SNAPSHOTROOT ? 2. Is DNS set up? Maybe that's why I can't mount $SNAPSHOTSERVER." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh exit fi RS= $(( $RANDOM % 20 )) - echo "Trying again in $RS seconds..." + msg="Trying again in $RS seconds..." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" sleep $RS done @@ -76,8 +89,10 @@ if [ ! -z $SNAPSHOTSERVER ]; then while ! umount -l $NEWROOT/$RWDIR/persistent; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Cannot umount $NEWROOT/$RWDIR/persistent." + msg="Your are dead, rpower $ME boot to play again. + Cannot umount $NEWROOT/$RWDIR/persistent." + echo "$msg" + logger $SYSLOGHOST -t $log_label -p local4.error "$msg" /bin/sh exit fi @@ -91,8 +106,10 @@ if [ ! -z $SNAPSHOTSERVER ]; then while ! mount $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME $NEWROOT/$RWDIR/persistent -o $MNT_OPTIONS; do ITER=$(( ITER + 1 )) if [ "$ITER" == "$MAXTRIES" ]; then - echo "Your are dead, rpower $ME boot to play again." - echo "Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + msg="Your are dead, rpower $ME boot to play again. + Possible problems: cannot mount to $SNAPSHOTSERVER:/$SNAPSHOTROOT/$ME." + echo $msg + logger $SYSLOGHOST -t $log_label -p local4.info "$msg" /bin/sh exit fi @@ -103,8 +120,10 @@ if [ ! -z $SNAPSHOTSERVER ]; then fi # TODO: handle the dhclient/resolv.conf/ntp, etc -echo "Get to enable localdisk" +logger $SYSLOGHOST -t $log_label -p local4.info "Enabling localdisk ..." +echo "Enable localdisk ..." $NEWROOT/etc/init.d/localdisk +logger $SYSLOGHOST -t $log_label -p local4.info "Preparing mount points ..." $NEWROOT/etc/init.d/statelite READONLY=yes export READONLY @@ -175,3 +194,4 @@ fi echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/xcat.sh # force udevsettle to break > $hookdir/initqueue/work +logger $SYSLOGHOST -t $log_label -p local4.info "Exit xcat-prepivot" diff --git a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot index ceb6bbd8d..7414e5b7d 100755 --- a/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot +++ b/xCAT-server/share/xcat/netboot/sles/dracut_033/xcatroot @@ -1,11 +1,12 @@ #!/bin/sh - +log_label="xcat.deployment" NEWROOT=$3 RWDIR=.statelite -XCATMASTER=$XCAT . /lib/dracut-lib.sh +XCAT="$(getarg XCAT=)" +XCATMASTER=$XCAT rootlimit="$(getarg rootlimit=)" @@ -19,25 +20,27 @@ XCATIPORT="3002" fi xcatdebugmode="$(getarg xcatdebugmode=)" +[ "$xcatdebugmode" = "1" -o "$xcatdebugmode" = "2" ] && SYSLOGHOST="" || SYSLOGHOST="-n $MASTER" +logger $SYSLOGHOST -t $log_label -p local4.info "=============deployment starting====================" +logger $SYSLOGHOST -t $log_label -p local4.info "Executing xcatroot to prepare for netbooting (dracut_033)..." -[ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "running xcatroot...." - -[ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "MASTER=$MASTER XCATIPORT=$XCATIPORT" +[ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "MASTER=$MASTER XCATIPORT=$XCATIPORT" if [ $NODESTATUS -ne 0 ];then -[ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "nodestatus: netbooting,reporting..." -/tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" + logger $SYSLOGHOST -t $log_label -p local4.info "Sending request to $MASTER:$XCATIPORT for changing status to netbooting..." + /tmp/updateflag $MASTER $XCATIPORT "installstatus netbooting" fi if [ ! -z "$imgurl" ]; then if [ xhttp = x${imgurl%%:*} ]; then + logger $SYSLOGHOST -t $log_label -p local4.info "Downloading rootfs image from $imgurl..." NFS=0 FILENAME=${imgurl##*/} while [ ! -r "$FILENAME" ]; do - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "downloading $imgurl...." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "downloading $imgurl...." echo Getting $imgurl... if ! wget -nv $imgurl; then - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "downloading $imgurl failed,retrying...." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "downloading $imgurl failed,retrying...." rm -f $FILENAME sleep 27 fi @@ -68,7 +71,7 @@ if [ -r /rootimg.sfs ]; then mount --move /ro $NEWROOT/ro mount --move /rw $NEWROOT/rw elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "rootimg downloaded,setting up RAM-root tmpfs...." + logger $SYSLOGHOST -t $log_label -p local4.info "Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]..." echo Setting up RAM-root tmpfs. if [ -z $rootlimit ];then mount -t tmpfs -o mode=755 rootfs $NEWROOT @@ -77,7 +80,7 @@ elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then fi cd $NEWROOT - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "Extracting root filesystem:" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "Extracting root filesystem:" echo -n "Extracting root filesystem:" if [ -r /rootimg.cpio.gz ]; then if [ -x /bin/cpio ]; then @@ -93,10 +96,10 @@ elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then fi fi $NEWROOT/etc/init.d/localdisk - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "Done...." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "Done...." echo Done elif [ -r /rootimg.tar.gz ] || [ -r /rootimg.tar.xz ]; then - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "rootimg downloaded,setting up RAM-root tmpfs...." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "rootimg downloaded,setting up RAM-root tmpfs...." echo Setting up RAM-root tmpfs. if [ -z $rootlimit ];then mount -t tmpfs -o mode=755 rootfs $NEWROOT @@ -105,7 +108,7 @@ elif [ -r /rootimg.tar.gz ] || [ -r /rootimg.tar.xz ]; then fi cd $NEWROOT - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "Extracting root filesystem:" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "Extracting root filesystem:" echo -n "Extracting root filesystem:" if [ -r /rootimg.tar.gz ]; then tar --selinux --xattrs-include='*' -zxf /rootimg.tar.gz @@ -119,7 +122,7 @@ elif [ -r /rootimg.tar.gz ] || [ -r /rootimg.tar.xz ]; then fi fi $NEWROOT/etc/init.d/localdisk - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "Done...." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "Done...." echo Done elif [ -r /rootimg-statelite.gz ]; then echo Setting up RAM-root tmpfs for statelite mode. @@ -244,18 +247,18 @@ elif [ -r /rootimg-statelite.gz ]; then mount -n --bind /sys $NEWROOT/sys else - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "Failed to download image, panicing in 5..." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "Failed to download image, panicing in 5..." echo -n Failed to download image, panicing in 5... for i in 4 3 2 1 0; do /bin/sleep 1 - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "$i..." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "$i..." echo -n $i... done - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "You're dead. rpower nodename reset to play again." - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "* Did you packimage with -m cpio, -m squashfs, or -m nfs?" - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "* If using -m squashfs did you include aufs.ko with geninitrd? e.g.: -n tg3,squashfs,aufs,loop" - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "If using -m nfs did you export NFS and sync rootimg? And did you include the aufs and nfs modules in the proper order: e.g.: -n tg3,aufs,loop,sunrpc,lockd,nfs_acl,nfs" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "You're dead. rpower nodename reset to play again." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "* Did you packimage with -m cpio, -m squashfs, or -m nfs?" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "* If using -m squashfs did you include aufs.ko with geninitrd? e.g.: -n tg3,squashfs,aufs,loop" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "If using -m nfs did you export NFS and sync rootimg? And did you include the aufs and nfs modules in the proper order: e.g.: -n tg3,aufs,loop,sunrpc,lockd,nfs_acl,nfs" echo echo "You're dead. rpower nodename reset to play again. @@ -296,7 +299,7 @@ if [ -z $STATEMNT ]; then netif=${lf#*.} netif=${netif%.*} cp $lf "$NEWROOT/var/lib/dhclient/dhclient-$netif.leases" - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "saving $NEWROOT/var/lib/dhclient/dhclient-$netif.leases" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "saving $NEWROOT/var/lib/dhclient/dhclient-$netif.leases" done if [ ! -z "$ifname" ]; then @@ -312,10 +315,10 @@ if [ -z $STATEMNT ]; then if [ ! -z "$MACX" ] && [ ! -z "$ETHX" ]; then if [ ! -e $NEWROOT/etc/sysconfig/network/ifcfg-$ETHX ]; then - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "creating $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "creating $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX" touch $NEWROOT/etc/sysconfig/network/ifcfg-$ETHX fi - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "writing $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX: DEVICE=$ETHX;BOOTPROTO=dhcp;HWADDR=$MACX;ONBOOT=yes" + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "writing $NEWROOT/etc/sysconfig/network-scripts/ifcfg-$ETHX: DEVICE=$ETHX;BOOTPROTO=dhcp;HWADDR=$MACX;ONBOOT=yes" echo "DEVICE=$ETHX" > $NEWROOT/etc/sysconfig/network/ifcfg-$ETHX echo "BOOTPROTO=dhcp" >> $NEWROOT/etc/sysconfig/network/ifcfg-$ETHX echo "HWADDR=$MACX" >> $NEWROOT/etc/sysconfig/network/ifcfg-$ETHX @@ -323,18 +326,18 @@ if [ -z $STATEMNT ]; then fi fi -[ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "saving $NEWROOT/etc/resolv.conf" +[ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "saving $NEWROOT/etc/resolv.conf" cp /etc/resolv.conf "$NEWROOT/etc/" if [ -d "$NEWROOT/etc/sysconfig" -a ! -e "$NEWROOT/etc/sysconfig/selinux" ]; then - [ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "disable selinux ..." + [ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "disable selinux ..." echo "SELINUX=disabled" >> "$NEWROOT/etc/sysconfig/selinux" fi -[ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "setting hostname..." +[ "$xcatdebugmode" > "0" ] && logger -t $log_label -p debug "setting hostname..." echo `hostname` > $NEWROOT/etc/hostname -[ "$xcatdebugmode" > "0" ] && logger -t xcat -p debug "exiting xcatroot..." +logger $SYSLOGHOST -t $log_label -p debug "Exiting xcatroot..." # inject new exit_if_exists echo 'settle_exit_if_exists="--exit-if-exists=/dev/root"; rm "$job"' > $hookdir/initqueue/xcat.sh diff --git a/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.pkglist b/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.pkglist index 1eb4bf416..194157acc 100644 --- a/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.pkglist +++ b/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.pkglist @@ -6,7 +6,6 @@ linux-image-generic-lts-xenial openssh-server openssh-client wget -vim ntp rsyslog rsync diff --git a/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.ppc64el.pkglist b/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.ppc64el.pkglist index df556b887..5bf569fd1 100644 --- a/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.ppc64el.pkglist +++ b/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.ppc64el.pkglist @@ -7,7 +7,6 @@ linux-image-generic openssh-server openssh-client wget -vim ntp ntpdate rsync diff --git a/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.x86_64.pkglist b/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.x86_64.pkglist index df556b887..5bf569fd1 100644 --- a/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.x86_64.pkglist +++ b/xCAT-server/share/xcat/netboot/ubuntu/compute.ubuntu16.04.x86_64.pkglist @@ -7,7 +7,6 @@ linux-image-generic openssh-server openssh-client wget -vim ntp ntpdate rsync diff --git a/xCAT-server/share/xcat/netboot/ubuntu/genimage b/xCAT-server/share/xcat/netboot/ubuntu/genimage index 0890cfffa..f6086b7a5 100755 --- a/xCAT-server/share/xcat/netboot/ubuntu/genimage +++ b/xCAT-server/share/xcat/netboot/ubuntu/genimage @@ -201,7 +201,7 @@ if ($netdriver) { if ($arch eq 'x86' or $arch eq 'x86_64') { @ndrivers = qw/tg3 bnx2 bnx2x e1000 e1000e igb mlx4_en virtio_net/; } elsif ($arch eq 'ppc64el') { - @ndrivers = qw/bnx2 bnx2x e1000 e1000e igb mlx_en mlx4_en virtio_net/; + @ndrivers = qw/bnx2 bnx2x e1000 e1000e igb ibmveth ehea mlx_en mlx4_en virtio_net/; } elsif ($arch eq 'ppc64') { @ndrivers = qw/e1000 e1000e igb ibmveth ehea/; } elsif ($arch eq 's390x') { @@ -235,6 +235,11 @@ unless ($onlyinitrd) { my @pkgdir_internet; #Put all the http mirror in ths array, but only the first http mirror which will be used to create bootstrap my @pkgdir_local; #Put all directories except first in this array my $masternode = xCAT::TableUtils->get_site_Master(); + my $httpport="80"; + my @hports=xCAT::TableUtils->get_site_attribute("httpport"); + if ($hports[0]){ + $httpport=$hports[0]; + } $srcdir = undef; foreach my $dir (@srcdirs) { if ($dir =~ /^http.*/) { @@ -246,7 +251,7 @@ unless ($onlyinitrd) { $srcdir = $dir; find(\&isaptdir, <$dir/>); } else { #set other directory to http url - my $osuurl = "http://$masternode$dir ./"; + my $osuurl = "http://$masternode:$httpport$dir ./"; push @pkgdir_local, $osuurl; } } @@ -347,7 +352,7 @@ unless ($onlyinitrd) { open($aptconfig, ">", "$rootimg_dir/etc/apt/sources.list"); if ($srcdir) { - print $aptconfig "deb http://$masternode$srcdir $dist main\n"; + print $aptconfig "deb http://$masternode:$httpport$srcdir $dist main\n"; } foreach (@pkgdir_internet) { @@ -1023,7 +1028,7 @@ sub mkinitrd { NEWROOT="/sysroot" SHELL="/bin/sh" RWDIR=".statelite" - +log_label="xcat.deployment" # Define some colors RESET="\033[0m" @@ -1229,17 +1234,16 @@ ifconfig lo up XCATMASTER=`echo \$XCATSERVER|awk -F: '{print \$1}'` -if [ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]; then - PORT="514" - syslogd -R \$XCATMASTER:\$PORT -fi - -([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t xcat -p debug "running init script..." -([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t xcat -p debug "MASTER=\$XCATMASTER XCATIPORT=\$XCATIPORT" +PORT="514" +syslogd -R \$XCATMASTER:\$PORT +MASTER=`echo \$XCATMASTER |awk -F: '{print \$1}'` +logger -t \$log_label -p info "=============deployment starting====================" +logger -t \$log_label -p info "Executing init to prepare for netbooting" +([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t \$log_label -p debug "MASTER=\$XCATMASTER XCATIPORT=\$XCATIPORT" #update nodelist.nodestatus to "netbooting" if [ \$NODESTATUS != 'n' ]; then - ([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t xcat -p debug "nodestatus: netbooting,reporting..." + logger -t \$log_label -p info "Sending request to \$XCATMASTER:\$XCATIPORT for changing status to netbooting..." /tmp/updateflag \$XCATMASTER \$XCATIPORT "installstatus netbooting" fi @@ -1256,10 +1260,10 @@ for i in `cat /proc/cmdline`; do MAXTRIES=5 ITER=0 while [ ! -r "\$FILENAME" ]; do - ([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t xcat -p debug "downloading \$VALUE..." + logger -t \$log_label -p info "Downloading rootfs image from \$VALUE..." echo Getting \$VALUE... if ! /usr/bin/wget \$VALUE; then - ([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t xcat -p debug "downloading \$VALUE failed,retrying..." + ([ "\$xcatdebugmode" = "1" ] || [ "\$xcatdebugmode" = "2" ]) && logger -t \$log_label -p debug "downloading \$VALUE failed,retrying..." ST=`expr \$RANDOM % 5` sleep \$ST rm -f \$FILENAME @@ -1338,6 +1342,7 @@ if [ "\$STATELITE" = "1" ]; then # for statelite mode on top of the ramdisk EOMS print $inifile " if [ -r /rootimg-statelite.gz ]; then\n"; + print $inifile " logger -t \$log_label -p info \"Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]...\"\n"; print $inifile " echo Setting up RAM-root tmpfs.\n"; if ($rootlimit) { print $inifile " mount -o \"size=$rootlimit,mode=755\" -t tmpfs rootfs \$NEWROOT \n"; @@ -1463,7 +1468,7 @@ if [ -r /rootimg.sfs ]; then mount --move /rw \$NEWROOT/rw EOMS print $inifile "elif [ -r /rootimg.cpio.gz ] || [ -r /rootimg.cpio.xz ]; then\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"rootimg downloaded,setting up RAM-root tmpfs...\"\n"; + print $inifile " logger -t \$log_label -p info \"Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]...\"\n"; print $inifile " echo Setting up RAM-root tmpfs.\n"; if ($rootlimit) { print $inifile " mount -o \"size=$rootlimit,mode=755\" -t tmpfs rootfs \$NEWROOT\n"; @@ -1471,7 +1476,7 @@ EOMS print $inifile " mount -o mode=755 -t tmpfs rootfs \$NEWROOT\n"; } print $inifile " cd \$NEWROOT\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"Extracting root filesystem:\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"Extracting root filesystem:\"\n"; print $inifile " echo -n \"Extracting root filesystem:\"\n"; print $inifile " if [ -r /rootimg.cpio.gz ]; then\n"; print $inifile " if [ -x /bin/cpio ]; then\n"; @@ -1486,10 +1491,9 @@ EOMS print $inifile " xz -cd /rootimg.cpio.xz |cpio -idum\n"; print $inifile " fi\n"; print $inifile " fi\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"Done...\"\n"; print $inifile " echo Done\n"; print $inifile "elif [ -r /rootimg.tar.gz ] || [ -r /rootimg.tar.xz ]; then\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"rootimg downloaded,setting up RAM-root tmpfs...\"\n"; + print $inifile " logger -t \$log_label -p info \"Setting up RAM-root tmpfs on downloaded rootimg.cpio.[gz/xz]...\"\n"; print $inifile " echo Setting up RAM-root tmpfs.\n"; if ($rootlimit) { @@ -1498,27 +1502,26 @@ EOMS print $inifile " mount -o mode=755 -t tmpfs rootfs \$NEWROOT\n"; } print $inifile " cd \$NEWROOT\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"Extracting root filesystem:\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"Extracting root filesystem:\"\n"; print $inifile " echo -n \"Extracting root filesystem:\"\n"; print $inifile " if [ -r /rootimg.tar.gz ]; then\n"; print $inifile " /bin/tar --selinux --xattrs --xattrs-include='*' -zxf /rootimg.tar.gz\n"; print $inifile " elif [ -r /rootimg.tar.xz ]; then\n"; print $inifile " /bin/tar --selinux --xattrs --xattrs-include='*' -Jxf /rootimg.tar.xz\n"; print $inifile " fi\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"Done...\"\n"; print $inifile " echo Done\n"; print $inifile "else\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"Failed to download image, panicing in 5...\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"Failed to download image, panicing in 5...\"\n"; print $inifile " echo -n Failed to download image, panicing in 5...\n"; print $inifile " for i in 4 3 2 1 0; do\n"; print $inifile " /bin/sleep 5\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"\$i...\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"\$i...\"\n"; print $inifile " echo -n \$i...\n"; print $inifile " done\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"You're dead. rpower nodename reset to play again.\"\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"* Did you packimage with -m cpio, -m squashfs, or -m nfs?\"\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"* If using -m squashfs did you include aufs.ko with geninitrd? e.g.: -n tg3,squashfs,aufs,loop\"\n"; - print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t xcat -p debug \"If using -m nfs did you export NFS and sync rootimg? And did you include the aufs and nfs modules in the proper order: e.g.: -n tg3,aufs,loop,sunrpc,lockd,nfs_acl,nfs\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"You're dead. rpower nodename reset to play again.\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"* Did you packimage with -m cpio, -m squashfs, or -m nfs?\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"* If using -m squashfs did you include aufs.ko with geninitrd? e.g.: -n tg3,squashfs,aufs,loop\"\n"; + print $inifile " ([ \"\$xcatdebugmode\" = \"1\" ] || [ \"\$xcatdebugmode\" = \"2\" ]) && logger -t \$log_label -p debug \"If using -m nfs did you export NFS and sync rootimg? And did you include the aufs and nfs modules in the proper order: e.g.: -n tg3,aufs,loop,sunrpc,lockd,nfs_acl,nfs\"\n"; print $inifile " echo\n"; print $inifile < +# - Revised debug log +# - xCAT uninstallation # function usage() @@ -50,6 +53,9 @@ function usage() and xcat-dep packages from the repository update updates installed xcat-core packages to the latest version from the repository + uninstall removes xCAT from this system + completely uninstall removes xCAT from this system and cleans up + all the traces xCAT made Examples: ${script} @@ -62,9 +68,11 @@ function usage() --xcat-dep=/path/to/xcat-dep.tar.bz2 install ${script} --xcat-core=http://xcat.org/path/to/xcat-core.tar.bz2 \\ --xcat-dep=http://xcat.org/path/to/xcat-dep.tar.bz2 install + ${script} uninstall + ${script} completely uninstall - xCAT (Extreme Cloud/Cluster Administration Toolkit): - Full documentation at: + xCAT: http://xcat.org/ + Full documentation at: http://xcat-docs.readthedocs.io/en/stable EOF } @@ -96,16 +104,13 @@ function verbose_usage() -h, --help display a simply version of help and exit --long-help display this help and exit EOF - println 12 + println 16 while read -r ; do echo "${REPLY}" ; done <<-EOF check check the version of the installed packages of xCAT and packages in the repository + smoke test preform basic tests of the xCAT installation EOF - println 2 - while read -r ; do echo "${REPLY}" ; done <<-EOF - smoke-test preform basic tests of the xCAT installation - EOF - println 10 + println 11 while read -r ; do echo "${REPLY}" ; done <<-EOF ${script} --xcat-core=/path/to/xcat-core.repo install ${script} --xcat-core=/path/to/xcat-core install @@ -122,6 +127,11 @@ function verbose_usage() ${script} --xcat-core=/path/to/xcat-core \\ --xcat-dep=/path/to/xcat-dep install EOF + println 4 + while read -r ; do echo "${REPLY}" ; done <<-EOF + ${script} check + ${script} smoke test + EOF println 999999 # Print out all the rest of lines exec 42<&- @@ -159,6 +169,14 @@ GO_XCAT_INSTALL_LIST=(perl-xcat xcat xcat-buildkit xcat-client xcat-genesis-scripts-amd64 xcat-genesis-scripts-ppc64 xcat-server conserver-xcat elilo-xcat grub2-xcat ipmitool-xcat syslinux-xcat xcat-genesis-base-amd64 xcat-genesis-base-ppc64 xnba-undi) +# The package list of all the packages should be installed +GO_XCAT_UNINSTALL_LIST=("${GO_XCAT_INSTALL_LIST[@]}" + goconserver xCAT-SoftLayer xCAT-confluent xCAT-csm xCAT-genesis-builder + xCAT-openbmc-py xCAT-probe xCAT-test xCAT-vlan xCATsn xCAT-UI-deps) +# For Debian/Ubuntu, it will need a sight different package list +type dpkg >/dev/null 2>&1 && +GO_XCAT_UNINSTALL_LIST=("${GO_XCAT_INSTALL_LIST[@]}" + goconserver xcat-confluent xcat-probe xcat-test xcat-vlan xcatsn) PATH="/usr/sbin:/usr/bin:/sbin:/bin" export PATH @@ -295,8 +313,10 @@ function internal_cleanup() # function custom_setup() { - check_exec_or_exit awk cat comm grep printf sleep tee + check_exec_or_exit awk cat comm grep printf sleep check_root_or_exit + + debug_log_setup } # @@ -304,7 +324,7 @@ function custom_setup() # function custom_cleanup() { - : + debug_log_cleanup } # @@ -319,6 +339,109 @@ function cleanup_n_exec() exec "$@" } +function debug_log_setup() +{ + local script="${0##*/}" + local -a argv=() + + set -- "${BASH_ARGV[@]}" + while [ "$#" -gt "0" ] + do + argv=("$1" "${argv[@]}") + shift + done + + GO_XCAT_DEBUG_LOG="${TMP_DIR}/go-xcat.log" + GO_XCAT_LOG="/tmp/go-xcat.log" + # Global debug log file descriptor + : >"${GO_XCAT_DEBUG_LOG}" + ln -f "${GO_XCAT_DEBUG_LOG}" "${GO_XCAT_LOG}" + + # Log all the command line arguments + { + echo " ." + echo " ." + echo " . :." + echo " .:" + echo " ::." + echo " :.::" + echo " ::::." + echo " :::::" + echo " :::::" + echo " :::::" + echo " :::::" + echo " :::::" + echo "..:::::.." + echo " ':::::'" + echo " ':'" + echo -n "|->" + printf " %q" "${script}" "${argv[@]}" + echo + echo + } | debug_logger debug +} + +function debug_log_cleanup() +{ + local rc="$?" + local script="${0##*/}" + + if [[ -n "${GO_XCAT_DEBUG_LOG}" && -n "${GO_XCAT_LOG}" ]] + then + { + printf "\n|-> %-24s ... exited with %s\n" "${script}" "${rc}" + echo " ......" + echo " :::::" + echo " ::::::." + echo " ' ':::::." + echo " ':::::." + echo " '::" + echo " '" + } | debug_logger debug + [[ "${rc}" -eq "0" ]] && rm -f "${GO_XCAT_LOG}" + fi +} + +function debug_logger() +{ + local level="$1" + + while read -r + do + case "${level}" in + "debug") + ;; + *) + echo "${REPLY}" + ;; + esac + echo "${REPLY}" >&2 + done 2>>"${GO_XCAT_DEBUG_LOG}" +} + +function debug_trace() +{ + local rc="$?" + + # Log the function name and all the command line arguments + { + echo + echo -n ".->" + printf " %q" "$@" + echo + echo "'========" + } | debug_logger debug + + # BUG - The command "$@" will be run in a subshell + "$@" 2>&1 | debug_logger + rc="${PIPESTATUS[0]}" + + printf ".========\n'-> %-24s ... returned with %s\n" "${1}" "${rc}" | + debug_logger debug + + return "${rc}" +} + internal_setup # Check operating system @@ -415,7 +538,7 @@ function check_package_version_rpm() else echo "${ver}" fi - done < <(rpm -q --qf '%{version}-%{release}\n' "$@" 2>/dev/null) + done < <(LC_ALL="C" rpm -q --qf '%{version}-%{release}\n' "$@" 2>/dev/null) return 0 } @@ -811,6 +934,31 @@ function add_repo_by_file_yum() cp "${tmp}" "/etc/yum.repos.d/${repo_id}.repo" } +# Dirty workaround on SLES11 SP4 +# For SLES11, set gpgcheck=0 +# +# $1 repo file +function github_issue_5503_workaround2() +{ + [[ "${GO_XCAT_LINUX_DISTRO}" = "sles" ]] || return 0 + [[ "${GO_XCAT_LINUX_VERSION}" =~ ^11(\.[0-4]){0,1}$ ]] || return 0 + local repo_file="$1" + local tmp="${TMP_DIR}/tmp_repo_file_${repo_id}.repo.$$" + cp "${repo_file}" "${tmp}" + exit_if_bad "$?" "Copy file failed \`${repo_file}' -> \`${tmp}'" + while read -r + do + case "${REPLY}" in + "gpgcheck=1") + echo "gpgcheck=0" + ;; + *) + echo "${REPLY}" + ;; + esac + done <"${tmp}" >"${repo_file}" +} + # $1 repo file # $2 repo id function add_repo_by_file_zypper() @@ -831,6 +979,8 @@ function add_repo_by_file_zypper() echo "[${repo_id}]" grep -v '^\[' "${repo_file}" } >"${tmp}" + # For SLES11, set gpgcheck=0 + github_issue_5503_workaround2 "${tmp}" remove_repo_zypper "${repo_id}" && zypper addrepo "${tmp}" >/dev/null 2>&1 } @@ -894,7 +1044,7 @@ function extract_archive() gzip -d -c "${archive}" | tar -t -f - | grep -v "^${repo_id}/" [[ "${PIPESTATUS[0]}" -eq 0 && "${PIPESTATUS[1]}" -eq 0 && "${PIPESTATUS[2]}" -eq 1 ]] - exit_if_bad "$?" "${archive}: bad gzipped tarball" + exit_if_bad "$?" "${archive}: bad gzipped tarball" || return 1 rm -rf "${install_path}/${repo_id}" gzip -d -c "${archive}" | ( cd "${install_path}" && tar -x -f - ) ;; @@ -960,9 +1110,10 @@ function add_repo_by_url_yum_or_zypper() while read -r ; do echo "${REPLY}" ; done >"${tmp}" <<-EOF [${repo_id}] name=${repo_id} - baseurl=${url} + baseurl=${url%/} enabled=1 - gpgcheck=0 + gpgcheck=1 + gpgkey=${url%/}/repodata/repomd.xml.key EOF add_repo_by_file "${tmp}" "${repo_id}" return "$?" @@ -995,10 +1146,19 @@ function add_repo_by_url_yum_or_zypper() while read -r ; do echo "${REPLY}" ; done >"${tmp}" <<-EOF [${repo_id}] name=${repo_id} - baseurl=file://${url} + baseurl=file://${url%/} enabled=1 - gpgcheck=0 EOF + if [ -f "${url%/}/repodata/repomd.xml.asc" ] + then + echo "gpgcheck=1" >>"${tmp}" + else + echo "gpgcheck=0" >>"${tmp}" + fi + if [ -f "${url%/}/repodata/repomd.xml.key" ] + then + echo "gpgkey=file://${url%/}/repodata/repomd.xml.key" >>"${tmp}" + fi add_repo_by_file "${tmp}" "${repo_id}" return "$?" fi @@ -1057,7 +1217,8 @@ function add_repo_by_url_apt() [[ "${url:0:1}" = "/" ]] || url="${PWD}/${url}" # directory tmp="${TMP_DIR}/tmp_repo.list" - echo "deb [arch=$(dpkg --print-architecture)] file://${url} ${codename} main" >"${tmp}" + echo "deb [$([ ! -f "${url}/dists/${codename}/Release.gpg" ] && + echo "allow-insecure=yes ")arch=$(dpkg --print-architecture)] file://${url} ${codename} main" >"${tmp}" add_repo_by_file_apt "${tmp}" "${repo_id}" return "$?" fi @@ -1351,6 +1512,72 @@ function install_packages() function_dispatch "${FUNCNAME}" "$@" } +function remove_package_dnf() +{ + type dnf >/dev/null 2>&1 || return 255 + local -a yes=() + [[ "$1" = "-y" ]] && yes=("-y") && shift + dnf --nogpgcheck "${yes[@]}" remove "$@" +} + +function remove_package_yum() +{ + type yum >/dev/null 2>&1 || return 255 + local -a yes=() + [[ "$1" = "-y" ]] && yes=("-y") && shift + yum --nogpgcheck "${yes[@]}" remove "$@" +} + +function remove_package_zypper() +{ + type zypper >/dev/null 2>&1 || return 255 + local -a yes=() + local ret="" + [[ "$1" = "-y" ]] && yes=("-n") && shift + zypper --no-gpg-checks "${yes[@]}" remove --force-resolution "$@" + ret="$?" + case "${ret}" in + "104") + # ZYPPER_EXIT_INF_CAP_NOT_FOUND + ret="0" + ;; + esac + return "${ret}" +} + +function remove_package_apt() +{ + type apt-get >/dev/null 2>&1 || return 255 + local -a yes=() + [[ "$1" = "-y" ]] && yes=("-y") && shift + apt-get --allow-unauthenticated remove "${yes[@]}" "$@" +} + +function remove_package() +{ + function_dispatch "${FUNCNAME}" "$@" +} + +# $1 -y +function purge_package_apt() +{ + type apt-get >/dev/null 2>&1 || return 255 + local -a yes=() + [[ "$1" = "-y" ]] && yes=("-y") && shift + apt-get --allow-unauthenticated purge "${yes[@]}" "$@" +} + +function purge_package_others() +{ + remove_package "$@" +} + +# $1 -y +function purge_package() +{ + function_dispatch "${FUNCNAME}" "$@" +} + # $1 -y function install_xcat() { @@ -1381,12 +1608,81 @@ function update_xcat() install_packages "$@" "${install_list[@]}" } +# $1 -y +function uninstall_xcat() +{ + remove_package "$@" "${GO_XCAT_UNINSTALL_LIST[@]}" +} + +function kill_xcat() +{ + local f="" + + for f in /var/run/xcat{d,/{main,udp,install,cmdlog}service}.pid + do + [[ -f "${f}" ]] && kill -TERM "$(<"${f}")" 2>/dev/null + done + + sleep 1 + + for f in /var/run/xcat{d,/{main,udp,install,cmdlog}service}.pid + do + [[ -f "${f}" ]] && kill -KILL "$(<"${f}")" 2>/dev/null + done + + return 0 +} + +# Remove all xCAT related directories and files +function trash_xcat() +{ + rm -f /etc/init.d/xcatpostinit1 + rm -f /etc/systemd/system/xcatpostinit1.service + rm -f /etc/systemd/system/multi-user.target.wants/xcatd.service + rm -f /etc/tftpmapfile4xcat.conf + rm -f /etc/profile.d/xcat.{c,}sh + rm -rf /etc/xcat + rm -rf /etc/xcatdockerca + rm -f /etc/apt/sources.list.d/xcat-{core,dep}.list + rm -f /etc/yum.repos.d/xCAT-{core,dep}.repo{,.nouse} + rm -f /etc/yum.repos.d/xcat-{core,dep}.repo + rm -f /etc/zypp/repos.d/xCAT-{core,dep}.repo{,.nouse} + rm -f /etc/zypp/repos.d/xcat-{core,dep}.repo + rm -rf /install/postscripts + rm -rf /opt/xcat + rm -rf /root/.xcat + rm -rf /root/xcat-dbback + rm -rf /tftpboot/xcat + rm -rf /var/lock/xcat + rm -rf /var/log/xcat + rm -rf /xcatpost + # For goconserver + rm -rf /etc/goconserver + rm -rf /var/lib/goconserver + rm -rf /var/log/goconserver + + return 0 +} + +function uninstall_xcat_completely() +{ + purge_package -y "${GO_XCAT_UNINSTALL_LIST[@]}" + + kill_xcat + trash_xcat + + return 0 +} + function list_xcat_packages() { GO_XCAT_CORE_PACKAGE_LIST=($(get_package_list xcat-core)) - exit_if_bad "$?" "Failed to get package list from repository \`xcat-core'." GO_XCAT_DEP_PACKAGE_LIST=($(get_package_list xcat-dep)) - exit_if_bad "$?" "Failed to get package list from repository \`xcat-dep'." + + [ "${#GO_XCAT_CORE_PACKAGE_LIST[@]}" -gt "0" ] + warn_if_bad "$?" "Failed to get package list from repository \`xcat-core'." || return 1 + [ "${#GO_XCAT_DEP_PACKAGE_LIST[@]}" -gt "0" ] + warn_if_bad "$?" "Failed to get package list from repository \`xcat-dep'." || return 1 local -i cols="$(type tput >/dev/null 2>&1 && tput cols)" [[ "${cols}" -lt 80 ]] && cols=80 @@ -1438,12 +1734,61 @@ function list_xcat_packages() 42< <(check_repo_version "${GO_XCAT_DEP_PACKAGE_LIST[@]}") } +# +# ask_to_continue Ask to continue +# +# Exits (not returns) if get negative reply from end user. +# This function is intend to read from STDIN. +# +# $1 -y +# $2 Prompt +# +function ask_to_continue() +{ + [[ "$1" = "-y" ]] && return 0 + shift + local prompt="$1" + + echo + echo "${prompt}" + echo | debug_logger debug + echo ".-> ${prompt}" | debug_logger debug + while : + do + read -r -p "Continue? [y/n] " + echo "'-> Continue? [y/n] ... ${REPLY}" | debug_logger debug + case "${REPLY}" in + "Y"*|"y"*) + break + ;; + "N"*|"n"*) + echo "Good-bye!" + exit 0 + ;; + *) + echo "Invalid response!" + ;; + esac + done + + return 0 +} + # Test case 000 # Check if all the xcat-core packages are on the same version function test_case_000_version() { local ver="" local -i ret=0 + + # Call function list_xcat_packages to fill up global array + # GO_XCAT_CORE_PACKAGE_LIST + # And the output will be logged into the debug log. + # + # Missing command `repoquery' may cause list_xcat_packages fail, + # in that case, just skip this test. + list_xcat_packages + while read -r do [[ "${REPLY}" = "(not installed)" ]] && continue @@ -1451,6 +1796,10 @@ function test_case_000_version() [[ "${ver}" = "${REPLY%%-*}" ]] (( ret += $? )) done < <(check_package_version "${GO_XCAT_CORE_PACKAGE_LIST[@]}") + + [ "${ret}" -ne "0" ] && echo + warn_if_bad "${ret}" "xCAT packages version mismatch" + return "${ret}" } @@ -1460,17 +1809,17 @@ function test_case_001_xcatd() { local f="" local -i ret=0 - for f in /var/run/xcat/{main,install,udp}service.pid + + for f in /var/run/xcat{d,/{main,udp,install,cmdlog}service}.pid do - kill -0 "$(<"${f}")" - (( ret += $? )) - done - for f in /var/run/xcat/cmdlogservice.pid - do - [[ -f "${f}" ]] || continue - kill -0 "$(<"${f}")" + [ -f "${f}" ] + warn_if_bad "$?" "${f}: no such file" || continue + + kill -0 "$(<"${f}")" >/dev/null 2>&1 + warn_if_bad "$?" "Process with an ID $(<${f}) is not running" (( ret += $? )) done + return "${ret}" } @@ -1478,36 +1827,24 @@ function test_case_001_xcatd() # Check if command lsdef can be run function test_case_002_lsdef() { - (source /etc/profile.d/xcat.sh && lsdef) + (source /etc/profile.d/xcat.sh && lsdef) >/dev/null 2>&1 + warn_if_bad "$?" "Attempt of run \`lsdef' failed" } -# Perform basic smoke test -function perform_smoke_test() +# Perform basic smoke testing +function smoke_testing() { local test_case="" local -i ret=0 + for test_case in $(compgen -A function "test_case_") do - "${test_case}" >"${TMP_DIR}/${test_case}.stdout" \ - 2>"${TMP_DIR}/${test_case}.stderr" - ret="$?" - if [[ "${ret}" -ne "0" || -s "${TMP_DIR}/${test_case}.stderr" ]] - then - # Something went wrong - echo "-- 8< -- -- -- -- -- -- -- -- -- -- -- -- -- -- --" - echo "==== ${test_case} failed with exit code ${ret} ====" - echo "-- 8< ${test_case} stdout -- --" - while read -r ; do echo "${REPLY}" ; done \ - <"${TMP_DIR}/${test_case}.stdout" - echo "-- 8< ${test_case} stderr -- --" - while read -r ; do echo "${REPLY}" ; done \ - <"${TMP_DIR}/${test_case}.stderr" - echo "-- 8< -- -- -- -- -- -- -- -- -- -- -- -- -- -- --" - # skip all the remain test cases - return "${ret}" - fi >&2 + debug_trace "${test_case}" + warn_if_bad "$?" "Something went wrong. :'(" || return 1 done - echo "It seems everything went well. :)" + + echo + echo "It seems everything went well. :-)" return 0 } @@ -1559,6 +1896,27 @@ function stop_progress_meters() echo -n "...... " } +# $1 0 (pass) or non-zero (fail). +function boo_boo_if_bad() +{ + local -i rc="$1" + + # Ignore if no problems + [ "${rc}" -eq "0" ] && return 0 + + debug_logger <<-EOF + + Boo-boo + ======= + + Something went wrong. :( + + Please check log file \`${GO_XCAT_LOG}' for more details. + EOF + + exit "${rc}" +} + # # |\/| _.o._ ._ .__ _ .__.._ _ _ _ _ _ |_ _ .__ # | |(_||| | |_)|(_)(_||(_|| | | (_|(_)(/__> | |(/_|(/_ o @@ -1597,17 +1955,13 @@ do "--xcat-dep="*) GO_XCAT_DEP_URL="${1##--xcat-dep=}" ;; - "--xcat-version") + "-x"|"--xcat-version") shift GO_XCAT_VERSION="$1" ;; "--xcat-version="*) GO_XCAT_VERSION="${1##--xcat-version=}" ;; - "-x") - shift - GO_XCAT_VERSION="$1" - ;; "-y"|"--yes") GO_XCAT_YES=("-y") ;; @@ -1621,16 +1975,26 @@ do warn_if_bad "$?" "redundancy action -- \`$1'" exit_if_bad "$?" "Try \`$0 --help' for more information" GO_XCAT_ACTION="$1" + case "$1 $2" in + "completely uninstall") + shift + GO_XCAT_ACTION="away" + ;; + "smoke test") + shift + GO_XCAT_ACTION="smoke test" + ;; + esac ;; esac shift done case "${GO_XCAT_ACTION}" in -"check"|"install"|"update") +"away"|"check"|"install"|"uninstall"|"update") ;; -"smoke-test") - perform_smoke_test +"smoke test") + smoke_testing exit "$?" ;; "") @@ -1641,13 +2005,12 @@ case "${GO_XCAT_ACTION}" in warn_if_bad 1 "invalid action -- \`${GO_XCAT_ACTION}'" exit_if_bad 1 "Try \`$0 --help' for more information" ;; -esac +esac # case "${GO_XCAT_ACTION}" in GO_XCAT_OS="$(check_os)" GO_XCAT_ARCH="$(check_arch)" -while read -r ; do echo "${REPLY}" ; echo "${REPLY}" >&2 - done 2>"${TMP_DIR}/go-xcat.log.000" <&2 - done 2>"${TMP_DIR}/go-xcat.log.001" <&1)" @@ -1716,95 +2130,33 @@ case "${GO_XCAT_ACTION}" in ;; "install"|"update") GO_XCAT_INSTALLER="${GO_XCAT_ACTION}_xcat" - if [[ "${#GO_XCAT_YES[@]}" -eq "0" ]] - then - echo - echo "xCAT is going to be ${GO_XCAT_ACTION/%e/}ed." - while true; do - - read -r -p "Continue? [y/n] " - case "${REPLY}" in - "Y"*|"y"*) - break - ;; - "N"*|"n"*) - echo "Good-bye!" - exit 0 - ;; - *) - echo "Invalid response!" - ;; - esac - done - fi - # Use `-y' here. Since the STDOUT is redirect to tee. + ask_to_continue "${GO_XCAT_YES[0]}" "xCAT is going to be ${GO_XCAT_ACTION/%e/}ed." + # Use `-y' here. Since the STDOUT is redirected. # `yum' does not display the prompt message properly when - # working with tee. - "${GO_XCAT_INSTALLER}" -y \ - > >(tee "${TMP_DIR}/${GO_XCAT_INSTALLER}.stdout") \ - 2> >(tee "${TMP_DIR}/${GO_XCAT_INSTALLER}.stderr" >&2) + # working with redirected I/O. + debug_trace "${GO_XCAT_INSTALLER}" -y RET="$?" - { - # Creating logs - echo "-- 8< -- -- -- -- -- -- -- -- -- -- -- -- -- -- --" - echo "==== ${GO_XCAT_INSTALLER} exited with exit code ${RET} ====" - echo "-- 8< ${GO_XCAT_INSTALLER} stdout -- --" - while read -r ; do echo "${REPLY}" ; done \ - <"${TMP_DIR}/${GO_XCAT_INSTALLER}.stdout" - echo "-- 8< ${GO_XCAT_INSTALLER} stderr -- --" - while read -r ; do echo "${REPLY}" ; done \ - <"${TMP_DIR}/${GO_XCAT_INSTALLER}.stderr" - echo "-- 8< -- -- -- -- -- -- -- -- -- -- -- -- -- -- --" - } >"${TMP_DIR}/go-xcat.log.005" - if [[ "${RET}" -eq "0" && ! -s "${TMP_DIR}/${GO_XCAT_INSTALLER}.stderr" ]] + if [[ "${RET}" -eq "0" ]] then # xCAT has been installed and so far so good - perform_smoke_test >"${TMP_DIR}/perform_smoke_test.stdout" \ - 2>"${TMP_DIR}/perform_smoke_test.stderr" + smoke_testing >/dev/null 2>&1 RET="$?" - if [[ "${RET}" -ne "0" || -s "${TMP_DIR}/perform_smoke_test.stderr" ]] - then - # Smoke test failed - echo "-- 8< -- -- -- -- vv -- -- -- vv -- -- -- -- 8< --" - echo "==== perform_smoke_test failed with exit code ${RET} ====" - echo "-- 8< perform_smoke_test stdout -- --" - while read -r ; do echo "${REPLY}" ; done \ - <"${TMP_DIR}/perform_smoke_test.stdout" - echo "-- 8< perform_smoke_test stderr -- --" - while read -r ; do echo "${REPLY}" ; done \ - <"${TMP_DIR}/perform_smoke_test.stderr" - echo "-- 8< -- -- -- -- ^^ -- -- -- ^^ -- -- -- -- 8< --" - fi - fi >"${TMP_DIR}/go-xcat.log.008" - - if [[ "${RET}" -ne "0" ]] - then - GO_XCAT_LOG="/tmp/go-xcat.log" - cat "${TMP_DIR}/go-xcat.log."* >"${GO_XCAT_LOG}" 2>/dev/null - while read -r ; do echo "${REPLY}" ; done >&2 <<-EOF - - - Boo-boo - ======= - - Something went wrong. :( - - Please check log file \`${GO_XCAT_LOG}' for more details. - EOF - - exit "${RET}" + [ "${RET}" -ne "0" ] && echo + warn_if_bad "${RET}" "xCAT smoke testing failed." fi + boo_boo_if_bad "${RET}" + case "${GO_XCAT_ACTION}" in "install") # Only print out this message on install - while read -r ; do echo "${REPLY}" ; done <<-EOF + debug_logger <<-EOF xCAT has been installed! ======================== - If this is the very first time xCAT has been installed, run the following - commands to set environment variables into your PATH: + If this is the very first time xCAT has been installed, run one of the + following commands to set the environment variables. For sh: source /etc/profile.d/xcat.sh @@ -1814,7 +2166,7 @@ case "${GO_XCAT_ACTION}" in EOF ;; "update") - while read -r ; do echo "${REPLY}" ; done <<-EOF + debug_logger <<-EOF xCAT has been successfully updated! EOF diff --git a/xCAT-server/xCAT-server.spec b/xCAT-server/xCAT-server.spec index e78e44b29..724a002b1 100644 --- a/xCAT-server/xCAT-server.spec +++ b/xCAT-server/xCAT-server.spec @@ -454,7 +454,8 @@ fi %post %ifos linux ln -sf $RPM_INSTALL_PREFIX0/sbin/xcatd /usr/sbin/xcatd - +ln -sf $RPM_INSTALL_PREFIX0/share/xcat/install/sles $RPM_INSTALL_PREFIX0/share/xcat/install/sle +ln -sf $RPM_INSTALL_PREFIX0/share/xcat/netboot/sles $RPM_INSTALL_PREFIX0/share/xcat/netboot/sle if [ "$1" = "1" ]; then #Only if installing for the first time.. if [ -x /usr/lib/systemd/systemd ]; then /usr/bin/systemctl daemon-reload diff --git a/xCAT-test/autotest/bundle/MN_basic.bundle b/xCAT-test/autotest/bundle/MN_basic.bundle index b093ba584..de3e09758 100644 --- a/xCAT-test/autotest/bundle/MN_basic.bundle +++ b/xCAT-test/autotest/bundle/MN_basic.bundle @@ -58,9 +58,9 @@ lsxcatd_a lsxcatd_d lsxcatd_h lsxcatd_null -makeconservercf_d -makeconservercf_noderange -makeconservercf_null +#makeconservercf_d +#makeconservercf_noderange +#makeconservercf_null #makedhcp_a_d_linux #makedhcp_a_linux #makedhcp_d_linux diff --git a/xCAT-test/autotest/bundle/pegas_ppc64le.bundle b/xCAT-test/autotest/bundle/pegas_ppc64le.bundle new file mode 100644 index 000000000..c7ae81ad6 --- /dev/null +++ b/xCAT-test/autotest/bundle/pegas_ppc64le.bundle @@ -0,0 +1,334 @@ +setup_vm +set_up_env_for_support_openbmc_in_python +reg_linux_diskless_installation_flat +reg_linux_diskfull_installation_flat +go_xcat_noinput +updatenode_h +updatenode_v +updatenode_diskful_syncfiles +updatenode_diskful_syncfiles_rename +updatenode_diskful_syncfiles_dir +updatenode_diskful_syncfiles_multi_files +updatenode_syncfile_EXECUTE +updatenode_syncfile_EXECUTEALWAYS +updatenode_syncfile_APPEND +updatenode_syncfile_MERGE +updatenode_P_script1 +updatenode_P_script2 +updatenode_f_incompatible_flags +updatenode_k_incompatible_flags +updatenode_diskful_syncfiles_P_script1 +updatenode_script3 +updatenode_P_script1_script2 +updatenode_without_flag +confignetwork_static_installnic +confignetwork_s_installnic_secondarynic_updatenode +confignetwork_secondarynic_updatenode +confignetwork_secondarynic_nicaliases_updatenode +confignetwork_secondarynic_nicextraparams_updatenode +confignetwork_disable_set_to_yes +confignetwork_disable_set_to_1 +confignetwork_niccustomscripts +confignetwork_secondarynic_thirdnic_multiplevalue_updatenode +confignetwork_secondarynic_nicnetworks_updatenode_false +confignetwork_secondarynic_nicips_updatenode_false +confignetwork_secondarynic_nictype_updatenode_false +chdef_null +chdef_t_node +chdef_t_network +chdef_p +chdef_m +chdef_z +chdef_group +chdef_group_p +chdef_dynamic_group +chdef_multiple_keys +chdef_n +chdef_t_o_error +chdef_site_check +chtab_null +chtab_d +chtab_modify_node +chtab_modify_key +chtab_h +chtab_v +copycds_iso +copycds_n +copycds_a +copycds_n_a +copycds_a_err +copycds_n_err +packimage_o_p_a_m +packimage_imagename +packimage_h +packimage_v +pping_h +pping_v +pping_node +pping_invalidnode +gettab_key_table +gettab_H +gettab_err +gettab_h +lsdef_null +lsdef_a +lsdef_t_o_l +lsdef_t_o_l_z +lsdef_t +lsdef_t_i_o +lsdef_t_w +lsdef_t_err +lslite_i +lslite_noderange +lslite_h +makeconservercf_null +makeconservercf_noderange +makeconservercf_d +makedhcp_n +makedhcp_a +makedhcp_a_d +makedhcp_d +mkdef_null +mkdef_z +mkdef_t_o_error +nodeadd_noderange +nodeadd_err_symbol +nodeadd_null +nodeadd_noderange_nodetype +nodeadd_v +nodeadd_h +nodegrpch_v +nodegrpch_h +nodegrpch_groups +nodegrpch_err +nodech_noderange_table +nodech_noderange_table_comma +nodech_noderange_table_arrow +nodech_noderanage_table_at +nodech_delete +nodech_error_node +nodech_error_table +nodech_h +nodech_v +nodech_noderange_table_include +nodech_noderange_table_uninclude +nodech_noderange_table_equal +nodech_noderange_table_unequal +nodech_noderange_shortname_groups +nodech_noderange_shortname_tags +nodech_noderange_shortname_mgt +nodels_null +nodels_H +nodels_noderange +nodels_err_symbol +nodels_err_noderange +nodels_noderange_shortname_groups +nodels_noderange_shortname_tags +nodels_noderange_shortname_mgt +nodels_table_include +nodels_noderange_table_uninclude +nodels_noderange_table_equal +nodels_noderange_table_unequal +nodels_b +nodels_S +nodels_noderange_table +nodels_tablevalue +nodels_tablevalue_tablecolumn +nodels_noderange_tablecolumn +nodels_h +nodels_v +xcatstanzafile_normal +xcatstanzafile_colon +xcatstanzafile_attribute +xcatstanzafile_objtype +xcatstanzafile_tab +xcatstanzafile_multattr +xcatstanzafile_defaultvalue +xcatstanzafile_specificvalue +noderm_noderange +noderm_h +noderm_null +noderm_err_node +nodeset_stat +nodeset_noderange +nodeset_shell_incorrectmasterip +nodestat_err_node +rinv_noderange_err +rmdef_null +rmdef_t_err +rpower_off +rpower_stat +rpower_boot +rpower_on +rpower_reset +rpower_noderange +rpower_noderange_nodeps +rpower_err_noderange +rvitals_noderange_err +tabdump_table +tabdump_d +tabdump_v +tabdump_h +tabdump_help +tabdump_w_match +tabdump_w_equal +tabdump_w_ne +tabdump_w_notmatch +tabdump_w_gt +tabdump_w_ge +tabdump_w_lt +tabdump_w_le +tabdump_f_d +tabdump_d_nodehm +tabprune_h +tabprune_v +tabprune_a_eventlog +tabprune_V_a_eventlog +tabprune_p_auditlog +tabprune_i_auditlog +tabprune_V_n_auditlog +tabgrep_node +tabgrep_null +tabgrep_h +tabgrep_err +tabrestore_table +tabrestore_null +tabrestore_h +tabrestore_err +dumpxCATdb_h +dumpxCATdb_v +dumpxCATdb_p_nullskiptables +dumpxCATdb_a_p_nullskiptables +dumpxCATdb_p_skiptables +dumpxCATdb_a_p_skiptables +dumpxCATdb_p_nullskiptables_V +dumpxCATdb_a_p_nullskiptables_V +dumpxCATdb_p_V +restorexCAT_h +restorexCATdb_v +restorexCATdb_p_V +restorexCATdb_a_p_V +restorexCATdb_wrongpath +regnotif_null +regnotif_o +regnotif_err +regnotif_h +regnotif_v +unregnotif_null +unregnotif_f +unregnotif_h +unregnotif_v +lsxcatd_null +lsxcatd_h +lsxcatd_d +lsxcatd_a +makehosts_h +makehosts_help +makehosts_null +makehosts_l +makehosts_d +makehosts_n +makehosts_n_noderange +makehost_n_r +xdcp_src_dst +makedns_h +makedns_d_node +makedns_n +makedns +noderange_individual_node +noderange_individual_grp +noderange_node01-node10 +noderange_group1-group3 +noderange_10-20 +noderange_XCAT_NODE_PREFIX +noderange_XCAT_NODE_SUFFIX +noderange_exclusion +noderange_group_intersection +xdsh_h +xdsh_V +xdsh_regular_command +xdsh_Q_command +xdsh_c_cn +xdsh_e_filename +xdsh_E +xdsh_i_linux +xdsh_t +xdsh_q +xdsh_T +xdsh_o +psh_h +psh_v +psh_node_cmd_linux +psh_l +psh_i +prsync_h +prsync_v +prsync_dir_node +prsync_file_node +makentp_v +makentp_h +nodeset_check_warninginfo +runcmdinstaller_h +updatenode_postscripts_loginfo +xcatd_start +xcatd_stop +xcatd_restart +run_command_with_XCATBYPASS +disable_root_permission_in_policy_table +assign_certain_command_permission +xcatconfig_u_check_xcatsslversion_rhels_sles +xcatconfig_c +bmcdiscover_help +bmcdiscover_q +bmcdiscover_version +chdef_nicips +confignetwork_2eth_bridge_br0 +confignetwork_2eth_bridge_br22_br33 +confignetwork_bond_eth2_eth3 +confignetwork_bond_false +confignetwork_installnic_2eth_bridge_br22_br33 +confignetwork_vlan_bond +confignetwork_vlan_eth0 +encrypted_passwd_md5_diskfull +encrypted_passwd_openssl_diskfull +encrypted_passwd_sha256_diskfull +encrypted_passwd_sha512_diskfull +makedhcp_remote_network +makedns_n_noderange +makeknownhosts_node_d +mkdef_regex_bmc +mkdef_regex_ip +mkdef_regex_kvm +mkdef_regex_nicsip +mkdef_rhels73 +nodeset_errorcommand +nodeset_grub2 +nodeset_petitboot +nodestat_usage +rmimage_diskless +updatenode_diskful_syncfiles_failing +xdcp_nonroot_user +xdsh_permission_denied +packimage_m_invalid_archive_method +packimage_m_invalid_compress_method +confignetwork_vlan_false +confignetwork__bridge_false +nodeset_shell +nodeset_cmdline +nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_xz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz +runcmdinstaller_command +get_xcat_postscripts_loginfo +reg_linux_statelite_installation_flat +SN_setup_case +reg_linux_diskfull_installation_hierarchy +reg_linux_diskless_installation_hierarchy +reg_linux_statelite_installation_hierarchy_by_ramdisk +reg_linux_statelite_installation_hierarchy_by_nfs +nodeset_disjointdhcps_petitboot +redhat_migration1 +redhat_migration2 +clean_up_env diff --git a/xCAT-test/autotest/bundle/rhels6.7_ppc64.bundle b/xCAT-test/autotest/bundle/rhels6.7_ppc64.bundle index 0c63b2152..063d23ab2 100644 --- a/xCAT-test/autotest/bundle/rhels6.7_ppc64.bundle +++ b/xCAT-test/autotest/bundle/rhels6.7_ppc64.bundle @@ -252,14 +252,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo diff --git a/xCAT-test/autotest/bundle/rhels6.7_x86_64.bundle b/xCAT-test/autotest/bundle/rhels6.7_x86_64.bundle index a7b7767d1..9fa4624ee 100644 --- a/xCAT-test/autotest/bundle/rhels6.7_x86_64.bundle +++ b/xCAT-test/autotest/bundle/rhels6.7_x86_64.bundle @@ -187,14 +187,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo reg_linux_diskless_installation_flat reg_linux_statelite_installation_flat diff --git a/xCAT-test/autotest/bundle/rhels6.8_ppc64.bundle b/xCAT-test/autotest/bundle/rhels6.8_ppc64.bundle index a52f8f658..0498dc253 100644 --- a/xCAT-test/autotest/bundle/rhels6.8_ppc64.bundle +++ b/xCAT-test/autotest/bundle/rhels6.8_ppc64.bundle @@ -261,14 +261,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo diff --git a/xCAT-test/autotest/bundle/rhels6.8_x86_64.bundle b/xCAT-test/autotest/bundle/rhels6.8_x86_64.bundle index 3a466b4b6..8a2d4349d 100644 --- a/xCAT-test/autotest/bundle/rhels6.8_x86_64.bundle +++ b/xCAT-test/autotest/bundle/rhels6.8_x86_64.bundle @@ -196,14 +196,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/rhels6.9_ppc64.bundle b/xCAT-test/autotest/bundle/rhels6.9_ppc64.bundle index 6383297db..b1137d0bf 100644 --- a/xCAT-test/autotest/bundle/rhels6.9_ppc64.bundle +++ b/xCAT-test/autotest/bundle/rhels6.9_ppc64.bundle @@ -268,20 +268,10 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo runcmdinstaller_h -runcmdinstaller_command -get_xcat_postscripts_loginfo updatenode_postscripts_loginfo bmcdiscover_h bmcdiscover_nmap_range @@ -320,12 +310,14 @@ updatenode_diskful_syncfiles_failing xdcp_nonroot_user xdsh_permission_denied reg_linux_diskless_installation_flat +packimage_m_invalid_archive_method +packimage_m_invalid_compress_method packimage_m_cpio_c_gzip packimage_m_cpio_c_xz packimage_m_tar_c_gzip packimage_m_tar_c_xz -packimage_m_invalid_archive_method -packimage_m_invalid_compress_method +runcmdinstaller_command +get_xcat_postscripts_loginfo reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/rhels6.9_x86_64.bundle b/xCAT-test/autotest/bundle/rhels6.9_x86_64.bundle index 0cbb8b1c9..95a28f122 100644 --- a/xCAT-test/autotest/bundle/rhels6.9_x86_64.bundle +++ b/xCAT-test/autotest/bundle/rhels6.9_x86_64.bundle @@ -199,14 +199,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo xcatconfig_u_check_xcatsslversion_rhels_sles xcatconfig_c @@ -242,10 +234,6 @@ updatenode_diskful_syncfiles_failing xdcp_nonroot_user xdsh_permission_denied reg_linux_diskless_installation_flat -packimage_m_cpio_c_gzip -packimage_m_cpio_c_xz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method confignetwork_vlan_false @@ -253,6 +241,10 @@ confignetwork__bridge_false nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_xz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/rhels7.2_ppc64.bundle b/xCAT-test/autotest/bundle/rhels7.2_ppc64.bundle index 8ec407b9c..1cef26cd5 100644 --- a/xCAT-test/autotest/bundle/rhels7.2_ppc64.bundle +++ b/xCAT-test/autotest/bundle/rhels7.2_ppc64.bundle @@ -262,14 +262,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/rhels7.2_ppc64le.bundle b/xCAT-test/autotest/bundle/rhels7.2_ppc64le.bundle index 5897e2359..adf0b2941 100644 --- a/xCAT-test/autotest/bundle/rhels7.2_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/rhels7.2_ppc64le.bundle @@ -255,14 +255,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/rhels7.2_x86_64.bundle b/xCAT-test/autotest/bundle/rhels7.2_x86_64.bundle index 1e7349db9..3e93700ae 100644 --- a/xCAT-test/autotest/bundle/rhels7.2_x86_64.bundle +++ b/xCAT-test/autotest/bundle/rhels7.2_x86_64.bundle @@ -196,14 +196,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo nodeset_shell nodeset_cmdline diff --git a/xCAT-test/autotest/bundle/rhels7.3_ppc64.bundle b/xCAT-test/autotest/bundle/rhels7.3_ppc64.bundle index 4a97903ff..833bae3a1 100644 --- a/xCAT-test/autotest/bundle/rhels7.3_ppc64.bundle +++ b/xCAT-test/autotest/bundle/rhels7.3_ppc64.bundle @@ -267,14 +267,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo diff --git a/xCAT-test/autotest/bundle/rhels7.3_ppc64le.bundle b/xCAT-test/autotest/bundle/rhels7.3_ppc64le.bundle index 53cf9a829..68ee9985d 100644 --- a/xCAT-test/autotest/bundle/rhels7.3_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/rhels7.3_ppc64le.bundle @@ -261,14 +261,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/rhels7.3_x86_64.bundle b/xCAT-test/autotest/bundle/rhels7.3_x86_64.bundle index b90ff26e0..3d153a984 100644 --- a/xCAT-test/autotest/bundle/rhels7.3_x86_64.bundle +++ b/xCAT-test/autotest/bundle/rhels7.3_x86_64.bundle @@ -215,14 +215,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo nodeset_shell nodeset_cmdline diff --git a/xCAT-test/autotest/bundle/rhels7.4-pegas_ppc64le.bundle b/xCAT-test/autotest/bundle/rhels7.4-pegas_ppc64le.bundle deleted file mode 100644 index 455f4b74b..000000000 --- a/xCAT-test/autotest/bundle/rhels7.4-pegas_ppc64le.bundle +++ /dev/null @@ -1,52 +0,0 @@ -description:the cases in this bundle are used to test hardware control against P9 server and 2 kinds provision on P9 server. -bmcdiscover_q -bmcdiscover_help -bmcdiscover_version -bmcdiscover_h -bmcdiscover_nmap_range -bmcdiscover_v -bmcdiscover_range_w -bmcdiscover_range_u_p_i_ipsource -bmcdiscover_range_z -rpower_off -rpower_stat -rpower_boot -rpower_status -rpower_state -rpower_on -rpower_reset -rsetboot_h -rsetboot_help -rsetboot_v -rsetboot_node_invalidnode -rsetboot_noderange_net -rsetboot_node_invalidaction -rsetboot_group_net -rsetboot_hd_statcheck -rsetboot_net_statcheck -rsetboot_cd_statcheck -rsetboot_default_statcheck -reventlog_null -reventlog_all -reventlog_clear -reventlog_numofentries -rspconfig_set_ip -rspconfig_ip_invalid -rspconfig_set_netmask -rspconfig_netmask_invalid -rspconfig_set_gateway -rspconfig_gateway_invalid -rspconfig_node_invalid -rspconfig_ip_null -rvitals_h -rvitals_v -rvitals_errorcommand -rvitals_noderange_err -rvitals_temp -rvitals_voltage -rvitals_wattage -rvitals_fanspeed -rvitals_power -rvitals_all -reg_linux_diskfull_installation_flat -reg_linux_diskless_installation_flat diff --git a/xCAT-test/autotest/bundle/rhels7.4_ppc64.bundle b/xCAT-test/autotest/bundle/rhels7.4_ppc64.bundle index a3edd6c14..060343ce4 100644 --- a/xCAT-test/autotest/bundle/rhels7.4_ppc64.bundle +++ b/xCAT-test/autotest/bundle/rhels7.4_ppc64.bundle @@ -43,6 +43,48 @@ chtab_v copycds_n copycds_a_err copycds_n_err +addkit_v +addkit_h +addkit_kit +addkit_i +addkit_multikit +addkit_p +addkitcomp_v +addkitcomp_h +addkitcomp_i +addkitcomp_f +buildkit_v +buildkit_h +buildkit_create +buildkit_create_l +buildkit_cleanrepo_all +buildkit_buildtar +chkkitcomp_v +chkkitcomp_h +chkkitcomp_V +lskit_v +lskit_h +lskit_F +lskit_K +lskit_R +lskit_C +lskitcomp_v +lskitcomp_h +lskitcomp_C +lskitcomp_S +lskitdeployparam_v +lskitdeployparam_h +lskitdeployparam_no_param +lskitdeployparam_k_1 +lskitdeployparam_c_1 +rmkit_v +rmkit_h +rmkit_t_no +rmkit_t_yes +rmkit_f +rmkit_V +rmkitcomp_v +rmkitcomp_h packimage_o_p_a_m packimage_imagename packimage_h @@ -269,20 +311,10 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo runcmdinstaller_h -runcmdinstaller_command -get_xcat_postscripts_loginfo updatenode_postscripts_loginfo bmcdiscover_h bmcdiscover_nmap_range @@ -322,12 +354,14 @@ updatenode_diskful_syncfiles_failing xdcp_nonroot_user xdsh_permission_denied reg_linux_diskless_installation_flat +packimage_m_invalid_archive_method +packimage_m_invalid_compress_method packimage_m_cpio_c_gzip packimage_m_cpio_c_xz packimage_m_tar_c_gzip packimage_m_tar_c_xz -packimage_m_invalid_archive_method -packimage_m_invalid_compress_method +runcmdinstaller_command +get_xcat_postscripts_loginfo reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/rhels7.4_ppc64le.bundle b/xCAT-test/autotest/bundle/rhels7.4_ppc64le.bundle index 01a45ed44..e458f98cf 100644 --- a/xCAT-test/autotest/bundle/rhels7.4_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/rhels7.4_ppc64le.bundle @@ -57,6 +57,48 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err +addkit_v +addkit_h +addkit_kit +addkit_i +addkit_multikit +addkit_p +addkitcomp_v +addkitcomp_h +addkitcomp_i +addkitcomp_f +buildkit_v +buildkit_h +buildkit_create +buildkit_create_l +buildkit_cleanrepo_all +buildkit_buildtar +chkkitcomp_v +chkkitcomp_h +chkkitcomp_V +lskit_v +lskit_h +lskit_F +lskit_K +lskit_R +lskit_C +lskitcomp_v +lskitcomp_h +lskitcomp_C +lskitcomp_S +lskitdeployparam_v +lskitdeployparam_h +lskitdeployparam_no_param +lskitdeployparam_k_1 +lskitdeployparam_c_1 +rmkit_v +rmkit_h +rmkit_t_no +rmkit_t_yes +rmkit_f +rmkit_V +rmkitcomp_v +rmkitcomp_h packimage_o_p_a_m packimage_imagename packimage_h @@ -264,14 +306,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo @@ -323,10 +357,6 @@ rmimage_diskless updatenode_diskful_syncfiles_failing xdcp_nonroot_user xdsh_permission_denied -packimage_m_cpio_c_gzip -packimage_m_cpio_c_xz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method confignetwork_vlan_false @@ -334,6 +364,12 @@ confignetwork__bridge_false nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_xz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz +runcmdinstaller_command +get_xcat_postscripts_loginfo reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/rhels7.4_x86_64.bundle b/xCAT-test/autotest/bundle/rhels7.4_x86_64.bundle index e181419e9..463675df4 100644 --- a/xCAT-test/autotest/bundle/rhels7.4_x86_64.bundle +++ b/xCAT-test/autotest/bundle/rhels7.4_x86_64.bundle @@ -38,10 +38,6 @@ packimage_o_p_a_m packimage_imagename packimage_h packimage_v -packimage_m_cpio_c_gzip -packimage_m_cpio_c_xz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method pping_h @@ -204,6 +200,48 @@ copycds_iso copycds_n copycds_a copycds_n_a +addkit_v +addkit_h +addkit_kit +addkit_i +addkit_multikit +addkit_p +addkitcomp_v +addkitcomp_h +addkitcomp_i +addkitcomp_f +buildkit_v +buildkit_h +buildkit_create +buildkit_create_l +buildkit_cleanrepo_all +buildkit_buildtar +chkkitcomp_v +chkkitcomp_h +chkkitcomp_V +lskit_v +lskit_h +lskit_F +lskit_K +lskit_R +lskit_C +lskitcomp_v +lskitcomp_h +lskitcomp_C +lskitcomp_S +lskitdeployparam_v +lskitdeployparam_h +lskitdeployparam_no_param +lskitdeployparam_k_1 +lskitdeployparam_c_1 +rmkit_v +rmkit_h +rmkit_t_no +rmkit_t_yes +rmkit_f +rmkit_V +rmkitcomp_v +rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -225,14 +263,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo xcatconfig_u_check_xcatsslversion_rhels_sles xcatconfig_c @@ -264,6 +294,10 @@ confignetwork__bridge_false nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_xz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz reg_linux_diskless_installation_flat reg_linux_statelite_installation_flat SN_setup_case diff --git a/xCAT-test/autotest/bundle/sles11.4_ppc64.bundle b/xCAT-test/autotest/bundle/sles11.4_ppc64.bundle index 6142bd51d..93a61d8e9 100644 --- a/xCAT-test/autotest/bundle/sles11.4_ppc64.bundle +++ b/xCAT-test/autotest/bundle/sles11.4_ppc64.bundle @@ -250,14 +250,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V makentp_v makentp_h nodeset_check_warninginfo @@ -287,12 +279,12 @@ updatenode_diskful_syncfiles_failing xdcp_nonroot_user xdsh_permission_denied reg_linux_diskless_installation_flat +packimage_m_invalid_archive_method +packimage_m_invalid_compress_method packimage_m_cpio_c_gzip packimage_m_cpio_c_xz packimage_m_tar_c_gzip packimage_m_tar_c_xz -packimage_m_invalid_archive_method -packimage_m_invalid_compress_method reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/sles11.4_x86_64.bundle b/xCAT-test/autotest/bundle/sles11.4_x86_64.bundle index a485ef8cd..984deb670 100644 --- a/xCAT-test/autotest/bundle/sles11.4_x86_64.bundle +++ b/xCAT-test/autotest/bundle/sles11.4_x86_64.bundle @@ -204,14 +204,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo xcatd_start xcatd_stop @@ -245,15 +237,15 @@ updatenode_diskful_syncfiles_failing xdcp_nonroot_user xdsh_permission_denied reg_linux_diskless_installation_flat -packimage_m_cpio_c_gzip -packimage_m_cpio_c_xz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_xz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/sles12.1_ppc64le.bundle b/xCAT-test/autotest/bundle/sles12.1_ppc64le.bundle index 909d022ac..7918fd3a1 100644 --- a/xCAT-test/autotest/bundle/sles12.1_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/sles12.1_ppc64le.bundle @@ -204,14 +204,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/sles12.1_x86_64.bundle b/xCAT-test/autotest/bundle/sles12.1_x86_64.bundle index 732813702..7eafdae75 100644 --- a/xCAT-test/autotest/bundle/sles12.1_x86_64.bundle +++ b/xCAT-test/autotest/bundle/sles12.1_x86_64.bundle @@ -200,14 +200,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/sles12.2_ppc64le.bundle b/xCAT-test/autotest/bundle/sles12.2_ppc64le.bundle index 96783dcb4..72dd12d00 100644 --- a/xCAT-test/autotest/bundle/sles12.2_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/sles12.2_ppc64le.bundle @@ -34,12 +34,6 @@ packimage_o_p_a_m packimage_imagename packimage_h packimage_v -packimage_m_cpio_c_gzip -packimage_m_cpio_c_pigz -packimage_m_cpio_c_xz -packimage_m_tar_c_pigz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method pping_h @@ -219,14 +213,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V xcatd_start xcatd_stop xcatd_restart @@ -262,6 +248,12 @@ xdsh_permission_denied nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_pigz +packimage_m_cpio_c_xz +packimage_m_tar_c_pigz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz sles_migration1 sles_migration2 reg_linux_statelite_installation_flat diff --git a/xCAT-test/autotest/bundle/sles12.2_x86_64.bundle b/xCAT-test/autotest/bundle/sles12.2_x86_64.bundle index 17d4379c4..e76d2d630 100644 --- a/xCAT-test/autotest/bundle/sles12.2_x86_64.bundle +++ b/xCAT-test/autotest/bundle/sles12.2_x86_64.bundle @@ -216,14 +216,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo xcatd_start xcatd_stop @@ -261,14 +253,14 @@ nodeset_runimg sles_migration1 sles_migration2 reg_linux_diskless_installation_flat +packimage_m_invalid_archive_method +packimage_m_invalid_compress_method packimage_m_cpio_c_gzip packimage_m_cpio_c_pigz packimage_m_cpio_c_xz packimage_m_tar_c_pigz packimage_m_tar_c_gzip packimage_m_tar_c_xz -packimage_m_invalid_archive_method -packimage_m_invalid_compress_method reg_linux_statelite_installation_flat SN_setup_case reg_linux_diskfull_installation_hierarchy diff --git a/xCAT-test/autotest/bundle/sles12_ppc64le.bundle b/xCAT-test/autotest/bundle/sles12_ppc64le.bundle index 90f286d24..8aac7b486 100644 --- a/xCAT-test/autotest/bundle/sles12_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/sles12_ppc64le.bundle @@ -187,14 +187,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/sles12_x86_64.bundle b/xCAT-test/autotest/bundle/sles12_x86_64.bundle index 43c40e086..caabadd4f 100644 --- a/xCAT-test/autotest/bundle/sles12_x86_64.bundle +++ b/xCAT-test/autotest/bundle/sles12_x86_64.bundle @@ -191,14 +191,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/ubuntu14.04.3_ppc64le.bundle b/xCAT-test/autotest/bundle/ubuntu14.04.3_ppc64le.bundle index 3c4472521..49e695d05 100644 --- a/xCAT-test/autotest/bundle/ubuntu14.04.3_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/ubuntu14.04.3_ppc64le.bundle @@ -171,48 +171,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_cleanrepo_all -buildkit_buildtar -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -224,14 +182,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/ubuntu14.04.3_x86_64.bundle b/xCAT-test/autotest/bundle/ubuntu14.04.3_x86_64.bundle index 039e6cbc3..9f72b934c 100644 --- a/xCAT-test/autotest/bundle/ubuntu14.04.3_x86_64.bundle +++ b/xCAT-test/autotest/bundle/ubuntu14.04.3_x86_64.bundle @@ -172,55 +172,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_buildrepo_all -buildkit_buildrepo_ubuntu -buildkit_cleanrepo_all -buildkit_cleanrepo_ubuntu -buildkit_listrepo -buildkit_buildtar -buildkit_cleantar -buildkit_partialkit_ubuntu -buildkit_partialkit_completekit -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -232,14 +183,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/bundle/ubuntu14.04.4_ppc64le.bundle b/xCAT-test/autotest/bundle/ubuntu14.04.4_ppc64le.bundle index 8743bde27..6943f4cc8 100644 --- a/xCAT-test/autotest/bundle/ubuntu14.04.4_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/ubuntu14.04.4_ppc64le.bundle @@ -187,48 +187,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_cleanrepo_all -buildkit_buildtar -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -249,14 +207,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V xcatd_start xcatd_stop xcatd_restart diff --git a/xCAT-test/autotest/bundle/ubuntu14.04.4_x86_64.bundle b/xCAT-test/autotest/bundle/ubuntu14.04.4_x86_64.bundle index fd4f56c01..6356faf94 100644 --- a/xCAT-test/autotest/bundle/ubuntu14.04.4_x86_64.bundle +++ b/xCAT-test/autotest/bundle/ubuntu14.04.4_x86_64.bundle @@ -185,55 +185,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_buildrepo_all -buildkit_buildrepo_ubuntu -buildkit_cleanrepo_all -buildkit_cleanrepo_ubuntu -buildkit_listrepo -buildkit_buildtar -buildkit_cleantar -buildkit_partialkit_ubuntu -buildkit_partialkit_completekit -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -254,14 +205,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_check_warninginfo Full_installation_flat_docker rpower_stop_docker diff --git a/xCAT-test/autotest/bundle/ubuntu16.04.1_ppc64le.bundle b/xCAT-test/autotest/bundle/ubuntu16.04.1_ppc64le.bundle index e48e451f9..e75157e51 100644 --- a/xCAT-test/autotest/bundle/ubuntu16.04.1_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/ubuntu16.04.1_ppc64le.bundle @@ -25,12 +25,6 @@ packimage_o_p_a_m packimage_imagename packimage_h packimage_v -packimage_m_cpio_c_gzip -packimage_m_cpio_c_pigz -packimage_m_cpio_c_xz -packimage_m_tar_c_pigz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method pping_h @@ -188,48 +182,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_cleanrepo_all -buildkit_buildtar -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -250,14 +202,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V xcatd_start xcatd_stop xcatd_restart @@ -292,6 +236,12 @@ xdsh_permission_denied nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_pigz +packimage_m_cpio_c_xz +packimage_m_tar_c_pigz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz ubuntu_migration1_p8le ubuntu_migration2_p8le diff --git a/xCAT-test/autotest/bundle/ubuntu16.04.1_x86_64.bundle b/xCAT-test/autotest/bundle/ubuntu16.04.1_x86_64.bundle index 14e69dc79..5c755deab 100644 --- a/xCAT-test/autotest/bundle/ubuntu16.04.1_x86_64.bundle +++ b/xCAT-test/autotest/bundle/ubuntu16.04.1_x86_64.bundle @@ -21,12 +21,6 @@ packimage_o_p_a_m packimage_imagename packimage_h packimage_v -packimage_m_cpio_c_gzip -packimage_m_cpio_c_pigz -packimage_m_cpio_c_xz -packimage_m_tar_c_pigz -packimage_m_tar_c_gzip -packimage_m_tar_c_xz packimage_m_invalid_archive_method packimage_m_invalid_compress_method pping_h @@ -185,55 +179,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_buildrepo_all -buildkit_buildrepo_ubuntu -buildkit_cleanrepo_all -buildkit_cleanrepo_ubuntu -buildkit_listrepo -buildkit_buildtar -buildkit_cleantar -buildkit_partialkit_ubuntu -buildkit_partialkit_completekit -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -254,14 +199,6 @@ prsync_h prsync_v prsync_dir_node prsync_file_node -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V xcatd_start xcatd_stop xcatd_restart @@ -296,5 +233,11 @@ xdsh_permission_denied nodeset_shell nodeset_cmdline nodeset_runimg +packimage_m_cpio_c_gzip +packimage_m_cpio_c_pigz +packimage_m_cpio_c_xz +packimage_m_tar_c_pigz +packimage_m_tar_c_gzip +packimage_m_tar_c_xz ubuntu_migration1_vm ubuntu_migration2_vm diff --git a/xCAT-test/autotest/bundle/ubuntu16.04_ppc64le.bundle b/xCAT-test/autotest/bundle/ubuntu16.04_ppc64le.bundle index 5d8b1e49f..72d4b4d6e 100644 --- a/xCAT-test/autotest/bundle/ubuntu16.04_ppc64le.bundle +++ b/xCAT-test/autotest/bundle/ubuntu16.04_ppc64le.bundle @@ -172,48 +172,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_cleanrepo_all -buildkit_buildtar -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -225,14 +183,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V xcatd_start xcatd_stop xcatd_restart diff --git a/xCAT-test/autotest/bundle/ubuntu16.04_x86_64.bundle b/xCAT-test/autotest/bundle/ubuntu16.04_x86_64.bundle index 10eeb89e6..77b971384 100644 --- a/xCAT-test/autotest/bundle/ubuntu16.04_x86_64.bundle +++ b/xCAT-test/autotest/bundle/ubuntu16.04_x86_64.bundle @@ -172,55 +172,6 @@ copycds_a copycds_n_a copycds_a_err copycds_n_err -addkit_v -addkit_h -addkit_kit -addkit_i -addkit_multikit -addkit_p -addkitcomp_v -addkitcomp_h -addkitcomp_i -addkitcomp_f -buildkit_v -buildkit_h -buildkit_create -buildkit_create_l -buildkit_buildrepo_all -buildkit_buildrepo_ubuntu -buildkit_cleanrepo_all -buildkit_cleanrepo_ubuntu -buildkit_listrepo -buildkit_buildtar -buildkit_cleantar -buildkit_partialkit_ubuntu -buildkit_partialkit_completekit -chkkitcomp_v -chkkitcomp_h -chkkitcomp_V -lskit_v -lskit_h -lskit_F -lskit_K -lskit_R -lskit_C -lskitcomp_v -lskitcomp_h -lskitcomp_C -lskitcomp_S -lskitdeployparam_v -lskitdeployparam_h -lskitdeployparam_no_param -lskitdeployparam_k_1 -lskitdeployparam_c_1 -rmkit_v -rmkit_h -rmkit_t_no -rmkit_t_yes -rmkit_f -rmkit_V -rmkitcomp_v -rmkitcomp_h xdsh_h xdsh_V xdsh_regular_command @@ -232,14 +183,6 @@ xdsh_t xdsh_q xdsh_T xdsh_o -switchdiscover_range_default -switchdiscover_h -switchdiscover_range_s -switchdiscover_range_default_w -switchdiscover_range_r -switchdiscover_range_x -switchdiscover_range_z -switchdiscover_range_z_V nodeset_shell nodeset_cmdline nodeset_runimg diff --git a/xCAT-test/autotest/linux.conf.template b/xCAT-test/autotest/linux.conf.template index 44002883f..05db9de2a 100644 --- a/xCAT-test/autotest/linux.conf.template +++ b/xCAT-test/autotest/linux.conf.template @@ -58,7 +58,7 @@ os=rhels5.4 #system varible for autotest [System] -MN=rhmn +MN=rhmn SN=rhsn CN=lpar5 #It can be used in flat environment CNWITHSN=lpar6 #It can be used in hierarchy environment for cn @@ -146,3 +146,11 @@ NODEIP=10.4.27.10 #genesis testcase imgip=10.4.27.10 #imgip should be same with MN's ip genesis case only for ppc64le and x86_64 +#For HA +VIP=10.3.17.233 +PRIMARYMN=lpar5 +PMNSECONDNIC=eth1 +STANDBYMN=lpar6 +SMNSECONDNIC=eth1 +HACN=lpar7 +HASCIPRTURL=https://raw.githubusercontent.com/xcat2/xcat-extensions/master/HA/xcatha.py diff --git a/xCAT-test/autotest/perfcmds.lst b/xCAT-test/autotest/perfcmds.lst index 66f32a3a0..755c59fb4 100644 --- a/xCAT-test/autotest/perfcmds.lst +++ b/xCAT-test/autotest/perfcmds.lst @@ -1,5 +1,5 @@ -#SERIES# 1,50,100,250,500,1000,2500,5000,10000 -lsdef #NODES# +#SERIES# 1,50,100,250,500,1000,2500,5000,10000,20000 +lsdef #NODES# -i ip,mac makehosts #NODES# makedns -n #NODES# makedhcp #NODES# @@ -10,4 +10,6 @@ nodeset #NODES# osimage=#OSIMAGE# chdef -t node -o #NODES# postscripts="fake" profile="install" netboot="grub2" rmdef -t node #PERFGRP# cat #STANZ#|mkdef -z -f +lsdef -w 'serial=12345678' +chdef #NODES# -p groups=group1 noderm #PERFGRP# diff --git a/xCAT-test/autotest/testcase/HA/case0 b/xCAT-test/autotest/testcase/HA/case0 new file mode 100644 index 000000000..e1fdb14af --- /dev/null +++ b/xCAT-test/autotest/testcase/HA/case0 @@ -0,0 +1,354 @@ +#only support redhat and postgresql +start:setup_2_new_HA_MN +label:others,HA +os:Linux +#back up +cmd:lsdef -z $$PRIMARYMN > /tmp/node.stanza +cmd:lsdef -z $$STANDBYMN >> /tmp/node.stanza +cmd:lsdef -z $$HACN >> /tmp/node.stanza +cmd:lsdef -t osimage -z __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute > /tmp/osimage.stanza +cmd:chdef -t node -o $$PRIMARYMN,$$STANDBYMN,$$HACN servicenode= monserver= nfsserver= tftpserver= xcatmaster= +check:rc==0 +cmd:lsdef -z $$HACN > /tmp/HACN.stanza +check:rc==0 + +#prepare +cmd:makedns -n +check:rc==0 +cmd:if [[ "__GETNODEATTR($$PRIMARYMN,arch)__" = "ppc64" ]] && [[ "__GETNODEATTR($$PRIMARYMN,mgt)__" != "ipmi" ]]; then getmacs -D $$PRIMARYMN; fi +check:rc==0 +cmd:makedhcp -n +check:rc==0 +cmd:makedhcp -a +check:rc==0 +cmd:a=0;while true; do [ $a -eq 100 ] && exit 1;output=$(makedhcp -q $$PRIMARYMN);[ $? -ne 0 ] && exit 1;echo $output|grep $$PRIMARYMN 2>/dev/null && exit 0;a=$[$a+1];sleep 1;done +check:rc==0 +cmd:copycds $$ISO +check:rc==0 +cmd:if [[ -f /install/postscripts/cfghamn ]] ;then mv -f /install/postscripts/cfghamn /install/postscripts/cfghamn.bak;fi; +cmd:if [[ -f /install/postscripts/check_node_state ]] ;then mv -f /install/postscripts/check_node_state /install/postscripts/check_node_state.bak;fi; +cmd:cp -f /opt/xcat/share/xcat/tools/autotest/testcase/HA/cfghamn /install/postscripts/ +cmd:cp -f /opt/xcat/share/xcat/tools/autotest/testcase/HA/check_node_state /install/postscripts/ +cmd:if [[ -f /install/postscripts/xcatha.py ]] ;then mv -f /install/postscripts/xcatha.py /install/postscripts/xcatha.py.bak;fi; +cmd:wget -O - $$HASCIPRTURL > /install/postscripts/xcatha.py +check:rc==0 +cmd:ls /install/postscripts/xcatha.py +check:rc==0 +cmd:genimage __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute +check:rc==0 +cmd:packimage __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute +check:rc==0 +cmd:imgexport __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute +check:rc==0 + +#create hosts file for 2 HA nodes +cmd:echo "127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4" > /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "::1 localhost localhost.localdomain localhost6 localhost6.localdomain6" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "__GETNODEATTR($$PRIMARYMN,ip)__ $$PRIMARYMN $$PRIMARYMN.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "__GETNODEATTR($$STANDBYMN,ip)__ $$STANDBYMN $$STANDBYMN.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "$$VIP autotesthamn autotesthamn.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "__GETNODEATTR($$HACN,ip)__ $$HACN $$HACN.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts + +#configure syclists +cmd:if [[ -f /test.synclist ]] ;then mv -f /test.synclist /test.synclist.bak;fi; +cmd:echo "/opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts -> /etc/hosts" > /test.synclist +cmd:echo "/tmp/HACN.stanza -> /tmp/HACN.stanza" >> /test.synclist +cmd:chdef -t osimage -o __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute synclists=/test.synclist +check:rc==0 + +#modify postbootscripts +cmd:if [[ -d /install/autotestHA ]] ;then mv -f /install/autotestHA /install/autotestHA.bak;fi +cmd:mkdir -p /install/autotestHA +cmd:chdef $$PRIMARYMN,$$STANDBYMN -p postbootscripts="confignetwork -s,cfghamn -l $$MN:/install/autotestHA -i $$VIP -x s" +check:rc==0 + +#provision first HA node +cmd:rinstall $$PRIMARYMN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute +check:rc==0 +cmd:sleep 300 +cmd:a=0;while ! `lsdef -l $$PRIMARYMN|grep status|grep booted >/dev/null`; do sleep 20;((a++));if [ $a -gt 300 ];then break;fi done +cmd:ping $$PRIMARYMN -c 3 +check:rc==0 +check:output=~64 bytes from $$PRIMARYMN +cmd:xdsh $$PRIMARYMN date +check:rc==0 +check:output=~\d\d:\d\d:\d\d + +#provision second HA node +cmd:rinstall $$STANDBYMN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute +check:rc==0 +cmd:sleep 300 +cmd:a=0;while ! `lsdef -l $$STANDBYMN|grep status|grep booted >/dev/null`; do sleep 20;((a++));if [ $a -gt 300 ];then break;fi done +cmd:ping $$STANDBYMN -c 3 +check:rc==0 +check:output=~64 bytes from $$STANDBYMN +cmd:xdsh $$STANDBYMN date +check:rc==0 +check:output=~\d\d:\d\d:\d\d + +#activate the first HA node +cmd:updatenode $$PRIMARYMN -P "cfghamn -l $$MN:/install/autotestHA -i $$VIP -x a" +check:rc==0 +cmd:xdsh $$PRIMARYMN "chdef -t site domain=pok.stglabs.ibm.com" +cmd:makedhcp -d $$HACN +check:rc==0 + +#provision HACN on primary MN +cmd:rsync /opt/xcat/share/xcat/tools/autotest/__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute.tgz $$PRIMARYMN:/root/ +check:rc==0 +cmd:xdsh $$PRIMARYMN "imgimport /root/__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute.tgz" +check:rc==0 +cmd:xdsh $$PRIMARYMN "cat /tmp/HACN.stanza|chdef -z" +check:rc==0 +cmd:xdsh $$PRIMARYMN "makedns -n" +check:rc==0 +cmd:xdsh $$PRIMARYMN "makedhcp -n" +check:rc==0 +cmd:xdsh $$PRIMARYMN "makedhcp -a" +check:rc==0 +cmd:xdsh $$PRIMARYMN "rinstall $$HACN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute" +check:rc==0 +cmd:sleep 150 +cmd:xdsh $$PRIMARYMN "chmod 755 /xcatpost/check_node_state" +cmd:xdsh $$PRIMARYMN "/xcatpost/check_node_state $$HACN" +cmd:xdsh $$PRIMARYMN "lsdef $$HACN -i status" +check:output=~booted +cmd:xdsh $$PRIMARYMN "xdsh $$HACN date" +check:rc==0 + +#deactivate the first HA node +cmd:updatenode $$PRIMARYMN -P "cfghamn -l $$MN:/install/autotestHA -i $$VIP -x d" +check:rc==0 + +#activate the second HA node +cmd:updatenode $$STANDBYMN -P "cfghamn -l $$MN:/install/autotestHA -i $$VIP -x a" +check:rc==0 + +#provision HACN on standby MN +cmd:xdsh $$STANDBYMN "rinstall $$HACN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute" +check:rc==0 +cmd:sleep 150 +cmd:xdsh $$STANDBYMN "chmod 755 /xcatpost/check_node_state" +cmd:xdsh $$STANDBYMN "/xcatpost/check_node_state $$HACN" +cmd:xdsh $$STANDBYMN "lsdef $$HACN -i status" +check:output=~booted + +#deactivate the second HA node +cmd:updatenode $$STANDBYMN -P "cfghamn -l $$MN:/install/autotestHA -i $$VIP -x d" +check:rc==0 + +#restore data +cmd:cat /tmp/node.stanza | chdef -z;rm -rf /tmp/node.stanza +cmd:cat /tmp/osimage.stanza | chdef -z;rm -rf /tmp/osimage.stanza +cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute.tgz +cmd:if [[ -d /install/autotestHA.bak ]] ;then mv -f /install/autotestHA.bak /install/autotestHA;fi +cmd:if [[ -f /test.synclist.bak ]] ;then mv -f /test.synclist.bak /tmp/test.synclist;else rm -rf /test.synclist;fi +cmd:if [[ -f /install/postscripts/cfghamn.bak ]] ;then mv -f /install/postscripts/cfghamn.bak /install/postscripts/cfghamn;fi; +cmd:if [[ -f /install/postscripts/xcatha.py.bak ]] ;then mv -f /install/postscripts/xcatha.py.bak /install/postscripts/xcatha.py;fi; +cmd:if [[ -f /install/postscripts/check_node_state.bak ]] ;then mv -f /install/postscripts/check_node_state.bak /install/postscripts/check_node_state;fi; +end + +start:configure_exist_xCAT_MN_to_HA_MN +label:others,HA +os:Linux +#back up +cmd:lsdef -z $$PRIMARYMN > /tmp/node.stanza +cmd:lsdef -z $$STANDBYMN >> /tmp/node.stanza +cmd:lsdef -z $$HACN >> /tmp/node.stanza +cmd:lsdef -t osimage -z __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute > /tmp/osimage.stanza +cmd:chdef -t node -o $$PRIMARYMN,$$STANDBYMN,$$HACN servicenode= monserver= nfsserver= tftpserver= xcatmaster= +check:rc==0 +cmd:lsdef -z $$HACN > /tmp/HACN.stanza +check:rc==0 + +#prepare +cmd:makedns -n +check:rc==0 +cmd:if [[ "__GETNODEATTR($$PRIMARYMN,arch)__" = "ppc64" ]] && [[ "__GETNODEATTR($$PRIMARYMN,mgt)__" != "ipmi" ]]; then getmacs -D $$PRIMARYMN; fi +check:rc==0 +cmd:makedhcp -n +check:rc==0 +cmd:makedhcp -a +check:rc==0 +cmd:a=0;while true; do [ $a -eq 100 ] && exit 1;output=$(makedhcp -q $$PRIMARYMN);[ $? -ne 0 ] && exit 1;echo $output|grep $$PRIMARYMN 2>/dev/null && exit 0;a=$[$a+1];sleep 1;done +check:rc==0 +cmd:copycds $$ISO +check:rc==0 +cmd:if [[ -f /install/postscripts/cfghamn ]] ;then mv -f /install/postscripts/cfghamn /install/postscripts/cfghamn.bak;fi; +cmd:if [[ -f /install/postscripts/check_node_state ]] ;then mv -f /install/postscripts/check_node_state /install/postscripts/check_node_state.bak;fi; +cmd:cp -f /opt/xcat/share/xcat/tools/autotest/testcase/HA/cfghamn /install/postscripts/ +cmd:cp -f /opt/xcat/share/xcat/tools/autotest/testcase/HA/check_node_state /install/postscripts/ +cmd:if [[ -f /install/postscripts/xcatha.py ]] ;then mv -f /install/postscripts/xcatha.py /install/postscripts/xcatha.py.bak;fi; +cmd:if [[ ! -f /install/postscripts/xcatha.py ]] ;then wget $$HASCIPRTURL -P /install/postscripts/; fi; +cmd:ls /install/postscripts/xcatha.py +check:rc==0 +cmd:genimage __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute +check:rc==0 +cmd:packimage __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute +check:rc==0 +cmd:imgexport __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute +check:rc==0 + +#prepare /etc/hosts +cmd:echo "127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4" > /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "::1 localhost localhost.localdomain localhost6 localhost6.localdomain6" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "100.1.0.100 $$PRIMARYMN-1 $$PRIMARYMN-1.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "100.1.0.101 $$STANDBYMN-1 $$STANDBYMN-1.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "100.1.0.233 autotesthamn autotesthamn.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:echo "100.1.0.103 $$HACN $$HACN.pok.stglabs.ibm.com" >> /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts + +#configure syclists +cmd:if [[ -f /test.synclist ]] ;then mv -f /test.synclist /test.synclist.bak;fi; +cmd:echo "/opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts -> /etc/hosts" > /test.synclist +cmd:echo "/tmp/HACN.stanza -> /tmp/HACN.stanza" >> /test.synclist +cmd:chdef -t osimage -o __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute synclists=/test.synclist +check:rc==0 + +#create HA network +cmd:mkdef -t network -o 100_1_0_0-255_255_0_0 net=100.1.0.0 mask=255.255.0.0 +check:rc==0 +cmd:chdef $$PRIMARYMN nicips.$$PMNSECONDNIC=100.1.0.233 nictypes.$$PMNSECONDNIC=Ethernet nicnetworks.$$PMNSECONDNIC=100_1_0_0-255_255_0_0 +check:rc==0 +cmd:chdef $$STANDBYMN nicips.$$SMNSECONDNIC=100.1.0.101 nictypes.$$SMNSECONDNIC=Ethernet nicnetworks.$$SMNSECONDNIC=100_1_0_0-255_255_0_0 +check:rc==0 + +#configure postbootscripts +cmd:if [[ -d /install/autotestHA ]] ;then mv -f /install/autotestHA /install/autotestHA.bak;fi +cmd:mkdir -p /install/autotestHA +cmd:chdef $$PRIMARYMN,$$STANDBYMN -p postbootscripts="confignetwork -s" +check:rc==0 + +#provison first node +cmd:rinstall $$PRIMARYMN,$$STANDBYMN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute +check:rc==0 +cmd:sleep 300 +cmd:a=0;while ! `lsdef -l $$PRIMARYMN|grep status|grep booted >/dev/null`; do sleep 20;((a++));if [ $a -gt 300 ];then break;fi done +cmd:ping $$PRIMARYMN -c 3 +check:rc==0 +check:output=~64 bytes from $$PRIMARYMN +cmd:xdsh $$PRIMARYMN date +check:rc==0 +check:output=~\d\d:\d\d:\d\d +cmd:a=0;while ! `lsdef -l $$STANDBYMN|grep status|grep booted >/dev/null`; do sleep 20;((a++));if [ $a -gt 300 ];then break;fi done +cmd:ping $$STANDBYMN -c 3 +check:rc==0 +check:output=~64 bytes from $$STANDBYMN +cmd:xdsh $$STANDBYMN date +check:rc==0 +check:output=~\d\d:\d\d:\d\d + +#update resolv.conf and hostname +cmd:xdsh $$PRIMARYMN 'echo "nameserver 100.1.0.233">> /etc/resolv.conf' +check:rc==0 +cmd:xdsh $$PRIMARYMN "hostname autotesthamn" +check:rc==0 + +#install xCAT +cmd:mkdir -p /install/post/otherpkgs/__GETNODEATTR($$PRIMARYMN,os)__/__GETNODEATTR($$PRIMARYMN,arch)__/xcat +check:rc==0 +cmd:cp -r /xcat-core /install/post/otherpkgs/__GETNODEATTR($$PRIMARYMN,os)__/__GETNODEATTR($$PRIMARYMN,arch)__/xcat/ +cmd:cp -r /xcat-dep /install/post/otherpkgs/__GETNODEATTR($$PRIMARYMN,os)__/__GETNODEATTR($$PRIMARYMN,arch)__/xcat/ +cmd:cd /install/post/otherpkgs/__GETNODEATTR($$SN,os)__/__GETNODEATTR($$SN,arch)__/xcat/xcat-core && createrepo . +check:rc==0 +cmd:if [[ "__GETNODEATTR($$PRIMARYMN,os)__" =~ "rh" ]];then path="rh";elif [[ "__GETNODEATTR($$PRIMARYMN,os)__" =~ "sles" ]];then path="sles";fi; ver="__GETNODEATTR($$PRIMARYMN,os)__"; tmp=${ver%.*};ver=`echo "$tmp"|sed 's:[a-zA-Z]::g'`;cd /install/post/otherpkgs/__GETNODEATTR($$SN,os)__/__GETNODEATTR($$SN,arch)__/xcat/xcat-dep/$path$ver/__GETNODEATTR($$SN,arch)__ && createrepo .; +check:rc==0 +cmd:chdef -t osimage __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute otherpkgdir="/install/post/otherpkgs/__GETNODEATTR($$PRIMARYMN,os)__/__GETNODEATTR($$PRIMARYMN,arch)__" +check:rc==0 +cmd:cmd:if [[ -f /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist ]]; then mv -f /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist.bak;fi +cmd:echo "xcat/xcat-core/xCAT" > /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist +cmd:echo "xcat/xcat-dep/rh7/ppc64le/conserver-xcat" >> /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist +cmd:echo "xcat/xcat-dep/rh7/ppc64le/perl-Net-Telnet" >> /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist +cmd:echo "xcat/xcat-dep/rh7/ppc64le/perl-Expect" >> /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist +cmd:chdef -t osimage __GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-install-compute otherpkglist="/opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist" +cmd:updatenode $$PRIMARYMN -P otherpkgs +check:rc==0 +cmd:updatenode $$STANDBYMN -P otherpkgs +check:rc==0 +cmd:xdsh $$PRIMARYMN,$$STANDBYMN "yum -y install postgresql* perl-DBD-Pg" +check:rc==0 + + +#configure first MN as standby HA MN +cmd:xdsh $$PRIMARYMN "service xcatd stop" +check:rc==0 +cmd:xdsh $$PRIMARYMN "sed -i 's/IPADDR=100.1.0.233/IPADDR=100.1.0.100/g' /etc/sysconfig/network-scripts/ifcfg-$$PMNSECONDNIC" +check:rc==0 +cmd:xdsh $$PRIMARYMN "ifdown $$PMNSECONDNIC;ifup $$PMNSECONDNIC" +check:rc==0 +cmd:xdsh $$PRIMARYMN "hostname $$PRIMARYMN-1" +check:rc==0 +cmd:updatenode $$PRIMARYMN -P "cfghamn -l $$MN:/install/autotestHA -i 100.1.0.233 -n $$PMNSECONDNIC:0 -x s" +check:rc==0 + +#configure second MN as standby HA MN +cmd:xdsh $$STANDBYMN "hostname $$STANDBYMN-1" +check:rc==0 +cmd:updatenode $$STANDBYMN -P "cfghamn -l $$MN:/install/autotestHA -i 100.1.0.233 -n $$SMNSECONDNIC:0 -x s" +check:rc==0 + +#activate the first HA node +cmd:updatenode $$PRIMARYMN -P "cfghamn -l $$MN:/install/autotestHA -i 100.1.0.233 -n $$PMNSECONDNIC:0 -x a" +check:rc==0 +cmd:xdsh $$PRIMARYMN "chdef -t site domain=pok.stglabs.ibm.com" +cmd:makedhcp -d $$HACN +check:rc==0 + +#provision HACN on primary MN +cmd:rsync /opt/xcat/share/xcat/tools/autotest/__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute.tgz $$PRIMARYMN:/root/ +check:rc==0 +cmd:xdsh $$PRIMARYMN "imgimport /root/__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute.tgz" +check:rc==0 +cmd:xdsh $$PRIMARYMN "cat /tmp/HACN.stanza|chdef -z" +check:rc==0 +cmd:xdsh $$PRIMARYMN "chdef $$HACN ip=100.10.0.103" +cmd:xdsh $$PRIMARYMN "makedns -n" +check:rc==0 +cmd:xdsh $$PRIMARYMN "makedhcp -n" +check:rc==0 +cmd:xdsh $$PRIMARYMN "makedhcp -a" +check:rc==0 +cmd:xdsh $$PRIMARYMN "rinstall $$HACN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute" +check:rc==0 +cmd:sleep 150 +cmd:xdsh $$PRIMARYMN "chmod 755 /xcatpost/check_node_state" +cmd:xdsh $$PRIMARYMN "/xcatpost/check_node_state $$HACN" +cmd:xdsh $$PRIMARYMN "lsdef $$HACN -i status" +check:output=~booted +check:rc==0 + +#deactivate the first HA node +cmd:updatenode $$PRIMARYMN -P "cfghamn -l $$MN:/install/autotestHA -i 100.1.0.233 -n $$SMNSECONDNIC:0 -x d" +check:rc==0 + +#activate the second HA node +cmd:updatenode $$STANDBYMN -P "cfghamn -l $$MN:/install/autotestHA -i 100.1.0.233 -n $$SMNSECONDNIC:0 -x a" +check:rc==0 + +#provision HACN on standby MN +cmd:xdsh $$STANDBYMN "rinstall $$HACN osimage=__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute" +check:rc==0 +cmd:sleep 150 +cmd:xdsh $$STANDBYMN "chmod 755 /xcatpost/check_node_state" +cmd:xdsh $$STANDBYMN "/xcatpost/check_node_state $$HACN" +cmd:xdsh $$STANDBYMN "lsdef $$HACN -i status" +check:output=~booted + +#deactivate the second HA node +cmd:updatenode $$STANDBYMN -P "cfghamn -l $$MN:/install/autotestHA -i 100.1.0.233 -x d" +check:rc==0 + +#restore data +cmd:cat /tmp/node.stanza | chdef -z;rm -rf /tmp/node.stanza +cmd:cat /tmp/osimage.stanza | chdef -z;rm -rf /tmp/osimage.stanza +cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/HA/hosts +cmd:rmdef -t network -o 100_1_0_0-255_255_0_0 +cmd:rm -rf /install/post/otherpkgs/__GETNODEATTR($$PRIMARYMN,os)__/__GETNODEATTR($$PRIMARYMN,arch)__ +cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/__GETNODEATTR($$PRIMARYMN,os)__-__GETNODEATTR($$PRIMARYMN,arch)__-netboot-compute.tgz +cmd:if [[ -d /install/autotestHA.bak ]] ;then mv -f /install/autotestHA.bak /install/autotestHA;fi +cmd:if [[ -f /test.synclist.bak ]] ;then mv -f /test.synclist.bak /tmp/test.synclist;else rm -rf /test.synclist;fi +cmd:if [[ -f /install/postscripts/cfghamn.bak ]] ;then mv -f /install/postscripts/cfghamn.bak /install/postscripts/cfghamn;fi; +cmd:if [[ -f /install/postscripts/xcatha.py.bak ]] ;then mv -f /install/postscripts/xcatha.py.bak /install/postscripts/xcatha.py;fi; +cmd:if [[ -f /install/postscripts/check_node_state.bak ]] ;then mv -f /install/postscripts/check_node_state.bak /install/postscripts/check_node_state;fi; +cmd:if [[ -f /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist.bak ]] ;then mv -f /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist.bak /opt/xcat/share/xcat/install/rh/autotest.otherpkgs.pkglist;fi +end diff --git a/xCAT-test/autotest/testcase/HA/cfghamn b/xCAT-test/autotest/testcase/HA/cfghamn new file mode 100644 index 000000000..c74ccc7dd --- /dev/null +++ b/xCAT-test/autotest/testcase/HA/cfghamn @@ -0,0 +1,171 @@ +#!/bin/bash +#USAGE:cfghamn -l shared_data_path -i VIP [-g git_repo_for_xcat_inventory_data] [-x s|d|a] + +str_os_type=`uname -s` +if [ x"$str_os_type" = "xLinux" ];then + str_dir_name="${0%/*}" + . $str_dir_name/xcatlib.sh +else + log_error "Does NOT support non-Linux Operating System." + exit 1 +fi + +# get specific NIC for VIP +function get_nic(){ + pysical_ip=$1 + primary_nic=`ip route | grep $pysical_ip | awk -F '[ \t*]' '{print $3}'|head -1` + if [ -n $primary_nic ]; then + echo $primary_nic:0 + fi +} + +function get_mask(){ + pysical_ip=$1 + prefix=$(ip route |grep $pysical_ip|awk '{print $1}'|cut -f 2 -d'/') + netmask=$(v4prefix2mask $prefix) + if [ -n $netmask ]; then + echo $netmask + else + echo "255.255.255.0" + fi +} + +pysical_hostname=$(hostname -s) +pysical_ip=$(hostname -i) +#create vip hostname +function get_vip_hostname(){ + vip=$1 + vip_hostname=$(getent hosts $vip | awk -F ' ' '{print $2}' | awk -F'.' '{print $1}'| uniq) + if [ -z $vip_hostname ]; then + vip_hostname=${pysical_hostname}-ha + fi + echo $vip_hostname +} + +return_code=0 +if [ $# -lt 4 ]; then + echo "USAGE:`basename $0` -l shared_data_path -i VIP" + exit 1 +fi +while getopts "l:i:g:x:n:" opt; do + case $opt in + l) + SHARE_DATA=$OPTARG + echo "The shared data directory is $SHARE_DATA" + ;; + i) + VIP=$OPTARG + echo "The VIP is $VIP" + ;; + g) + URL=$OPTARG + echo "xcat-inventory git URL is $URL" + ;; + x) + #options can be s|d|a + # s means setup, d means deactivate, a means activate + XCMD=$OPTARG + ;; + n) + #VIP physical nic + PHYSICALNIC=$OPTARG + ;; + \?) + echo "Invalid option: -$OPTARG" + return_code=1 + ;; + esac +done +if [ -z $PHYSICALNIC ]; then + VIP_NIC=$(get_nic $pysical_ip) +else + VIP_NIC=$PHYSICALNIC +fi +if [ -n $VIP_NIC ]; then + echo "VIP NIC is :" $VIP_NIC +else + echo "Error: cannot get VIP NIC" + return_code=1 +fi + +yum -y install yum-utils + +cmdlable="" +if [ -n $XCMD ]; then + if [[ "${XCMD}" == "s" || "${XCMD}" == "a" || "${XCMD}" == "d" ]]; then + cmdlable=$XCMD + else + echo "Error: xcatha.py does not support $XCMD option" + return_code=1 + fi +fi + +NETMASK=$(get_mask $pysical_ip) +if [[ -n $NETMASK ]]; then + echo "NETMASK is :" $NETMASK +fi +VIP_hostname=$(get_vip_hostname $VIP) +if [ -n $VIP_hostname ]; then + echo "VIP hostname is :" $VIP_hostname +else + echo "Error: cannot define VIP hostname" + return_code=1 +fi +SHARE_DATA_DES=/xcat/HA/$pysical_hostname +if [[ "$cmdlable" == "s" ]]; then + mkdir -p $SHARE_DATA_DES + mount|grep -w $SHARE_DATA_DES + if [ $? -ne 0 ]; then + mount $SHARE_DATA $SHARE_DATA_DES + if [ $? -ne 0 ]; then + echo "mount $SHARE_DATA $SHARE_DATA_DES [failed]" + return_code=1 + fi + else + echo "$SHARE_DATA_DES is already mounted" + fi +fi +if [ -n "$URL" ]; then + rm -rf /root/xcat-mn-data + git clone $URL /root/xcat-mn-data +else + echo "There is no xcat-inventory data" +fi + +if [ $return_code -eq 1 ]; then + echo "Process exit with above error" + exit $return_code +else + if [[ "$cmdlable" == "s" ]]; then + echo "Start to configure HA NODE $VIP_hostname" + msg="python /xcatpost/xcatha.py -s -p /$SHARE_DATA_DES -v $VIP -i $VIP_NIC -n $VIP_hostname -m $NETMASK" + echo $msg + python /xcatpost/xcatha.py -s -p /$SHARE_DATA_DES -v $VIP -i $VIP_NIC -n $VIP_hostname -m $NETMASK + if [ $? -ne 0 ]; then + return_code=1 + fi + elif [[ "$cmdlable" == "a" ]]; then + echo "Start to activate $VIP_hostname" + python /xcatpost/xcatha.py -a -p /$SHARE_DATA_DES -v $VIP -i $VIP_NIC -n $VIP_hostname -m $NETMASK + if [ $? -eq 0 ]; then + if [ -d /root/xcat-mn-data ]; then + echo "use xcat-inventory to import Cluster data" + xcat-inventory import -f /root/xcat-mn-data/cluster.json + if [ $? -ne 0 ]; then + return_code=1 + fi + fi + else + return_code=1 + fi + elif [[ "$cmdlable" == "d" ]]; then + echo "Start to deactivate $VIP_hostname" + python /xcatpost/xcatha.py -d -v $VIP -i $VIP_NIC + if [ $? -ne 0 ]; then + return_code=1 + fi + else + return_code=1 + fi +fi +exit $return_code diff --git a/xCAT-test/autotest/testcase/HA/check_node_state b/xCAT-test/autotest/testcase/HA/check_node_state new file mode 100644 index 000000000..38a8770bd --- /dev/null +++ b/xCAT-test/autotest/testcase/HA/check_node_state @@ -0,0 +1,12 @@ +#!/bin/bash +a=0; +HAMN=$1 +while ! $(lsdef -l $HAMN|grep status|grep booted >/dev/null) +do + sleep 20 + ((a++)) + echo "Retry ..." + if [ $a -gt 300 ];then + break + fi +done diff --git a/xCAT-test/autotest/testcase/UT_openbmc/reventlog_resolved_cases0 b/xCAT-test/autotest/testcase/UT_openbmc/reventlog_resolved_cases0 index 448eb3435..efbace4c8 100644 --- a/xCAT-test/autotest/testcase/UT_openbmc/reventlog_resolved_cases0 +++ b/xCAT-test/autotest/testcase/UT_openbmc/reventlog_resolved_cases0 @@ -25,7 +25,7 @@ hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:reventlog $$CN resolved 1,2,3 check:rc==1 -check:output=~Error: (\[.*?\]: )?Usage error. Provide a comma separated +check:output=~Error: (\[.*?\]: )?Only one option is supported at the same time for reventlog end start:reventlog_resolved_parse_error4 @@ -35,7 +35,7 @@ hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:reventlog $$CN resolved=-1 check:rc==1 -check:output=~Error: (\[.*?\]: )?Invalid ID= +check:output=~Error: (\[.*?\]: )?Invalid ID: end start:reventlog_resolved_parse_error5 @@ -45,7 +45,7 @@ hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:reventlog $$CN resolved=abc check:rc==1 -check:output=~Error: (\[.*?\]: )?Invalid ID= +check:output=~Error: (\[.*?\]: )?Invalid ID: end start:reventlog_resolved_list @@ -54,7 +54,7 @@ os:Linux hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:reventlog $$CN resolved=100,101 -check:rc==0 +check:rc==1 check:output=~Attempting to resolve the following log entries: 100,101... end @@ -64,6 +64,6 @@ os:Linux hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:reventlog $$CN resolved=Led -check:rc==0 +check:rc==1 check:output=~Attempting to resolve the following log entries: Led... end diff --git a/xCAT-test/autotest/testcase/UT_openbmc/rflash_cases0 b/xCAT-test/autotest/testcase/UT_openbmc/rflash_cases0 index de394bdf3..5a9ea47d8 100644 --- a/xCAT-test/autotest/testcase/UT_openbmc/rflash_cases0 +++ b/xCAT-test/autotest/testcase/UT_openbmc/rflash_cases0 @@ -85,6 +85,6 @@ os:Linux hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd: rflash $$CN -l | grep \* | grep BMC | awk '{print $2}' | xargs -i{} rflash $$CN --delete {} -check:rc==1 +check:rc!=0 check:output=~$$CN: (\[.*?\]: )?Error: Deleting currently active BMC firmware is not supported end diff --git a/xCAT-test/autotest/testcase/UT_openbmc/rspconfig_cases0 b/xCAT-test/autotest/testcase/UT_openbmc/rspconfig_cases0 index 01eb49a07..d6cac63f8 100644 --- a/xCAT-test/autotest/testcase/UT_openbmc/rspconfig_cases0 +++ b/xCAT-test/autotest/testcase/UT_openbmc/rspconfig_cases0 @@ -50,7 +50,7 @@ check:output=~$$CN: BMC Hostname: # Set to witherspoon first cmd:rspconfig $$CN hostname=witherspoon check:rc==0 -check:output=~$$CN: BMC Setting Hostname... +check:output=~$$CN: BMC Setting BMC Hostname... # Check that it's set to witherspoon cmd:rspconfig $$CN hostname check:rc==0 @@ -58,7 +58,7 @@ check:output=~$$CN: BMC Hostname: witherspoon # Set to -UTset cmd:rspconfig $$CN hostname=$$CN-UTset check:rc==0 -check:output=~$$CN: BMC Setting Hostname... +check:output=~$$CN: BMC Setting BMC Hostname... # Check that it's set cmd:rspconfig $$CN hostname check:rc==0 @@ -66,7 +66,7 @@ check:output=~$$CN: BMC Hostname: $$CN-UTset # Restore to saved version cmd:grep BMC /tmp/xcattest.rspconfig.hostname | cut -d' ' -f4 | xargs -i{} rspconfig $$CN hostname={} check:rc==0 -check:output=~$$CN: BMC Setting Hostname... +check:output=~$$CN: BMC Setting BMC Hostname... cmd:rspconfig $$CN hostname check:rc==0 check:output=~$$CN: BMC Hostname: diff --git a/xCAT-test/autotest/testcase/UT_openbmc/supported_commands_case0 b/xCAT-test/autotest/testcase/UT_openbmc/supported_commands_case0 index dd20a6260..7458af4dd 100644 --- a/xCAT-test/autotest/testcase/UT_openbmc/supported_commands_case0 +++ b/xCAT-test/autotest/testcase/UT_openbmc/supported_commands_case0 @@ -27,7 +27,7 @@ check:rc==0 check:output=~$$CN: SYSTEM SerialNumber cmd: rinv $$CN firm check:rc==0 -check:output=~$$CN: Host Firmware +check:output=~$$CN: HOST Firmware check:output=~$$CN: BMC Firmware cmd: rinv $$CN cpu check:rc==0 @@ -53,18 +53,18 @@ check:rc==0 check:output=~$$CN: Ps0 Input Voltage: cmd: rvitals $$CN wattage check:rc==0 -check:output=~$$CN: Total Power: +check:output=~$$CN: Ps0 Input Power: cmd: rvitals $$CN fanspeed check:rc==0 check:output=~$$CN: Fan cmd: rvitals $$CN power check:rc==0 -check:output=~$$CN: Total Power: +check:output=~$$CN: Ps0 Input Power: cmd: rvitals $$CN leds check:rc==0 -check:output=~$$CN: Front -check:output=~$$CN: Front Fans -check:output=~$$CN: Rear +check:output=~$$CN: LEDs Front +check:output=~$$CN: LEDs Fan +check:output=~$$CN: LEDs Rear cmd: rvitals $$CN all check:rc==0 check:output=~$$CN: Ambient: diff --git a/xCAT-test/autotest/testcase/addkit/cases0 b/xCAT-test/autotest/testcase/addkit/cases0 index 0ee49701a..c69256c44 100644 --- a/xCAT-test/autotest/testcase/addkit/cases0 +++ b/xCAT-test/autotest/testcase/addkit/cases0 @@ -1,4 +1,5 @@ start:addkit_v +label:others,KIT cmd:addkit -v check:rc==0 check:output~=Version @@ -7,6 +8,7 @@ check:output~=compatible_frameworks end start:addkit_h +label:others,KIT cmd:addkit -h check:rc==0 check:output~=Usage @@ -14,6 +16,7 @@ check:outpur!~error end start:addkit_kit +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/addkit;buildkit create prodkit @@ -35,6 +38,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prodkit end start:addkit_i +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/addkit;buildkit create prodkit @@ -54,6 +58,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prodkit end start:addkit_multikit +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prodkit cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prod2kit @@ -87,6 +92,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prod2kit end start:addkit_p +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prodkit cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkit/prod2kit diff --git a/xCAT-test/autotest/testcase/addkitcomp/case0 b/xCAT-test/autotest/testcase/addkitcomp/case0 index aea1ed058..1265e1d4d 100644 --- a/xCAT-test/autotest/testcase/addkitcomp/case0 +++ b/xCAT-test/autotest/testcase/addkitcomp/case0 @@ -1,4 +1,5 @@ start:addkitcomp_v +label:others,KIT os:Linux cmd:addkitcomp -v check:rc==0 @@ -13,6 +14,7 @@ check:output=~compatible_frameworks end start:addkitcomp_h +label:others,KIT os:Linux cmd:addkitcomp -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:addkitcomp_i +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp;buildkit create mykits @@ -54,6 +57,7 @@ check:rc==0 end start:addkitcomp_f +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp;buildkit create mykits @@ -84,6 +88,7 @@ check:rc==0 end start:addkitcomp_a +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp/$$KITDATA cmd:mkdir -p /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp/$$KITDATA @@ -126,6 +131,7 @@ check:rc==0 end start:addkitcomp_noscripts +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp/$$KITDATA cmd:mkdir -p /opt/xcat/share/xcat/tools/autotest/testcase/addkitcomp/$$KITDATA diff --git a/xCAT-test/autotest/testcase/analyze_log/case0 b/xCAT-test/autotest/testcase/analyze_log/case0 index 2640bbbaa..cc1fca777 100644 --- a/xCAT-test/autotest/testcase/analyze_log/case0 +++ b/xCAT-test/autotest/testcase/analyze_log/case0 @@ -1,6 +1,6 @@ start:check_mn_cluster_log_file description:check known error message in /var/log/xcat/cluster.log file. Only for redhat and sles. -label:mn_only +label:mn_only,ci_test cmd:cat /var/log/xcat/cluster.log | grep "xcatd: Error happened when receiving data from DB access" check:output!~xcatd: Error happened when receiving data from DB access cmd:cat /var/log/xcat/cluster.log | grep "Undefined subroutine &main" diff --git a/xCAT-test/autotest/testcase/bmcdiscover/cases0 b/xCAT-test/autotest/testcase/bmcdiscover/cases0 index 203b5ae2d..5cc7fc0d7 100644 --- a/xCAT-test/autotest/testcase/bmcdiscover/cases0 +++ b/xCAT-test/autotest/testcase/bmcdiscover/cases0 @@ -1,4 +1,5 @@ start:bmcdiscover_q +label:others,discovery os:linux decription:query usage for bmcdiscover cmd:bmcdiscover ? @@ -10,6 +11,7 @@ check:output=~bmcdiscover \[-v|--version\] end start:bmcdiscover_help +label:others,discovery os:linux decription:show bmcdiscover help information cmd:bmcdiscover help @@ -21,6 +23,7 @@ check:output=~bmcdiscover \[-v|--version\] end start:bmcdiscover_version +label:others,discovery os:linux description:show bmcdiscover version cmd:bmcdiscover --version @@ -29,6 +32,7 @@ check:output=~bmcdiscover - xCAT Version end start:bmcdiscover_h +label:others,discovery os:Linux decription:help cmd:bmcdiscover -h @@ -37,30 +41,35 @@ check:output=~Usage end start:bmcdiscover_nmap_range +label:others,discovery cmd:bmcdiscover -s nmap --range $$bmcrange -u $$bmcusername -p $$bmcpasswd check:rc==0 check:output=~$$bmcrange end start:bmcdiscover_v +label:others,discovery cmd:bmcdiscover -v check:rc==0 checkout:output=~xCAT Version end start:bmcdiscover_check_paswd +label:others,discovery cmd:bmcdiscover -i $$bmcrange -u $$bmcusername -p $$bmcpasswd --check check:rc==1 check:output=~is not supported end start:bmcdiscover_get_ipsource +label:others,discovery cmd:bmcdiscover -i $$bmcrange -u $$bmcusername -p $$bmcpasswd --ipsource check:rc==1 check:output=~is not supported end start:bmcdiscover_range_w +label:others,discovery cmd:bmcdiscover --range $$bmcrange -u $$bmcusername -p $$bmcpasswd -w check:rc==0 check:output=~Writing node @@ -69,6 +78,7 @@ end start:bmcdiscover_range_z +label:others,discovery cmd:bmcdiscover --range $$bmcrange -u $$bmcusername -p $$bmcpasswd -z check:rc==0 check:output=~bmc=$$bmcrange diff --git a/xCAT-test/autotest/testcase/buildkit/cases0 b/xCAT-test/autotest/testcase/buildkit/cases0 index 717bafb98..995dcdcb0 100644 --- a/xCAT-test/autotest/testcase/buildkit/cases0 +++ b/xCAT-test/autotest/testcase/buildkit/cases0 @@ -1,18 +1,20 @@ start:buildkit_v +label:others,KIT os:Linux cmd:buildkit -v check:rc==0 -check:output=~xcat-buildkit +check:output=~x[cC][aA][tT]-buildkit check:output=~kitframework check:output=~compatible_frameworks cmd:buildkit --version check:rc==0 -check:output=~xcat-buildkit +check:output=~x[cC][aA][tT]-buildkit check:output=~kitframework check:output=~compatible_frameworks end start:buildkit_h +label:others,KIT os:Linux cmd:buildkit -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:buildkit_create +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/mykits cmd:mkdir -p /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/mykits @@ -44,6 +47,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/mykits end start:buildkit_create_l +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/mykits cmd:mkdir -p /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/mykits @@ -63,6 +67,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/mykits end start:buildkit_buildrepo_all +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -80,6 +85,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_buildrepo_all +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -97,6 +103,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_buildrepo_all +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -114,6 +121,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_buildrepo_rhels +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -131,6 +139,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_buildrepo_sles +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -148,6 +157,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_buildrepo_ubuntu +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -165,6 +175,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_cleanrepo_all +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -181,6 +192,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_cleanrepo_rhels +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -197,6 +209,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_cleanrepo_sles +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -213,6 +226,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_cleanrepo_ubuntu +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -229,6 +243,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_listrepo +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -244,6 +259,7 @@ end start:buildkit_listrepo +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -258,6 +274,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_listrepo +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -272,6 +289,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_buildtar +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -291,6 +309,7 @@ end start:buildkit_cleantar +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -312,6 +331,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_cleantar +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -333,6 +353,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_cleantar +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -354,6 +375,7 @@ cmd:cd -;rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_partialkit +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -377,6 +399,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_partialkit +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -400,6 +423,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_partialkit_ubuntu +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -423,6 +447,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_partialkit_completekit +label:others,KIT os:rhels cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -454,6 +479,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_partialkit_completekit +label:others,KIT os:sles cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit @@ -485,6 +511,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit end start:buildkit_partialkit_completekit +label:others,KIT os:ubuntu cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/buildkit/prodkit cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/buildkit;buildkit create prodkit diff --git a/xCAT-test/autotest/testcase/chdef/cases0 b/xCAT-test/autotest/testcase/chdef/cases0 index 82b749c5b..ff35b1aad 100644 --- a/xCAT-test/autotest/testcase/chdef/cases0 +++ b/xCAT-test/autotest/testcase/chdef/cases0 @@ -1,13 +1,13 @@ start:chdef_null description:chdef without any flag -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef check:output=~Usage end start:chdef_t_node description:chdef -t node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:chdef -t node -o testnode groups=aix @@ -36,7 +36,7 @@ end start:chdef_t_network description:chdef -t network -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t network -o testnetwork net=111.222.33.0 mask=255.255.255.254 check:rc==0 cmd:lsdef -t network -l testnetwork @@ -55,7 +55,7 @@ end start:chdef_p description:chdef -p -t node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:chdef -p -t node -o testnode groups=aix @@ -67,7 +67,7 @@ end start:chdef_m description:chdef -m -t node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all,testgroup check:rc==0 cmd:chdef -m -t node -o testnode groups=testgroup @@ -79,7 +79,7 @@ end start:chdef_z description:chdef -z -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:lsdef testnode -z > /tmp/testnode.stanza @@ -97,7 +97,7 @@ end start:chdef_group description:chdef with node group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:mkdef -t node -o testnode3-testnode4 mgt=ipmi cons=ipmi groups=all,systemx @@ -134,7 +134,7 @@ end start:chdef_group_p -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef abcnode1 -p groups=abc check:rc==0 cmd:chdef abcnode2 -p groups=abcabc @@ -152,7 +152,7 @@ end start:chdef_dynamic_group description:chdef with dynamic node group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:mkdef -t node -o testnode3-testnode4 mgt=hmc cons=ipmi groups=all,systemx @@ -199,7 +199,7 @@ end start:chdef_multiple_keys description:mkdef support for multiple keys in a table, such as ppcdirect -label:mn_only,db +label:mn_only,ci_test,db cmd: mkdef -t node -o testfsp mgt=fsp cons=fsp groups=all,fsp nodetype=fsp passwd.HMC=abc123 passwd.general=abc123 passwd.admin=abc123 check:rc==0 cmd:lsdef testfsp @@ -220,7 +220,7 @@ end start:chdef_n description:chdef -n -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:chdef testnode1 -n testnode2 @@ -239,7 +239,7 @@ end start:chdef_t_o_error description:chdef -t wrongtype -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t wrongtype -o testnode groups=all,aix check:rc!=0 check:output=~not a valid @@ -248,7 +248,7 @@ end start:chdef_template description:try to change a template, a new node is created according to chdef. -label:mn_only,db +label:mn_only,ci_test,db cmd:result=`lsdef | grep switch-template`; if [[ $result =~ "switch-template" ]]; then echo $result; noderm switch-template; fi cmd:chdef -t node -o switch-template groups=test check:output=~1 object definitions have been created or modified diff --git a/xCAT-test/autotest/testcase/chkkitcomp/cases0 b/xCAT-test/autotest/testcase/chkkitcomp/cases0 index c7cfb6c49..2a8ea8935 100644 --- a/xCAT-test/autotest/testcase/chkkitcomp/cases0 +++ b/xCAT-test/autotest/testcase/chkkitcomp/cases0 @@ -1,4 +1,5 @@ start:chkkitcomp_v +label:others,KIT cmd:chkkitcomp -v check:rc==0 check:output~=Version @@ -7,6 +8,7 @@ check:output~=compatible_frameworks end start:chkkitcomp_h +label:others,KIT cmd:addkit -h check:rc==0 check:output~=Usage @@ -14,6 +16,7 @@ check:outpur!~error end start:chkkitcomp_V +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/chkkitcomp/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/chkkitcomp;buildkit create mykits diff --git a/xCAT-test/autotest/testcase/chtab/cases0 b/xCAT-test/autotest/testcase/chtab/cases0 index fbc6d4106..b0191bd38 100644 --- a/xCAT-test/autotest/testcase/chtab/cases0 +++ b/xCAT-test/autotest/testcase/chtab/cases0 @@ -1,6 +1,6 @@ start:chtab_null description:Check chtab with no attr -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab check:rc!=0 check:output=~Usage @@ -9,7 +9,7 @@ end start:chtab_d description:check chtab -d -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=rsh_test site.value=/opt/xcat/bin/rcp site.comments="the rcp command" site.disable=no check:rc==0 cmd:tabdump site | grep rsh_test @@ -23,7 +23,7 @@ end start:chtab_modify_node description:test chtab with node=XXX -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rhels5.5 check:rc==0 cmd:chtab node=testnode nodelist.groups=all @@ -36,7 +36,7 @@ end start:chtab_modify_key description:check chtab with key=xxx -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=rsh_test site.value=/opt/xcat/bin/rcp site.comments="the rcp command" check:rc==0 cmd:tabdump site | grep rsh_test @@ -56,15 +56,27 @@ end start:chtab_err_symble description: check chtab with error attr -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab -t check:output=~Usage end +start:chtab_nonexist_table +description:chtab with nonexisting table name +label:mn_only,db +cmd:tabch -d key=abc123 nonexist_table1 nonexist_table2 +check:rc!=0 +check:output=~Table nonexist_table1 does not exist +check:output=~Table nonexist_table2 does not exist +cmd:tabch key=abc123 nonexist_table1.comments="mg" +check:rc!=0 +check:output=~Table nonexist_table1 does not exist +end + start:chtab_err_table description:chtab with error table -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab error=error site.comment=error check:rc!=0 check:output=~no such column|column \"error\" does not exist @@ -73,7 +85,7 @@ end start:chtab_h description:chtab -h and --help -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab -h check:output=~Usage cmd:chtab --help @@ -83,7 +95,7 @@ end start:chtab_v description:chtab -v and -version -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab -v check:output=~Version cmd:chtab -version diff --git a/xCAT-test/autotest/testcase/confignetwork/cases0 b/xCAT-test/autotest/testcase/confignetwork/cases0 index 969f7fbee..127e9c2f7 100644 --- a/xCAT-test/autotest/testcase/confignetwork/cases0 +++ b/xCAT-test/autotest/testcase/confignetwork/cases0 @@ -1,5 +1,6 @@ start: confignetwork_s_installnic_diskful description: this case is to test confignetwork -s could configure installnic successfully in diskful provision. +label:others,network,invoke_provision cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;fi cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN check:rc==0 @@ -41,6 +42,7 @@ end start:confignetwork_s_installnic_diskless description: this case is to test confignetwork -s could configure installnic successfully in diskless provision. +label:others,network,invoke_provision cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN check:rc==0 cmd:chdef -t node -o $$CN postbootscripts="confignetwork -s" @@ -89,6 +91,7 @@ end start: confignetwork_secondarynic_diskless description: this case is to test confignetwork -s could config installnic and secondarynic at the same time successfully in diskless provision. +label:others,network,invoke_provision cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN check:rc==0 cmd:mkdef -t network -o 100_1_0_0-255_255_0_0 net=100.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -149,6 +152,7 @@ end start:confignetwork_s_installnic_secondarynic_updatenode description: this case is to test confignetwork -s could configure installnic and secondarynic successfully with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -180,6 +184,7 @@ end start:confignetwork_secondarynic_updatenode description: this case is to test confignetwork could configure secondarynic successfully with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -209,6 +214,7 @@ end start: confignetwork_secondarynic_nicaliases_updatenode description: this case is to test confignetwork could config secondarynic nicaliases successfully with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -251,6 +257,7 @@ end start:confignetwork_secondarynic_nicextraparams_updatenode description: this case is to test confignetwork could configure secondarynic nicextraparams successfully with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -294,6 +301,7 @@ end start:confignetwork_secondarynic_nicnetworks_updatenode_false description: this case is to test confignetwork could return error message when there is no not enough attributes when configing secondarynic with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -310,6 +318,7 @@ end start:confignetwork_secondarynic_nicips_updatenode_false description: this case is to test confignetwork could return error message when there is no not enough attributes when configing secondarynic with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -326,6 +335,7 @@ end start:confignetwork_secondarynic_nictype_updatenode_false description: this case is to test confignetwork could return error message when there is no not enough attributes when configing secondarynic with updatenode. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -343,6 +353,7 @@ end start:confignetwork_disable_set_to_yes description: this case is to test if confignetwork could work correctly when disable is set to yes in nics table +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=100.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -363,6 +374,7 @@ end start:confignetwork_disable_set_to_1 description: this case is to test if confignetwork could work correctly when disable is set to 1 in nics table +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=100.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -383,6 +395,7 @@ end start:confignetwork_niccustomscripts description: this case is to test confignetwork could config secondarynic and envoke scripts to execute. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:echo "echo hello > /tmp/confignetwork_niccustomscript" > /tmp/script1 @@ -410,6 +423,7 @@ end start:confignetwork_secondarynic_thirdnic_multiplevalue_updatenode description:this case is to verify if confignetwork could config serveral nics' multiple value at the same time. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -469,6 +483,7 @@ end start:confignetwork_vlan_eth0 description: this case is to verify if confignetwork could config vlan for CN.When CN has Ethernet nic eth0, user wants to confgure 2 vlans, Configure vlan eth0.6 60.5.106.9 and eth0.7 70.5.106.9 based on ethernet nic eth0 +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -520,6 +535,7 @@ end start:confignetwork_vlan_false description:this case is to verify if confignetwork could process the false value when vlan nicdevice is not correctly set +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -564,6 +580,7 @@ end start:confignetwork_bond_eth2_eth3 description: this case is to verify if confignetwork could config bond for CN.CN has 2 Ethernet nics, eth2 and eth3, user configures bond bond0 using ethernet nic eth2 and eth3. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -618,6 +635,7 @@ end start:confignetwork_bond_false description: this case is to verify if confignetwork could process when bond is not correctly set. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -666,6 +684,7 @@ end start:confignetwork_vlan_bond description: this case is to verify if confignetwork could config bond for CN.CN has 2 Ethernet nic eth2 and eth3, user wants to bond them to bond0, then make 2 vlan bond0.2 and bond0.3 for data network. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -731,6 +750,7 @@ end start:confignetwork_2eth_bridge_br0 description:this case is to verify if confignetwork could config bridge for CN.CN has 2 Ethernet nics eth2 and eth3, user want to configure bond bond0 using eth2 and eth3, creates bridge br0 based on bond0. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -785,6 +805,7 @@ end start:confignetwork_2eth_bridge_br22_br33 description:this case is to verify if confignetwork could config bridge for CN.CN has 2 Ethernet nics eth2 and eth3, user wants to bond them as bond0, then make vlan bond0.2 and bond0.3, using bond0.2 create bridge br22,using bond0.3 create bridge br33. Use confignetwork to configure bond bond0, create vlan bond0.2 and bond0.3, create bridge br22 and br33. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -851,6 +872,7 @@ end start:confignetwork_installnic_2eth_bridge_br22_br33 description:this case is to test if confignetwork could config installnic and 2 bridges at the same time +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -920,6 +942,7 @@ end start:confignetwork__bridge_false description:this case is to test if confignetwork could process false value when the bridge is not correctly set. +label:others,network cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "rm -rf /tmp/backupnet/" @@ -952,6 +975,7 @@ end start:confignetwork_static_installnic description:Reconfigure installnic without dhclient lease file +label:others,network cmd:lsdef $$CN -z && lsdef -l $$CN -z >/tmp/CN.stanza check:rc==0 cmd:xdsh $$CN "mkdir -p /tmp/backupnet" diff --git a/xCAT-test/autotest/testcase/confignics/cases0 b/xCAT-test/autotest/testcase/confignics/cases0 index 6b161461e..029532f12 100644 --- a/xCAT-test/autotest/testcase/confignics/cases0 +++ b/xCAT-test/autotest/testcase/confignics/cases0 @@ -1,5 +1,6 @@ start:confignics_config_one_port_single_value description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 100_1_0_0-255_255_0_0 net=100.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC mtu=1501 @@ -19,6 +20,7 @@ end start:confignics_config_multiple_ports_single_value description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 100_1_0_0-255_255_0_0 net=100.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC mtu=1501 @@ -49,6 +51,7 @@ end start:confignics_config_multiple_ports_multiple_value description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC mtu=1501 @@ -93,6 +96,7 @@ end start:confignics_config_multiple_port_withnichostnamesuffixes_multiple_value description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC mtu=1501 @@ -147,6 +151,7 @@ end start:confignics_config_multiple_port_withnicaliases_multiple_value description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:mkdef -t network -o 11_1_0_0-255_255_0_0 net=11.1.0.0 mask=255.255.0.0 mgtifname=$$SECONDNIC @@ -200,6 +205,7 @@ end start:confignics_disable_set_to_yes description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN ifdown $$SECONDNIC @@ -222,6 +228,7 @@ end start:confignics_disable_set_to_1 description:confignics +label:others,network,updatenode cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN ifdown $$SECONDNIC @@ -244,6 +251,7 @@ end start:confignics_s description:confignics_s +label:others,network,updatenode cmd:tabdump networks > /opt/xcat/share/xcat/tools/autotest/testcase/confignics/networks.csv check:rc==0 cmd:/opt/xcat/share/xcat/tools/autotest/testcase/confignics/mtu_set_clean S 1496 @@ -268,6 +276,7 @@ check:rc==0 end start:chdef_nicips description:nicip could be set to null +label:others,network,updatenode Attribute: $$CN-The operation object of chdef command cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 diff --git a/xCAT-test/autotest/testcase/copycds/cases0 b/xCAT-test/autotest/testcase/copycds/cases0 index 7f2632131..b1d796fd5 100644 --- a/xCAT-test/autotest/testcase/copycds/cases0 +++ b/xCAT-test/autotest/testcase/copycds/cases0 @@ -1,5 +1,6 @@ start:copycds_iso os:Linux +label:others cmd:rm -rf /install/__GETNODEATTR($$CN,os)__ #cmd:umount /mnt/xcat cmd:copycds $$ISO @@ -11,6 +12,7 @@ check:rc==0 end start:lskmodules_o +label:others cmd:lskmodules -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__ check:rc==0 check:output=~.ko(.xz): @@ -19,6 +21,7 @@ end start:copycds_n os:Linux +label:others #cmd:umount /mnt/xca cmd:rm -rf /install/__GETNODEATTR($$CN,os)__ cmd:copycds -n __GETNODEATTR($$CN,os)__ $$ISO @@ -33,6 +36,7 @@ end start:copycds_a os:Linux +label:others #cmd:umount /mnt/xcat cmd:copycds -a __GETNODEATTR($$CN,arch)__ $$ISO check:rc==0 @@ -44,6 +48,7 @@ end start:copycds_n_a os:Linux +label:others #cmd:umount /mnt/xcat cmd:copycds -n __GETNODEATTR($$CN,os)__ -a __GETNODEATTR($$CN,arch)__ $$ISO check:rc==0 @@ -55,6 +60,7 @@ end start:copycds_a_err os:Linux +label:others #cmd:umount /mnt/xcat cmd:copycds -a 386 $$ISO check:output=~Error @@ -62,6 +68,7 @@ end start:copycds_n_err os:Linux +label:others #cmd:umount /mnt/xcat cmd:copycds -n aix $$ISO check:rc!=0 @@ -70,6 +77,7 @@ end start:copycds_p os:Linux +label:others #cmd:umount /mnt/xcat cmd:mkdir -p /install/tmp cmd:copycds -p /install/tmp $$ISO @@ -84,6 +92,7 @@ end start:copycds_path os:Linux +label:others #cmd:umount /mnt/xcat cmd:mkdir -p /install/tmp cmd:copycds --path /install/tmp $$ISO @@ -99,6 +108,7 @@ end start:copycds_i os:Linux +label:others cmd:copycds -i $$ISO check:rc==0 check:output=~OS Image:$$ISO @@ -109,6 +119,7 @@ end start:copycds_inspection os:Linux +label:others cmd:copycds --inspection $$ISO check:rc==0 check:output=~OS Image:$$ISO @@ -119,6 +130,7 @@ end start:copycds_o os:Linux +label:others cmd:copycds -o $$ISO check:rc==0 check:output=~Copying media to /install/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__ @@ -129,6 +141,7 @@ end start:copycds_noosimage os:Linux +label:others cmd:copycds --noosimage $$ISO check:rc==0 check:output=~Copying media to /install/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__ @@ -139,6 +152,7 @@ end start:copycds_w os:Linux +label:others cmd:copycds $$ISO check:rc==0 cmd:copycds -w $$ISO @@ -149,6 +163,7 @@ end start:copycds_w2 os:Linux +label:others cmd:rm -rf /install/__GETNODEATTR($$CN,os)__ check:rc==0 cmd:copycds -w $$ISO @@ -159,6 +174,7 @@ end start:copycds_nonoverwrite os:Linux +label:others cmd:copycds $$ISO check:rc==0 cmd:copycds --nonoverwrite $$ISO @@ -168,6 +184,7 @@ end start:copycds_nonoverwrite2 os:Linux +label:others cmd:rm -rf /install/__GETNODEATTR($$CN,os)__ check:rc==0 cmd:copycds --nonoverwrite $$ISO @@ -178,6 +195,7 @@ end start:copycds_p_newdir os:Linux +label:others cmd:if [ -e /install/newdir ];then mv /install/newdir /install/newdirbak; fi cmd:copycds $$ISO -p /install/newdir check:rc==0 @@ -191,6 +209,7 @@ end start:copycds_p_noninstalldir os:Linux +label:others cmd:if [ -e /noninstalldir ];then mv /noninstalldir /noninstaldirbak; fi cmd:copycds $$ISO -p /noninstalldir check:rc==0 diff --git a/xCAT-test/autotest/testcase/copycds/cases1 b/xCAT-test/autotest/testcase/copycds/cases1 index a814a99cc..d2ed72467 100644 --- a/xCAT-test/autotest/testcase/copycds/cases1 +++ b/xCAT-test/autotest/testcase/copycds/cases1 @@ -1,5 +1,6 @@ start:copycds_bogus_disc description: Test cases for the copycds with a bogus disc +label:others cmd:/opt/xcat/share/xcat/tools/autotest/testcase/copycds/copycds_bogus_disc check:rc==0 end diff --git a/xCAT-test/autotest/testcase/discovery/bmc_discovery_only b/xCAT-test/autotest/testcase/discovery/bmc_discovery_only index 0b871c218..3fc566434 100644 --- a/xCAT-test/autotest/testcase/discovery/bmc_discovery_only +++ b/xCAT-test/autotest/testcase/discovery/bmc_discovery_only @@ -1,5 +1,6 @@ start:bmc_discovery_only description: test the whole process of bmc discovery +label:others,discovery Attribute: $$NODE_DISCOVERY_TARGET:The machine plan to be discovered. $$NODE_DISCOVERY_BMC_DYNAMIC_IP_RANGE :The valid dymanic ip range which has been configured in DHCP server and can offer service. cmd:/opt/xcat/share/xcat/tools/autotest/testcase/discovery/discovery_test --discovery_target_node $$NODE_DISCOVERY_TARGET --bmc_dynamic_ip_range $$NODE_DISCOVERY_BMC_DYNAMIC_IP_RANGE --bmc_discovery_only check:rc==0 diff --git a/xCAT-test/autotest/testcase/discovery/mtm_based_node_discovery b/xCAT-test/autotest/testcase/discovery/mtm_based_node_discovery index 80e28fa3c..135c70b7e 100644 --- a/xCAT-test/autotest/testcase/discovery/mtm_based_node_discovery +++ b/xCAT-test/autotest/testcase/discovery/mtm_based_node_discovery @@ -1,5 +1,6 @@ start:mtms_based_node_discovery description: test the whole process of mtms_based node discovery +label:others,discovery Attribute: $$NODE_DISCOVERY_TARGET:The machine plan to be discovered. $$NODE_DISCOVERY_BMC_DYNAMIC_IP_RANGE :The valid dymanic ip range which has been configured in DHCP server and can offer service. cmd:/opt/xcat/share/xcat/tools/autotest/testcase/discovery/discovery_test --discovery_mode mtms --discovery_target_node $$NODE_DISCOVERY_TARGET --bmc_dynamic_ip_range $$NODE_DISCOVERY_BMC_DYNAMIC_IP_RANGE --osimage __GETNODEATTR($$NODE_DISCOVERY_TARGET,os)__-__GETNODEATTR($$NODE_DISCOVERY_TARGET,arch)__-install-compute check:rc==0 diff --git a/xCAT-test/autotest/testcase/discovery/switch_based_node_discovery b/xCAT-test/autotest/testcase/discovery/switch_based_node_discovery index 092e33388..a25bc0c9e 100644 --- a/xCAT-test/autotest/testcase/discovery/switch_based_node_discovery +++ b/xCAT-test/autotest/testcase/discovery/switch_based_node_discovery @@ -1,5 +1,6 @@ start:switch_based_node_discovery description: test the whole process of switch_based node discovery +label:others,discovery Attribute: $$NODE_DISCOVERY_TARGET:The machine plan to be discovered. $$NODE_DISCOVERY_BMC_DYNAMIC_IP_RANGE :The valid dymanic ip range which has been configured in DHCP server and can offer service. cmd:/opt/xcat/share/xcat/tools/autotest/testcase/discovery/discovery_test --discovery_mode switch --discovery_target_node $$NODE_DISCOVERY_TARGET --bmc_dynamic_ip_range $$NODE_DISCOVERY_BMC_DYNAMIC_IP_RANGE --osimage __GETNODEATTR($$NODE_DISCOVERY_TARGET,os)__-__GETNODEATTR($$NODE_DISCOVERY_TARGET,arch)__-install-compute check:rc==0 diff --git a/xCAT-test/autotest/testcase/dockercommand/cases0 b/xCAT-test/autotest/testcase/dockercommand/cases0 index 3ae9503b4..3446a4ca2 100644 --- a/xCAT-test/autotest/testcase/dockercommand/cases0 +++ b/xCAT-test/autotest/testcase/dockercommand/cases0 @@ -1,5 +1,6 @@ start:rpower_stop_docker description:stop a created docker instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -27,6 +28,7 @@ check:rc==0 end start:rpower_start_docker description:start a created docker instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -52,6 +54,7 @@ end start:rpower_state_docker description:get state of the instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -84,6 +87,7 @@ end start:rpower_restart_docker description:restart a created docker instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -114,6 +118,7 @@ end start:rpower_pause_docker decription:pause all processes in the instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -141,6 +146,7 @@ end start:rpower_unpause_docker description:unpause all processes in the instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -167,12 +173,14 @@ check:rc==0 end start:mkdocker_h description:output usage for mkdocker +label:others,docker cmd:mkdocker -h check:rc==0 check:output=~Usage: mkdocker end start:mkdocker_command description:create docker instance image should be ubuntu and command should be bash here +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -204,12 +212,14 @@ check:rc==0 end start:rmdocker_h description:output usage for rmdocker +label:others,docker cmd:rmdocker -h check:rc==0 check:output=~Usage: rmdocker end start:rmdocker_command description:remove docker instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -231,6 +241,7 @@ check:rc==0 end start:rmdocker_f_command description:force to remove docker instance +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN @@ -255,12 +266,14 @@ check:rc==0 end start:lsdocker_h_command description:output usage for lsdocker +label:others,docker cmd:lsdocker -h check:rc==0 check:output=~Usage: lsdocker end start:lsdocker_l_command description:list docker instance info +label:others,docker cmd:chdef $$DOCKERCN dockerhost=$$DOCKERHOST:2375 dockercpus=1 ip=$$DOCKERCONIP dockermemory=4096 groups=docker,all mgt=docker check:rc==0 cmd:makehosts $$DOCKERCN diff --git a/xCAT-test/autotest/testcase/dumpxCATdb/cases0 b/xCAT-test/autotest/testcase/dumpxCATdb/cases0 index 232ba7dd5..4406c33bb 100644 --- a/xCAT-test/autotest/testcase/dumpxCATdb/cases0 +++ b/xCAT-test/autotest/testcase/dumpxCATdb/cases0 @@ -1,6 +1,6 @@ start:dumpxCATdb_h description:dumpxCATdb -h -label:mn_only,db +label:mn_only,ci_test,db cmd:dumpxCATdb -h check:rc==0 check:output=~dumpxCATdb @@ -8,7 +8,7 @@ end start:dumpxCATdb_v description:Command Version -label:mn_only,db +label:mn_only,ci_test,db cmd:dumpxCATdb -v check:rc==0 check:output=~Version @@ -16,7 +16,7 @@ end start:dumpxCATdb_p_nullskiptables description:dumpxCATdb -p path,not skiptables -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -p /tmp/db @@ -32,7 +32,7 @@ end start:dumpxCATdb_a_p_nullskiptables description:dump all,without this flag the eventlog and auditlog will be skipped -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -a -p /tmp/db.all @@ -47,7 +47,7 @@ end start:dumpxCATdb_p_skiptables description:To have dumpxCATdb not backup the hosts or passwd table -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="hosts,passwd" check:rc==0 cmd:dumpxCATdb -p /tmp/db.skiptables @@ -61,7 +61,7 @@ end start:dumpxCATdb_a_p_skiptables description:To have dumpxCATdb all but not backup the hosts or passwd table -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="hosts,passwd" check:rc==0 cmd:dumpxCATdb -a -p /tmp/db.skiptables @@ -76,7 +76,7 @@ end start:dumpxCATdb_p_nullskiptables_V description:test verbose and -p -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -p /tmp/db -V @@ -90,7 +90,7 @@ end start:dumpxCATdb_a_p_nullskiptables_V description:test -V and -a -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -a -p /tmp/db -V @@ -103,7 +103,7 @@ end start:dumpxCATdb_p_V description:test -p -V -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="passwd" check:rc==0 cmd:dumpxCATdb -p /tmp/db -V diff --git a/xCAT-test/autotest/testcase/genesis/cases0 b/xCAT-test/autotest/testcase/genesis/cases0 index 92796a276..5ebe97e30 100644 --- a/xCAT-test/autotest/testcase/genesis/cases0 +++ b/xCAT-test/autotest/testcase/genesis/cases0 @@ -1,4 +1,5 @@ start:nodeset_shell +label:others,genesis description: verify could log in genesis shell cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 @@ -10,6 +11,7 @@ cmd:cat /tmp/genesistestlog/* end start:nodeset_cmdline +label:others,genesis description:verify could run cmdline successfully cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 @@ -21,6 +23,7 @@ cmd:cat /tmp/genesistestlog/* end start:nodeset_runimg +label:others,genesis description:verify runimg could work cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/genesis/genesistest.pl -n $$CN -g check:rc==0 @@ -31,6 +34,7 @@ check:rc==0 cmd:cat /tmp/genesistestlog/* end start:nodeset_shell_incorrectmasterip +label:others,genesis description:very if computenode need to do nodeset shell in different net with master will success cmd:/opt/xcat/share/xcat/tools/autotest/testcase/genesis/test.sh --check xnba check:rc==0 diff --git a/xCAT-test/autotest/testcase/genimage/cases0 b/xCAT-test/autotest/testcase/genimage/cases0 index ff4c2a804..e2b023e6e 100644 --- a/xCAT-test/autotest/testcase/genimage/cases0 +++ b/xCAT-test/autotest/testcase/genimage/cases0 @@ -1,4 +1,5 @@ start:genimage_h +label:others,image os:Linux cmd:genimage -h check:output=~Usage @@ -6,6 +7,7 @@ check:rc==0 end start:genimage_help +label:others,image os:Linux cmd:genimage --help check:output=~Usage @@ -13,6 +15,7 @@ check:rc==0 end start:genimage_stateless +label:others,image os:Linux cmd:copycds $$ISO check:rc==0 @@ -25,6 +28,7 @@ cmd:mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/c end start:genimage_statelite +label:others,image os:Linux cmd:copycds $$ISO check:rc==0 diff --git a/xCAT-test/autotest/testcase/geninitrd/cases0 b/xCAT-test/autotest/testcase/geninitrd/cases0 index 0f89c3253..2766519d9 100644 --- a/xCAT-test/autotest/testcase/geninitrd/cases0 +++ b/xCAT-test/autotest/testcase/geninitrd/cases0 @@ -1,4 +1,5 @@ start:geninitrd_i_n_o_p +label:others os:Linux cmd:copycds $$ISO cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute diff --git a/xCAT-test/autotest/testcase/get_install_disk/fresh_install_disk b/xCAT-test/autotest/testcase/get_install_disk/fresh_install_disk index 628424a0a..488a0b6f4 100644 --- a/xCAT-test/autotest/testcase/get_install_disk/fresh_install_disk +++ b/xCAT-test/autotest/testcase/get_install_disk/fresh_install_disk @@ -1,6 +1,7 @@ start:fresh_install_disk os:Linux description:check fresh install disk, usded for x86 multi disk only, and not check RH7.2 for RH os wwn isue. +label:others,invoke_provision,install_disk cmd:xdsh $$CN "dd if=/dev/zero of=/dev/sdb bs=1048576 count=100" cmd:xdsh $$CN "dd if=/dev/zero of=/dev/sdb bs=1048576 count=300 seek=60858" diff --git a/xCAT-test/autotest/testcase/get_install_disk/reinstall_disk b/xCAT-test/autotest/testcase/get_install_disk/reinstall_disk index 2a366e880..a894df7f7 100644 --- a/xCAT-test/autotest/testcase/get_install_disk/reinstall_disk +++ b/xCAT-test/autotest/testcase/get_install_disk/reinstall_disk @@ -1,6 +1,7 @@ start:reinstall_disk os:Linux description:check reinstall disk, usded for x86 multi disk only, and not check RH7.2 for RH os wwn isue. +label:others,invoke_provision,install_disk cmd:xdsh $$CN "dd if=/dev/zero of=/dev/sdb bs=1048576 count=100" cmd:xdsh $$CN "dd if=/dev/zero of=/dev/sdb bs=1048576 count=300 seek=60858" diff --git a/xCAT-test/autotest/testcase/getmacs/cases0 b/xCAT-test/autotest/testcase/getmacs/cases0 index 9f8589e3b..659ac4919 100644 --- a/xCAT-test/autotest/testcase/getmacs/cases0 +++ b/xCAT-test/autotest/testcase/getmacs/cases0 @@ -1,4 +1,5 @@ start:getmacs_noderange +label:others cmd:tabdump mac > /tmp/mac.csv cmd:chtab -d node=$$CN mac cmd:getmacs $$CN @@ -10,6 +11,7 @@ cmd:tabrestore /tmp/mac.csv cmd:rm /tmp/mac.csv end start:getmacs_d +label:others cmd:tabdump mac > /tmp/mac.csv cmd:chtab -d node=$$CN mac cmd:getmacs $$CN -d @@ -21,6 +23,7 @@ cmd:tabrestore /tmp/mac.csv cmd:rm /tmp/mac.csv end start:getmacs_f_D +label:others cmd:tabdump mac > /tmp/mac.csv cmd:chtab -d node=$$CN mac cmd:getmacs $$CN -f -D diff --git a/xCAT-test/autotest/testcase/gettab/cases0 b/xCAT-test/autotest/testcase/gettab/cases0 index ce4b1bea4..0acda2e02 100644 --- a/xCAT-test/autotest/testcase/gettab/cases0 +++ b/xCAT-test/autotest/testcase/gettab/cases0 @@ -1,5 +1,5 @@ start:gettab_key_table -label:mn_only,db +label:mn_only,ci_test,db cmd:gettab key=xcatdport site.value check:rc==0 check:output==3001 @@ -8,7 +8,7 @@ end start:gettab_H description:gettab -H and --with-fieldname -label:mn_only,db +label:mn_only,ci_test,db cmd:gettab -H key=master site.value check:rc==0 check:output=~site.value: @@ -19,7 +19,7 @@ end start:gettab_err description:gettab with error symble ,error key ,error attr. -label:mn_only,db +label:mn_only,ci_test,db cmd:gettab -c check:rc!=0 check:output=~Usage @@ -33,7 +33,7 @@ end start:gettab_h description:gettab -h and -? and --help -label:mn_only,db +label:mn_only,ci_test,db cmd:gettab -h check:output=~Usage cmd:gettab -? diff --git a/xCAT-test/autotest/testcase/go-xcat/bionic-ppc64el.sources.list b/xCAT-test/autotest/testcase/go_xcat/bionic-ppc64el.sources.list similarity index 100% rename from xCAT-test/autotest/testcase/go-xcat/bionic-ppc64el.sources.list rename to xCAT-test/autotest/testcase/go_xcat/bionic-ppc64el.sources.list diff --git a/xCAT-test/autotest/testcase/go-xcat/bionic-x86_64.sources.list b/xCAT-test/autotest/testcase/go_xcat/bionic-x86_64.sources.list similarity index 100% rename from xCAT-test/autotest/testcase/go-xcat/bionic-x86_64.sources.list rename to xCAT-test/autotest/testcase/go_xcat/bionic-x86_64.sources.list diff --git a/xCAT-test/autotest/testcase/go-xcat/case0 b/xCAT-test/autotest/testcase/go_xcat/case0 similarity index 96% rename from xCAT-test/autotest/testcase/go-xcat/case0 rename to xCAT-test/autotest/testcase/go_xcat/case0 index dbcdf0a47..7af2a8a04 100644 --- a/xCAT-test/autotest/testcase/go-xcat/case0 +++ b/xCAT-test/autotest/testcase/go_xcat/case0 @@ -1,5 +1,6 @@ start:go_xcat_local_repo_case1 description:test go_xcat with the option --xcat-core=/path/to/xcat-core.repo install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -16,7 +17,7 @@ cmd:xdsh $$CN "cd /; tar -jxf /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /xcat-core; ./mklocalrepo.sh" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -40,6 +41,7 @@ end start:go_xcat_local_repo_case2 description:test go_xcat with the option --xcat-core=/path/to/xcat-core install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -54,7 +56,7 @@ cmd:xdsh $$CN "cd /; scp -r $$MN:/core-*-snap.tar.bz2 /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /; tar -jxf /xcat-core.tar.bz2" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -78,6 +80,7 @@ end start:go_xcat_local_repo_case3 description:test go_xcat with the option --xcat-core=/path/to/xcat-core.tar install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -92,7 +95,7 @@ cmd:xdsh $$CN "cd /; scp -r $$MN:/core-*-snap.tar.bz2 /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /; bunzip2 /xcat-core.tar.bz2" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -116,6 +119,7 @@ end start:go_xcat_local_repo_case4 description:test go_xcat with the option --xcat-core=/path/to/xcat-core.tar.bz2 --xcat-dep=/path/to/xcat-dep.tar.bz2 install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -130,7 +134,7 @@ cmd:xdsh $$CN "cd /; scp -r $$MN:/core-*-snap.tar.bz2 /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/xcat-dep*.tar.bz2 /xcat-dep.tar.bz2" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -154,6 +158,7 @@ end start:go_xcat_local_repo_case5 description:test go_xcat with the option --xcat-core=/path/to/xcat-core.repo --xcat-dep=/path/to/xcat-dep.repo install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -176,7 +181,7 @@ cmd:xdsh $$CN "cd /; tar -jxf /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /xcat-core; ./mklocalrepo.sh" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -200,6 +205,7 @@ end start:go_xcat_local_repo_case6 description:test go_xcat with the option --xcat-core=/path/to/xcat-core --xcat-dep=/path/to/xcat-dep install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -218,7 +224,7 @@ cmd:xdsh $$CN "cd /; tar -jxf /xcat-dep.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /; tar -jxf /xcat-core.tar.bz2" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -242,6 +248,7 @@ end start:go_xcat_local_repo_case7 description:test go_xcat with the option --xcat-core=/path/to/xcat-core.tar.bz2 --xcat-dep=/path/to/xcat-dep.tar.bz2 install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat xcat-buildkit xcat-genesis-scripts xcat-genesis-base-amd64 xcat-genesis-base-ppc64 -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -254,7 +261,7 @@ cmd:xdsh $$CN "cd /; scp -r $$MN:/core-*-snap.tar.bz2 /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/xcat-dep*.tar.bz2 /xcat-dep.tar.bz2" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi diff --git a/xCAT-test/autotest/testcase/go-xcat/case1 b/xCAT-test/autotest/testcase/go_xcat/case1 similarity index 96% rename from xCAT-test/autotest/testcase/go-xcat/case1 rename to xCAT-test/autotest/testcase/go_xcat/case1 index 1cfec3af9..de11a1a6a 100644 --- a/xCAT-test/autotest/testcase/go-xcat/case1 +++ b/xCAT-test/autotest/testcase/go_xcat/case1 @@ -1,5 +1,6 @@ start:go_xcat_noinput description:test go_xcat without any input parameters +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat xcat-buildkit xcat-genesis-scripts xcat-genesis-base-amd64 xcat-genesis-base-ppc64 -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -11,7 +12,7 @@ cmd:xdsh $$CN "cd /; rm -rf /go-xcat" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -35,6 +36,7 @@ end start:go_xcat_with_x description:test go_xcat with the option -x version -y install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat xcat-buildkit xcat-genesis-scripts xcat-genesis-base-amd64 xcat-genesis-base-ppc64 -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -45,7 +47,7 @@ cmd:xdsh $$CN "cd /; rm -rf /go-xcat" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -76,6 +78,7 @@ end start:go_xcat_with_xcat-version-1 description:test go_xcat with the option --xcat-version=devel install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat xcat-buildkit xcat-genesis-scripts xcat-genesis-base-amd64 xcat-genesis-base-ppc64 -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -86,7 +89,7 @@ cmd:xdsh $$CN "cd /; rm -rf /go-xcat" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -110,6 +113,7 @@ end start:go_xcat_with_xcat-version-2 description:test go_xcat with the option --xcat-version=$MIGRATION2_VERSION install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -120,7 +124,7 @@ cmd:xdsh $$CN "cd /; rm -rf /go-xcat" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi diff --git a/xCAT-test/autotest/testcase/go-xcat/case2 b/xCAT-test/autotest/testcase/go_xcat/case2 similarity index 97% rename from xCAT-test/autotest/testcase/go-xcat/case2 rename to xCAT-test/autotest/testcase/go_xcat/case2 index ef1812a6f..058a19de3 100644 --- a/xCAT-test/autotest/testcase/go-xcat/case2 +++ b/xCAT-test/autotest/testcase/go_xcat/case2 @@ -1,5 +1,6 @@ start:go_xcat_online_repo_case1 description:test go_xcat with the option --xcat-core=http://xcat.org/path/to/xcat-core.repo install. This case is only for rh and suse +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -30,6 +31,7 @@ end start:go_xcat_online_repo_case2 description:test go_xcat with the option --xcat-core=http://xcat.org/path/to/xcat-core install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -40,7 +42,7 @@ cmd:xdsh $$CN "cd /; rm -rf /go-xcat" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -65,6 +67,7 @@ end start:go_xcat_online_repo_case3 description:test go_xcat with the option --xcat-core=http://xcat.org/path/to/xcat-core.tar.bz2 install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -75,7 +78,7 @@ cmd:xdsh $$CN "cd /; rm -rf /go-xcat" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -100,6 +103,7 @@ end start:go_xcat_online_repo_case4 description:test go_xcat with the option --xcat-core=http://xcat.org/path/to/xcat-core.repo --xcat-dep=http://xcat.org/path/to/xcat-dep.repo install. This is for rh and suse. +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -130,6 +134,7 @@ end start:go_xcat_online_repo_case5 description:test go_xcat with the option --xcat-core=http://xcat.org/path/to/xcat-core --xcat-dep=http://xcat.org/path/to/xcat-dep install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -141,7 +146,7 @@ check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 cmd:dir="__GETNODEATTR($$CN,os)__"; if grep SUSE /etc/*release;then os=`echo $dir |cut -c 1-6` && xdsh $$CN "cd /xcat-dep/$os/__GETNODEATTR($$CN,arch)__/; ./mklocalrepo.sh" ; elif grep "Red Hat" /etc/*release;then os=`echo $dir |cut -c 1-2` && xdsh $$CN "cd /xcat-dep/$os`echo __GETNODEATTR($$CN,os)__ | cut -c6`/__GETNODEATTR($$CN,arch)__/; ./mklocalrepo.sh"; elif grep Ubuntu /etc/*release;then xdsh $$CN "cd /xcat-dep; ./mklocalrepo.sh"; else echo "Sorry,this is not supported os"; fi -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi @@ -164,6 +169,7 @@ end start:go_xcat_online_repo_case6 description:test go_xcat with the option --xcat-core=http://xcat.org/path/to/xcat-core.tar.bz2 --xcat-dep=http://xcat.org/path/to/xcat-dep.tar.bz2 install +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat xcat-buildkit xcat-genesis-scripts xcat-genesis-base-amd64 xcat-genesis-base-ppc64 -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -176,7 +182,7 @@ cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" check:rc==0 cmd:cp /xcat-dep-*.tar.bz2 /install/ check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi diff --git a/xCAT-test/autotest/testcase/go-xcat/case4 b/xCAT-test/autotest/testcase/go_xcat/case4 similarity index 97% rename from xCAT-test/autotest/testcase/go-xcat/case4 rename to xCAT-test/autotest/testcase/go_xcat/case4 index 79137ac6f..c5603a64b 100644 --- a/xCAT-test/autotest/testcase/go-xcat/case4 +++ b/xCAT-test/autotest/testcase/go_xcat/case4 @@ -1,5 +1,6 @@ start:go_xcat_update_case1 description:test go_xcat with the option update +label:others,go_xcat os:Linux cmd:if xdsh $$CN "zypper -h"; then xdsh $$CN "zypper remove -y *xCAT*"; elif xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*"; elif xdsh $$CN "apt-get -h";then xdsh $$CN "apt-get purge perl-xcat xcat-client xcat-server xcat -y"; else echo "Sorry,this is not supported os"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "dpkg -l |grep -i perl-xcat";else xdsh $$CN "rpm -qa |grep -i perl-xcat";fi @@ -14,7 +15,7 @@ cmd:xdsh $$CN "cd /; scp -r $$MN:/core-*-snap.tar.bz2 /xcat-core.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /; scp -r $$MN:/xcat-dep*.tar.bz2 /xcat-dep.tar.bz2" check:rc==0 -cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi +cmd:if grep Ubuntu /etc/*release;then code=`lsb_release -sc` && xdsh $$CN "scp -r $$MN:/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-__GETNODEATTR($$CN,arch)__.sources.list /etc/apt/sources.list"; fi cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "scp -r $$MN:/etc/resolv.conf /etc/resolv.conf" && xdsh $$CN "wget -O - http://xcat.org/files/xcat/repos/apt/apt.key | apt-key add -"; fi check:rc==0 cmd:if grep Ubuntu /etc/*release;then xdsh $$CN "apt-get clean && apt-get update"; fi diff --git a/xCAT-test/autotest/testcase/go_xcat/case5 b/xCAT-test/autotest/testcase/go_xcat/case5 new file mode 100644 index 000000000..eba7fb8af --- /dev/null +++ b/xCAT-test/autotest/testcase/go_xcat/case5 @@ -0,0 +1,18 @@ +start:go_xcat_without_repoquery +description:test go_xcat when command repoquery is not found. This case is for bug 1641. +os:rhels +label:others,go_xcat +cmd:if xdsh $$CN "yum -h";then xdsh $$CN "yum remove -y *xCAT*";fi +cmd:xdsh $$CN "mv -f /usr/bin/repoquery /usr/bin/repoquery.bak" +cmd:xdsh $$CN "cd /; rm -rf /go-xcat" +check:rc==0 +cmd:xdsh $$CN "cd /; scp -r $$MN:/opt/xcat/share/xcat/tools/go-xcat ./" +check:rc==0 +cmd:xdsh $$CN "cd /; ./go-xcat --xcat-version=devel update -y" +check:rc!=0 +check:output=~Command "repoquery" not found +check:output=~go-xcat: Install the `yum-utils' package and rerun +check:output=~go-xcat: Failed to get package list from repository `xcat-core' +cmd:xdsh $$CN "mv -f /usr/bin/repoquery.bak /usr/bin/repoquery" +end + diff --git a/xCAT-test/autotest/testcase/go-xcat/trusty-ppc64el.sources.list b/xCAT-test/autotest/testcase/go_xcat/trusty-ppc64el.sources.list similarity index 100% rename from xCAT-test/autotest/testcase/go-xcat/trusty-ppc64el.sources.list rename to xCAT-test/autotest/testcase/go_xcat/trusty-ppc64el.sources.list diff --git a/xCAT-test/autotest/testcase/go-xcat/trusty-x86_64.sources.list b/xCAT-test/autotest/testcase/go_xcat/trusty-x86_64.sources.list similarity index 100% rename from xCAT-test/autotest/testcase/go-xcat/trusty-x86_64.sources.list rename to xCAT-test/autotest/testcase/go_xcat/trusty-x86_64.sources.list diff --git a/xCAT-test/autotest/testcase/go-xcat/xenial-ppc64el.sources.list b/xCAT-test/autotest/testcase/go_xcat/xenial-ppc64el.sources.list similarity index 100% rename from xCAT-test/autotest/testcase/go-xcat/xenial-ppc64el.sources.list rename to xCAT-test/autotest/testcase/go_xcat/xenial-ppc64el.sources.list diff --git a/xCAT-test/autotest/testcase/go-xcat/xenial-x86_64.sources.list b/xCAT-test/autotest/testcase/go_xcat/xenial-x86_64.sources.list similarity index 100% rename from xCAT-test/autotest/testcase/go-xcat/xenial-x86_64.sources.list rename to xCAT-test/autotest/testcase/go_xcat/xenial-x86_64.sources.list diff --git a/xCAT-test/autotest/testcase/httpport/cases0 b/xCAT-test/autotest/testcase/httpport/cases0 new file mode 100644 index 000000000..a756fbf35 --- /dev/null +++ b/xCAT-test/autotest/testcase/httpport/cases0 @@ -0,0 +1,99 @@ +start:http_port_change +description:Add test cases for bug fix 2629, change http port and then generate genesis (mknb). +label:mn_only,discovery +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 80 +cmd:lsdef -t site -i httpport -c |awk -F"=" '{print $2}' +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/httpport/change_http_port.sh 80 8898 +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 8898 +check:rc==0 +cmd:chdef -t site httpport=8898 +check:rc==0 +cmd:lsdef -t site -i httpport -c +check:output =~ 8898 +check:rc==0 +cmd:dir="/tftpboot/pxelinux.cfg/p";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi +cmd:mknb ppc64 +check:rc==0 +cmd: #!/bin/bash +# get all filename in specified path +path=/tftpboot/pxelinux.cfg/p/ +files=$(ls $path) +for filename in $files +do + echo "The file is $filename" + grep 8898 $path$filename + if [ $? != 0 ];then + echo "port 8898 does not exist" + exit 1; + fi + links=$(grep 8898 $path$filename|awk -F " " '{print $2}') + for link in $links + do + wget $link + if [ $? != 0 ];then + echo "wget file $link failed" + exit 1; + else + echo "wget file $link succeed" + fi + done +done +rm -rf genesis* +check:rc==0 +cmd:dir="/tftpboot/xcat/xnba/nets";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi +cmd:mknb x86_64 +check:rc==0 +cmd:#!/bin/bash +# get all filename in specified path +path=/tftpboot/xcat/xnba/nets/ +rm -rf $path*.elilo +files=$(ls $path) +mnip=$(lsdef -t site -i master -c |awk -F"=" '{print $2}') +echo "The mn ip is $mnip" +for filename in $files +do + echo "The file is $filename" + grep 8898 $path$filename + if [ $? != 0 ];then + echo "port 8898 does not exist" + exit 1; + fi + grep "next-server" $path$filename + if [ $? == 0 ];then + sed -i "s/\${next-server}/$mnip/g" $path$filename + fi + + if [ "${filename##*.}"x = "uefi"x ];then + links=$(grep 8898 $path$filename|awk -F " " '{print $2}') + else + links=$(grep 8898 $path$filename|awk -F " " '{print $4}') + fi + + for link in $links + do + wget $link + if [ $? != 0 ];then + echo "wget file $link failed" + exit 1; + else + echo "wget file $link succeed" + fi + done +done +rm -rf genesis* +rm -rf elilo* +check:rc==0 +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/httpport/change_http_port.sh 8898 80 +cmd:netstat -nlp|grep -E "apache2|httpd" +check:output =~ 80 +check:rc==0 +cmd:chdef -t site httpport=80 +check:rc==0 +cmd:lsdef -t site -i httpport -c +check:output =~ 80 +check:rc==0 +cmd:dir="/tftpboot/pxelinux.cfg/p"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi +cmd:dir="/tftpboot/xcat/xnba/nets"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi +end diff --git a/xCAT-test/autotest/testcase/httpport/change_http_port.sh b/xCAT-test/autotest/testcase/httpport/change_http_port.sh new file mode 100755 index 000000000..527bd290d --- /dev/null +++ b/xCAT-test/autotest/testcase/httpport/change_http_port.sh @@ -0,0 +1,24 @@ +#!/bin/bash +if [ -f "/etc/httpd/conf/httpd.conf" ]; then + config="/etc/httpd/conf/httpd.conf" +elif [ -f "/etc/apache2/ports.conf" ]; then + config="/etc/apache2/ports.conf" +elif [ -f "/etc/apache2/listen.conf" ]; then + config="/etc/apache2/listen.conf" +fi +port=`awk -F' ' '/^[Ll]isten / {print $2}' $config` +echo "The original httpd port is $port in $config" + +echo "start to change httpd listen port to $2" +sed -i "s/^Listen $1/Listen $2/g" $config +if [ -f "/etc/apache2/sites-enabled/000-default.conf" ]; then + sed -i "s/VirtualHost \*:$1/VirtualHost \*:$2/g" /etc/apache2/sites-enabled/000-default.conf + service apache2 stop + sleep 1 + service apache2 start +else + service httpd stop + sleep 1 + service httpd start +fi +exit diff --git a/xCAT-test/autotest/testcase/imgexport/cases0 b/xCAT-test/autotest/testcase/imgexport/cases0 index b707553d5..246647447 100644 --- a/xCAT-test/autotest/testcase/imgexport/cases0 +++ b/xCAT-test/autotest/testcase/imgexport/cases0 @@ -1,6 +1,7 @@ start:imagexport_imagename_destination os:Linux description:imgexport __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute foo.tgz +label:others,packaging cmd:copycds $$ISO cmd:mkdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute -u profile=compute provmethod=statelite osvers=__GETNODEATTR($$CN,os)__ check:rc==0 @@ -25,6 +26,7 @@ end start:imgexport_imagename_destination_p_e os:Linux description:imgexport __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute foo.tgz -p $$CN -e /install/postscripts/testscript1 +label:others,packaging cmd:copycds $$ISO cmd:mkdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute -u profile=compute provmethod=statelite osvers=__GETNODEATTR($$CN,os)__ check:rc==0 @@ -54,6 +56,7 @@ end start:imgexport_h os:Linux description: +label:others cmd:imgexport -h check:output=~Usage|usage cmd:imgexport --help @@ -63,6 +66,7 @@ end start:imgexport_v os:Linux +label:others cmd:imgexport -v check:output=~version|Version cmd:imgexport --version diff --git a/xCAT-test/autotest/testcase/imgimport/cases0 b/xCAT-test/autotest/testcase/imgimport/cases0 index af145b820..2683d62ec 100644 --- a/xCAT-test/autotest/testcase/imgimport/cases0 +++ b/xCAT-test/autotest/testcase/imgimport/cases0 @@ -1,6 +1,7 @@ start:imgimport_h os:Linux description:imgimport -h and --help +label:others cmd:imgimport -h check:output=~usage|Usage cmd:imgimport --help @@ -11,6 +12,7 @@ end start:imgimport_v os:Linux description:imgimport -v and --version +label:others cmd:imgimport -v check:output=~version|Version cmd:imgimport --version @@ -21,6 +23,7 @@ end start:imgimport_bundlefile os:Linux description:imgimport foo.tgz +label:others,packaging cmd:copycds $$ISO cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute check:rc==0 @@ -45,6 +48,7 @@ end start:imgimport_bundlefile_p os:Linux description:imgimport foo.tgz -p $$CN +label:others,packaging cmd:copycds $$ISO cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute check:rc==0 @@ -69,6 +73,7 @@ end start:imgimport_bundlefile_f os:Linux description:imgimport foo.tgz -f compute_test +label:others,packaging cmd:copycds $$ISO cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute check:rc==0 diff --git a/xCAT-test/autotest/testcase/infiniband/cases0 b/xCAT-test/autotest/testcase/infiniband/cases0 index 2da6c8d92..176585f4d 100644 --- a/xCAT-test/autotest/testcase/infiniband/cases0 +++ b/xCAT-test/autotest/testcase/infiniband/cases0 @@ -1,17 +1,20 @@ start:rhel_infiniband_diskless_install description:Integration test of RHEL 7 and MLNX OFED for diskless installation. Following variables need to be set in the test configuration file, ISO, CN, MLNX, DKMS. Read comments in rhel-infiniband-diskless-install.sh for details. +label:others,IB cmd:RHEL_ISO="$$ISO" LINUX_DISTRO="GETNODEATTR($$CN, os)" COMPUTE_NODE="$$CN" MLNX_ISO="$$MLNX" DKMS_RPM="$$DKMS" /opt/xcat/share/xcat/tools/autotest/testcase/infiniband/rhel-infiniband-diskless-install.sh check:rc==0 end start:rhel_infiniband_diskfull_install description:Integration test of RHEL 7 and MLNX OFED for diskfull installation. Following variables need to be set in the test configuration file, ISO, CN, MLNX, DKMS. Read comments in rhel-infiniband-diskfull-install.sh for details. +label:others,IB cmd:RHEL_ISO="$$ISO" LINUX_DISTRO="GETNODEATTR($$CN, os)" COMPUTE_NODE="$$CN" MLNX_ISO="$$MLNX" DKMS_RPM="$$DKMS" /opt/xcat/share/xcat/tools/autotest/testcase/infiniband/rhel-infiniband-diskfull-install.sh check:rc==0 end start:confignetwork_ib_ipoib description: this case is to test confignetwork could configure the first infiniband interface, ib0, successfully with updatenode. +label:others,IB cmd:lsdef $$CN;if [ $? -eq 0 ]; then lsdef -l $$CN -z >/tmp/CN.standa ;fi check:rc==0 cmd:xdsh $$CN "mkdir -p /tmp/backupnet/" diff --git a/xCAT-test/autotest/testcase/install_xCAT/case0 b/xCAT-test/autotest/testcase/install_xCAT/case0 index 05bc1f7c7..80d030fa9 100644 --- a/xCAT-test/autotest/testcase/install_xCAT/case0 +++ b/xCAT-test/autotest/testcase/install_xCAT/case0 @@ -1,5 +1,6 @@ start:install_xCAT_on_rhels_sles description:install xCAT with go-xcat tool in a fresh environment for rhels and sles +label:xcat_install os:Linux stop:yes cmd:if grep "Red Hat" /etc/*release >/dev/null; then yum install -y yum-utils bzip2; fi @@ -24,9 +25,10 @@ end start:install_xCAT_on_ubuntu description:install xCAT with go-xcat tool in a fresh environment for ubuntu +label:xcat_install os:Linux stop:yes -cmd:arc_all=`uname -a`; code=`lsb_release -sc`;if [[ $arc_all =~ "ppc64le" ]]; then arch="ppc64el";else arch="x86_64";fi; cp "/opt/xcat/share/xcat/tools/autotest/testcase/go-xcat/$code-$arch.sources.list" "/etc/apt/sources.list" +cmd:arc_all=`uname -a`; code=`lsb_release -sc`;if [[ $arc_all =~ "ppc64le" ]]; then arch="ppc64el";else arch="x86_64";fi; cp "/opt/xcat/share/xcat/tools/autotest/testcase/go_xcat/$code-$arch.sources.list" "/etc/apt/sources.list" cmd:apt-get clean;apt-get update check:rc==0 cmd:cp /core-*-snap.tar.bz2 /install_xCAT_xcat-core.tar.bz2 diff --git a/xCAT-test/autotest/testcase/installation/reg_linux_diskfull_installation_flat_postscripts_failed b/xCAT-test/autotest/testcase/installation/reg_linux_diskfull_installation_flat_postscripts_failed index d61220f77..511a93fea 100644 --- a/xCAT-test/autotest/testcase/installation/reg_linux_diskfull_installation_flat_postscripts_failed +++ b/xCAT-test/autotest/testcase/installation/reg_linux_diskfull_installation_flat_postscripts_failed @@ -2,7 +2,7 @@ start:reg_linux_diskfull_installation_flat_postscripts_failed description:This case is for postscripts failed the status will return failed during diskfull installation. attribute:$$CN-The operation object of diskfull installation. os:Linux -label:others,postscripts,invoke_provison +label:others,postscripts,invoke_provision cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;fi cmd:MINIISO=NUll;if [[ "__GETNODEATTR($$CN,os)__" =~ "ubuntu" ]] && [[ "__GETNODEATTR($$CN,arch)__" =~ "ppc64" ]];then mkdir /tmp/iso; mount -o loop $$MINIISO /tmp/iso ; mkdir -p /install/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/install/netboot; cp /tmp/iso/install/initrd.gz /install/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/install/netboot;umount /tmp/iso; rmdir /tmp/iso; fi check:rc==0 diff --git a/xCAT-test/autotest/testcase/installation/reg_linux_diskless_installation_flat_postscripts_failed b/xCAT-test/autotest/testcase/installation/reg_linux_diskless_installation_flat_postscripts_failed index 0121d2249..d29e28cd0 100644 --- a/xCAT-test/autotest/testcase/installation/reg_linux_diskless_installation_flat_postscripts_failed +++ b/xCAT-test/autotest/testcase/installation/reg_linux_diskless_installation_flat_postscripts_failed @@ -2,7 +2,7 @@ start:reg_linux_diskless_installation_flat_postscripts_failed description:This case is for postscripts failed the status will return failed during diskless installation. attribute:$$CN-The operation object of diskless installation. os:Linux -label:others,postscripts,invoke_provison +label:others,postscripts,invoke_provision cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN check:rc==0 diff --git a/xCAT-test/autotest/testcase/installation/setup_vm b/xCAT-test/autotest/testcase/installation/setup_vm index 7e02d8fb4..176b34546 100644 --- a/xCAT-test/autotest/testcase/installation/setup_vm +++ b/xCAT-test/autotest/testcase/installation/setup_vm @@ -1,20 +1,29 @@ start:setup_vm -description:set up vm environment -cmd:var=`expr substr "__GETNODEATTR($$CN,vmstorage)__" 1 3`;echo $var;if [ "__GETNODEATTR($$CN,arch)__" != "ppc64" -a "__GETNODEATTR($$CN,mgt)__" != "ipmi" ];then rmvm $$CN -f -p;if [[ "$var" = "phy" ]]; then mkvm $$CN;exit $? ; elif [[ "$var" = "dir" ]];then mkvm $$CN ; rmvm $$CN -f -p ; mkvm $$CN -s 20G ;exit $? ;elif [ "$var" = "nfs" -o "$var" = "lvm" ];then echo "Need to fix me. ";exit 2;else echo "Could not surpport vmstorage.";exit 3;fi;fi +description:reset up vm environment if need +label:others +cmd:if [ "__GETNODEATTR($$CN,arch)__" != "ppc64" -a "__GETNODEATTR($$CN,mgt)__" != "ipmi" -a "__GETNODEATTR($$CN,mgt)__" != "openbmc" ];then echo "CN node $$CN is a vm which mgt is __GETNODEATTR($$CN,mgt)__, start to recreate the vm now"; echo "rpower $$CN off"; rpower $$CN off; sleep 3; echo "rpower $$CN stat"; rpower $$CN stat; var=`expr substr "__GETNODEATTR($$CN,vmstorage)__" 1 3`; echo "The disk create way of $$CN is $var"; if [ "$var" = "phy" ]; then echo "mkvm $$CN"; mkvm $$CN; echo "rmvm $$CN -f -p"; rmvm $$CN -f -p; echo "mkvm $$CN"; mkvm $$CN; exit $?; elif [ "$var" = "dir" ]; then echo "mkvm $$CN -s 20G -f"; mkvm $$CN -s 20G -f; echo "rmvm $$CN -f -p"; rmvm $$CN -f -p; echo "mkvm $$CN -s 20G -f"; mkvm $$CN -s 20G -f; exit $?; elif ["$var" = "nfs" -o "$var" = "lvm" ];then echo "Need to fix me"; exit 2; else echo "unsupported disk creation way"; exit 3;fi;else echo "CN node $$CN is a non-VM; do not need to recreate it";fi check:rc==0 -cmd:rpower $$CN on + +cmd:if [ "__GETNODEATTR($$CN,arch)__" != "ppc64" -a "__GETNODEATTR($$CN,mgt)__" != "ipmi" -a "__GETNODEATTR($$CN,mgt)__" != "openbmc" ]; then echo "CN node is a vm, need to repower it on"; echo "rpower $$CN on"; rpower $$CN on; else echo "CN node $$CN is a non-VM; do not need to repower on it"; fi check:rc==0 + cmd:rpower $$CN stat check:output=~on -cmd:var=`expr substr "__GETNODEATTR($$SN,vmstorage)__" 1 3`;echo $var;if [ "__GETNODEATTR($$SN,arch)__" != "ppc64" -a "__GETNODEATTR($$SN,mgt)__" != "ipmi" ];then rmvm $$SN -f -p;if [[ "$var" = "phy" ]]; then mkvm $$SN;exit $? ; elif [[ "$var" = "dir" ]];then mkvm $$SN ; rmvm $$SN -f -p ; mkvm $$SN -s 20G ;exit $? ;elif [ "$var" = "nfs" -o "$var" = "lvm" ];then echo "Need to fix me. ";exit 2;else echo "Could not surpport vmstorage.";exit 3;fi;fi + +cmd:if [ "__GETNODEATTR($$CN,arch)__" != "ppc64" -a "__GETNODEATTR($$CN,mgt)__" != "ipmi" -a "__GETNODEATTR($$CN,mgt)__" != "openbmc" ]; then tabdump -w node==$$CN kvm_nodedata; fi check:rc==0 -cmd:rpower $$SN on + +cmd:if [ "__GETNODEATTR($$SN,arch)__" != "ppc64" -a "__GETNODEATTR($$SN,mgt)__" != "ipmi" -a "__GETNODEATTR($$SN,mgt)__" != "openbmc" ];then echo "SN node $$SN is a vm which mgt is __GETNODEATTR($$SN,mgt)__, start to recreate the vm now"; echo "rpower $$SN off"; rpower $$SN off; sleep 3; echo "rpower $$SN stat"; rpower $$SN stat; var=`expr substr "__GETNODEATTR($$SN,vmstorage)__" 1 3`; echo "The disk create way of $$SN is $var"; if [ "$var" = "phy" ]; then echo "mkvm $$SN"; mkvm $$SN; echo "rmvm $$SN -f -p"; rmvm $$SN -f -p; echo "mkvm $$SN"; mkvm $$SN; exit $?; elif [ "$var" = "dir" ]; then echo "mkvm $$SN -s 20G -f"; mkvm $$SN -s 20G -f; echo "rmvm $$SN -f -p"; rmvm $$SN -f -p; echo "mkvm $$SN -s 20G -f"; mkvm $$SN -s 20G -f; exit $?; elif ["$var" = "nfs" -o "$var" = "lvm" ];then echo "Need to fix me"; exit 2; else echo "unsupported disk creation way"; exit 3;fi;else echo "SN node $$SN is a non-VM; do not need to recreate it";fi check:rc==0 + + +cmd:if [ "__GETNODEATTR($$SN,arch)__" != "ppc64" -a "__GETNODEATTR($$SN,mgt)__" != "ipmi" -a "__GETNODEATTR($$SN,mgt)__" != "openbmc" ];then echo "SN node $$SN is a VM, need to rpower it on"; echo "rpower $$SN on"; rpower $$SN on; fi +check:rc==0 + cmd:rpower $$SN stat check:output=~on -#Add for debug rmvm issue -cmd:if [ "__GETNODEATTR($$CN,arch)__" != "ppc64" -a "__GETNODEATTR($$CN,mgt)__" != "ipmi" ]; then tabdump -w node==$$CN kvm_nodedata; fi + check:rc==0 -cmd:if [ "__GETNODEATTR($$SN,arch)__" != "ppc64" -a "__GETNODEATTR($$SN,mgt)__" != "ipmi" ]; then tabdump -w node==$$SN kvm_nodedata; fi +cmd:if [ "__GETNODEATTR($$SN,arch)__" != "ppc64" -a "__GETNODEATTR($$SN,mgt)__" != "ipmi" -a "__GETNODEATTR($$SN,mgt)__" != "openbmc" ]; then tabdump -w node==$$SN kvm_nodedata; fi check:rc==0 end diff --git a/xCAT-test/autotest/testcase/installation/ubuntu_full_installation_vm_docker b/xCAT-test/autotest/testcase/installation/ubuntu_full_installation_vm_docker index e7aabd53b..c8e099502 100644 --- a/xCAT-test/autotest/testcase/installation/ubuntu_full_installation_vm_docker +++ b/xCAT-test/autotest/testcase/installation/ubuntu_full_installation_vm_docker @@ -1,6 +1,6 @@ start:Full_installation_flat_docker os:Linux -label:others,docker,invoke_provison +label:others,docker,invoke_provision cmd:copycds $$ISO check:rc==0 cmd:makedns -n diff --git a/xCAT-test/autotest/testcase/kdump/linux_diskless_kdump b/xCAT-test/autotest/testcase/kdump/linux_diskless_kdump index 01dde2833..d9e8f86c7 100644 --- a/xCAT-test/autotest/testcase/kdump/linux_diskless_kdump +++ b/xCAT-test/autotest/testcase/kdump/linux_diskless_kdump @@ -1,4 +1,5 @@ start:linux_diskless_kdump +label:others,kdump,invoke_provision os:Linux cmd:lsdef -z $$CN > /tmp/node.stanza cmd:lsdef -t osimage -z __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute > /tmp/osimage.stanza diff --git a/xCAT-test/autotest/testcase/lsdef/cases0 b/xCAT-test/autotest/testcase/lsdef/cases0 index 1daf6ad95..dbd717f4f 100644 --- a/xCAT-test/autotest/testcase/lsdef/cases0 +++ b/xCAT-test/autotest/testcase/lsdef/cases0 @@ -1,6 +1,6 @@ start:lsdef_null description: lsdef without any flag -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnodell groups=all check:rc==0 cmd:lsdef @@ -12,7 +12,7 @@ end start:lsdef_a description: lsdef -a and lsdef --all -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:mkdef -t network -o testnetwork net=1.2.3.0 mask=255.255.255.0 @@ -37,7 +37,7 @@ end start:lsdef_t_o_l description: lsdef -o -l -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:mkdef -t network -o testnetwork net=1.2.3.0 mask=255.255.255.0 @@ -59,7 +59,7 @@ end start:lsdef_t_o_l_z description: lsdef -l -z -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:mkdef -t network -o testnetwork net=1.2.3.0 mask=255.255.255.0 @@ -80,7 +80,7 @@ end start:lsdef_t description: lsdef -t -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:mkdef -t network -o testnetwork net=1.2.3.0 mask=255.255.255.0 @@ -95,7 +95,7 @@ end start:lsdef_t_i_o description: lsdef -i -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:lsdef -t node -o testnode -i groups @@ -113,7 +113,7 @@ cmd:rmdef -t network testnetwork end start:lsdef_t_w -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode11,testnode21 cons=hmc groups=all check:rc==0 cmd:mkdef -t node -o testnode31,testnode41 cons=ipmi groups=linux @@ -144,7 +144,7 @@ end start:lsdef_s description: lsdef -s -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all check:rc==0 cmd:lsdef -s testnode @@ -155,7 +155,7 @@ end start:lsdef_t_auditlog description:lsdef -t auditlog -label:mn_only,db +label:mn_only,ci_test,db cmd:tabprune auditlog -a check:rc==0 cmd:lsdef -t auditlog @@ -165,7 +165,7 @@ end start:lsdef_t_eventlog description:lsdef -t eventlog -label:mn_only,db +label:mn_only,ci_test,db cmd:tabprune eventlog -a check:rc==0 cmd:lsdef -t eventlog @@ -175,7 +175,7 @@ end start:lsdef_t_policy description:lsdef -t policy -label:mn_only,db +label:mn_only,ci_test,db cmd:lsdef -t policy check:rc==0 check:output=~1\s+\(policy\) @@ -186,7 +186,7 @@ end start:lsdef_t_site description:lsdef -t site -label:mn_only,db +label:mn_only,ci_test,db cmd:lsdef -t site check:rc==0 check:output=~clustersite @@ -197,7 +197,7 @@ end start:lsdef_t_err description:lsdef -t wrongtype -o -label:mn_only,db +label:mn_only,ci_test,db cmd:lsdef -t wrongtype -o test check:rc!=0 check:output=~Error @@ -205,7 +205,7 @@ end start:lsdef_t_h_i description:lsdef -t node -h -i status -label:mn_only,db +label:mn_only,ci_test,db cmd:lsdef -t node -h -i status check:rc==0 check:output=~status @@ -213,7 +213,7 @@ end start:lsdef_nics description:lsdef --nics -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1 groups=all mgt=ipmi nicips.eth0=1.1.1.1 check:rc==0 cmd:lsdef testnode1 --nics @@ -227,7 +227,7 @@ end start:lsdef_template description:check xCAT supported template -label:mn_only,db +label:mn_only,ci_test,db cmd:lsdef --template check:rc==0 check:output=~hmc\-template \(node\) @@ -240,7 +240,7 @@ end start:lsdef_template_switch_template description:check xCAT supported template for switch template -label:mn_only,db +label:mn_only,ci_test,db cmd:lsdef --template switch-template check:rc==0 check:output=~Object name\: switch-template @@ -256,7 +256,7 @@ check:output=~switchtype\=OPTIONAL\:The type of switch end start:lsdef_template_with_invalid_name -label:mn_only,db +label:mn_only,ci_test,db description:lsdef --template with invalid template name cmd:result=`lsdef | grep test_with_invalid_name`; if [[ $result =~ "test_with_invalid_name" ]]; then noderm test_with_invalid_name; fi cmd:lsdef --template "test_with_invalid_name" diff --git a/xCAT-test/autotest/testcase/lskit/case0 b/xCAT-test/autotest/testcase/lskit/case0 index ffdb9ae1f..8d9dd3485 100644 --- a/xCAT-test/autotest/testcase/lskit/case0 +++ b/xCAT-test/autotest/testcase/lskit/case0 @@ -1,4 +1,5 @@ start:lskit_v +label:others,KIT os:Linux cmd:lskit -v check:rc==0 @@ -13,6 +14,7 @@ check:output=~compatible_frameworks end start:lskit_h +label:others,KIT os:Linux cmd:lskit -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:lskit_F +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskit;buildkit create mykits @@ -42,6 +45,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits end start:lskit_K +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskit;buildkit create mykits @@ -65,6 +69,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits end start:lskit_R +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskit;buildkit create mykits @@ -91,6 +96,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits end start:lskit_C +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskit;buildkit create mykits diff --git a/xCAT-test/autotest/testcase/lskitcomp/case0 b/xCAT-test/autotest/testcase/lskitcomp/case0 index ae02e7753..bfd0d394c 100644 --- a/xCAT-test/autotest/testcase/lskitcomp/case0 +++ b/xCAT-test/autotest/testcase/lskitcomp/case0 @@ -1,4 +1,5 @@ start:lskitcomp_v +label:others,KIT os:Linux cmd:lskitcomp -v check:rc==0 @@ -13,6 +14,7 @@ check:output=~compatible_frameworks end start:lskitcomp_h +label:others,KIT os:Linux cmd:lskitcomp -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:lskitcomp_C +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp;buildkit create mykits @@ -53,6 +56,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp/mykits end start:lskitcomp_C +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp;buildkit create mykits @@ -84,6 +88,7 @@ end start:lskitcomp_S +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskitcomp;buildkit create mykits diff --git a/xCAT-test/autotest/testcase/lskitdeployparam/case0 b/xCAT-test/autotest/testcase/lskitdeployparam/case0 index 7a62f5586..44e68315d 100644 --- a/xCAT-test/autotest/testcase/lskitdeployparam/case0 +++ b/xCAT-test/autotest/testcase/lskitdeployparam/case0 @@ -1,4 +1,5 @@ start:lskitdeployparam_v +label:others,KIT os:Linux cmd:lskitdeployparam -v check:rc==0 @@ -13,6 +14,7 @@ check:output=~compatible_frameworks end start:lskitdeployparam_h +label:others,KIT os:Linux cmd:lskitdeployparam -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:lskitdeployparam_no_param +label:others,KIT os:Linux cmd:lskitdeployparam check:rc==1 @@ -32,6 +35,7 @@ end start:lskitdeployparam_k_1 +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskit;buildkit create mykits @@ -57,6 +61,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits end start:lskitdeployparam_c_1 +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/lskit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/lskit;buildkit create mykits diff --git a/xCAT-test/autotest/testcase/lslite/cases0 b/xCAT-test/autotest/testcase/lslite/cases0 index 2f77574e4..af6114b75 100644 --- a/xCAT-test/autotest/testcase/lslite/cases0 +++ b/xCAT-test/autotest/testcase/lslite/cases0 @@ -1,5 +1,6 @@ start:lslite_i description:lslite -i +label:others,statelite os:Linux cmd:copycds $$ISO check:rc==0 @@ -26,6 +27,7 @@ end start:lslite_noderange description:lslite noderange +label:others,statelite os:Linux cmd:mkdef -t osimage -o __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-statelite-compute -u profile=compute provmethod=statelite osvers=__GETNODEATTR($$CN,os)__ check:rc==0 @@ -52,6 +54,7 @@ end start:lslite_h os:Linux description:lslite -h and --help +label:others,statelite cmd:lslite -h check:output=~usage|Usage cmd:lslite --help diff --git a/xCAT-test/autotest/testcase/lsvm/cases0 b/xCAT-test/autotest/testcase/lsvm/cases0 index abe42f631..9929a5ea1 100644 --- a/xCAT-test/autotest/testcase/lsvm/cases0 +++ b/xCAT-test/autotest/testcase/lsvm/cases0 @@ -1,16 +1,19 @@ #comment out for developper will not fix it #start:lsvm_null +#label:others,hctrl_hmc #cmd:lsvm #check:rc!=0 #check:output=~Usage #end start:lsvm_node +label:others,hctrl_hmc hcp:hmc,ivm cmd:lsvm $$CN check:rc==0 check:output=~name=$$CN end start:lsvm_err_node +label:others,hctrl_hmc cmd:lsvm testnode check:rc!=0 check:output=~Error diff --git a/xCAT-test/autotest/testcase/lsxcatd/cases0 b/xCAT-test/autotest/testcase/lsxcatd/cases0 index 59f0f5bfa..eb82fb0ff 100644 --- a/xCAT-test/autotest/testcase/lsxcatd/cases0 +++ b/xCAT-test/autotest/testcase/lsxcatd/cases0 @@ -1,13 +1,13 @@ start:lsxcatd_null description:lsxcatd without any flag -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:lsxcatd check:output=~lsxcatd end start:lsxcatd_h description:lsxcatd -h -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:lsxcatd -h check:rc==0 check:output=~lsxcatd @@ -15,7 +15,7 @@ end start:lsxcatd_d description:lsxcatd -d -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:lsxcatd -d check:rc==0 check:output=~(cfgloc|dbengine|dbinstance|dbname|dbloc) @@ -23,7 +23,7 @@ end start:lsxcatd_a description:lsxcatd -a -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:lsxcatd -a check:rc==0 check:output=~Version diff --git a/xCAT-test/autotest/testcase/makeconservercf/cases0 b/xCAT-test/autotest/testcase/makeconservercf/cases0 index 219778d81..be7cc21b4 100644 --- a/xCAT-test/autotest/testcase/makeconservercf/cases0 +++ b/xCAT-test/autotest/testcase/makeconservercf/cases0 @@ -1,4 +1,5 @@ start:makeconservercf_null +label:others,ci_test cmd:chdef -t node -o testnodetmp cons=hmc groups=all cmd:makeconservercf testnodetmp check:rc==0 @@ -10,6 +11,7 @@ cmd:rmdef -t node testnodetmp end start:makeconservercf_noderange +label:others,ci_test cmd:chdef -t node -o testnodetmp cons=hmc groups=all cmd:makeconservercf testnodetmp check:rc==0 @@ -21,6 +23,7 @@ cmd:rmdef -t node testnodetmp end start:makeconservercf_d +label:others,ci_test cmd:chdef -t node -o testnodetmp cons=hmc groups=all cmd:makeconservercf testnodetmp check:rc==0 diff --git a/xCAT-test/autotest/testcase/makedhcp/cases0 b/xCAT-test/autotest/testcase/makedhcp/cases0 index 157ab8982..818ca9173 100644 --- a/xCAT-test/autotest/testcase/makedhcp/cases0 +++ b/xCAT-test/autotest/testcase/makedhcp/cases0 @@ -1,11 +1,11 @@ start:makedhcp_n description:Create a new dhcp configuration file with a network statement for each network the dhcp daemon should listen on os:Linux -label:mn_only,dhcp +label:mn_only,ci_test,dhcp cmd:if [ -f "/etc/dhcp/dhcpd.conf" ];then mv -f /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak ; elif [ -f "/etc/dhcpd.conf" ]; then mv -f /etc/dhcpd.conf /etc/dhcpd.conf.bak; fi cmd:makedhcp -n check:rc==0 -cmd:ls /etc/dhcp/dhcpd.conf || ls /etc/dhcpd.conf +cmd:cat $(ls /etc/dhcp/dhcpd.conf || ls /etc/dhcpd.conf) check:rc==0 cmd:sleep 20 cmd:ps -e | grep dhcpd @@ -18,7 +18,7 @@ end start:makedhcp_h description:help -label:mn_only,dhcp +label:mn_only,ci_test,dhcp cmd:makedhcp -h check:rc==0 check:output=~Usage @@ -26,7 +26,7 @@ end start:makedhcp_help description:help -label:mn_only,dhcp +label:mn_only,ci_test,dhcp cmd:makedhcp -h check:rc==0 check:output=~Usage @@ -34,6 +34,7 @@ end start:makedhcp_n_linux description:Create a new dhcp configuration file with a network statement for each network the dhcp daemon should listen on +label:others,ci_test os:Linux cmd:if [ -f "/etc/dhcp/dhcpd.conf" ];then mv -f /etc/dhcp/dhcpd.conf /etc/dhcp/dhcpd.conf.bak ; elif [ -f "/etc/dhcpd.conf" ]; then mv -f /etc/dhcpd.conf /etc/dhcpd.conf.bak; fi cmd:makedhcp -n diff --git a/xCAT-test/autotest/testcase/makedns/cases0 b/xCAT-test/autotest/testcase/makedns/cases0 index d2ef5f905..117e86d83 100644 --- a/xCAT-test/autotest/testcase/makedns/cases0 +++ b/xCAT-test/autotest/testcase/makedns/cases0 @@ -1,6 +1,6 @@ start:makedns_h description:help -label:mn_only,dns +label:mn_only,ci_test,dns cmd:makedns -h check:rc==0 cmd:makedns --help diff --git a/xCAT-test/autotest/testcase/makehosts/cases0 b/xCAT-test/autotest/testcase/makehosts/cases0 index c647af508..dab769d08 100644 --- a/xCAT-test/autotest/testcase/makehosts/cases0 +++ b/xCAT-test/autotest/testcase/makehosts/cases0 @@ -1,5 +1,5 @@ start:makehosts_h -label:mn_only,dns +label:mn_only,ci_test,dns description:makehosts -h cmd:makehosts -h check:rc==0 @@ -7,7 +7,7 @@ check:output=~Usage end start:makehosts_help -label:mn_only,dns +label:mn_only,ci_test,dns description:makehosts --help cmd:makehosts --help check:rc==0 @@ -16,7 +16,7 @@ end start:makehosts_null description:makehosts -label:mn_only,dns +label:mn_only,ci_test,dns cmd:cp -f /etc/hosts /etc/hosts.xcatbakautotest cmd:chtab node=nouse_compute hosts.ip="|node(\d+)|1.2.3.(\$1+0)|" hosts.hostnames="|(.*)|(\$1).cluster.net|" check:rc==0 @@ -88,7 +88,7 @@ cmd:rm -f /tmp/1 /tmp/2 end start:makehosts_n -label:mn_only,dns +label:mn_only,ci_test,dns cmd:cp -f /etc/hosts /etc/hosts.xcatbakautotest cmd:chtab node=nouse_compute hosts.ip="|node(\d+)|1.2.3.(\$1+0)|" hosts.hostnames="|(.*)|(\$1).cluster.net|" check:rc==0 @@ -113,7 +113,7 @@ cmd:rm -rf /tmp/hosts end start:makehosts_n_noderange -label:mn_only,dns +label:mn_only,ci_test,dns cmd:cp -f /etc/hosts /etc/hosts.xcatbakautotest cmd:chtab node=compute hosts.ip="|node(\d+)|1.2.3.(\$1+0)|" hosts.hostnames="|(.*)|(\$1).cluster.net|" check:rc==0 diff --git a/xCAT-test/autotest/testcase/makeknownhosts/cases0 b/xCAT-test/autotest/testcase/makeknownhosts/cases0 index 95442b651..112b83166 100644 --- a/xCAT-test/autotest/testcase/makeknownhosts/cases0 +++ b/xCAT-test/autotest/testcase/makeknownhosts/cases0 @@ -1,4 +1,5 @@ start:makeknownhosts_h +label:others,ci_test,hosts cmd:makeknownhosts -h check:output=~Usage cmd:makeknownhosts --help @@ -7,6 +8,7 @@ end start:makeknownhosts_node description:Make a known_hosts file under $ROOTHOME/.ssh for input noderange +label:others,hosts cmd:makeknownhosts $$CN -r cmd:makeknownhosts $$CN check:rc==0 @@ -18,6 +20,7 @@ end start:makeknownhosts_node_r description:remove known node in $ROOTHOME/.ssh +label:others,hosts cmd:makeknownhosts $$CN cmd:cat ~/.ssh/known_hosts|grep $$CN check:output=~$$CN @@ -30,6 +33,7 @@ end start:makeknownhosts_node_d description:delete known node entry from $ROOTHOME/.ssh +label:others,hosts cmd:makeknownhosts $$CN cmd:cat ~/.ssh/known_hosts|grep $$CN check:output=~$$CN @@ -44,6 +48,7 @@ end start:makeknownhosts_node_v description:verbose +label:others,hosts cmd:makeknownhosts $$CN -V check:rc==0 check:output=~$$CN diff --git a/xCAT-test/autotest/testcase/makenetworks/cases0 b/xCAT-test/autotest/testcase/makenetworks/cases0 index def304fe6..d7d035e61 100644 --- a/xCAT-test/autotest/testcase/makenetworks/cases0 +++ b/xCAT-test/autotest/testcase/makenetworks/cases0 @@ -1,5 +1,6 @@ start:makenetworks_h description:help +label:others,ci_test,network cmd:makenetworks -h check:rc==0 check:output=~Usage @@ -7,6 +8,7 @@ end start:makenetworks_help description:help +label:others,ci_test,network cmd:makedhcp --help check:rc==0 check:output=~Usage @@ -14,6 +16,7 @@ end start:makenetworks_v description:version +label:others,ci_test,network cmd:makenetworks -v check:rc==0 check:output=~Version @@ -21,6 +24,8 @@ end start:makenetworks_d os:Linux +description:makenetworks_d +label:others,network cmd:makenetworks -d > /tmp/mynetworksstanzas check:rc==0 cmd:echo -ne "auto-testnetworks:\n objtype=network\n gateway=1.2.3.0\n mask=255.255.255.0\n net=1.2.3.1\n" >> /tmp/mynetworksstanzas @@ -35,6 +40,7 @@ end start:makenetworks_d_V description:display,verbose +label:others,ci_test,network cmd:makenetworks check:rc==0 cmd:makenetworks -d -V @@ -47,6 +53,7 @@ end start:makenetworks os:Linux description:makenetworks +label:others,network cmd:num=`lsdef -t network |cut -d" " -f1 |tee /tmp/testnetworks|wc -l`;for((i=1;i<=$num;i++)) do rmdef -t network `cat /tmp/testnetworks|sed -n "${i}p"`; done check:rc==0 check:output=~(definitions have been removed) diff --git a/xCAT-test/autotest/testcase/makentp/cases0 b/xCAT-test/autotest/testcase/makentp/cases0 index d88159074..28eef1e18 100644 --- a/xCAT-test/autotest/testcase/makentp/cases0 +++ b/xCAT-test/autotest/testcase/makentp/cases0 @@ -1,19 +1,22 @@ start:makentp_v -descriptiop:makentp -v +description:makentp -v +label:others,ntp cmd:makentp -v check:rc==0 check:output=~Version end start:makentp_h -descriptiop:makentp -h +description:makentp -h +label:others,ntp cmd:makentp -h check:rc==0 check:output=~Usage: makentp end start:makentp_extntpserver_null -descriptiop:test makentp with default value. extntpserver is set to blank +description:test makentp with default value. extntpserver is set to blank +label:others,ntp cmd:lsdef -t site -o clustersite -i extntpservers -c >/tmp/extntpserver check:rc==0 cmd:chtab key=extntpservers site.value="" @@ -37,7 +40,8 @@ check:rc==0 end start:makentp_extntpserver_value -descriptiop:test makentp with extntpserver is set to a specific value +description:test makentp with extntpserver is set to a specific value +label:others,ntp cmd:lsdef -t site -o clustersite -i extntpservers -c >/tmp/extntpserver check:rc==0 cmd:chtab key=extntpservers site.value="$$extntpserversip" @@ -69,7 +73,8 @@ cmd:rm -rf /tmp/extntpserver end start:updatenode_computenode_P_setupntp -descriptiop:using updatenode -P to setup ntp on compute node +description:using updatenode -P to setup ntp on compute node +label:others,ntp cmd:xdsh $$CN date -s 20000101 check:rc==0 cmd:if [[ "__GETNODEATTR($$CN,os)__" =~ "rhel" ]];then xdsh $$CN clock -w;else xdsh $$CN hwclock -w ; fi @@ -102,7 +107,8 @@ end start:makentp_initialize -descriptiop:start ntp service on management node and synchronize time with external ntp server +description:start ntp service on management node and synchronize time with external ntp server +label:others,ntp cmd:chtab key=extntpservers site.value="$$extntpserversip" check:rc==0 cmd:makentp -V diff --git a/xCAT-test/autotest/testcase/makeroutes/cases0 b/xCAT-test/autotest/testcase/makeroutes/cases0 index bc5dacf29..5ac2c51bc 100644 --- a/xCAT-test/autotest/testcase/makeroutes/cases0 +++ b/xCAT-test/autotest/testcase/makeroutes/cases0 @@ -1,16 +1,19 @@ start:makeroutes_h +label:others,network cmd:makeroutes -h check:rc==0 check:output=~Usage end start:makeroutes_v +label:others,network cmd:makeroutes -v check:rc==0 check:output=~Version end start:makeroutes_r_d_node +label:others,network cmd:chtab routename=testr routes.net=10.1.0.0 routes.mask=255.255.0.0 routes.gateway=10.1.254.254 check:rc==0 cmd: makeroutes $$CN -r testr @@ -29,6 +32,7 @@ end start:makeroutes_r_d +label:others,network cmd:chtab routename=testr routes.net=10.1.0.0 routes.mask=255.255.0.0 routes.gateway=10.1.254.254 check:rc==0 cmd: makeroutes -r testr @@ -47,6 +51,7 @@ end start:makeroutes_use_site_mnroutenames +label:others,network cmd:chtab routename=testr routes.net=10.1.0.0 routes.mask=255.255.0.0 routes.gateway=10.1.254.254 check:rc==0 cmd:chtab key=mnroutenames site.value=testr @@ -68,6 +73,7 @@ check:rc==0 end start:makeroutes_use_noderes_routenames +label:others,network cmd:chtab routename=testr routes.net=10.1.0.0 routes.mask=255.255.0.0 routes.gateway=10.1.254.254 check:rc==0 cmd:chtab node=$$CN noderes.routenames=testr diff --git a/xCAT-test/autotest/testcase/migration/redhat_migration b/xCAT-test/autotest/testcase/migration/redhat_migration index c2d43ff7b..a11f1d807 100644 --- a/xCAT-test/autotest/testcase/migration/redhat_migration +++ b/xCAT-test/autotest/testcase/migration/redhat_migration @@ -1,6 +1,7 @@ start:redhat_migration1 os:Linux description:update xCAT from $$MIGRATION1_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;echo "poweroffsn">/tmp/poweroffsn;fi check:rc==0 @@ -108,6 +109,7 @@ end start:redhat_migration2 os:Linux description:update xCAT from $$MIGRATION2_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision #stop:yes cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;echo "poweroffsn">/tmp/poweroffsn;fi check:rc==0 diff --git a/xCAT-test/autotest/testcase/migration/sles_migration b/xCAT-test/autotest/testcase/migration/sles_migration index af2cd1303..76acbd859 100644 --- a/xCAT-test/autotest/testcase/migration/sles_migration +++ b/xCAT-test/autotest/testcase/migration/sles_migration @@ -1,6 +1,7 @@ start:sles_migration1 os:Linux description:update xCAT from $$MIGRATION1_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;echo "poweroffsn">/tmp/poweroffsn;fi check:rc==0 cmd:if [[ "__GETNODEATTR($$SN,groups)__" =~ "service" ]];then chdef $$SN -m groups=service;echo "servicelabel" >/tmp/servicelabel;fi @@ -60,6 +61,12 @@ cmd:xdsh $$CN "/oldxcat/xcat-core/mklocalrepo.sh" check:rc==0 cmd:xdsh $$CN "cd /oldxcat/xcat-dep/sles1`more /etc/*release|grep VERSION_ID|cut -c14`/__GETNODEATTR($$CN,arch)__/;./mklocalrepo.sh" check:rc==0 +# Workaround github issue #5503 +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-core.repo; sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-dep.repo )" +cmd:xdsh $$CN "zypper --gpg-auto-import-keys -n --no-gpg-checks refresh" +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e --allmatches gpg-pubkey-ca548a47-5b2c830b" +cmd:xdsh $$CN "zypper refresh" +check:rc==0 cmd:xdsh $$CN "zypper sl -U;zypper --gpg-auto-import-keys search --match-exact -s screen" check:rc==0 cmd:xdsh $$CN "zypper -n install xCAT" @@ -90,7 +97,11 @@ cmd:xdsh $$CN "tar -jxvf /xcat-dep*.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /root/xcat-dep/sles1`more /etc/*release|grep VERSION_ID|cut -c14`/__GETNODEATTR($$CN,arch)__/;./mklocalrepo.sh" check:rc==0 -cmd:xdsh $$CN "zypper refresh;zypper -n --gpg-auto-import-keys update --force-resolution '*xCAT*'" +# Workaround github issue #5503 +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-core.repo; sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-dep.repo )" +cmd:xdsh $$CN "zypper --gpg-auto-import-keys -n --no-gpg-checks refresh" +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e --allmatches gpg-pubkey-ca548a47-5b2c830b" +cmd:xdsh $$CN "zypper refresh;zypper -n update --force-resolution '*xCAT*'" check:rc==0 cmd:xdsh $$CN "service xcatd status" check:rc==0 @@ -110,6 +121,7 @@ end start:sles_migration2 os:Linux description:update xCAT from $$MIGRATION22VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;echo "poweroffsn">/tmp/poweroffsn;fi check:rc==0 @@ -170,6 +182,12 @@ cmd:xdsh $$CN "/oldxcat/xcat-core/mklocalrepo.sh" check:rc==0 cmd:xdsh $$CN "cd /oldxcat/xcat-dep/sles1`more /etc/*release|grep VERSION_ID|cut -c14`/__GETNODEATTR($$CN,arch)__/;./mklocalrepo.sh" check:rc==0 +# Workaround github issue #5503 +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-core.repo; sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-dep.repo )" +cmd:xdsh $$CN "zypper --gpg-auto-import-keys -n --no-gpg-checks refresh" +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e --allmatches gpg-pubkey-ca548a47-5b2c830b" +cmd:xdsh $$CN "zypper refresh" +check:rc==0 cmd:xdsh $$CN "zypper sl -U;zypper --gpg-auto-import-keys search --match-exact -s screen" check:rc==0 cmd:xdsh $$CN "zypper -n install xCAT" @@ -200,7 +218,11 @@ cmd:xdsh $$CN "tar -jxvf /xcat-dep*.tar.bz2" check:rc==0 cmd:xdsh $$CN "cd /root/xcat-dep/sles1`more /etc/*release|grep VERSION_ID|cut -c14`/__GETNODEATTR($$CN,arch)__/;./mklocalrepo.sh" check:rc==0 -cmd:xdsh $$CN "zypper refresh;zypper -n --gpg-auto-import-keys update --force-resolution '*xCAT*'" +# Workaround github issue #5503 +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && ( sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-core.repo; sed -i -e 's@gpgcheck=1@gpgcheck=0@' /etc/zypp/repos.d/xcat-dep.repo )" +cmd:xdsh $$CN "zypper --gpg-auto-import-keys -n --no-gpg-checks refresh" +cmd:xdsh $$CN "grep -q 11 /etc/SuSE-release && rpm -e --allmatches gpg-pubkey-ca548a47-5b2c830b" +cmd:xdsh $$CN "zypper refresh;zypper -n update --force-resolution '*xCAT*'" check:rc==0 cmd:xdsh $$CN "service xcatd status" check:rc==0 diff --git a/xCAT-test/autotest/testcase/migration/ubuntu_migration1_p8le b/xCAT-test/autotest/testcase/migration/ubuntu_migration1_p8le index cf77bd24f..81970abc3 100644 --- a/xCAT-test/autotest/testcase/migration/ubuntu_migration1_p8le +++ b/xCAT-test/autotest/testcase/migration/ubuntu_migration1_p8le @@ -1,6 +1,7 @@ start:ubuntu_migration1_p8le os:Linux description:update xCAT from $$UBUNTU_MIGRATION1_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:copycds $$ISO check:rc==0 @@ -33,13 +34,9 @@ check:rc==0 cmd:xdsh $$CN "apt-get -y install software-properties-common" check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports $lsb_r main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports ${lsb_r}-updates main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports ${lsb_r} universe"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports ${lsb_r}-updates universe"' -check:rc==0 cmd:xdsh $$CN "sed -i '/install/d' /etc/apt/sources.list" check:rc==0 cmd:xdsh $$CN "sed -i '/security.ubuntu.com/d' /etc/apt/sources.list" diff --git a/xCAT-test/autotest/testcase/migration/ubuntu_migration1_vm b/xCAT-test/autotest/testcase/migration/ubuntu_migration1_vm index d506123ad..c980c0702 100644 --- a/xCAT-test/autotest/testcase/migration/ubuntu_migration1_vm +++ b/xCAT-test/autotest/testcase/migration/ubuntu_migration1_vm @@ -1,6 +1,7 @@ start:ubuntu_migration1_vm os:Linux description:update xCAT from $$UBUNTU_MIGRATION1_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:copycds $$ISO check:rc==0 @@ -32,13 +33,9 @@ check:rc==0 cmd:xdsh $$CN "apt-get -y install software-properties-common" check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu $lsb_r main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${lsb_r}-updates main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${lsb_r} universe"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${lsb_r}-updates universe"' -check:rc==0 cmd:xdsh $$CN "sed -i '/install/d' /etc/apt/sources.list" check:rc==0 cmd:xdsh $$CN "sed -i '/security.ubuntu.com/d' /etc/apt/sources.list" diff --git a/xCAT-test/autotest/testcase/migration/ubuntu_migration2_p8le b/xCAT-test/autotest/testcase/migration/ubuntu_migration2_p8le index 1d3216e8c..7fe2080ec 100644 --- a/xCAT-test/autotest/testcase/migration/ubuntu_migration2_p8le +++ b/xCAT-test/autotest/testcase/migration/ubuntu_migration2_p8le @@ -1,6 +1,7 @@ start:ubuntu_migration2_p8le os:Linux description:update xCAT from $$UBUNTU_MIGRATION2_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:copycds $$ISO check:rc==0 @@ -33,13 +34,9 @@ check:rc==0 cmd:xdsh $$CN "apt-get -y install software-properties-common" check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports $lsb_r main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports ${lsb_r}-updates main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports ${lsb_r} universe"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://ports.ubuntu.com/ubuntu-ports ${lsb_r}-updates universe"' -check:rc==0 cmd:xdsh $$CN "sed -i '/install/d' /etc/apt/sources.list" check:rc==0 cmd:xdsh $$CN "sed -i '/security.ubuntu.com/d' /etc/apt/sources.list" diff --git a/xCAT-test/autotest/testcase/migration/ubuntu_migration2_vm b/xCAT-test/autotest/testcase/migration/ubuntu_migration2_vm index a3ad8594b..ab47fd759 100644 --- a/xCAT-test/autotest/testcase/migration/ubuntu_migration2_vm +++ b/xCAT-test/autotest/testcase/migration/ubuntu_migration2_vm @@ -1,6 +1,7 @@ start:ubuntu_migration2_vm os:Linux description:update xCAT from $$UBUNTU_MIGRATION2_VERSION to latest version, these two global parameter defined in config file +label:others,migration,invoke_provision cmd:copycds $$ISO check:rc==0 @@ -32,13 +33,9 @@ check:rc==0 cmd:xdsh $$CN "apt-get -y install software-properties-common" check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu $lsb_r main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${lsb_r}-updates main"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${lsb_r} universe"' -check:rc==0 cmd:xdsh $$CN 'lsb_r=`lsb_release -sc`;add-apt-repository "deb http://archive.ubuntu.com/ubuntu ${lsb_r}-updates universe"' -check:rc==0 cmd:xdsh $$CN "sed -i '/install/d' /etc/apt/sources.list" check:rc==0 cmd:xdsh $$CN "sed -i '/security.ubuntu.com/d' /etc/apt/sources.list" diff --git a/xCAT-test/autotest/testcase/mkdef/cases0 b/xCAT-test/autotest/testcase/mkdef/cases0 index 417075987..3b28be750 100644 --- a/xCAT-test/autotest/testcase/mkdef/cases0 +++ b/xCAT-test/autotest/testcase/mkdef/cases0 @@ -1,13 +1,13 @@ start:mkdef_null description:mkdef without any flag -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef check:output=~Usage end start:mkdef_node description:mkdef -t node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode,testnode1 groups=all,aix check:rc==0 cmd:lsdef -i groups testnode @@ -21,7 +21,7 @@ end start:mkdef_f description:mkdef -f -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode groups=all,aix check:rc==0 cmd:mkdef -f -t node -o testnode nodetype=lpar,osi groups=all @@ -35,7 +35,7 @@ end start:mkdef_z description:mkdef -z -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o orignode mgt=fsp cons=hmc pprofile=orignode groups=lpar,all check:rc==0 cmd:lsdef -l orignode -z > /tmp/orignode.stanza @@ -55,7 +55,7 @@ end start:mkdef_group description: mkdef static node group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:mkdef -t node -o testnode3-testnode4 mgt=ipmi cons=ipmi groups=all,systemx @@ -94,7 +94,7 @@ end start:mkdef_dynamic_group description:mkdef with dynamic node group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:mkdef -t node -o testnode3-testnode4 mgt=ipmi cons=ipmi groups=all,systemx @@ -131,7 +131,7 @@ end start:mkdef_multiple_keys description:mkdef support for multiple keys in a table, such as ppcdirect -label:mn_only,db +label:mn_only,ci_test,db cmd: mkdef -t node -o testfsp mgt=fsp cons=fsp groups=all,fsp nodetype=fsp passwd.HMC=abc123 passwd.general=abc123 passwd.admin=abc123 check:rc==0 cmd:lsdef testfsp @@ -145,7 +145,7 @@ end start:mkdef_t_network description: mkdef -t network -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t network -o testnetwork net=1.2.3.0 mask=255.255.255.0 gateway=1.2.3.1 check:rc==0 cmd:lsdef -t network @@ -161,7 +161,7 @@ end start:mkdef_t_o_error description:mkdef -t wrongtype -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t wrongtype -o testnode groups=all,aix check:rc!=0 check:output=~not a valid @@ -170,7 +170,7 @@ end start:mkdef_template_switch_template_without_attribute description:create a node with swtich template without any attributes -label:mn_only,db +label:mn_only,ci_test,db cmd:result=`lsdef | grep auto_test_node_1`; if [[ $result =~ "auto_test_node_1" ]]; then echo $result; noderm auto_test_node_1; fi cmd:mkdef -t node -o auto_test_node_1 --template switch-template check:rc==0 @@ -193,7 +193,7 @@ end start:mkdef_template_cec_template_without_remainder description:create a node with cec template once -label:mn_only,db +label:mn_only,ci_test,db cmd:result=`lsdef | grep auto_test_cec_node_1`; if [[ $result =~ "auto_test_cec_node_1" ]]; then echo $result; noderm auto_test_cec_node_1; fi cmd:mkdef -t node -o auto_test_cec_node_1 --template cec-template serial=test mtm=test hcp=test check:rc==0 @@ -216,7 +216,7 @@ end start:mkdef_template_invalid_template description:create a node with invalid template -label:mn_only,db +label:mn_only,ci_test,db cmd:result=`lsdef | grep auto_test_node`; if [[ $result =~ "auto_test_node" ]]; then echo $result; noderm auto_test_node; fi cmd:result=`lsdef | grep auto_test_invalid_template`; if [[ $result =~ "auto_test_invalid_template" ]]; then echo $result; noderm auto_test_invalid_template; fi cmd:lsdef --template auto_test_invalid_template @@ -229,7 +229,7 @@ end start:mkdef_node_with_a_node_template description:create a node with a node template, using cec template to create node at beginning -label:mn_only,db +label:mn_only,ci_test,db cmd:result=`lsdef | grep auto_test_cec_node_1`; if [[ $result =~ "auto_test_cec_node_1" ]]; then echo $result; noderm auto_test_cec_node_1; fi cmd:result=`lsdef | grep auto_test_cec_node_2`; if [[ $result =~ "auto_test_cec_node_2" ]]; then echo $result; noderm auto_test_cec_node_2; fi cmd:mkdef -t node -o auto_test_cec_node_1 --template cec-template serial=test mtm=test hcp=test groups=test_template diff --git a/xCAT-test/autotest/testcase/mkdef/cases1 b/xCAT-test/autotest/testcase/mkdef/cases1 index 95cad5f8e..41c4b93c7 100644 --- a/xCAT-test/autotest/testcase/mkdef/cases1 +++ b/xCAT-test/autotest/testcase/mkdef/cases1 @@ -1,6 +1,6 @@ start:mkdef_github_issue2582 description:Verify github issue 2582 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t group -o doubletrouble bmc='|\z|-imm|' mgt=ipmi check:rc==0 cmd:mkdef mgt02 groups=doubletrouble @@ -68,7 +68,7 @@ end start:mkdef_regex_nicsip description:Verify the GitHub issue #3047. -label:mn_only,db +label:mn_only,ci_test,db cmd:rmdef xcattest_tmp_node_sn[01-16] cmd:rmdef -t group -o xcattest_tmp_group_regex cmd:mkdef -t group -o xcattest_tmp_group_regex diff --git a/xCAT-test/autotest/testcase/mkvm/cases0 b/xCAT-test/autotest/testcase/mkvm/cases0 index 6b252679b..740106cc9 100644 --- a/xCAT-test/autotest/testcase/mkvm/cases0 +++ b/xCAT-test/autotest/testcase/mkvm/cases0 @@ -1,4 +1,5 @@ start:mkvm_i_l +label:others,hctrl_hmc hcp:hmc cmd:mkdef -t node -o testnode1,testnode2 mgt=hmc groups=all cmd:mkvm testnode1,testnode2 -i $$MaxLparID -l $$CN diff --git a/xCAT-test/autotest/testcase/ngpfb/cases0 b/xCAT-test/autotest/testcase/ngpfb/cases0 index fd7115da0..e3604488d 100644 --- a/xCAT-test/autotest/testcase/ngpfb/cases0 +++ b/xCAT-test/autotest/testcase/ngpfb/cases0 @@ -2,6 +2,7 @@ #this case is just supplement for some commands,after your executing,check output from log start:lsslp_cmm description:for part of ngp firebird commands +label:others,hctrl_fsp cmd:makedhcp -n check:rc==0 check:output!=Error @@ -13,6 +14,7 @@ end start:rspconfig_snmp_ssh description:rspconfig snmpcfg sshcfg +label:others,hctrl_fsp cmd:makehosts cmm check:rc==0 cmd:makedns cmm @@ -32,6 +34,7 @@ end start:rscan_cmm description:rscan cmm +label:others,hctrl_fsp cmd:rscan cmm check:rc==0 cmd:rscan cmm -z @@ -42,6 +45,7 @@ check:rc==0 end start:rspconfig_network +label:others,hctrl_fsp cmd:rspconfig $$CN network=* check:rc==0 check:output=~OK @@ -49,6 +53,7 @@ end start:rspconfig_textid description:rspconfig textid +label:others,hctrl_fsp cmd:rspconfig $$CN textid=abc123 check:rc==0 cmd:sleep 20 @@ -70,6 +75,7 @@ end start:rspconfig_hwconn description:for hwconn +label:others,hctrl_fsp cmd:rmhwconn $$CN check:rc==0 check:rc!~(state=LINE UP) @@ -92,6 +98,7 @@ end start:rpower_bladenode description:rpower +label:others,hctrl_fsp cmd:rpower $$CN off check:rc==0 cmd:sleep 50 @@ -104,6 +111,7 @@ end start:rspconfig_solcfg description:for solcfg +label:others,hctrl_fsp cmd:rspconfig cmm solcfg=enable check:rc==0 cmd:rspconfig cmm solcfg @@ -118,6 +126,7 @@ end start:getmacs_d_blade description:getmacs +label:others,hctrl_fsp cmd:makeconservercf check:rc==0 cmd:chdef $$CN getmac=blade @@ -132,6 +141,7 @@ end start:rinv_firm_fb description:check firmware level +label:others,hctrl_fsp cmd:rinv $$CN firm check:rc==0 cmd:rvitals $$CN all diff --git a/xCAT-test/autotest/testcase/nodeadd/cases0 b/xCAT-test/autotest/testcase/nodeadd/cases0 index f36dc6749..71743be59 100644 --- a/xCAT-test/autotest/testcase/nodeadd/cases0 +++ b/xCAT-test/autotest/testcase/nodeadd/cases0 @@ -1,12 +1,12 @@ start:nodeadd_null description:nodeadd without any flag -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd check:output=~Usage end start:nodeadd_noderange -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd testnode1-testnode2 groups="lpar,all" nodetype.nodetype="lpar,osi" check:rc==0 cmd:lsdef -i groups,nodetype testnode1 @@ -23,7 +23,7 @@ cmd:rmdef -t node -o testnode1-testnode2 end start:nodeadd_noderange_nodetype -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd testnode1-testnode2 groups=all,rhel5 nodetype.os=rhel5 check:rc=0 cmd:lsdef -i groups,os testnode1 @@ -39,19 +39,19 @@ cmd:rmdef -t node -o testnode1-testnode2 end start:nodeadd_v -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd -v check:output=~Version end start:nodeadd_h -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd -h check:output=~Usage end start:nodeadd_err_symbol -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd testnode magt=unknown check:rc!=0 check:output=~Error diff --git a/xCAT-test/autotest/testcase/nodech/cases0 b/xCAT-test/autotest/testcase/nodech/cases0 index 711b8bd99..10db2ffa9 100644 --- a/xCAT-test/autotest/testcase/nodech/cases0 +++ b/xCAT-test/autotest/testcase/nodech/cases0 @@ -1,6 +1,6 @@ start:nodech_noderange_table description:nodech testnode groups=all,rhels5.5 nodetype.os=rhels5.5 nodehm.mgt=hmc -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all,rhels5.4 check:rc==0 cmd:nodech testnode groups=all,rhels5.5 nodetype.os=rhels5.5 nodehm.mgt=hmc @@ -15,7 +15,7 @@ end start:nodech_noderange_table_comma description:nodech testnode groups,=rhels5.5.Check nodech command with ,=. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all check:rc==0 cmd:nodech testnode groups,=rhels5.5 @@ -27,7 +27,7 @@ end start:nodech_noderange_table_arrow -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all,rhels5.5 check:rc==0 cmd:nodech testnode groups^=rhels5.5 @@ -40,7 +40,7 @@ end start:nodech_noderange_table_comma_arrow description:nodech testnode groups^=rhels5.5 groups,=rhels5.4 . Check nodech command with both ^= and ,=. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all,rhels5.5 check:rc==0 cmd:nodech testnode groups^=rhels5.5 groups,=rhels5.4 @@ -52,7 +52,7 @@ end start:nodech_noderanage_table_at description:nodech testnode nodetype.os=@=helloworld.Check nodech command with =@=. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode os=hello groups=all check:rc==0 cmd:nodech testnode nodetype.os=@=helloworld @@ -65,7 +65,7 @@ end start:nodech_noderange_table_include description:nodech groups=~rh4.123456789 groups=rhels5.5.The command nodech with =~. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.123456789 check:rc==0 cmd:nodech groups=~rh4.123456789 groups=rhels5.5 @@ -77,7 +77,7 @@ end start:nodech_noderange_table_uninclude description:nodech testnode1-testnode2 nodelist.groups\!~rhels5.5 nodelist.groups=rhels5.5,all.The command nodech with !~. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode1 groups=rhels5.5,all check:rc==0 cmd:chdef -t node -o testnode2 groups=rhels5.4,all @@ -92,7 +92,7 @@ end start:nodech_noderange_table_equal description:nodech groups==rh4.123456789 groups=rhels5.5.The command nodech with ==. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.123456789 check:rc==0 cmd:nodech groups==rh4.123456789 groups=rhels5.5 @@ -105,7 +105,7 @@ end start:nodech_noderange_table_unequal description::nodech testnode1-testnode2 groups!=rhels5.5 groups=rhels5.5.The command nodech with !=. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode1 groups=rhels5.5 check:rc==0 cmd:chdef -t node -o testnode2 groups=rhels5.4 @@ -119,7 +119,7 @@ end start:nodech_noderange_shortname_groups description:nodech testnode groups=rhels5.4.The nodech use shortname groups -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rhels5.5 check:rc==0 cmd:nodech testnode groups=rhels5.4 @@ -132,7 +132,7 @@ end start:nodech_noderange_shortname_tags description:nodech testnode tags=rhels5.4.The nodech use shortname tags -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rhels5.5 check:rc==0 cmd:nodech testnode tags=rhels5.4 @@ -145,7 +145,7 @@ end start:nodech_noderange_shortname_mgt description:nodech testnode mgt=hmc.The nodech use shortname mgt -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode mgt=blade groups=all check:rc==0 cmd:nodech testnode mgt=hmc @@ -157,7 +157,7 @@ end start:nodech_delete description:nodech -d -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode os=hello groups=all check:rc==0 cmd:nodech -d testnode nodetype @@ -169,7 +169,7 @@ end start:nodech_h description:nodech -h -label:mn_only,db +label:mn_only,ci_test,db cmd:nodech -h check:output=~Usage cmd:nodech -? @@ -180,7 +180,7 @@ end start:nodech_v description:nodech -v -label:mn_only,db +label:mn_only,ci_test,db cmd:nodech -v check:output=~Version end @@ -203,7 +203,7 @@ end start:nodech_error_node description: nodech error noderange,nodech testnode1 groups=all,rhels5.5 nodetype.os=rhels5.5 nodehm.mgt=hmc -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all,rhels5.4 check:rc==0 cmd:nodech testnode1 groups=all,rhels5.5 nodetype.os=rhels5.5 nodehm.mgt=hmc @@ -215,7 +215,7 @@ end start:nodech_error_table description: nodech error table. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all,rhels5.4 check:rc==0 cmd:nodech testnode groups=all,rhels5.5 nodetypes.os=rhels5.5 nodehm.mgt=hmc diff --git a/xCAT-test/autotest/testcase/nodegrpch/cases0 b/xCAT-test/autotest/testcase/nodegrpch/cases0 index 448ba50ea..88527433b 100644 --- a/xCAT-test/autotest/testcase/nodegrpch/cases0 +++ b/xCAT-test/autotest/testcase/nodegrpch/cases0 @@ -1,6 +1,6 @@ start:nodegrpch_v description:nodegrpch -v and --version -label:mn_only,db +label:mn_only,ci_test,db cmd:nodegrpch -v check:output=~Version cmd:nodegrpch --version @@ -9,7 +9,7 @@ end start:nodegrpch_h description:nodegrpch -? and -h --help -label:mn_only,db +label:mn_only,ci_test,db cmd:nodegrpch -h check:output=~Usage cmd:nodegrpch -? @@ -21,7 +21,7 @@ end start:nodegrpch_groups description:nodegrpch rh4.1234567890 mgt=hmc -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.1234567890 mgt=blade check:rc==0 cmd:nodegrpch rh4.1234567890 mgt=hmc @@ -35,7 +35,7 @@ end start:nodegrpch_err description: -label:mn_only,db +label:mn_only,ci_test,db cmd:nodegrpch -c check:rc!=0 check:output=~Usage diff --git a/xCAT-test/autotest/testcase/nodels/cases0 b/xCAT-test/autotest/testcase/nodels/cases0 index e81b30566..b0134bbae 100644 --- a/xCAT-test/autotest/testcase/nodels/cases0 +++ b/xCAT-test/autotest/testcase/nodels/cases0 @@ -1,6 +1,6 @@ start:nodels_null description:nodels | grep testnode -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups="all,aix" check:rc==0 cmd:nodels | grep testnode @@ -12,7 +12,7 @@ end start:nodels_noderange_shortname_groups description:The nodels use shortname groups -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rhels5.5 check:rc==0 cmd:nodels testnode groups @@ -24,7 +24,7 @@ end start:nodels_noderange_shortname_tags description:The nodels use shortname tags -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rhels5.5 check:rc==0 cmd:nodels testnode tags @@ -36,7 +36,7 @@ end start:nodels_noderange_shortname_mgt description:The nodels use shortname mgt -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode mgt=blade groups=all check:rc==0 cmd:nodels testnode mgt @@ -47,7 +47,7 @@ end start:nodels_table_include description:Check the command nodels with =~. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.123456789 check:rc==0 cmd:nodels groups=~rh4.123456789 @@ -59,7 +59,7 @@ end start:nodels_noderange_table_uninclude description:Check the command nodels with !~. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode1 groups=rhels5.5,all check:rc==0 cmd:chdef -t node -o testnode2 groups=rhels5.4,all @@ -73,7 +73,7 @@ end start:nodels_noderange_table_equal description:Check the command nodels with ==. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.123456789 check:rc==0 cmd:nodels groups==rh4.123456789 @@ -85,7 +85,7 @@ end start:nodels_noderange_table_unequal description:Check the command nodels with !=. -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode1 groups=rhels5.5 check:rc==0 cmd:chdef -t node -o testnode2 groups=rhels5.4 @@ -98,7 +98,7 @@ end start:nodels_b description:nodels -b and nodels --blame -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rhels5.5 check:rc==0 cmd:nodels testnode -b groups @@ -112,7 +112,7 @@ end start:nodels_S description:nodels -S -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode hidden=1 groups=rhels5.5 check:rc==0 cmd:nodels -S @@ -124,7 +124,7 @@ end start:nodels_H description:nodels -H all groups mgt | grep testnode -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups="all,aix" mgt="hmc" check:rc==0 cmd:nodels -H all groups mgt | grep testnode @@ -136,7 +136,7 @@ end start:nodels_noderange description:nodels testnode -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups="all,aix" check:rc==0 cmd:nodels testnode @@ -148,7 +148,7 @@ end start:nodels_noderange_table description:nodels testnode nodelist -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=all check:rc==0 cmd:nodels testnode nodelist @@ -160,7 +160,7 @@ end start:nodels_tablevalue description:nodels rh4.1234567890 -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.1234567890 check:rc==0 cmd:nodels rh4.1234567890 @@ -172,7 +172,7 @@ end start:nodels_tablevalue_tablecolumn description:nodels rh4.1234567890 mgt -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode groups=rh4.1234567890 mgt=hmc check:rc==0 cmd:nodels rh4.1234567890 mgt @@ -193,7 +193,7 @@ end start:nodels_noderange_tablecolumn description:nodels testnode nodehm.mgt -label:mn_only,db +label:mn_only,ci_test,db cmd:chdef -t node -o testnode mgt=hmc groups=all check:rc==0 cmd:nodels testnode nodehm.mgt @@ -207,7 +207,7 @@ end start:nodels_h description:nodels -h and nodels -? and nodels --help -label:mn_only,db +label:mn_only,ci_test,db cmd:nodels -h check:output=~Usage cmd:nodels -? @@ -218,7 +218,7 @@ end start:nodels_v -label:mn_only,db +label:mn_only,ci_test,db cmd:nodels -v check:output=~Version cmd:nodels --version @@ -227,14 +227,14 @@ end start:nodels_err_symbol -label:mn_only,db +label:mn_only,ci_test,db cmd:nodels -H all unknown check:rc!=0 check:output=~Error end start:nodels_err_noderange -label:mn_only,db +label:mn_only,ci_test,db cmd:nodels douniwan check:rc!=0 check:output=~Error diff --git a/xCAT-test/autotest/testcase/noderange/cases0 b/xCAT-test/autotest/testcase/noderange/cases0 index 8a4d2e4cb..321f6d7c6 100644 --- a/xCAT-test/autotest/testcase/noderange/cases0 +++ b/xCAT-test/autotest/testcase/noderange/cases0 @@ -1,6 +1,6 @@ start:noderange_individual_node description: noderange individual node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 -f groups=all cmd:nodels testnode01 check:rc==0 @@ -10,7 +10,7 @@ end start:noderange_individual_grp description: noderange individual group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01,testnode02 groups=nrtestgrp cmd:nodels nrtestgrp check:rc==0 @@ -22,7 +22,7 @@ end start:noderange_node01-node10 description: noderange node01-node10 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o nrtestnode01-nrtestnode10 groups=all check:rc==0 cmd:nodels nrtestnode01-nrtestnode10 @@ -36,7 +36,7 @@ end start:noderange_node_01-10 description: noderange node[01-10] -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o nrtestnode[01-10] groups=all check:rc==0 cmd:nodels nrtestnode[01-10] @@ -50,7 +50,7 @@ end start:noderange_node01_10 description: noderange node[01:10] -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o nrtestnode[01:10] groups=all check:rc==0 cmd:nodels nrtestnode[01:10] @@ -64,7 +64,7 @@ end start:noderange_f1-f2_n1-n3 description: noderange f[1-2]n[1-3] -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o f[1-2]n[1-3] groups=all check:rc==0 cmd:nodels f[1-2]n[1-3] @@ -81,7 +81,7 @@ end start:noderange_group1-group3 description: noderange group1-group3 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups=nrtestgrp1 cmd:mkdef -t node -o testnode02 groups=nrtestgrp2 cmd:mkdef -t node -o testnode03 groups=nrtestgrp3 @@ -96,7 +96,7 @@ end #start:noderange_node001-node200 #description: noderange node001-node200 -#label:mn_only,db +#label:mn_only,ci_test,db #cmd:mkdef -t node -o nrtestnode001-nrtestnode200 groups=all #check:rc==0 #cmd:nodels nrtestnode001-nrtestnode200 @@ -111,7 +111,7 @@ end start:noderange_node10_plus_3 description: noderange node10+3 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o nrtestnode10+3 groups=all check:rc==0 cmd:nodels nrtestnode10+3 @@ -126,7 +126,7 @@ end start:noderange_10-20 description: noderange 10-20 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o 10-20 groups=all check:rc==0 cmd:nodels 10-20 @@ -142,21 +142,21 @@ end start:noderange_XCAT_NODE_PREFIX description: noderange XCAT_NODE_PREFIX -label:mn_only,db +label:mn_only,ci_test,db cmd: XCAT_NODE_PREFIX=abc XCATBYPASS=1 nodels 10-20 check:output=~abc10,abc11,abc12,abc13,abc14,abc15,abc16,abc17,abc18,abc19,abc20 end start:noderange_XCAT_NODE_SUFFIX description: noderange XCAT_NODE_SUFFIX -label:mn_only,db +label:mn_only,ci_test,db cmd: XCAT_NODE_PREFIX=abc XCAT_NODE_SUFFIX=def XCATBYPASS=1 nodels 10-20 check:output=~abc10def,abc11def,abc12def,abc13def,abc14def,abc15def,abc16def,abc17def,abc18def,abc19def,abc20def end start:noderange_slash_urtestnode_dot_star description: noderange /nrtestnode.* -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o nrtestnode1-nrtestnode3 groups=all check:rc==0 cmd:nodels /nrtestnode.* @@ -170,7 +170,7 @@ end start:noderange_dir_tmp-nodelistfile description: noderange ^/tmp/nodelistfile -label:mn_only,db +label:mn_only,ci_test,db #cmd:echo #testnode1 > /tmp/nodelist cmd:mkdef -t node -o nrnode1,nrnode2 groups=all cmd:echo nrnode1 > /tmp/nodelist @@ -185,7 +185,7 @@ end start:noderange_exclusion description: noderange exnode1-exnode5,-exnode3,-exnode4 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o exnode1-exnode5 groups=all check:rc==0 cmd:nodels exnode1-exnode5,-exnode3,-exnode4 @@ -201,7 +201,7 @@ end start:noderange_group_intersection description: noderange group1@group2 -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o nrtestnode1-nrtestnode3 groups=group1 check:rc==0 cmd:chdef -t node -o nrtestnode1 -p groups=group2 diff --git a/xCAT-test/autotest/testcase/noderm/cases0 b/xCAT-test/autotest/testcase/noderm/cases0 index 31e5f386e..7a26d564b 100644 --- a/xCAT-test/autotest/testcase/noderm/cases0 +++ b/xCAT-test/autotest/testcase/noderm/cases0 @@ -1,6 +1,6 @@ start:noderm_noderange description:noderm testnode1,testnode2 -label:mn_only,db +label:mn_only,ci_test,db cmd:nodeadd testnode1,testnode2 groups=all check:rc==0 cmd:lsdef -t node testnode1,testnode2 @@ -15,7 +15,7 @@ end start:noderm_h description:noderm -h -label:mn_only,db +label:mn_only,ci_test,db cmd:noderm -h check:output=~Usage cmd:noderm --help @@ -24,14 +24,14 @@ end start:noderm_null description:noderm -label:mn_only,db +label:mn_only,ci_test,db cmd:noderm check:output=~Usage end start:noderm_err_node description:noderm err -label:mn_only,db +label:mn_only,ci_test,db cmd:rmdef -t node testnode cmd:noderm testnode check:rc!=0 diff --git a/xCAT-test/autotest/testcase/nodeset/cases0 b/xCAT-test/autotest/testcase/nodeset/cases0 index f4fc5b5ed..6080691da 100644 --- a/xCAT-test/autotest/testcase/nodeset/cases0 +++ b/xCAT-test/autotest/testcase/nodeset/cases0 @@ -1,5 +1,6 @@ start:nodeset_stat os:Linux +label:others cmd:nodeset $$CN stat check:rc==0 check:output=~$$CN:\s+[discover|boot|reboot|install|netboot|shell|standby] @@ -10,6 +11,7 @@ end start:nodeset_noderange os:Linux +label:others cmd:nodeset $$CN test check:rc!=0 check:output=~Error @@ -17,6 +19,7 @@ end start:nodeset_check_yaboot_no os:rhels +label:others cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar hcp=hmc1 hwtype=lpar id=1 ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi parent=fsp1 pprofile=testnode1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=rhels7.5 netboot=yaboot @@ -33,6 +36,7 @@ end start:nodeset_check_yaboot_yes os:rhels +label:others cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar hcp=hmc1 hwtype=lpar id=1 ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi parent=fsp1 pprofile=testnode1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=rhels5.5 netboot=yaboot @@ -49,6 +53,7 @@ end start:nodeset_check_grub2_yes os:rhels +label:others cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar hcp=hmc1 hwtype=lpar id=1 ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi parent=fsp1 pprofile=testnode1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=rhels7.5 netboot=grub2 @@ -64,6 +69,7 @@ end start:nodeset_check_grub2_no os:rhels +label:others cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar hcp=hmc1 hwtype=lpar id=1 ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi parent=fsp1 pprofile=testnode1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=rhels6.8 netboot=grub2 @@ -80,6 +86,7 @@ end start:nodeset_check_grub2_ubuntu os:ubuntu +label:others cmd:mkdef -t node -o testnode1 arch=x86_64 cons=kvm groups=kvm ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=kvm monserver=10.1.1.1 nameservers=10.1.1.1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=ubuntu14.04.5 netboot=grub2 @@ -96,6 +103,7 @@ end start:nodeset_check_grub2_sles11 os:sles +label:others cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar hcp=hmc1 hwtype=lpar id=1 ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi parent=fsp1 pprofile=testnode1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=sles11.4 netboot=grub2 @@ -111,6 +119,7 @@ end start:nodeset_check_yaboot_sles11 os:sles +label:others cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar hcp=hmc1 hwtype=lpar id=1 ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi parent=fsp1 pprofile=testnode1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=sles11.4 netboot=yaboot @@ -126,6 +135,7 @@ end start:nodeset_check_grub2_sles12 os:sles +label:others cmd:mkdef -t node -o testnode1 arch=ppc64el cons=kvm groups=kvm ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=kvm monserver=10.1.1.1 nameservers=10.1.1.1 1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=sles12 netboot=grub2 @@ -141,6 +151,7 @@ end start:nodeset_check_yaboot_sles12 os:sles +label:others cmd:mkdef -t node -o testnode1 arch=ppc64el cons=kvm groups=kvm ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=kvm monserver=10.1.1.1 nameservers=10.1.1.1 1 profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=sles12 netboot=yaboot @@ -156,6 +167,7 @@ end start:nodeset_check_petitboot os:rhels +label:others cmd:mkdef -t node -o testnode1 arch=ppc64el cons=ipmi groups=pbmc mgt=ipmi ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 check:rc==0 cmd:chdef testnode1 os=rhels7.5 netboot=petitboot @@ -169,6 +181,7 @@ cmd:noderm testnode1 end start:nodeset_check_warninginfo +label:others cmd:if [[ "__GETNODEATTR($$CN,arch)__" =~ "el" || "__GETNODEATTR($$CN,arch)__" =~ "le" ]]; then bootloader=xnba; else bootloader=petitboot; fi; mkdef -t node -o testnode1 arch=ppc64el cons=ipmi groups=pbmc mgt=ipmi ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 monserver=10.1.1.1 nameservers=10.1.1.1 nodetype=ppc,osi profile=compute tftpserver=10.1.1.1 xcatmaster=10.1.1.1 netboot=$bootloader check:rc==0 cmd:lsdef testnode1 @@ -179,6 +192,7 @@ end start:nodeset_xnba description: Verify when xnba is used for OS loader, whether the configuration files under /tftpboot can be generated corrently +label:others cmd:rmdef testnode1 cmd:rm -f /tftpboot/xcat/xnba/nodes/testnode1 /tftpboot/xcat/xnba/nodes/testnode1.elilo cmd:mkdef -t node -o testnode1 arch=x86_64 cons=kvm groups=kvm ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=kvm profile=compute os=rhels6.99 @@ -220,6 +234,7 @@ end start:nodeset_grub2 description: Verify when grub2 is used for OS loader, whether the configuration files under /tftpboot can be generated corrently +label:others cmd:rmdef testnode1 cmd:rm -f /tftpboot/boot/grub2/{testnode1,grub.cfg-{01-e6-d4-d2-3a-ad-06,0[aA]0101[cC]8}} cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc profile=compute os=rhels7.99 @@ -264,6 +279,7 @@ end start:nodeset_petitboot description: Verify when petitboot is used for OS loader, whether the configuration files under /tftpboot can be generated corrently +label:others cmd:rmdef testnode1 cmd:rm -f /tftpboot/petitboot/testnode1 cmd:mkdef -t node -o testnode1 arch=ppc64le cons=bmc groups=ipmi ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=ipmi profile=compute os=rhels7.99 @@ -305,6 +321,7 @@ end start:nodeset_yaboot description: Verify when yaboot is used for OS loader, whether the configuration files under /tftpboot can be generated corrently +label:others cmd:rmdef testnode1 cmd:rm -f /tftpboot/yaboot.conf-e6-d4-d2-3a-ad-06 cmd:mkdef -t node -o testnode1 arch=ppc64 cons=hmc groups=lpar ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=hmc profile=compute os=rhels6.99 @@ -346,6 +363,7 @@ end start:nodeset_errorcommand description:This testcase is to very nodeset osimage errorcommand could give right output +label:others Attribute: $$CN-The operation object of nodeset command cmd:nodeset $$CN osimage= __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute check:rc==1 @@ -355,6 +373,7 @@ end start:nodeset_disjointdhcps_petitboot description: Verify the disjointdhcps feature when petitboot is used for OS loader. +label:others cmd:rmdef testnode1 cmd:rm -f /tftpboot/petitboot/testnode1 cmd:mkdef -t node -o testnode1 arch=ppc64le cons=bmc groups=ipmi ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=ipmi profile=compute os=rhels7.99 @@ -454,6 +473,7 @@ end start:nodeset_switch_osimage description: This case is to verify if xcat supports nodeset osimage command for cumulus switch. This case is for bug 5126. os:Linux +label:others cmd:copycds $$CUMULUSOS |tee /tmp/cumulusimage check:rc==0 cmd:grep "The image" /tmp/cumulusimage |sed -r 's/.*\image(.*)\is.*/\1/' |tee /tmp/imagename diff --git a/xCAT-test/autotest/testcase/nodeset/cases1 b/xCAT-test/autotest/testcase/nodeset/cases1 index bcf8f6343..8667e37ae 100644 --- a/xCAT-test/autotest/testcase/nodeset/cases1 +++ b/xCAT-test/autotest/testcase/nodeset/cases1 @@ -1,52 +1,61 @@ start:nodeset_shell_grub2 +label:others description: Verify if `nodeset shell` perform well when part of nodes in a node range have problem. Use grub2 OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_shell_grub2 check:rc==0 end start:nodeset_shell_petitboot +label:others description: Verify if `nodeset shell` perform well when part of nodes in a node range have problem. Use petitboot OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_shell_petitboot check:rc==0 end start:nodeset_shell_xnba +label:others description: Verify if `nodeset shell` perform well when part of nodes in a node range have problem. Use xnba OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_shell_xnba check:rc==0 end start:nodeset_osimage_grub2 +label:others description: Verify if `nodeset osimage` perform well when part of nodes in a node range have problem. Use grub2 OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_osimage_grub2 check:rc==0 end start:nodeset_osimage_petitboot +label:others description: Verify if `nodeset osimage` perform well when part of nodes in a node range have problem. Use petitboot OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_osimage_petitboot check:rc==0 end start:nodeset_osimage_xnba +label:others description: Verify if `nodeset osimage` perform well when part of nodes in a node range have problem. Use xnba OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_osimage_xnba check:rc==0 end start:nodeset_nonexistent_osimage_grub2 +label:others description: Verify if `nodeset osimage` perform well when part of nodes in a node range have nonexistent osimage defined in its profile. Use grub2 OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_nonexistent_osimage_grub2 check:rc==0 end start:nodeset_nonexistent_osimage_petitboot +label:others description: Verify if `nodeset osimage` perform well when part of nodes in a node range have nonexistent osimage defined in its profile. Use petitboot OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_nonexistent_osimage_petitboot check:rc==0 end start:nodeset_nonexistent_osimage_xnba +label:others description: Verify if `nodeset osimage` perform well when part of nodes in a node range have nonexistent osimage defined in its profile. Use xnba OS loader cmd:/opt/xcat/share/xcat/tools/autotest/testcase/nodeset/nodeset_nonexistent_osimage_xnba check:rc==0 diff --git a/xCAT-test/autotest/testcase/nodestat/cases0 b/xCAT-test/autotest/testcase/nodestat/cases0 index 3d8b3c84d..3c5a62724 100644 --- a/xCAT-test/autotest/testcase/nodestat/cases0 +++ b/xCAT-test/autotest/testcase/nodestat/cases0 @@ -1,11 +1,13 @@ start:nodestat_noderange -arch:x86 +label:others +arch:x86_64 cmd:nodestat $$CN check:rc==0 check:output=~noping|sshd|install|snmp|pbs end start:nodestat_err_node +label:others,ci_test cmd:nodestat testnode check:rc!=0 check:output=~Error diff --git a/xCAT-test/autotest/testcase/nodestat/cases1 b/xCAT-test/autotest/testcase/nodestat/cases1 index f9c7ce03a..d31de9e3e 100644 --- a/xCAT-test/autotest/testcase/nodestat/cases1 +++ b/xCAT-test/autotest/testcase/nodestat/cases1 @@ -1,5 +1,6 @@ start:nodestat_usage description: Test the exit code when no command line argument is passed to nodestat +label:others cmd:nodestat check:rc!=0 end diff --git a/xCAT-test/autotest/testcase/osdeploy/cases0 b/xCAT-test/autotest/testcase/osdeploy/cases0 index 53058dfae..f9fc83860 100644 --- a/xCAT-test/autotest/testcase/osdeploy/cases0 +++ b/xCAT-test/autotest/testcase/osdeploy/cases0 @@ -1,5 +1,6 @@ start:osdeploy_usage description: osdeploy check usage +label:others,xcatprobe cmd:xcatprobe osdeploy -h check:rc==0 check:output~=Usage @@ -9,6 +10,7 @@ end start:osdeploy_n description: osdeploy -n node to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:xcatprobe osdeploy -n $$CN >> /tmp/osdeploy.test & @@ -27,6 +29,7 @@ end start:osdeploy_n_r description: osdeploy -n -r node to probe osdeploy to trigger 'Replay history' mode. +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:xcatprobe osdeploy -n $$CN >> /tmp/osdeploy.test & @@ -63,6 +66,7 @@ end start:osdeploy_n_t description: osdeploy -n node -t 1m,probe osdeploy in 1min +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:xcatprobe osdeploy -n $$CN -t 1m >> /tmp/osdeploy.test & @@ -76,6 +80,7 @@ check:rc==0 end start:osdeploy_n_invalidnode description: osdeploy -n node invalid +label:others,xcatprobe cmd:test=`lsdef test_node`;if [ $test eq 0 ]; then lsdef -l test_node -z >/tmp/node.standa ;rmdef test_node;fi check:rc==0 cmd:xcatprobe osdeploy -n test_node @@ -86,6 +91,7 @@ check:rc==0 end start:osdeploy_n_p_invalid description:osdeploy -n node -p invalid parameter +label:others,xcatprobe cmd:xcatprobe osdeploy -n $$CN -p dsdf check:rc==1 check:output~=Usage: @@ -96,6 +102,7 @@ end start:osdeploy_n_r_invalid description:osdeploy -n node -r invalid parameter +label:others,xcatprobe cmd:xcatprobe osdeploy -n $$CN -r dadf check:rc==1 check:output~=Usage: @@ -106,6 +113,7 @@ end start:osdeploy_n_t_invalid description:osdeploy -n node -t invalid parameter +label:others,xcatprobe cmd:xcatprobe osdeploy -n $$CN -t dadf check:rc==1 check:output~=Usage: @@ -116,6 +124,7 @@ end start:osdeploy_n_p_origin description: osdeploy -n -p origin node to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:xcatprobe osdeploy -n $$CN -p origin >> /tmp/osdeploy.test & @@ -139,6 +148,7 @@ check:rc==0 end start:osdeploy_n_p_origin_r description: osdeploy -n node -p origin -r to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:nodeset $$CN osimage=__GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute @@ -163,6 +173,7 @@ check:rc==0 end start:osdeploy_n_p_origin_r_error description: osdeploy -n node -p origin -r 1m to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:nodeset $$CN osimage=__GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute @@ -188,6 +199,7 @@ end start:osdeploy_n_p_compact description: osdeploy -n -p compact node to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:xcatprobe osdeploy -n $$CN -p compact >> /tmp/osdeploy.test & @@ -211,6 +223,7 @@ check:rc==0 end start:osdeploy_n_p_compact_r description: osdeploy -n -p compact -r node to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 check:rc==0 @@ -235,6 +248,7 @@ check:rc==0 end start:osdeploy_n_p_compact_r_error description: osdeploy -n -p compact -r node error to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 check:rc==0 @@ -260,6 +274,7 @@ end start:osdeploy_n_p_phase description: osdeploy -n -p phase node to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:xcatprobe osdeploy -n $$CN -p phase >> /tmp/osdeploy.test & @@ -283,6 +298,7 @@ check:rc==0 end start:osdeploy_n_p_phase_r description: osdeploy -n -p phase node -r to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:nodeset $$CN osimage=__GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute @@ -308,6 +324,7 @@ end start:osdeploy_n_p_phase_r_error description: osdeploy -n -p phase node -r error to probe osdeploy +label:others,xcatprobe cmd:if [ -e /tmp/osdeploy.test ];then rm -rf /tmp/osdeploy.test*;fi check:rc==0 cmd:nodeset $$CN osimage=__GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute diff --git a/xCAT-test/autotest/testcase/packimg/cases0 b/xCAT-test/autotest/testcase/packimg/cases0 index 87e636866..a8d51ba00 100644 --- a/xCAT-test/autotest/testcase/packimg/cases0 +++ b/xCAT-test/autotest/testcase/packimg/cases0 @@ -1,6 +1,7 @@ start:packimage_o_p_a_m os:Linux description: +label:others,packaging cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz /rootimg.cpio.gz.bak;fi @@ -21,6 +22,7 @@ end start:packimage_imagename os:Linux description: +label:others,packaging cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz /rootimg.cpio.gz.bak;fi cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute @@ -40,6 +42,7 @@ end start:packimage_h os:Linux description:packimage -h +label:others,packaging cmd:packimage -h check:rc==0 end @@ -47,6 +50,7 @@ end start:packimage_v os:Linux description:packimage -v +label:others,packaging cmd:packimage -v check:output=~version|Version end @@ -54,6 +58,7 @@ end start:packimage_m_cpio_c_gzip os:Linux description:test packimage -m cpio -c gzip +label:others,packaging,invoke_provision cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz /rootimg.cpio.gz.bak;fi @@ -95,6 +100,7 @@ end start:packimage_m_cpio_c_pigz os:Linux description:test packimage -m cpio -c pigz +label:others,packaging,invoke_provision #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.gz /rootimg.cpio.gz.bak;fi @@ -140,6 +146,7 @@ end start:packimage_m_cpio_c_xz os:Linux description:test packimage -m cpio -c xz +label:others,packaging,invoke_provision #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.xz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.cpio.xz /rootimg.cpio.xz.bak;fi @@ -181,6 +188,7 @@ end start:packimage_m_tar_c_pigz os:Linux description:test packimage -m tar -c pigz +label:others,packaging,invoke_provision #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.tar.gz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.tar.gz /rootimg.tar.gz.bak;fi @@ -235,6 +243,7 @@ end start:packimage_m_tar_c_gzip os:Linux description:test packimage -m tar -c gzip +label:others,packaging,invoke_provision #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.tar.gz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.tar.gz /rootimg.tar.gz.bak;fi @@ -285,6 +294,7 @@ end start:packimage_m_tar_c_xz os:Linux description:test packimage -m tar -c xz +label:others,packaging,invoke_provision #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.tar.xz;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg.tar.xz /rootimg.tar.xz.bak;fi @@ -335,6 +345,7 @@ end start:packimage_m_invalid_archive_method os:Linux description:test packimage with invalid archive method +label:others,packaging #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute @@ -351,6 +362,7 @@ end start:packimage_m_invalid_compress_method os:Linux description:test packimage with invalid compress method +label:others,packaging #cmd:copycds $$ISO cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/rootimg /rootimg.bak;fi cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute diff --git a/xCAT-test/autotest/testcase/passwd/case0 b/xCAT-test/autotest/testcase/passwd/case0 index 5ba6e8dcb..8cf5869ec 100644 --- a/xCAT-test/autotest/testcase/passwd/case0 +++ b/xCAT-test/autotest/testcase/passwd/case0 @@ -1,5 +1,6 @@ start:encrypted_passwd_md5_diskfull description: this case is to test when cryptmethod=md5 in passwd table, the password is encryped with the md5 method. When compute node is diskfull provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:chtab key=system passwd.cryptmethod=md5 @@ -18,6 +19,7 @@ end start:encrypted_passwd_md5_diskless description: this case is to test when cryptmethod=md5 in passwd table, the password is encryped with the md5 method. When compute node is diskless provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:chtab key=system passwd.cryptmethod=md5 @@ -73,6 +75,7 @@ end start:encrypted_passwd_sha256_diskfull description: this case is to test when cryptmethod=sha256 in passwd table, the password is encryped with the sha256 method. When compute node is diskfull provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:chtab key=system passwd.cryptmethod=sha256 @@ -91,6 +94,7 @@ end start:encrypted_passwd_sha256_diskless description: this case is to test when cryptmethod=sha256 in passwd table, the password is encryped with the sha256 method. When compute node is diskless provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:chtab key=system passwd.cryptmethod=sha256 @@ -146,6 +150,7 @@ end start:encrypted_passwd_sha512_diskfull description: this case is to test when cryptmethod=sha512 in passwd table, the password is encryped with the sha512 method. When compute node is diskfull provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:chtab key=system passwd.cryptmethod=sha512 @@ -164,6 +169,7 @@ end start:encrypted_passwd_sha512_diskless description: this case is to test when cryptmethod=sha512 in passwd table, the password is encryped with the sha512 method. When compute node is diskless provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:chtab key=system passwd.cryptmethod=sha512 @@ -220,6 +226,7 @@ end start:encrypted_passwd_openssl_diskfull description: this case is to test when password is encrypted with openssl, the password is encryped in password table. When compute node is diskfull provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:gettab key=system passwd.password > /tmp/tmppassword @@ -245,6 +252,7 @@ end start:encrypted_passwd_openssl_diskless description: this case is to test when password is encrypted with openssl, the password is encryped in password table. When compute node is diskless provisioned, users can login node with correct password. This case should be run when node is correctly defined. +label:others,security cmd:gettab key=system passwd.cryptmethod > /tmp/tmpcryptmethod check:rc==0 cmd:gettab key=system passwd.password > /tmp/tmppassword diff --git a/xCAT-test/autotest/testcase/pdu/case0 b/xCAT-test/autotest/testcase/pdu/case0 index d8fd13a25..a03ff973c 100644 --- a/xCAT-test/autotest/testcase/pdu/case0 +++ b/xCAT-test/autotest/testcase/pdu/case0 @@ -1,5 +1,6 @@ start:lsdef_pdu_object -degscription:list pdu object and it's attribute +description:list pdu object and it's attribute +label:others,PDU cmd:lsdef -h check:output=~pdu cmd:mkdef $$PDU mgt=pdu nodetype=pdu groups=pdu @@ -17,6 +18,7 @@ end start:mkdef_pdu_object description:create a pdu object and list it's attribute +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:lsdef -t pdu @@ -40,6 +42,7 @@ end start:noderm_pdu_object description:create a pdu object and use noderm to remove it +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:lsdef -t pdu @@ -59,6 +62,7 @@ end start:pdu_communication description:Verify a pdu snmp communication +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:lsdef -t pdu @@ -77,6 +81,7 @@ end start:pdu_rinv description:Verify rinv works for pdu object +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:makehosts $$PDU @@ -94,6 +99,7 @@ end start:pdu_rpower description:Verify rpower works for pdu object +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:makehosts $$PDU @@ -123,6 +129,7 @@ end start:pdu_node_operation description:Verify operate node's pdu attribute could operate pdu +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:makehosts $$PDU @@ -158,6 +165,7 @@ end start:pdu_bad_config description:test bad config with pdu +label:others,PDU cmd:mkdef $$PDU groups=pdu ip=$$PDUIP mgt=pdu nodetype=pdu check:rc==0 cmd:makehosts $$PDU diff --git a/xCAT-test/autotest/testcase/performance/DBcmds.lst b/xCAT-test/autotest/testcase/performance/DBcmds.lst new file mode 100644 index 000000000..986cfd042 --- /dev/null +++ b/xCAT-test/autotest/testcase/performance/DBcmds.lst @@ -0,0 +1,27 @@ +#SERIES# 1,50,100,250,500,1000,2500,5000,10000,20000 +# 1, For big table read +tabdump nodelist + +# 2, For node objects +# List names for node objects +lsdef -t node #NODES# +# List all attributes for node objects +lsdef -l -t node #NODES# +# List some attributes for node objects, attributes in nodelist table +lsdef -t node #NODES# -i groups,status,usercomment +# List some attributes for node objects, attributes in multiple table +lsdef -t node #NODES# -i groups,ip,mac,netboot,servicenode +# query with conditions +lsdef -t node #NODES# -l -w 'ip!=2.2.2.2' -w 'status==booted' +lsdef -S + +# 3, For group objects +lsdef -t group +lsdef -l -t group +lsdef -t group $FAKE_NODE_GROUP -i ip,mac + +# 4, For node* commands, it should be similar with lsdef -t node +nodels #NODES# +nodels #NODES# groups +nodels #NODES# noderes.netboot==pxe switch.switch + diff --git a/xCAT-test/autotest/testcase/performance/case0 b/xCAT-test/autotest/testcase/performance/case0 index 58d9299b5..647c7f9bb 100644 --- a/xCAT-test/autotest/testcase/performance/case0 +++ b/xCAT-test/autotest/testcase/performance/case0 @@ -1,5 +1,6 @@ start:perftest_5000 description:Default performance testing on 5000 fake nodes +label:others,performance os:Linux cmd:which yum &>/dev/null && yum install -y bridge-utils || apt install -y bridge-utils cmd:copycds $$ISO @@ -10,6 +11,7 @@ end start:UT_perftest_5000_MN_only description:Default performance testing on 5000 fake nodes without extra configuration on MN +label:others,performance os:Linux cmd:which yum &>/dev/null && yum install -y bridge-utils || apt install -y bridge-utils check:rc==0 @@ -19,6 +21,7 @@ end start:perftest_5000_with_simulators description:Default performance testing on 5000 fake nodes +label:others,performance os:Linux ### From reg_linux_diskfull_installation_flat cmd:fdisk -l @@ -139,6 +142,7 @@ end start:UT_perftest_1000_with_simulators description: UT for performance testing with simulators on an existing environment with one compute node. +label:others,performance os:Linux # Create fake nodes diff --git a/xCAT-test/autotest/testcase/performance/simulatorctl.sh b/xCAT-test/autotest/testcase/performance/simulatorctl.sh index de9647b33..efbbe5366 100644 --- a/xCAT-test/autotest/testcase/performance/simulatorctl.sh +++ b/xCAT-test/autotest/testcase/performance/simulatorctl.sh @@ -25,14 +25,16 @@ if [ -z $PERF_SIM_NIC ]; then PERF_SIM_NIC='eth1' fi +arch=`arch` #IBM_POWER_TOOLS_URL='http://public.dhe.ibm.com/software/server/POWER/Linux/yum/OSS/RHEL/7/ppc64le' OPEN_POWER_TOOLS_URL='http://ftp.unicamp.br/pub/ppc64el/rhel/7/docker-ppc64el' OPENBMC_SIMULATOR_URL='https://github.com/xuweibj/openbmc_simulator' PERF_SIM_TESTING_CWD='/tmp/perf' PERF_SIM_RESULT_DIR='/opt/xcat/share/xcat/tools/autotest/result' PERF_SIM_CASE_DIR='/opt/xcat/share/xcat/tools/autotest/testcase/performance' +EPEL_RH7_REPO_PKG='https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm' +CONDA_TOOLS_URL="https://repo.continuum.io/miniconda/Miniconda2-latest-Linux-$arch.sh" -arch=`arch` driver="$2" if [ "$driver" != "docker" ] && [ "$driver" != "openbmc" ]; then echo "Error: not supported simulator type '$driver'." @@ -48,6 +50,7 @@ setup_docker() return fi + yum install -y $EPEL_RH7_REPO_PKG if [[ $arch =~ 'ppc64' ]]; then # The URL is from OpenPOWER Linux Community echo "[docker] name=Docker baseurl=$OPEN_POWER_TOOLS_URL enabled=1 gpgcheck=0" | \ @@ -56,11 +59,31 @@ setup_docker() #workaround as the public repo has issue to install container-selinux yum install -y http://ftp.unicamp.br/pub/ppc64el/rhel/7/docker-ppc64el/container-selinux-2.9-4.el7.noarch.rpm yum install -y docker-ce bridge-utils initscripts - service docker start - sleep 5 else echo "Error: not supported platform." + return + fi + + systemctl start docker + sleep 5 + + local x=1 + while [ $x -le 5 ] + do + echo "Waiting for docker daemon up: $x times" + systemctl is-active docker >/dev/null 2>&1 + if [[ $? -eq 0 ]]; then + x=0 + break + fi + sleep 5 + x=$(( $x + 1 )) + done + + if [[ $x -gt 0 ]]; then + echo "Error: The docker daemon is not up." + return fi # Create the bridge network for testing, and add the physical interface inside @@ -107,6 +130,13 @@ clean_docker() brctl show } +setup_conda() +{ + which yum &>/dev/null && yum install -y bzip2 || apt install -y bzip2 + mkdir -p $PERF_SIM_TESTING_CWD && cd $PERF_SIM_TESTING_CWD && curl -o setupconda.sh $CONDA_TOOLS_URL + bash $PERF_SIM_TESTING_CWD/setupconda.sh -b -u -p $PERF_SIM_TESTING_CWD/conda +} + setup_openbmc() { ip addr flush dev $PERF_SIM_NIC @@ -119,8 +149,15 @@ setup_openbmc() return fi + # install and run simulate on conda environment + setup_conda + . $PERF_SIM_TESTING_CWD/conda/etc/profile.d/conda.sh + conda create -n perf python=2.7 -y + conda activate perf + conda install greenlet -y + which yum &>/dev/null && yum install -y git || apt install -y git - mkdir -p $PERF_SIM_TESTING_CWD && cd $PERF_SIM_TESTING_CWD && git clone $OPENBMC_SIMULATOR_URL + mkdir -p $PERF_SIM_TESTING_CWD && cd $PERF_SIM_TESTING_CWD && rm -rf $PERF_SIM_TESTING_CWD/openbmc_simulator && git clone $OPENBMC_SIMULATOR_URL chmod +x $PERF_SIM_TESTING_CWD/openbmc_simulator/simulator run_openbmc } diff --git a/xCAT-test/autotest/testcase/pkg/cases0 b/xCAT-test/autotest/testcase/pkg/cases0 index 62831a853..d42438d56 100644 --- a/xCAT-test/autotest/testcase/pkg/cases0 +++ b/xCAT-test/autotest/testcase/pkg/cases0 @@ -1,5 +1,6 @@ start:del_ospkg -descreption:del ospkg +description:del ospkg +label:others,postscripts,updatenode cmd:copycds $$ISO check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/pkg/pkgtest.pl -s -g $$osimage -t pkglist -v __GETNODEATTR($$CN,os)__ @@ -25,7 +26,8 @@ check:rc==0 end start:add_ospkg_updatenode -descreption:add ospkg +description:add ospkg +label:others,postscripts,updatenode cmd:copycds $$ISO check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/pkg/pkgtest.pl -s -g $$osimage -t pkglist -v __GETNODEATTR($$CN,os)__ @@ -45,7 +47,8 @@ check:rc==0 end start:add_includeospkg_updatenode -descreption:add include ospkg list +description:add include ospkg list +label:others,postscripts,updatenode cmd:copycds $$ISO check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/pkg/pkgtest.pl -i -g $$osimage -t pkglist -v __GETNODEATTR($$CN,os)__ @@ -65,7 +68,8 @@ check:rc==0 end start:add_other_pkg -descreption:add other pkg +description:add other pkg +label:others,postscripts,updatenode cmd:copycds $$ISO check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/pkg/pkgtest.pl -s -o -g $$osimage -t otherpkgdir -v __GETNODEATTR($$CN,os)__ @@ -84,7 +88,8 @@ check:rc==0 end start:del_other_pkg -descreption:del other pkg +description:del other pkg +label:others,postscripts,updatenode cmd:copycds $$ISO check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/pkg/pkgtest.pl -s -o -g $$osimage -t otherpkgdir -v __GETNODEATTR($$CN,os)__ @@ -112,7 +117,8 @@ check:rc==0 end start:add_other_pkg_include -descreption:add other pkg include other list +description:add other pkg include other list +label:others,postscripts,updatenode cmd:copycds $$ISO check:rc==0 cmd:perl /opt/xcat/share/xcat/tools/autotest/testcase/pkg/pkgtest.pl -i -o -g $$osimage -t otherpkgdir -v __GETNODEATTR($$CN,os)__ diff --git a/xCAT-test/autotest/testcase/pping/cases0 b/xCAT-test/autotest/testcase/pping/cases0 index b7f4c4b16..661d15197 100644 --- a/xCAT-test/autotest/testcase/pping/cases0 +++ b/xCAT-test/autotest/testcase/pping/cases0 @@ -1,4 +1,5 @@ start:pping_h +label:others,parallel_cmds cmd:pping -h check:rc==0 check:output=~Usage @@ -7,6 +8,7 @@ check:rc==0 end start:pping_v +label:others,parallel_cmds cmd:pping -v check:rc==0 check:output=~Version @@ -16,12 +18,14 @@ check:output=~Version end start:pping_node +label:others,parallel_cmds cmd:pping $$CN check:rc==0 check:output=~ping|noping end start:pping_invalidnode +label:others,parallel_cmds cmd:pping test check:rc!=0 check:output=~Warning: (\[.*?\]: )?Invalid nodes in noderange:test diff --git a/xCAT-test/autotest/testcase/ppping/cases0 b/xCAT-test/autotest/testcase/ppping/cases0 index 0ac88204d..e7df2657c 100644 --- a/xCAT-test/autotest/testcase/ppping/cases0 +++ b/xCAT-test/autotest/testcase/ppping/cases0 @@ -1,5 +1,6 @@ start:ppping_h description:get ppping help information +label:others,parallel_cmds cmd:ppping -h check:rc==0 check:output=~Usage @@ -7,6 +8,7 @@ end start:ppping_v description:Display verbose output +label:others,parallel_cmds cmd:ppping -v check:rc==0 check:output=~Version @@ -14,6 +16,7 @@ end start:ppping_node description:ppping node +label:others,parallel_cmds Attribute: $$CN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;if [[ $? -eq 1 ]]; then output=`ppping $$CN`;if [[ $? -eq 1 ]]&&[[ $output =~ "noping" ]];then exit 0;else exit 1;fi;else output=`ppping $$CN`; if [[ $? -eq 0 ]]&&[[ $output =~ "pinged all nodes successfully" ]];then exit 0;else exit 1;fi;fi check:rc==0 @@ -21,6 +24,7 @@ end start:ppping_V_node description:Display verbose output of ppping node. +label:others,parallel_cmds Attribute: $$CN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;if [[ $? -eq 1 ]]; then output=`ppping -V $$CN`;if [[ $? -eq 1 ]]&&[[ $output =~ "$$CN: noping" ]];then exit 0;else exit 1;fi;else output=`ppping -V $$CN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$CN: $$CN: ping" ]];then exit 0;else exit 1;fi;fi check:rc==0 @@ -28,6 +32,7 @@ end start:ppping_q_node description:Display minimum output of ppping node. +label:others,parallel_cmds Attribute: $$CN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;if [[ $? -eq 1 ]]; then output=`ppping -q $$CN`;if [[ $? -eq 1 ]]&&[[ $output =~ "$$CN: noping" ]];then exit 0;else exit 1;fi;else output=`ppping -q $$CN`; if [[ $? -eq 0 ]]&&[[ $output =~ "" ]];then exit 0;else exit 1;fi;fi check:rc==0 @@ -35,6 +40,7 @@ end start:ppping_d_node description:Print debug information of ppping node. +label:others,parallel_cmds Attribute: $$CN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;if [[ $? -eq 1 ]]; then output=`ppping -d $$CN`;if [[ $? -eq 1 ]]&&[[ $output =~ "start" ]]&&[[ $output =~ "stop" ]];then exit 0;else exit 1;fi;else output=`ppping -d $$CN`; if [[ $? -eq 0 ]]&&[[ $output =~ "start" ]]&&[[ $output =~ "stop" ]];then exit 0;else exit 1;fi;fi check:rc==0 @@ -42,6 +48,7 @@ end start:ppping_i_node description:A comma separated list of network interface names that should be pinged instead of the interface represented by the nodename/hostname +label:others,parallel_cmds Attribute: $$CN-The operation object of ppping command cmd:cp /etc/hosts /etc/hosts.bak check:rc==0 @@ -59,6 +66,7 @@ end start:ppping_nodes description:test the connectivity between nodes in the noderange using ping +label:others,parallel_cmds Attribute: $$CN,$$SN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;rc1=$?;ping -c 3 $$SN > /dev/null 2>&1;rc2=$?;if [[ $rc1 -eq 1 ]]&&[[ $rc2 -eq 1 ]];then output=`ppping $$CN,$$SN`;if [[ $? -eq 1 ]]&&[[ $output =~ "$$CN: noping" ]]&&[[ $output =~ "$$SN: noping" ]];then exit 0;else exit 1;fi;elif [[ $rc1 -eq 0 ]]&&[[ $rc2 -eq 1 ]]; then output=`ppping $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$SN: noping" ]]&&[[ "$$CN: $$SN: noping" ]];then exit 0;else exit 1;fi;elif [[ $rc1 -eq 1 ]]&&[[ $rc2 -eq 0 ]]; then output=`ppping $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$CN: noping" ]]&&[[ "$$SN: $$CN: noping" ]];then exit 0;else exit 1;fi;else output=`ppping $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$CN: pinged all nodes successfully" ]]&&[[ "$$SN: pinged all nodes successfully" ]];then exit 0;else exit 1;fi;fi check:rc==0 @@ -66,6 +74,7 @@ end start:ppping_V_nodes description:test the connectivity between nodes in the noderange using ping and print verbose output. +label:others,parallel_cmds Attribute: $$CN,$$SN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;rc1=$?;ping -c 3 $$SN > /dev/null 2>&1;rc2=$?;if [[ $rc1 -eq 1 ]]&&[[ $rc2 -eq 1 ]];then output=`ppping -V $$CN,$$SN`;if [[ $? -eq 1 ]]&&[[ $output =~ "$$CN: noping" ]]&&[[ $output =~ "$$SN: noping" ]];then exit 0;else exit 1;fi;elif [[ $rc1 -eq 0 ]]&&[[ $rc2 -eq 1 ]]; then output=`ppping -V $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$SN: noping" ]]&&[[ $output =~ "$$CN: $$SN: noping" ]]&&[[ $output =~ "$$CN: $$CN: ping" ]];then exit 0;else exit 1;fi;elif [[ $rc1 -eq 1 ]]&&[[ $rc2 -eq 0 ]]; then output=`ppping -V $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$CN: noping" ]]&&[[ $output =~ "$$SN: $$CN: noping" ]];then exit 0;else exit 1;fi;else output=`ppping -V $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$SN: $$CN: ping" ]]&&[[ $output =~ "$$SN: $$SN: ping" ]]&&[[ $output =~ "$$CN: $$SN: ping" ]]&&[[ $output =~ "$$CN: $$CN: ping" ]];then exit 0;else exit 1;fi;fi check:rc==0 @@ -75,6 +84,7 @@ end start:ppping_V_s_nodes description:test the connectivity between nodes in the noderange using ping and print Ping serially instead of in parallel information. +label:others,parallel_cmds Attribute: $$CN,$$SN-The operation object of ppping command cmd:ping -c 3 $$CN > /dev/null 2>&1;rc1=$?;ping -c 3 $$SN > /dev/null 2>&1;rc2=$?;if [[ $rc1 -eq 1 ]]&&[[ $rc2 -eq 1 ]];then output=`ppping -V -s $$CN,$$SN`;if [[ $? -eq 1 ]]&&[[ $output =~ "$$CN: noping" ]]&&[[ $output =~ "$$SN: noping" ]];then exit 0;else exit 1;fi;elif [[ $rc1 -eq 0 ]]&&[[ $rc2 -eq 1 ]]; then output=`ppping -V -s $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$SN: noping" ]]&&[[ $output =~ "$$CN: $$SN: noping" ]]&&[[ $output =~ "$$CN: $$CN: ping" ]];then exit 0;else exit 1;fi;elif [[ $rc1 -eq 1 ]]&&[[ $rc2 -eq 0 ]]; then output=`ppping -V -s $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$CN: noping" ]]&&[[ $output =~ "$$SN: $$CN: noping" ]];then exit 0;else exit 1;fi;else output=`ppping -V -s $$CN,$$SN`; if [[ $? -eq 0 ]]&&[[ $output =~ "$$SN: $$CN: ping" ]]&&[[ $output =~ "$$SN: $$SN: ping" ]]&&[[ $output =~ "$$CN: $$SN: ping" ]]&&[[ $output =~ "$$CN: $$CN: ping" ]];then exit 0;else exit 1;fi;fi check:rc==0 diff --git a/xCAT-test/autotest/testcase/probe/detect_dhcpd b/xCAT-test/autotest/testcase/probe/detect_dhcpd index b67ae4495..213f6ab0d 100644 --- a/xCAT-test/autotest/testcase/probe/detect_dhcpd +++ b/xCAT-test/autotest/testcase/probe/detect_dhcpd @@ -1,5 +1,6 @@ start:detect_dhcpd_work description:To test if xcatprobe detect_dhcpd works. This case must run in xcat mn +label:others,dhcp cmd:if [ -d "/tmp/detect_dhcpd_work" ]; then mv /tmp/detect_dhcpd_work /tmp/detect_dhcpd_work.bak; fi; mkdir -p /tmp/detect_dhcpd_work cmd:makedhcp -n check:rc == 0 diff --git a/xCAT-test/autotest/testcase/prsync/cases0 b/xCAT-test/autotest/testcase/prsync/cases0 index 3d2120028..de920f149 100644 --- a/xCAT-test/autotest/testcase/prsync/cases0 +++ b/xCAT-test/autotest/testcase/prsync/cases0 @@ -1,5 +1,6 @@ start:prsync_h description: prsync -h +label:others,parallel_cmds os:Linux cmd:prsync -h check:rc==0 @@ -8,6 +9,7 @@ end start:prsync_v description: prsync -v +label:others,parallel_cmds os:Linux cmd:prsync -v check:rc==0 @@ -16,6 +18,7 @@ end start:prsync_dir_node description: run prsync to copy files in dir from MN to CN +label:others,parallel_cmds os:Linux cmd: mkdir -p /tmp/pscp check:rc==0 @@ -41,6 +44,7 @@ end start:prsync_file_node description: run prsync to copy file from MN to CN +label:others,parallel_cmds os:Linux cmd: echo "prsync-test" > prsync.test check:rc==0 diff --git a/xCAT-test/autotest/testcase/pscp/cases0 b/xCAT-test/autotest/testcase/pscp/cases0 index 2d1e02b1a..e7050691e 100644 --- a/xCAT-test/autotest/testcase/pscp/cases0 +++ b/xCAT-test/autotest/testcase/pscp/cases0 @@ -1,10 +1,12 @@ start:pscp_h +label:others,parallel_cmds cmd:pscp -h check:rc==0 check:output=~Usage end start:pscp_v +label:others,parallel_cmds cmd:pscp -v check:rc==0 check:output=~Version @@ -12,6 +14,7 @@ end #copy single file start:pscp_node +label:others,parallel_cmds cmd:echo "test" > /tmp/pscp.tmp check:rc==0 cmd:pscp /tmp/pscp.tmp $$CN:/tmp/ @@ -31,6 +34,7 @@ end #copy a directory start:pscp_r_node +label:others,parallel_cmds cmd: mkdir -p /tmp/pscp check:rc==0 cmd:echo "test" > /tmp/pscp/pscp.tmp @@ -55,6 +59,7 @@ end start:pscp_i_node +label:others,parallel_cmds cmd:cp /etc/hosts /etc/hosts.bak check:rc==0 cmd:a=`cat /etc/hosts |grep ' $$CN.'|awk '{print $1}'`;b=`cat /etc/resolv.conf |grep search|awk '{print $2}'`;echo "$a $$CN-eth0.$b $$CN-eth0" >> /etc/hosts diff --git a/xCAT-test/autotest/testcase/psh/cases0 b/xCAT-test/autotest/testcase/psh/cases0 index f1ad5ad39..a015f6333 100644 --- a/xCAT-test/autotest/testcase/psh/cases0 +++ b/xCAT-test/autotest/testcase/psh/cases0 @@ -1,5 +1,6 @@ start:psh_h description: psh -h and psh -help +label:others,parallel_cmds os:Linux cmd:psh -h check:rc==0 @@ -11,6 +12,7 @@ end start:psh_v description: psh -v +label:others,parallel_cmds os:Linux cmd:psh -v check:output=~Version @@ -19,6 +21,7 @@ end start:psh_node_cmd_linux description: psh CN 'pwd' in linux +label:others,parallel_cmds os:Linux cmd:psh $$CN 'pwd' check:rc==0 @@ -28,6 +31,7 @@ end start:psh_node_cmd_aix description: psh CN 'pwd' in AIX +label:others,parallel_cmds os:Aix cmd:psh $$CN 'pwd' check:rc==0 @@ -37,6 +41,7 @@ end start:psh_l description: psh -l user CN 'uptime' in linux +label:others,parallel_cmds os:Linux cmd:psh -l root $$CN 'uptime' check:rc==0 @@ -46,6 +51,7 @@ end start:psh_i description: psh -i interface CN 'uptime' in linux +label:others,parallel_cmds os:Linux cmd:cp /etc/hosts /etc/hostsBK check:rc==0 diff --git a/xCAT-test/autotest/testcase/pythonsupport/cases0 b/xCAT-test/autotest/testcase/pythonsupport/cases0 index 37c63b03b..38a0eb05d 100644 --- a/xCAT-test/autotest/testcase/pythonsupport/cases0 +++ b/xCAT-test/autotest/testcase/pythonsupport/cases0 @@ -1,5 +1,6 @@ start:set_up_env_for_support_openbmc_in_python description:this case is used to test environment setup for supporting openbmc in python +label:others,hctrl_openbmc os:Linux hcp:openbmc,kvm cmd:mkdir -p /tmp/set_up_env_for_support_openbmc_in_python diff --git a/xCAT-test/autotest/testcase/rbeacon/cases0 b/xCAT-test/autotest/testcase/rbeacon/cases0 index e79195072..9f237fe7a 100644 --- a/xCAT-test/autotest/testcase/rbeacon/cases0 +++ b/xCAT-test/autotest/testcase/rbeacon/cases0 @@ -55,6 +55,6 @@ hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:rbeacon $$CN abc check:rc!=0 -check:output=~$$CN\s*:\s*Error:\s*Only \'on\', \'off\' or \'stat\' is supported +check:output=~$$CN\s*:\s*Error:\s*Only \'on\', \'off\' and \'stat\' are supported end diff --git a/xCAT-test/autotest/testcase/restapi/global/cases0 b/xCAT-test/autotest/testcase/restapi/global/cases0 index d19bf7ea6..c645170ec 100644 --- a/xCAT-test/autotest/testcase/restapi/global/cases0 +++ b/xCAT-test/autotest/testcase/restapi/global/cases0 @@ -1,5 +1,6 @@ start:globalconf_get description: globalconf_get +label:others,restapi cmd:restapitest -m GET -r /globalconf check:rc==200 cmdcheck:restapitest -o '{"clustersite":{"xcatdport":"3001"}}' -O == @@ -7,6 +8,7 @@ end start:globalconf_get_attr description: globalconf_get_attr +label:others,restapi cmd:restapitest -m GET -r /globalconf/attrs/xcatdport,xcatiport check:rc==200 cmdcheck:restapitest -o '{"clustersite":{"xcatdport":"3001"}}' -O == @@ -15,12 +17,14 @@ end start:globalconf_put description: globalconf_put +label:others,restapi cmd:restapitest -m PUT -r /globalconf/attrs/domain -d '{"domain":"cluster1.com"}' check:rc==200 end start:globalconf_put_checkresult description: globalconf_put_checkresult +label:others,restapi cmd:restapitest -m GET -r /globalconf/attrs/domain check:rc==200 cmdcheck:restapitest -o '{"clustersite":{"domain":"cluster1.com"}}' -O == @@ -28,12 +32,14 @@ end start:globalconf_delete description: globalconf_delete +label:others,restapi cmd:restapitest -m DELETE -r /globalconf/attrs/domain check:rc==200 end start:globalconf_delete_checkresult description: globalconf_delete_checkresult +label:others,restapi cmd:restapitest -m GET -r /globalconf/attrs/domain check:rc==200 cmdcheck:restapitest -o '{"clustersite":{"domain":"cluster1.com"}}' -O != diff --git a/xCAT-test/autotest/testcase/restapi/group/cases0 b/xCAT-test/autotest/testcase/restapi/group/cases0 index ea26e4d11..f6b3ae7b5 100644 --- a/xCAT-test/autotest/testcase/restapi/group/cases0 +++ b/xCAT-test/autotest/testcase/restapi/group/cases0 @@ -1,5 +1,6 @@ start:get_group_list description: get_group_list +label:others,restapi cmd:restapitest -m GET -r /groups check:rc==200 cmdcheck:restapitest -o '["all"]' -O == @@ -7,6 +8,7 @@ end start:get_group_all description: get_group_all +label:others,restapi cmd:restapitest -m GET -r /groups/all check:rc==200 cmdcheck:restapitest -o '{"all":{"members":"virtualcn2"}}' -O == @@ -14,12 +16,14 @@ end start:put_group_all description: put_group_all +label:others,restapi cmd:restapitest -m PUT -r /groups/all -d '{"mgt":"dfm","netboot":"yaboot"}' check:rc==200 end start:get_group_all_for_put description: get_group_all_for_put +label:others,restapi cmd:restapitest -m GET -r /groups/all check:rc==200 cmdcheck:restapitest -o '{"all":{"netboot":"yaboot"}}' -O == @@ -27,6 +31,7 @@ end start:get_group_all_attrs description: get_group_all_attrs +label:others,restapi cmd:restapitest -m GET -r /groups/all/attrs/mgt,netboot check:rc==200 cmdcheck:restapitest -o '{"all":{"netboot":"yaboot"}}' -O == diff --git a/xCAT-test/autotest/testcase/restapi/network/cases0 b/xCAT-test/autotest/testcase/restapi/network/cases0 index 2851f39b1..3a63bbf60 100644 --- a/xCAT-test/autotest/testcase/restapi/network/cases0 +++ b/xCAT-test/autotest/testcase/restapi/network/cases0 @@ -1,5 +1,6 @@ start:get_networks description: get_networks +label:others,restapi cmd:restapitest -m GET -r /networks check:rc==200 cmdcheck:restapitest -o '["network1"]' -O == @@ -7,12 +8,14 @@ end start:post_networks description: post_networks +label:others,restapi cmd:restapitest -m POST -r /networks check:rc==201 end start:get_networks_attr_for_post description: get_networks_attr_for_post +label:others,restapi cmd:restapitest -m GET -r /networks/network1 check:rc==200 cmdcheck:restapitest -o '{"network1":{"net":"10.1.0.0"}}' -O == @@ -20,12 +23,14 @@ end start:post_networks_attr description: post_networks_attr +label:others,restapi cmd:restapitest -m GET -r /networks/network1 -d '{"gateway":"10.1.0.1","mask":"255.255.0.0"}' check:rc==201 end start:get_networks_all_attr description: get_networks_all_attr +label:others,restapi cmd:restapitest -m GET -r /networks/network1 check:rc==200 cmdcheck:restapitest -o '{"network1":{"net":"10.1.0.0"}}' -O == @@ -33,6 +38,7 @@ end start:get_networks_attr description: get_networks_attr +label:others,restapi cmd:restapitest -m GET -r /networks/network1/attrs/net,mask check:rc==200 cmdcheck:restapitest -o '{"network1":{"net":"10.1.0.0"}}' -O == @@ -40,12 +46,14 @@ end start:put_networks_attr description: put_networks_attr +label:others,restapi cmd:restapitest -m PUT -r /networks/network1 -d '{"mgtifname":"eth0","net":"10.1.0.0"}' check:rc==200 end start:get_networks_attr_for_put description: get_networks_attr_for_put +label:others,restapi cmd:restapitest -m GET -r /networks/network1 check:rc==200 cmdcheck:restapitest -o '{"network1":{"net":"10.1.0.0"}}' -O == @@ -53,12 +61,14 @@ end start:delete_networks_attr_for_put description: delete_networks_attr_for_put +label:others,restapi cmd:restapitest -m DELETE -r /networks/network1 check:rc==200 end start:get_networks_for_delete description: get_networks_for_delete +label:others,restapi cmd:restapitest -m GET -r /networks check:rc==200 cmdcheck:restapitest -o '["network1"]' -O != diff --git a/xCAT-test/autotest/testcase/restapi/node/cases0 b/xCAT-test/autotest/testcase/restapi/node/cases0 index ba33f5831..90999064e 100644 --- a/xCAT-test/autotest/testcase/restapi/node/cases0 +++ b/xCAT-test/autotest/testcase/restapi/node/cases0 @@ -1,11 +1,13 @@ start:create_node_rest description: create a node with REST API +label:others,restapi cmd:restapitest -m POST -r /nodes/restnode -d '{"groups":"all","mgt":"dfm","netboot":"yaboot"}' -u $$username -p $$password check:rc==201 end start:create_node_rest2 description: create a node with REST API failure +label:others,restapi cmd:restapitest -m POST -r /nodes/restnode -d '{"groups":"all","mgt":"dfm","netboot":"yaboot"}' -u $$username -p $$password check:rc==147 check:output=~"errorcode":"1" @@ -13,6 +15,7 @@ end start:get_nodes_rest description: get all nodes with REST API +label:others,restapi cmd:restapitest -m GET -r /nodes -u $$username -p $$password check:rc==200 check:output=~"restnode" @@ -20,6 +23,7 @@ end start:get_node_rest description: get single node with REST API +label:others,restapi cmd:restapitest -m GET -r /nodes/restnode -u $$username -p $$password check:rc==200 check:output=~"restnode" @@ -27,12 +31,14 @@ end start:node_delete_rest description: delete node with REST API +label:others,restapi cmd:restapitest -m DELETE -r /nodes/restnode -u $$username -p $$password check:rc==200 end start:get_nodes_rest2 description: get all nodes with REST API +label:others,restapi cmd:restapitest -m GET -r /nodes -u $$username -p $$password check:rc==200 check:output!~"restnode" @@ -40,6 +46,7 @@ end start:get_node_rest2 description: get single node with REST API +label:others,restapi cmd:restapitest -m GET -r /nodes/restnode -u $$username -p $$password check:rc==147 check:output=~"errorcode":"1" @@ -47,48 +54,56 @@ end start:create_node_token_rest description: create a node with REST API using authentication token +label:others,restapi cmd:restapitest -m POST -r /nodes/restnode -d '{"groups":"all","mgt":"dfm","netboot":"yaboot"}' -u $$username -p $$password -t check:rc==201 end start:node_makehosts_rest description: makehosts for node with REST API +label:others,restapi cmd:restapitest -m POST -r /nodes/restnode/host -u $$username -p $$password check:rc==201 end start:node_makedns_rest description: makehosts for node with REST API +label:others,restapi cmd:restapitest -m POST -r /nodes/restnode/dns -u $$username -p $$password check:rc==201 end start:node_delete_dns_rest description: delete dns for node with REST API +label:others,restapi cmd:restapitest -m DELETE -r /nodes/restnode/dns -u $$username -p $$password check:rc==200 end start:node_change_attr_rest description: change node attribute with REST API +label:others,restapi cmd:restapitest -m PUT -r /nodes/restnode -d '{"mac":"00:1a:64:54:14:80"}' -u $$username -p $$password check:rc==200 end start:node_makedhcp_rest description: makedhcp for node with REST API +label:others,restapi cmd:restapitest -m POST -r /nodes/restnode/dhcp -u $$username -p $$password check:rc==201 end start:node_delete_dhcp_rest description: node_delete_dhcp +label:others,restapi cmd:restapitest -m DELETE -r /nodes/restnode/dhcp -u $$username -p $$password check:rc==200 end start:node_state_rest description: get node state with REST API +label:others,restapi cmd:restapitest -m GET -r /nodes/$$CN/nodestat -u $$username -p $$password check:rc==200 check:output=~"$$CN" @@ -97,6 +112,7 @@ end start:node_state_token_rest description: get node state with REST API using authentication token +label:others,restapi cmd:restapitest -m GET -r /nodes/$$CN/nodestat -u $$username -p $$password -t check:rc==200 check:output=~"$$CN" @@ -105,6 +121,7 @@ end start:get_node_rest_error description: get single node with REST API with invalid user or password +label:others,restapi cmd:restapitest -m GET -r /nodes/restnode -u abc -p xyz check:rc==145 check:output=~"error":"Authentication failure" diff --git a/xCAT-test/autotest/testcase/restapi/node/cases1 b/xCAT-test/autotest/testcase/restapi/node/cases1 index db848f1f2..175d86567 100644 --- a/xCAT-test/autotest/testcase/restapi/node/cases1 +++ b/xCAT-test/autotest/testcase/restapi/node/cases1 @@ -1,5 +1,6 @@ start:inventory_node_rest description: get OpenBMC node inventory with REST API +label:others,restapi hcp:openbmc cmd:restapitest -m GET -r /nodes/$$CN/inventory -u $$username -p $$password check:rc==200 @@ -8,6 +9,7 @@ end start:inventory_node_rest2 description: get IPMI node inventory with REST API +label:others,restapi hcp:ipmi cmd:restapitest -m GET -r /nodes/$$CN/inventory -u $$username -p $$password check:rc==200 @@ -16,6 +18,7 @@ end start:vitals_node_rest description: get OpenBMC node vitals with REST API +label:others,restapi hcp:openbmc cmd:restapitest -m GET -r /nodes/$$CN/vitals -u $$username -p $$password check:rc==200 @@ -24,6 +27,7 @@ end start:vitals_node_rest2 description: get IPMI node vitals with REST API +label:others,restapi hcp:ipmi cmd:restapitest -m GET -r /nodes/$$CN/vitals -u $$username -p $$password check:rc==200 @@ -32,6 +36,7 @@ end start:eventlog_node_rest description: get OpenBMC node inventory with REST API +label:others,restapi hcp:openbmc cmd:restapitest -m GET -r /nodes/$$CN/eventlog -u $$username -p $$password check:rc==200 @@ -40,6 +45,7 @@ end start:eventlog_node_rest2 description: get IPMI node eventlog with REST API +label:others,restapi hcp:ipmi cmd:restapitest -m GET -r /nodes/$$CN/eventlog -u $$username -p $$password check:rc==200 @@ -48,6 +54,7 @@ end start:beacon_node_rest description: get OpenBMC node beacon with REST API +label:others,restapi hcp:openbmc cmd:restapitest -m GET -r /nodes/$$CN/beacon -u $$username -p $$password check:rc==200 @@ -57,6 +64,7 @@ end start:beacon_set_node_rest description: set OpenBMC node beacon with REST API +label:others,restapi hcp:openbmc cmd:restapitest -m PUT -r /nodes/$$CN/beacon -d '{"action":"on"}' -u $$username -p $$password check:rc==200 @@ -64,6 +72,7 @@ end start:beacon_set_node_rest2 description: set IPMI node beacon with REST API +label:others,restapi hcp:ipmi cmd:restapitest -m PUT -r /nodes/$$CN/beacon -d '{"action":"on"}' -u $$username -p $$password check:rc==200 diff --git a/xCAT-test/autotest/testcase/restapi/osimage/cases0 b/xCAT-test/autotest/testcase/restapi/osimage/cases0 index 3335577b4..70a91c1e3 100644 --- a/xCAT-test/autotest/testcase/restapi/osimage/cases0 +++ b/xCAT-test/autotest/testcase/restapi/osimage/cases0 @@ -1,5 +1,6 @@ start:get_images_all description: get_images_all +label:others,restapi cmd:restapitest -m GET -r /osimages check:rc==200 cmdcheck:restapitest -o '["rhels6.5-x86_64-install-compute"]' -O == @@ -7,12 +8,14 @@ end start:post_images description: post_images +label:others,restapi cmd:restapitest -m POST -r /osimages -d '{"iso":"/iso/RHEL6.5-20131111.0-Server-x86_64-DVD1.iso"}' check:rc==201 end start:get_images description: get_images +label:others,restapi cmd:restapitest -m GET -r /osimages/rhels6.5-x86_64-install-compute check:rc==200 cmdcheck:restapitest -o '{"rhels6.5-x86_64-install-compute":{"provmethod":"install"}}' -O == @@ -20,12 +23,14 @@ end start:put_images_attr description: put_images_attr +label:others,restapi cmd:restapitest -m PUT -r /osimages/rhels6.5-x86_64-install-hpc -d '{"osvers":"sles11.3","osarch":"x86_64"}' check:rc==200 end start:get_images_for_put description: get_images_for_put +label:others,restapi cmd:restapitest -m GET -r /osimages/rhels6.5-x86_64-install-hpc check:rc==200 cmdcheck:restapitest -o '{"rhels6.5-x86_64-install-hpc":{"osvers":"sles11.3"}}' -O == @@ -33,12 +38,14 @@ end start:create_images description: create_images +label:others,restapi cmd:restapitest -m POST -r /osimages/rhels6.5-x86_64-install-hpc -d '{"profile":"compute","osarch":"x86_64"}' check:rc==200 end start:get_images_for_post description: get_images_for_post +label:others,restapi cmd:restapitest -m GET -r /osimages/rhels6.5-x86_64-install-hpc check:rc==200 cmdcheck:restapitest -o '{"rhels6.5-x86_64-install-hpc":{"profile":"compute"}}' -O == @@ -46,12 +53,14 @@ end start:delete_images description: delete_images +label:others,restapi cmd:restapitest -m DELETE -r /osimages/rhels6.5-x86_64-install-hpc check:rc==200 end start:get_images_all_for_delete description: get_images_all_for_delete +label:others,restapi cmd:restapitest -m GET -r /osimages check:rc==200 cmdcheck:restapitest -o '["rhels6.5-x86_64-install-hpc"]' -O != @@ -59,6 +68,7 @@ end start:get_images_attr description: get_images_attr +label:others,restapi cmd:restapitest -m GET -r /osimages/rhels6.5-x86_64-install-compute/attrs/imagetype,osarch,osname,provmethod check:rc==200 cmdcheck:restapitest -o '{"sles11.2-ppc64-install-compute":{osarch":"x86_64"}}' -O == @@ -66,24 +76,28 @@ end start:post_images_attr_genimage description: post_images_attr_genimage +label:others,restapi cmd:restapitest -m POST -r /osimages/rhels6.5-x86_64-statelite-service/instance -d '{"action":"gen"}' check:rc==200 end start:post_images_attr_packimage description: post_images_attr +label:others,restapi cmd:restapitest -m POST -r /osimages/rhels6.5-x86_64-statelite-service/instance -d '{"action":"pack"}' check:rc==200 end start:post_images_attr_exportimage description: post_images_attr +label:others,restapi cmd:restapitest -m POST -r /osimages/rhels6.5-x86_64-statelite-service/instance -d '{"action":"export"}' check:rc==200 end start:delete_images description: delete_images +label:others,restapi cmd:restapitest -m DELETE -r /osimages/rhels6.5-x86_64-statelite-service/instance check:rc==200 end diff --git a/xCAT-test/autotest/testcase/restapi/policy/cases0 b/xCAT-test/autotest/testcase/restapi/policy/cases0 index 73ae1b306..f73fcb7d4 100644 --- a/xCAT-test/autotest/testcase/restapi/policy/cases0 +++ b/xCAT-test/autotest/testcase/restapi/policy/cases0 @@ -1,5 +1,6 @@ start:get_policy_all description: get_policy_all +label:others,restapi cmd:restapitest -m GET -r /policy check:rc==200 cmdcheck:restapitest -o '["1"]' -O == @@ -7,6 +8,7 @@ end start:get_policy_attr description: get_policy_attr +label:others,restapi cmd:restapitest -m GET -r /policy/1 check:rc==200 cmdcheck:restapitest -o '{"1":{"name":"root"}}' -O == @@ -14,12 +16,14 @@ end start:put_policy_attr description: put_policy_attr +label:others,restapi cmd:restapitest -m PUT -r /policy/1 -d '{"name":"root1"}' check:rc==200 end start:get_policy_attr_for_put description: get_policy_attr_for_put +label:others,restapi cmd:restapitest -m GET -r /policy/1 check:rc==200 cmdcheck:restapitest -o '{"1":{"name":"root1"}}' -O == @@ -27,18 +31,21 @@ end start:put_policy_attr_changeback description: put_policy_attr_changeback +label:others,restapi cmd:restapitest -m PUT -r /policy/1 -d '{"name":"root"}' check:rc==200 end start:post_policy description: post_policy +label:others,restapi cmd:restapitest -m POST -r /policy/11 -d '{"name":"root1",,"commands":"rpower"}' check:rc==201 end start:get_policy_attr_for_post description: get_policy_attr_for_post +label:others,restapi cmd:restapitest -m GET -r /policy/11 check:rc==200 cmdcheck:restapitest -o '{"11":{"name":"root1"}}' -O == @@ -46,6 +53,7 @@ end start:delete_policy description: delete_policy +label:others,restapi cmd:restapitest -m DELETE -r /policy/11 check:rc==200 cmdcheck:restapitest -o '["11"]' -O != @@ -53,6 +61,7 @@ end start:get_policy_attrs description: get_policy_attrs +label:others,restapi cmd:restapitest -m GET -r /policy/1/attrs/name,rule check:rc==200 cmdcheck:restapitest -o '{"1":{"name":"root"}}' -O == diff --git a/xCAT-test/autotest/testcase/restapi/service/cases0 b/xCAT-test/autotest/testcase/restapi/service/cases0 index e9569fd69..88c491b28 100644 --- a/xCAT-test/autotest/testcase/restapi/service/cases0 +++ b/xCAT-test/autotest/testcase/restapi/service/cases0 @@ -1,29 +1,34 @@ start:post_dns description: post_dns +label:others,restapi cmd:restapitest -m POST -r /services/dns check:rc==201 end start:post_dhcp description: post_dhcp +label:others,restapi cmd:restapitest -m POST -r /services/dns check:rc==201 end start:post_host description: post_host +label:others,restapi cmd:restapitest -m POST -r /services/host check:rc==201 end start:post_host description: post_host +label:others,restapi cmd:restapitest -m POST -r /services/host check:rc==201 end start:get_slpnodes description: get_slpnodes +label:others,restapi cmd:restapitest -m GET -r /services/slpnodes check:rc==200 cmdcheck:restapitest -o '{"ngpcmm01":{"mpa":"ngpcmm01"}}' -O == @@ -31,6 +36,7 @@ end start:get_slpnodes_withst description: get_slpnodes_withst +label:others,restapi cmd:restapitest -m GET -r /services/slpnodes/FSP check:rc==200 cmdcheck:restapitest -o '{"Server--SNY014BG27A01K":{"mpa":"Server--SNY014BG27A01K"}}' -O == diff --git a/xCAT-test/autotest/testcase/restapi/table/cases0 b/xCAT-test/autotest/testcase/restapi/table/cases0 index 6a9ed807b..c8b710904 100644 --- a/xCAT-test/autotest/testcase/restapi/table/cases0 +++ b/xCAT-test/autotest/testcase/restapi/table/cases0 @@ -1,5 +1,6 @@ start:get_networks_table_rest description: get all networks table entries with REST API +label:others,restapi cmd:restapitest -m GET -r /tables/networks/rows -u $$username -p $$password check:rc==200 check:output=~netname @@ -7,6 +8,7 @@ end start:get_network_table_rest description: get all entries from invalid table name with REST API +label:others,restapi cmd:restapitest -m GET -r /tables/network/rows -u $$username -p $$password check:rc==147 check:output=~No such table @@ -14,6 +16,7 @@ end start:get_network_table_with_attr_selection_rest description: get all attribute matching networks table entries with REST API +label:others,restapi cmd:restapitest -m GET -r /tables/networks/rows/mask=255.0.0.0 -u $$username -p $$password check:rc==200 check:output=~"mask":"255.0.0.0" @@ -21,6 +24,7 @@ end start:get_network_table_with_attr_selection_error_rest description: get all attribute matching networks table entries with REST API, invalid attribute name +label:others,restapi cmd:restapitest -m GET -r /tables/networks/rows/abc=255.0.0.0 -u $$username -p $$password check:rc==147 check:output=~No table rows @@ -28,6 +32,7 @@ end start:get_network_table_with_attr_selection_error_rest2 description: get all attribute matching networks table entries with REST API, no match +label:others,restapi cmd:restapitest -m GET -r /tables/networks/rows/mask=a.b.c.d -u $$username -p $$password check:rc==147 check:output=~No table rows @@ -35,6 +40,7 @@ end start:get_network_table_with_attr_selection_rest2 description: get attribute matching networks table attributes with REST API +label:others,restapi cmd:restapitest -m GET -r /tables/networks/rows/mask=255.0.0.0/gateway -u $$username -p $$password check:rc==200 check:output=~"gateway":" @@ -42,6 +48,7 @@ end start:set_network_table_attr_with_attr_selection_rest2 description: set attribute for network table for attr seleection with REST API +label:others,restapi cmd:restapitest -m PUT -r /tables/networks/rows/mask=255.0.0.0 -d '{"comments":"REST API TEST"}' -u $$username -p $$password check:rc==200 cmd:lsdef -l -t network @@ -50,6 +57,7 @@ end start:delete_network_rest description: create a network and delele network with REST API +label:others,restapi cmd: restapitest -m POST -r /networks/network_rest -d '{"gateway":"10.1.0.1","mask":"255.255.0.0","net":"199.168.0.0"}' -u $$username -p $$password cmd: restapitest -m DELETE -r /tables/networks/rows/net=199.168.0.0 -u $$username -p $$password check:rc==200 diff --git a/xCAT-test/autotest/testcase/restorexCATdb/cases0 b/xCAT-test/autotest/testcase/restorexCATdb/cases0 index f2cc5c43f..980712d2f 100644 --- a/xCAT-test/autotest/testcase/restorexCATdb/cases0 +++ b/xCAT-test/autotest/testcase/restorexCATdb/cases0 @@ -1,12 +1,12 @@ start:restorexCAT_h -label:mn_only,db +label:mn_only,ci_test,db cmd:restorexCATdb -h check:rc==0 check:output=~restorexCATdb end start:restorexCATdb_v -label:mn_only,db +label:mn_only,ci_test,db cmd:restorexCATdb -v check:rc==0 check:output=~Version @@ -14,7 +14,7 @@ end start:restorexcatdb_p description:restore the xcat database from the /tmp/db -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -p /tmp/db1 @@ -36,7 +36,7 @@ cmd:rm -rf /tmp/db1 /tmp/db2 /tmp/db.1 /tmp/db.2 end start:restorexCATdb_p_V -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -a -p /tmp/db @@ -51,7 +51,7 @@ cmd:rm -rf /tmp/db end start:restorexCATdb_a_p_V -label:mn_only,db +label:mn_only,ci_test,db cmd:chtab key=skiptables site.value="" check:rc==0 cmd:dumpxCATdb -a -p /tmp/db @@ -65,7 +65,7 @@ cmd:rm -rf /tmp/db end start:restorexCATdb_wrongpath -label:mn_only,db +label:mn_only,ci_test,db cmd:restorexCATdb -p /tmp/testpath check:rc!=0 end diff --git a/xCAT-test/autotest/testcase/rinv/cases0 b/xCAT-test/autotest/testcase/rinv/cases0 index e9f50487d..99bf3dfee 100644 --- a/xCAT-test/autotest/testcase/rinv/cases0 +++ b/xCAT-test/autotest/testcase/rinv/cases0 @@ -154,6 +154,7 @@ check:rc==0 cmd:rinv $$CN all check:rc==1 check:output=~$$CN: (\[.*?\]: )?Error:.+Invalid username or password|Error: (\[.*?\]: )?ERROR: Incorrect password provided +cmd:chdef $$CN bmcpassword= cmd:cat /tmp/testnode.stanza | chdef -z;rm -rf /tmp/testnode.stanza check:rc==0 end diff --git a/xCAT-test/autotest/testcase/rmdef/cases0 b/xCAT-test/autotest/testcase/rmdef/cases0 index 57c1c074c..84c928cfc 100644 --- a/xCAT-test/autotest/testcase/rmdef/cases0 +++ b/xCAT-test/autotest/testcase/rmdef/cases0 @@ -1,13 +1,13 @@ start:rmdef_null description:rmdef without any flag -label:mn_only,db +label:mn_only,ci_test,db cmd:rmdef check:output=~Usage end start:rmdef_t_o_node description:rmdef -t node -o -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode,testnode1 groups=all,aix check:rc==0 cmd:lsdef -t node testnode,testnode1 @@ -22,7 +22,7 @@ end start:rmdef_t_node description:rmdef -t node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode,testnode1 groups=all,aix check:rc==0 cmd:lsdef -t node testnode,testnode1 @@ -37,7 +37,7 @@ end start:rmdef_node description:rmdef nodename -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode,testnode1 groups=all,aix check:rc==0 cmd:lsdef -t node testnode,testnode1 @@ -52,7 +52,7 @@ end start:rmdef_t_o_network description:rmdef -t network -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t network -o testnet net=1.2.3.0 mask=255.0.0.0 gateway=1.2.3.1 check:rc==0 cmd:lsdef -t network @@ -65,7 +65,7 @@ end start:rmdef_group description:rmdef to remove static node group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:mkdef -t group -o testgrp members=testnode1,testnode2 @@ -87,7 +87,7 @@ end start:rmdef_dynamic_group description:rmdef to remove dynamic node group -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode1-testnode2 mgt=hmc cons=hmc groups=all,systemp check:rc==0 cmd:mkdef -t group -o dyngrp -d -w mgt==hmc -w cons==hmc -w groups==all,systemp @@ -131,7 +131,7 @@ end start:rmdef_t_err description:rmdef -t wrongtype -label:mn_only,db +label:mn_only,ci_test,db cmd:rmdef -t wrongtype -o testnode check:rc!=0 check:output=~not a valid @@ -139,7 +139,7 @@ end start:rmdef_template description:try to delete a template, then error messages appear -label:mn_only,db +label:mn_only,ci_test,db cmd:result=`lsdef | grep switch-template`; if [[ $result =~ "switch-template" ]]; then echo $result; noderm switch-template; fi cmd:rmdef switch-template check:rc==1 diff --git a/xCAT-test/autotest/testcase/rmimage/case0 b/xCAT-test/autotest/testcase/rmimage/case0 index a5f1ea566..991efd372 100644 --- a/xCAT-test/autotest/testcase/rmimage/case0 +++ b/xCAT-test/autotest/testcase/rmimage/case0 @@ -1,6 +1,7 @@ start:rmimage_diskless -descriptiion:This case is to test rmimage could work correctly to remove all image files. +description:This case is to test rmimage could work correctly to remove all image files. cmd:ls /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute/;if [ $? -eq 0 ];then mv -f /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute /install/netboot/__GETNODEATTR($$CN,os)__/__GETNODEATTR($$CN,arch)__/compute.bak;fi +label:others,packaging cmd:copycds $$ISO check:rc==0 cmd:genimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute diff --git a/xCAT-test/autotest/testcase/rmkit/case0 b/xCAT-test/autotest/testcase/rmkit/case0 index b0683ed37..9cbad4994 100644 --- a/xCAT-test/autotest/testcase/rmkit/case0 +++ b/xCAT-test/autotest/testcase/rmkit/case0 @@ -1,4 +1,5 @@ start:rmkit_v +label:others,KIT os:Linux cmd:rmkit -v check:rc==0 @@ -13,6 +14,7 @@ check:output=~compatible_frameworks end start:rmkit_h +label:others,KIT os:Linux cmd:rmkit -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:rmkit_t_no +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit;buildkit create mykits @@ -48,6 +51,7 @@ cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits end start:rmkit_t_yes +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit;buildkit create mykits @@ -84,6 +88,7 @@ check:rc==0 end start:rmkit_f +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit;buildkit create mykits @@ -113,6 +118,7 @@ end start:rmkit_V +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkit/mykits cmd:cd /opt/xcat/share/xcat/tools/autotest/testcase/rmkit;buildkit create mykits diff --git a/xCAT-test/autotest/testcase/rmkitcomp/case0 b/xCAT-test/autotest/testcase/rmkitcomp/case0 index 070efb702..4933bb7ce 100644 --- a/xCAT-test/autotest/testcase/rmkitcomp/case0 +++ b/xCAT-test/autotest/testcase/rmkitcomp/case0 @@ -1,4 +1,5 @@ start:rmkitcomp_v +label:others,KIT os:Linux cmd:rmkitcomp -v check:rc==0 @@ -13,6 +14,7 @@ check:output=~compatible_frameworks end start:rmkitcomp_h +label:others,KIT os:Linux cmd:rmkitcomp -h check:rc==0 @@ -23,6 +25,7 @@ check:output=~ Usage end start:rmkitcomp_noscripts +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkitcomp/$$KITDATA cmd:mkdir -p /opt/xcat/share/xcat/tools/autotest/testcase/rmkitcomp/$$KITDATA @@ -59,6 +62,7 @@ check:rc==0 end start:rmkitcomp_f +label:others,KIT os:Linux cmd:rm -rf /opt/xcat/share/xcat/tools/autotest/testcase/rmkitcomp/$$KITDATA cmd:mkdir -p /opt/xcat/share/xcat/tools/autotest/testcase/rmkitcomp/$$KITDATA diff --git a/xCAT-test/autotest/testcase/rmvm/cases0 b/xCAT-test/autotest/testcase/rmvm/cases0 index 6f1f63f72..781947921 100644 --- a/xCAT-test/autotest/testcase/rmvm/cases0 +++ b/xCAT-test/autotest/testcase/rmvm/cases0 @@ -1,4 +1,5 @@ start:rmvm_noderange +label:others,hctrl_hmc hcp:hmc cmd:mkdef -t node -o testnode1,testnode2 mgt=hmc groups=all cmd:mkvm testnode1,testnode2 -i $$MaxLparID -l $$CN diff --git a/xCAT-test/autotest/testcase/rpower/cases0 b/xCAT-test/autotest/testcase/rpower/cases0 index c87c569c4..cc3c0affd 100644 --- a/xCAT-test/autotest/testcase/rpower/cases0 +++ b/xCAT-test/autotest/testcase/rpower/cases0 @@ -197,35 +197,3 @@ check:output=~Error: (\[.*?\]: )?[Uu]nsupported command[:]* rpower ddd check:rc==1 end -start:rpower_bmcreboot_perl_python_output -description:record the output for rpower bmcreboot and compare the output for perl and python version. -hcp:openbmc -label:cn_bmc_ready,hctrl_openbmc -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/UT_openbmc/scripts/bmcreboot.sh $$CN /tmp/xcattest.rpower.bmcstate.perl.out PERL -check:rc==0 -cmd: grep "Login to BMC failed: 500" /tmp/xcattest.rpower.bmcstate.perl.out | sort | uniq | wc -l -check:output=~3 -cmd: grep "timeout" /tmp/xcattest.rpower.bmcstate.perl.out | sort | uniq | wc -l -check:output=~1 -cmd: grep "No route to host" /tmp/xcattest.rpower.bmcstate.perl.out | sort | uniq | wc -l -check:output=~1 -cmd: grep "BMC NotReady" /tmp/xcattest.rpower.bmcstate.perl.out | sort | uniq | wc -l -check:output=~1 -cmd: grep "BMC Ready" /tmp/xcattest.rpower.bmcstate.perl.out | sort | uniq | wc -l -check:output=~1 -cmd: cat /tmp/xcattest.rpower.bmcstate.perl.out -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/UT_openbmc/scripts/bmcreboot.sh $$CN /tmp/xcattest.rpower.bmcstate.python.out PYTHON -check:rc==0 -cmd: grep "Login to BMC failed: 500" /tmp/xcattest.rpower.bmcstate.python.out | sort | uniq | wc -l -check:output=~3 -cmd: grep "timeout" /tmp/xcattest.rpower.bmcstate.python.out | sort | uniq | wc -l -check:output=~1 -cmd: grep "No route to host" /tmp/xcattest.rpower.bmcstate.python.out | sort | uniq | wc -l -check:output=~1 -cmd: grep "BMC NotReady" /tmp/xcattest.rpower.bmcstate.python.out | sort | uniq | wc -l -check:output=~1 -cmd: grep "BMC Ready" /tmp/xcattest.rpower.bmcstate.python.out | sort | uniq | wc -l -check:output=~1 -cmd: cat /tmp/xcattest.rpower.bmcstate.python.out -cmd:rm -rf /tmp/xcattest.rpower.bmcstate.perl.out /tmp/xcattest.rpower.bmcstate.python.out -end diff --git a/xCAT-test/autotest/testcase/rscan/cases0 b/xCAT-test/autotest/testcase/rscan/cases0 index 96484408e..636920a00 100644 --- a/xCAT-test/autotest/testcase/rscan/cases0 +++ b/xCAT-test/autotest/testcase/rscan/cases0 @@ -1,4 +1,5 @@ start:rscan_noderange +label:others,hctrl_hmc hcp:hmc cmd:rscan __GETNODEATTR($$CN,hcp)__ check:rc==0 @@ -7,18 +8,21 @@ check:output=~cec\s+[\w|-]+\s+\w{4}-\w{3}\s+\w{7} check:output=~hmc\s+__GETNODEATTR($$CN,hcp)__\s+\w{4}-\w{3}\s+\w{7} end start:rscan_x +label:others,hctrl_hmc hcp:hmc cmd:rscan __GETNODEATTR($$CN,hcp)__ -x check:rc==0 check:output=~[\w-]+ end start:rscan_z +label:others,hctrl_hmc hcp:hmc cmd:rscan __GETNODEATTR($$CN,hcp)__ -z check:rc==0 check:output=~hcp=__GETNODEATTR($$CN,hcp)__ end start:rscan_w +label:others,hctrl_hmc hcp:hmc cmd:lsdef -t node -l $$CN -z > /tmp/$$CN.stanza check:rc==0 @@ -39,6 +43,7 @@ cmd:cat /tmp/$$CN.stanza | mkdef -z cmd:rm -f /tmp/$$CN.stanza end start:rscan_x_w +label:others,hctrl_hmc hcp:hmc cmd:lsdef -t node -l $$CN -z > /tmp/$$CN.stanza check:rc==0 @@ -57,6 +62,7 @@ cmd:cat /tmp/$$CN.stanza | mkdef -z cmd:rm -f /tmp/$$CN.stanza end start:rscan_z_w +label:others,hctrl_hmc hcp:hmc cmd:lsdef -t node -l $$CN -z > /tmp/$$CN.stanza check:rc==0 diff --git a/xCAT-test/autotest/testcase/rspconfig/cases0 b/xCAT-test/autotest/testcase/rspconfig/cases0 index c69df2a04..8bc7f1bc2 100644 --- a/xCAT-test/autotest/testcase/rspconfig/cases0 +++ b/xCAT-test/autotest/testcase/rspconfig/cases0 @@ -45,7 +45,7 @@ end start:rspconfig_sshcfg hcp:hmc -label:cn_bmc_ready,hctrl_hmc,hctrl_openbmc +label:cn_bmc_ready,hctrl_hmc cmd:rspconfig __GETNODEATTR($$CN,hcp)__ sshcfg check:rc==0 check:output=~__GETNODEATTR($$CN,hcp)__: \w+ @@ -302,27 +302,41 @@ cmd:mkdir -p /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname check:rc == 0 cmd:lsdef $$CN -z > /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/$$CN.stanza check:rc == 0 -cmd:chdef -t node -o bogus_bmc_hostname groups=bmc ip=__GETNODEATTR($$CN,bmc)__ +cmd:rspconfig $$CN sshcfg check:rc == 0 -cmd:lsdef bogus_bmc_hostname +cmd:ssh __GETNODEATTR($$CN,bmc)__ "hostname" | tee /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/bmc_old_name +cmd:chdef -t node -o bogus-bmc-hostname groups=bmc ip=__GETNODEATTR($$CN,bmc)__ check:rc == 0 -cmd:makehosts bogus_bmc_hostname +cmd:lsdef bogus-bmc-hostname check:rc == 0 -cmd:chdef $$CN bmc=bogus_bmc_hostname +cmd:makehosts bogus-bmc-hostname +check:rc == 0 +cmd:makedns bogus-bmc-hostname +check:rc == 0 +cmd:chdef $$CN bmc=bogus-bmc-hostname check:rc == 0 cmd:lsdef $$CN -i bmc -c check:rc == 0 cmd:rspconfig $$CN hostname=* check:rc == 0 -check:output =~$$CN: BMC Hostname: bogus_bmc_hostname -cmd:makehosts -d bogus_bmc_hostname +check:output =~$$CN: BMC Hostname: bogus-bmc-hostname +cmd:ssh __GETNODEATTR(bogus-bmc-hostname,ip)__ "hostname" | tee /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/bmc_new_name check:rc == 0 -cmd:rmdef bogus_bmc_hostname +cmd:echo "bogus-bmc-hostname" > /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/bmc_set_name +cmd:diff -y /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/bmc_set_name /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/bmc_new_name +check:rc == 0 +cmd:makedns -d bogus-bmc-hostname +check:rc == 0 +cmd:makehosts -d bogus-bmc-hostname +check:rc == 0 +cmd:rmdef bogus-bmc-hostname check:rc == 0 cmd:rmdef $$CN check:rc == 0 cmd:cat /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/$$CN.stanza |mkdef -z check:rc == 0 +cmd:ip=$(cat /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname/bmc_old_name);ssh __GETNODEATTR($$CN,bmc)__ "hostname=bogus-bmc-hostname" +cmd:ssh __GETNODEATTR($$CN,bmc)__ "hostname" cmd:rm -rf /tmp/rspconfig_set_hostname_equal_star_with_bmc_is_hostname check:rc == 0 end diff --git a/xCAT-test/autotest/testcase/rspconfig/cases1 b/xCAT-test/autotest/testcase/rspconfig/cases1 index 1a6f93b69..deff88bb1 100644 --- a/xCAT-test/autotest/testcase/rspconfig/cases1 +++ b/xCAT-test/autotest/testcase/rspconfig/cases1 @@ -4,7 +4,7 @@ os:Linux hcp:openbmc label:cn_bmc_ready,hctrl_openbmc cmd:rspconfig $$CN ipsrc -check:output=~$$CN\s*:\s*BMC IP Source: Static|BMC IP Source: Dynamic +check:output=~$$CN\s*:\s*BMC IP Source: Static|BMC IP Source: DHCP check:rc == 0 cmd:rspconfig $$CN hostname sshcfg check:output =~Error: (\[.*?\]: )?Configure sshcfg must be issued without other options. @@ -145,7 +145,7 @@ check:output =~$$CN:\s*Dump requested check:output =~$$CN:\s*Downloading dump cmd:rspconfig $$CN dump -l |tail -n 1 |tee /tmp/dumpgenerate check:rc == 0 -cmd:dumpnumber=`sed -r 's/.+\[(.+)\].+/\1/g' /tmp/dumpgenerate`;dumpsize=`grep "\[$dumpnumber\] Generated" /tmp/dumpgenerate |cut -d : -f 6`;ls -l /var/log/xcat/dump/*_$$CN_dump_$dumpnumber.tar.xz|grep $dumpsize +cmd:dumpnumber=`sed -r 's/.+\[(.+)\].+/\1/g' /tmp/dumpgenerate`;dumpsize=`grep "\[$dumpnumber\] Generated" /tmp/dumpgenerate |cut -d : -f 6`;ls -l /var/log/xcat/dump/*_dump_$dumpnumber.tar.xz|grep $dumpsize|grep $$CN check:rc == 0 cmd:rm -rf /tmp/dumpgenerate end @@ -197,7 +197,7 @@ cmd:rspconfig $$CN powerrestorepolicy=restore check:output =~$$CN:\s*BMC Setting BMC PowerRestorePolicy... check:rc == 0 cmd:rspconfig $$CN powerrestorepolicy=abc -check:output =~$$CN:\s*(\[.*?\]: )?Error: Invalid value '\S*' for 'powerrestorepolicy', Valid values: restore,always_on,always_off +check:output =~$$CN:\s*Error: Invalid value '\S*' for 'powerrestorepolicy', Valid values: always_off,always_on,restore check:rc != 0 cmd:rspconfig $$CN powerrestorepolicy check:rc == 0 @@ -256,7 +256,7 @@ cmd:rspconfig $$CN timesyncmethod check:rc == 0 check:output =~$$CN:\s*BMC TimeSyncMethod:\s*Manual cmd:rspconfig $$CN timesyncmethod=abc -check:output =~$$CN:\s*(\[.*?\]: )?Error: Invalid value \S* for 'timesyncmethod', Valid values: ntp,manual +check:output =~$$CN:\s*(\[.*?\]: )?Error: Invalid value \S* for 'timesyncmethod', Valid values: manual,ntp check:rc != 0 cmd:syncmethod=`cat /tmp/timesyncmethod | awk -F ":" '{print $3}'`;newsyncmethod=`echo $syncmethod |tr 'A-Z' 'a-z'`;rspconfig $$CN timesyncmethod=$newsyncmethod check:rc == 0 @@ -290,7 +290,7 @@ cmd:rspconfig $$CN bootmode check:rc == 0 check:output =~$$CN:\s*BMC BootMode:\s*Setup cmd:rspconfig $$CN bootmode=abc -check:output =~$$CN:\s*(\[.*?\]: )?Error: Invalid value \S* for 'bootmode', Valid values: regular,safe,setup +check:output =~$$CN:\s*Error: Invalid value \S* for 'bootmode', Valid values: regular,safe,setup check:rc != 0 cmd:mode=`cat /tmp/bootmode |awk -F ":" '{print $3}'`;newmode=`echo $mode |tr 'A-Z' 'a-z'`;rspconfig $$CN bootmode=$newmode check:rc == 0 diff --git a/xCAT-test/autotest/testcase/rspconfig/rspconfig.sh b/xCAT-test/autotest/testcase/rspconfig/rspconfig.sh index e7f988b3f..8764b7735 100755 --- a/xCAT-test/autotest/testcase/rspconfig/rspconfig.sh +++ b/xCAT-test/autotest/testcase/rspconfig/rspconfig.sh @@ -177,7 +177,7 @@ function change_all if [[ $? -eq 0 ]];then BMCIP=`rspconfig $1 ip |awk -F":" '{print $3}'|sed s/[[:space:]]//g`; BMCNETMASK=`rspconfig $1 netmask |awk -F":" '{print $3}'|sed s/[[:space:]]//g`; - BMCGGATEWAY=`rspconfig $1 gateway |awk -F":" '{print $3}'|sed s/[[:space:]]//g`; + BMCGGATEWAY=`rspconfig $1 gateway |awk -F":" '{print $3}'| awk -F" " '{print $1}' |sed s/[[:space:]]//g`; output=`rspconfig $1 vlan` if [[ $output =~ "BMC VLAN ID enabled" ]];then BMCVLAN=`rspconfig $1 vlan |awk -F":" '{print $3}'|sed s/[[:space:]]//g` diff --git a/xCAT-test/autotest/testcase/rspconfig/rspconfig_ntp.sh b/xCAT-test/autotest/testcase/rspconfig/rspconfig_ntp.sh index 1525b0de4..03e44720e 100755 --- a/xCAT-test/autotest/testcase/rspconfig/rspconfig_ntp.sh +++ b/xCAT-test/autotest/testcase/rspconfig/rspconfig_ntp.sh @@ -3,7 +3,15 @@ cn=$1 mn=$2 -ntpservers=`rspconfig $cn ntpservers | awk -F":" '{print $3}' | sed 's/^ //;s/ $//'` +ipsrc=`rspconfig $cn ipsrc | grep "BMC IP Source" | awk -F":" '{print $3}' | sed 's/^ //;s/ $//'` +if [ $? -ne 0 ]; then + echo "rspconfig $cn ipsrc failed" + exit 1 +fi + +echo "BMC IP Source is $ipsrc" + +ntpservers=`rspconfig $cn ntpservers | grep "BMC NTP Servers" | awk -F":" '{print $3}' | sed 's/^ //;s/ $//'` if [ $? -ne 0 ]; then echo "rspconfig $cn ntpservers failed" exit 1 @@ -17,7 +25,23 @@ else new_ntpservers=$mn fi -output=`rspconfig $cn ntpservers=$new_ntpservers` +output=`rspconfig $cn ntpservers=$new_ntpservers 2>&1` +echo "$output" +if [ $ipsrc == "DHCP" ]; then + if [ $? -ne 1 ]; then + if [[ "$output" =~ "Error: BMC IP source is DHCP, could not set NTPServers" ]]; then + echo "Get correct output for BMC IP source is DHCP" + exit 0 + else + echo "Get output '$output' when want to set NTPServers for BMC IP source is DHCP" + exit 1 + fi + else + echo "Get wrong exit code $? when want to set NTPServers for BMC IP source is DHCP" + exit 1 + fi +fi + if [ $? -ne 0 ]; then echo "rspconfig $cn ntpservers=$new_ntpservers failed" exit 1 @@ -30,6 +54,30 @@ else exit 1 fi +output=`rspconfig $cn ntpservers 2>&1` +if [[ $output =~ "$cn: BMC NTP Servers" ]] && [[ $output =~ "$new_ntpservers" ]]; then + echo "Checked NTPServers as $new_ntpservers success" +else + echo "Checked NTPServers as $new_ntpservers failed, the output is $output" + exit 1 +fi + +echo "rpower $cn bmcreboot to check ntpservers setting..." +rpower $cn bmcreboot +if [ $? -ne 0 ]; then + echo "run rpower $cn bmcreboot failed" +else + sleep 300 +fi + +output=`rspconfig $cn ntpservers 2>&1` +if [[ $output =~ "$cn: BMC NTP Servers" ]] && [[ $output =~ "$new_ntpservers" ]]; then + echo "Verified NTPServers $new_ntpservers after BMC reboot" +else + echo "Verified NTPServers as $ntpservers failed after BMC reboot, output is $output" + exit 1 +fi + echo "To clear environment" if [ $ntpservers != "None" ]; then @@ -38,16 +86,37 @@ else original_ntpservers="" fi -output=`rspconfig $cn ntpservers=$original_ntpservers` +output=`rspconfig $cn ntpservers=$original_ntpservers 2>&1` if [ $? -ne 0 ]; then echo "rspconfig $cn ntpservers=$ntpservers failed when clearing environment" exit 1 fi - if [[ "$output" =~ "$cn: BMC NTP Servers" ]] && [[ $output =~ "$ntpservers" ]]; then echo "Setting NTPServers as $ntpservers success when clearing environment" +fi + +output=`rspconfig $cn ntpservers 2>&1` +if [[ "$output" =~ "$cn: BMC NTP Servers" ]] && [[ $output =~ "$ntpservers" ]]; then + echo "Checked NTPServers as $ntpservers success when clearing environment" +else + echo "Checked NTPServers as $ntpservers failed when clearing environment output is $output" + exit 1 +fi + +echo "rpower $cn bmcreboot to recover environment" +rpower $cn bmcreboot +if [ $? -ne 0 ]; then + echo "run rpower $cn bmcreboot failed when recover environment" + exit 1 +else + sleep 300 +fi + +output=`rspconfig $cn ntpservers 2>&1` +if [[ "$output" =~ "$cn: BMC NTP Servers" ]] && [[ $output =~ "$ntpservers" ]]; then + echo "Verified NTPServers as $ntpservers success when clearing environment after BMC reboot" exit 0 fi -echo "Setting NTPServers as $ntpservers failed when clearing environment" +echo "Verified NTPServers as $ntpservers failed when clearing environment after BMC reboot, output is $output" exit 1 diff --git a/xCAT-test/autotest/testcase/runcmdinstaller/cases0 b/xCAT-test/autotest/testcase/runcmdinstaller/cases0 index 22b3e23b1..d81df8c25 100644 --- a/xCAT-test/autotest/testcase/runcmdinstaller/cases0 +++ b/xCAT-test/autotest/testcase/runcmdinstaller/cases0 @@ -1,11 +1,13 @@ start:runcmdinstaller_h -descriptiop:runcmdinstaller -h +description:runcmdinstaller -h +label:others,postscripts cmd:runcmdinstaller -h check:rc==0 check:output=~runcmdinstaller end start:runcmdinstaller_command -descriptiop:runcmdinstaller +description:runcmdinstaller +label:others,postscripts cmd:chtab key=xcatdebugmode site.value="2" check:rc==0 cmd:rinstall $$CN osimage=__GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute @@ -20,6 +22,7 @@ cmd:chtab key=xcatdebugmode site.value="0" end start:get_xcat_postscripts_loginfo description:get xcat post scripts loginfo +label:others,postscripts cmd:chtab key=xcatdebugmode site.value="1" check:rc==0 cmd:rinstall $$CN osimage=__GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-install-compute @@ -34,6 +37,7 @@ cmd:chtab key=xcatdebugmode site.value="0" end start:updatenode_postscripts_loginfo description:get updatenode postsripts log info +label:others,postscripts cmd:chtab key=xcatdebugmode site.value="1" check:rc==0 cmd:chdef $$CN -p postscripts=setupntp diff --git a/xCAT-test/autotest/testcase/signal/cases0 b/xCAT-test/autotest/testcase/signal/cases0 index efd959a5e..26112a181 100644 --- a/xCAT-test/autotest/testcase/signal/cases0 +++ b/xCAT-test/autotest/testcase/signal/cases0 @@ -1,4 +1,5 @@ start:genimage_sigint +label:others cmd:/opt/xcat/share/xcat/tools/autotest/testcase/signal/test-sigint-genimage.sh check:rc==0 end diff --git a/xCAT-test/autotest/testcase/simulator/clear_simulator b/xCAT-test/autotest/testcase/simulator/clear_simulator index 03c442fd9..c1536f178 100644 --- a/xCAT-test/autotest/testcase/simulator/clear_simulator +++ b/xCAT-test/autotest/testcase/simulator/clear_simulator @@ -1,23 +1,27 @@ start:clear_openbmc_simulator description:clear evironment +label:others cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN check:rc==0 end start:clear_openbmc_simulator_multiple_100 description:clear evironment that simulate 100 OpenBMCs +label:others cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN $$bmcusername $$bmcpasswd 100 check:rc==0 end start:clear_openbmc_simulator_multiple_1000 description:clear evironment that simulate 1000 OpenBMCs +label:others cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN $$bmcusername $$bmcpasswd 1000 check:rc==0 end start:clear_openbmc_simulator_multiple_5000 description:clear evironment that simulate 5000 OpenBMCs +label:others cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -c $$MN $$CN $$bmcusername $$bmcpasswd 5000 check:rc==0 end diff --git a/xCAT-test/autotest/testcase/simulator/setup_simulator b/xCAT-test/autotest/testcase/simulator/setup_simulator index 012b60c08..ff61b0f94 100644 --- a/xCAT-test/autotest/testcase/simulator/setup_simulator +++ b/xCAT-test/autotest/testcase/simulator/setup_simulator @@ -1,47 +1,55 @@ start:setup_openbmc_simulator description:install dependent packaages, setup and start openbmc simulator +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 0 check:rc==0 end start:setup_openbmc_simulator_multiple_100 description:install dependent packaages, setup and start 100 openbmc simulator +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 100 check:rc==0 end start:setup_openbmc_simulator_multiple_1000 description:install dependent packaages, setup and start 1000 openbmc simulator +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 1000 check:rc==0 end start:setup_openbmc_simulator_multiple_5000 description:install dependent packaages, setup and start 5000 openbmc simulator +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 5000 check:rc==0 end start:setup_openbmc_simulator_multiple_1000_delay_random_1m description:install dependent packaages, setup and start 1000 openbmc simulator with random that the most delay time 1 minute +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 1000 random 1m check:rc==0 end start:setup_openbmc_simulator_multiple_5000_delay_random_1m description:install dependent packaages, setup and start 5000 openbmc simulator with random that the most delay time 1 minute +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 5000 random 1m check:rc==0 end start:setup_openbmc_simulator_multiple_1000_delay_random_1m30 description:install dependent packaages, setup and start 1000 openbmc simulator with random that the most delay time 1m30s +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 1000 random 1m30 check:rc==0 end start:setup_openbmc_simulator_multiple_1000_delay_random_30 description:install dependent packaages, setup and start 1000 openbmc simulator with random that the most delay time 30s +label:others,hctrl_openbmc cmd:/opt/xcat/share/xcat/tools/autotest/testcase/simulator/config_simulator.sh -s $$MN $$CN $$bmcusername $$bmcpasswd 1000 random 0m30 check:rc==0 end diff --git a/xCAT-test/autotest/testcase/sinv/cases0 b/xCAT-test/autotest/testcase/sinv/cases0 index 9916fb479..84e0522bb 100644 --- a/xCAT-test/autotest/testcase/sinv/cases0 +++ b/xCAT-test/autotest/testcase/sinv/cases0 @@ -1,4 +1,5 @@ start:sinv_c_p_t_r_o +label:others,parallel_cmds cmd:xdsh $$CN rpm -qa | xdshbak > /tmp/sinv.template check:rc==0 cmd:sinv $$CN -c "xdsh $$CN rpm -qa" -p /tmp/sinv.template -t 2 -r -o /tmp/sinv.output @@ -8,6 +9,7 @@ check:output=~$$CN cmd:rm -f /tmp/sinv.template /tmp/sinv.output end start:sinv_c_s_p_t_o +label:others,parallel_cmds cmd:sinv $$CN -c "xdsh $$CN rpm -qa" -s $$CN -p /tmp/sinv.template -t 2 -o /tmp/sinv.output check:rc==0 cmd:cat /tmp/sinv.output diff --git a/xCAT-test/autotest/testcase/snpool/cfg_wrong_cn_in_sn_pool_tftp_sync_mode b/xCAT-test/autotest/testcase/snpool/cfg_wrong_cn_in_sn_pool_tftp_sync_mode index 90344fd49..955bc1f21 100644 --- a/xCAT-test/autotest/testcase/snpool/cfg_wrong_cn_in_sn_pool_tftp_sync_mode +++ b/xCAT-test/autotest/testcase/snpool/cfg_wrong_cn_in_sn_pool_tftp_sync_mode @@ -1,5 +1,6 @@ start:cfg_wrong_cn_in_sn_pool_tftp_sync_mode description:The test case is intend to test the error handling of the service node pool when a compute has misconfigured node definition +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode b/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode index 797c6b44f..c44d061e0 100644 --- a/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode +++ b/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode @@ -1,5 +1,6 @@ start:not_set_xcatmaster_in_sn_pool_tftp_mount_mode description: this case is to test when compute nodes' xcatmaster is not set in service node pool environment,compute node's provision files are correctly set after nodeset. +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult b/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult index 2f6c1c524..1f2a75243 100644 --- a/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult +++ b/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult @@ -1,5 +1,6 @@ start:not_set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult description: this case is to check the configuration files after nodeset for case not_set_xcatmaster_in_sn_pool_tftp_mount_mode +label:others,invoke_provision,snpool #create a test compute node, don't set it's xcatmaster, set it's service node as SN and CN cmd:mkdef -t node -o compute1 groups=compute ip=10.0.0.199 mac=4a:c8:f7:de:d0:09 profile=compute os=__GETNODEATTR($$CN,os)__ arch=__GETNODEATTR($$CN,arch)__ netboot=__GETNODEATTR($$CN,netboot)__ diff --git a/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_sync_mode b/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_sync_mode index 805f33e21..3c2a0a051 100644 --- a/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_sync_mode +++ b/xCAT-test/autotest/testcase/snpool/not_set_xcatmaster_in_sn_pool_tftp_sync_mode @@ -1,5 +1,6 @@ start:not_set_xcatmaster_in_sn_pool_tftp_sync_mode description: this case is to test when compute nodes' xcatmaster is not set in service node pool environment, compute node's provision files are correctly set after nodeset. +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/snpool/set_disjointdhcps_in_sn_pool_tftp_sync_mode b/xCAT-test/autotest/testcase/snpool/set_disjointdhcps_in_sn_pool_tftp_sync_mode index 308c908b0..086a659cd 100644 --- a/xCAT-test/autotest/testcase/snpool/set_disjointdhcps_in_sn_pool_tftp_sync_mode +++ b/xCAT-test/autotest/testcase/snpool/set_disjointdhcps_in_sn_pool_tftp_sync_mode @@ -1,5 +1,6 @@ start:set_disjointdhcps_in_sn_pool_tftp_sync_mode description: Verify the disjointdhcps feature when petitboot is used for OS loader. +label:others,invoke_provision,snpool,dhcp cmd:rmdef testnode1 cmd:rm -f /tftpboot/petitboot/testnode1 cmd:mkdef -t node -o testnode1 arch=ppc64le cons=bmc groups=ipmi ip=10.1.1.200 mac=e6:d4:d2:3a:ad:06 mgt=ipmi profile=compute os=rhels7.99 diff --git a/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode b/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode index b7a6d77c6..e0853de30 100644 --- a/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode +++ b/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode @@ -1,5 +1,6 @@ start:set_xcatmaster_in_sn_pool_tftp_mount_mode description: this case is to test when compute nodes' xcatmaster is set in service node pool environment,compute node's provision files are correctly set after nodeset. +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult b/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult index 75079452e..48efb039f 100644 --- a/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult +++ b/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult @@ -1,5 +1,6 @@ start:set_xcatmaster_in_sn_pool_tftp_mount_mode_checkresult description: this case is to check the configuration files after nodeset for case set_xcatmaster_in_sn_pool_tftp_mount_mode +label:others,invoke_provision,snpool #create a test compute node, set it's xcatmaster as SN, set it's service node as SN and CN cmd:mkdef -t node -o compute1 groups=compute ip=10.0.0.199 mac=4a:c8:f7:de:d0:09 profile=compute os=__GETNODEATTR($$CN,os)__ arch=__GETNODEATTR($$CN,arch)__ netboot=__GETNODEATTR($$CN,netboot)__ diff --git a/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_sync_mode b/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_sync_mode index 204826de1..9131e8860 100644 --- a/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_sync_mode +++ b/xCAT-test/autotest/testcase/snpool/set_xcatmaster_in_sn_pool_tftp_sync_mode @@ -1,5 +1,6 @@ start:set_xcatmaster_in_sn_pool_tftp_sync_mode description: this case is to test when compute nodes' xcatmaster is set in service node pool environment,compute node's provision files are correctly set after nodeset. +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_mount_mode b/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_mount_mode index 5a2c2520f..06e0cd23a 100644 --- a/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_mount_mode +++ b/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_mount_mode @@ -1,5 +1,6 @@ start:setup_sn_pool_tftp_mount_mode description: this case is to test when sharedtftp=1 and installloc=/install are set on mn, after all service nodes are installed, /tftpboot and /install directory on all service nodes are mounted.Since test framework only support 1 sn and 1 cn parameter. This case will install CN as another service node. +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_sync_mode b/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_sync_mode index 3f088945f..12d07824d 100644 --- a/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_sync_mode +++ b/xCAT-test/autotest/testcase/snpool/setup_sn_pool_tftp_sync_mode @@ -1,5 +1,6 @@ start:setup_sn_pool_tftp_sync_mode description: this case is to test when sharedtftp=0 and installloc=/install are not set on mn, after all service nodes are installed, /tftpboot and /install directory on all service nodes are separated and need to be rsynced. Since test framework only support 1 sn and 1 cn parameter. This case will install CN as another service node. +label:others,invoke_provision,snpool cmd:fdisk -l cmd:df -T #cmd:XCAT_DATABASE=$$XCAT_DATABASE /opt/xcat/share/xcat/tools/autotest/testcase/installation/pre_deploy_sn __GETNODEATTR($$SN,os)__ __GETNODEATTR($$SN,arch)__ diff --git a/xCAT-test/autotest/testcase/switchdiscover/cases0 b/xCAT-test/autotest/testcase/switchdiscover/cases0 index 1009f74b3..b1a35926c 100644 --- a/xCAT-test/autotest/testcase/switchdiscover/cases0 +++ b/xCAT-test/autotest/testcase/switchdiscover/cases0 @@ -1,4 +1,5 @@ start:switchdiscover_h +label:others,discovery,Swtich os:Linux decription:help cmd:switchdiscover -h @@ -6,12 +7,14 @@ check:rc==0 check:output=~Usage end start:switchdiscover_range_default +label:others,discovery,Swtich cmd:switchdiscover --range $$range check:rc==0 check:output=~Discovering switches using nmap check:output=~switch end start:switchdiscover_range_default_w +label:others,discovery,Swtich cmd:lsdef -l switch -z >/tmp/switch.standa cmd:rmdef switch cmd:switchdiscover --range $$range -w @@ -29,12 +32,14 @@ cmd:rm -rf /tmp/switch.standa check:rc==0 end start:switchdiscover_range_s +label:others,discovery,Swtich cmd:switchdiscover --range $$range -s nmap check:rc==0 check:output=~Discovering switches using nmap check:output=~switch end start:switchdiscover_range_r +label:others,discovery,Swtich cmd:switchdiscover --range $$range -r check:rc==0 check:output=~Discovering switches using nmap @@ -47,6 +52,7 @@ check:output=~/usr/bin/nmap -s(n|P) -oX - $$range cmd:rm -rf switchdiscover_range_r.log end start:switchdiscover_range_x +label:others,discovery,Swtich cmd:switchdiscover --range $$range -x check:rc==0 check:output=~Discovering switches using nmap @@ -54,6 +60,7 @@ check:output=~ check:output=~switch end start:switchdiscover_range_z +label:others,discovery,Swtich cmd:switchdiscover --range $$range -z check:rc==0 check:output=~Discovering switches using nmap @@ -62,6 +69,7 @@ check:output=~groups=switch end start:switchdiscover_range_z_V +label:others,discovery,Swtich cmd:switchdiscover --range $$range -z -V check:rc==0 check:output=~Discovering switches using nmap diff --git a/xCAT-test/autotest/testcase/sysclone/cases0 b/xCAT-test/autotest/testcase/sysclone/cases0 index b18002ed1..5586768ba 100644 --- a/xCAT-test/autotest/testcase/sysclone/cases0 +++ b/xCAT-test/autotest/testcase/sysclone/cases0 @@ -1,4 +1,5 @@ start:sysclone +label:others,invoke_provision,sysclone cmd:makedns -n check:rc==0 cmd:makedhcp -n diff --git a/xCAT-test/autotest/testcase/tabdump/cases0 b/xCAT-test/autotest/testcase/tabdump/cases0 index 0652fe1bf..a1f1a1127 100644 --- a/xCAT-test/autotest/testcase/tabdump/cases0 +++ b/xCAT-test/autotest/testcase/tabdump/cases0 @@ -1,13 +1,13 @@ start:tabdump_null description:display table list -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump check:rc==0 check:output=~site end start:tabdump_table -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump site | grep xcatiport check:rc==0 check:output=="xcatiport","3002",, @@ -15,7 +15,7 @@ end start:tabdump_v description:version -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump -v check:rc==0 check:output=~Version @@ -23,7 +23,7 @@ end start:tabdump_h description:usage -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump -h check:rc==0 check:output=~Usage @@ -31,7 +31,7 @@ end start:tabdump_help description:usage -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump -? check:rc==0 check:output=~Usage @@ -41,7 +41,7 @@ end start:tabdump_w_match description:-w flags to specify the selection string,Select nodes where the attribute value matches the SQL LIKE value. -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="all,aix" check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" @@ -56,7 +56,7 @@ end start:tabdump_w_equal description:-w flags to specify the selection string,Select nodes where the attribute value is exactly this value -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="all,aix" check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" @@ -70,7 +70,7 @@ cmd:rmdef testnode02 end start:tabdump_w_ne -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01,testnode02,testnode03 groups="aix" check:rc==0 cmd:mkdef -t node -o testnode04 groups="linux" @@ -88,7 +88,7 @@ cmd:rmdef testnode04 end start:tabdump_w_notmatch -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="all" check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" @@ -103,7 +103,7 @@ end start:tabdump_w_gt description:Select nodes where the attribute value is greater than this specific value -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="aix" statustime=2011-04-19 check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" statustime=2011-04-18 @@ -116,7 +116,7 @@ end start:tabdump_w_ge description:Select nodes where the attribute value is greater than this specific value -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="aix" statustime=2011-04-19 check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" statustime=2011-04-18 @@ -130,7 +130,7 @@ end start:tabdump_w_lt description:Select nodes where the attribute value is greater than this specific value -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="aix" statustime=2011-04-19 check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" statustime=2011-04-18 @@ -143,7 +143,7 @@ end start:tabdump_w_le description:Select nodes where the attribute value is greater than this specific value -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node -o testnode01 groups="aix" statustime=2011-04-19 check:rc==0 cmd:mkdef -t node -o testnode02 groups="aix" statustime=2011-04-18 @@ -157,14 +157,14 @@ end start:tabdump_d -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump -d |grep site check:rc==0 check:output=~site: end start:tabdump_f_d -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump -f /tmp/table -d site|grep site check:rc==0 check:output=~site @@ -172,7 +172,7 @@ cmd:rm -f /tmp/table end start:tabdump_d_nodehm -label:mn_only,db +label:mn_only,ci_test,db cmd:tabdump -d site | grep xcatiport check:rc==0 check:output=~xcatiport diff --git a/xCAT-test/autotest/testcase/tabgrep/cases0 b/xCAT-test/autotest/testcase/tabgrep/cases0 index e9fbac170..282cdaf49 100644 --- a/xCAT-test/autotest/testcase/tabgrep/cases0 +++ b/xCAT-test/autotest/testcase/tabgrep/cases0 @@ -1,6 +1,6 @@ start:tabgrep_null description: tabgrep with no argument -label:mn_only,db +label:mn_only,ci_test,db cmd:tabgrep check:output=~Usage end @@ -9,7 +9,7 @@ end start:tabgrep_h description:tabgrep -h an d -? and --help -label:mn_only,db +label:mn_only,ci_test,db cmd:tabgrep -h check:output=~Usage cmd:tabgrep -? @@ -20,7 +20,7 @@ end start:tabgrep_node -label:mn_only,db +label:mn_only,ci_test,db cmd:mkdef -t node testnode groups=all check:rc==0 cmd:tabgrep testnode @@ -32,7 +32,7 @@ end start:tabgrep_err description:tabgrep with error noderange -label:mn_only,db +label:mn_only,ci_test,db cmd:rmdef -t node testnode cmd:tabgrep testnode check:rc!=0 diff --git a/xCAT-test/autotest/testcase/tabprune/cases0 b/xCAT-test/autotest/testcase/tabprune/cases0 index f17f21ad4..d5c8e25a0 100644 --- a/xCAT-test/autotest/testcase/tabprune/cases0 +++ b/xCAT-test/autotest/testcase/tabprune/cases0 @@ -1,6 +1,6 @@ start:tabprune_h description:tabprune -h -label:mn_only,db +label:mn_only,ci_test,db cmd:tabprune -h check:rc==0 check:output=~Usage @@ -8,7 +8,7 @@ end start:tabprune_v description:tabprune -v -label:mn_only,db +label:mn_only,ci_test,db cmd:tabprune -v check:rc==0 check:output=~Version @@ -16,7 +16,7 @@ end start:tabprune_a_eventlog description:tabprune eventlog -a -label:mn_only,db +label:mn_only,ci_test,db cmd:tabprune eventlog -a check:rc==0 check:output!~not a valid xCAT object type @@ -24,7 +24,7 @@ end start:tabprune_V_a_eventlog description:tabprune eventlog -V -a > /tmp/eventlog.csv -label:mn_only,db +label:mn_only,ci_test,db cmd:tabprune eventlog -V -a > /tmp/eventlog.csv check:rc==0 cmd:ls /tmp/eventlog.csv @@ -35,7 +35,7 @@ end start:tabprune_p_auditlog description:to remove 50% of the auditlog table,if the original number is odd number,the final result is 1;or else the final number is 0; -label:mn_only,db +label:mn_only,ci_test,db #cmd:n1=`lsdef -t auditlog|wc -l`;tabprune auditlog -p 50;n2=`lsdef -t auditlog|wc -l`;echo $((n1-($n2-2)*2)) cmd:n1=`lsdef -t auditlog|wc -l`;tabprune auditlog -p 50;n2=`lsdef -t auditlog|wc -l`;echo $($n2 /tmp/site.csv check:rc==0 cmd:chtab key=db2installloc site.value=/test @@ -22,14 +22,14 @@ cmd:rm -f /tmp/site.csv /tmp/site1.csv end start:tabrestore_h -label:mn_only,db +label:mn_only,ci_test,db cmd:tabrestore -h check:output=~Usage end start:tabrestore_err description:tabrestore wrong.csv -label:mn_only,db +label:mn_only,ci_test,db cmd:tabrestore wrong.csv check:rc!=0 check:output=~Error diff --git a/xCAT-test/autotest/testcase/testenv/case0 b/xCAT-test/autotest/testcase/testenv/case0 index f78099826..5a3e5d7dd 100644 --- a/xCAT-test/autotest/testcase/testenv/case0 +++ b/xCAT-test/autotest/testcase/testenv/case0 @@ -1,5 +1,6 @@ start:clean_up_env description:power off service node and compute node for next test usage +label:others cmd:rpower $$CN stat >> /tmp/cnstat cmd:if [[ ! `cat /tmp/cnstat |grep -i "Not Activated"` ]]; then rpower $$CN off;fi check:rc==0 diff --git a/xCAT-test/autotest/testcase/updatenode/cases0 b/xCAT-test/autotest/testcase/updatenode/cases0 index 44cb35ec3..fef099f08 100644 --- a/xCAT-test/autotest/testcase/updatenode/cases0 +++ b/xCAT-test/autotest/testcase/updatenode/cases0 @@ -1,15 +1,18 @@ start:updatenode_h +label:others,updatenode cmd:updatenode -h check:rc==0 end start:updatenode_v +label:others,updatenode cmd:updatenode -v check:rc==0 check:output=~Version end start:updatenode_diskful_syncfiles +label:others,updatenode cmd:mkdir -p /install/custom/install/__GETNODEATTR($$CN,os)__/ check:rc==0 cmd:echo "/etc/hosts -> /etc/hosts" > /install/custom/install/__GETNODEATTR($$CN,os)__/compute.$$OS.synclist @@ -38,6 +41,7 @@ check:rc==0 end start:updatenode_diskful_syncfiles_rename +label:others,updatenode cmd:mkdir -p /tmp/syncfile/ check:rc==0 cmd:echo "test1" > /tmp/syncfile/test1.txt @@ -68,6 +72,7 @@ end start:updatenode_diskful_syncfiles_dir +label:others,updatenode cmd:mkdir -p /tmp/sync/ check:rc==0 cmd:echo "test1" > /tmp/sync/test1.txt @@ -97,6 +102,7 @@ end start:updatenode_diskful_syncfiles_multi_files +label:others,updatenode cmd:cp /etc/hosts /etc/common_hosts cmd:mkdir /tmp/prog1 cmd:mkdir /tmp/prog2 @@ -151,6 +157,7 @@ cmd:rm /install/custom/install/__GETNODEATTR($$CN,os)__/compute.$$OS.synclist end start:updatenode_syncfile_EXECUTE +label:others,updatenode cmd:echo "echo hello > /tmp/test" > /tmp/file.post check:rc==0 cmd:chmod a+x /tmp/file.post @@ -171,6 +178,7 @@ check:rc==0 end start:updatenode_syncfile_EXECUTEALWAYS +label:others,updatenode cmd:echo "echo hello >> /tmp/test" > /tmp/file.post check:rc==0 cmd:chmod a+x /tmp/file.post @@ -191,6 +199,7 @@ check:rc==0 end start:updatenode_syncfile_APPEND +label:others,updatenode cmd:echo "line1" > /tmp/append1 cmd:echo "line2" > /tmp/append2 cmd:scp /tmp/append1 root@$$CN:/tmp @@ -211,6 +220,7 @@ check:rc==0 end start:updatenode_syncfile_MERGE +label:others,updatenode cmd:mkdir -p /tmp/updatenode_syncfile_MERGE check:rc==0 cmd:xdsh $$CN "mkdir -p /tmp/updatenode_syncfile_MERGE" @@ -266,6 +276,7 @@ check:rc==0 end start:updatenode_P_script1 +label:others,updatenode cmd:echo "echo hello > /tmp/updatenode_P_script" > /tmp/script1 check:rc==0 cmd:chmod a+x /tmp/script1 @@ -289,6 +300,7 @@ check:rc==0 end start:updatenode_P_script2 +label:others,updatenode cmd:echo "#!/bin/bash" > /tmp/updatenode_P_script_input cmd:echo "if [ -n \$1 ]" >> /tmp/updatenode_P_script_input cmd:echo "then" >> /tmp/updatenode_P_script_input @@ -324,6 +336,7 @@ check:rc==0 end start:updatenode_f_incompatible_flags +label:others,updatenode description:check if -f flag incompatible with -S,-P or -F flags cmd:updatenode $$CN -f -S check:rc==1 @@ -337,6 +350,7 @@ check:output=~Choose either -f to sync the service nodes, or -F to sync the nod end start:updatenode_k_incompatible_flags +label:others,updatenode description:check if -k flag incompatible with -S,-P,-F or -f flags cmd:updatenode $$CN -k -S check:rc==1 @@ -353,6 +367,7 @@ check:output=~If you use the -k flag, you cannot specify the -S,-P,-f or -F flag end start:updatenode_diskful_syncfiles_P_script1 +label:others,updatenode description:check updatenode noderange -F -P script1 cmd:mkdir -p /install/custom/install/__GETNODEATTR($$CN,os)__/ check:rc==0 @@ -398,6 +413,7 @@ cmd:rm -f /install/script1 end start:updatenode_script3 +label:others,updatenode description:check updatenode noderange -P "script c" cmd:echo "#!/bin/bash" > /tmp/updatenode_P_script_input cmd:echo "if [ -n \$1 ]" >> /tmp/updatenode_P_script_input @@ -426,6 +442,7 @@ check:rc==0 end start:updatenode_P_script1_script2 +label:others,updatenode description:check updatenode noderange -P "script1 a,script2 b" cmd:echo "#!/bin/bash" > /tmp/updatenode_P1_script_input cmd:echo "if [ -n \$1 ];then" >> /tmp/updatenode_P1_script_input @@ -468,6 +485,7 @@ cmd:rm /install/postscripts/updatenode_P*_script_input end start:updatenode_without_flag +label:others,updatenode description:check updatenode without any flag cmd:updatenode $$CN check:rc==0 @@ -478,6 +496,7 @@ check:output=~Software Maintenance has completed end start:updatenode_P_syslog_V_xcatdebugmode_is_one +label:others,updatenode description:xcatdebugmode value is one, there should be execution outputs. cmd:chtab key=xcatdebugmode site.value=1 check:rc==0 @@ -488,6 +507,7 @@ check:rc==0 end start:updatenode_P_syslog_V_xcatdebugmode_is_two +label:others,updatenode description:xcatdebugmode value is two, there should be execution outputs. cmd:chtab key=xcatdebugmode site.value=2 check:rc==0 diff --git a/xCAT-test/autotest/testcase/updatenode/cases1 b/xCAT-test/autotest/testcase/updatenode/cases1 index 9b7685dc5..1f89bb71e 100644 --- a/xCAT-test/autotest/testcase/updatenode/cases1 +++ b/xCAT-test/autotest/testcase/updatenode/cases1 @@ -1,4 +1,5 @@ start:updatenode_scripts +label:others,updatenode cmd:mkdir -p /install/postscripts check:rc==0 cmd:echo "#!/bin/bash" >/install/postscripts/blah @@ -14,6 +15,7 @@ check:rc==0 end start:updatenode_scripts_timeout +label:others,updatenode cmd:mkdir -p /install/postscripts check:rc==0 cmd:echo "#!/bin/bash" >/install/postscripts/blah diff --git a/xCAT-test/autotest/testcase/updatenode/cases2 b/xCAT-test/autotest/testcase/updatenode/cases2 index 6a02c9372..7d392ab91 100644 --- a/xCAT-test/autotest/testcase/updatenode/cases2 +++ b/xCAT-test/autotest/testcase/updatenode/cases2 @@ -1,10 +1,12 @@ start:updatenode_S +label:others,updatenode cmd:updatenode $$CN -S >/tmp/updatenode.S.out cmd:grep 'Running of Software Maintenance has completed' /tmp/updatenode.S.out check:rc==0 end start:updatenode_S_gcc +label:others,updatenode cmd:lsdef $$CN -i provmethod | tail -n 1 | cut -d= -f2 | xargs lsdef -t osimage -i pkglist | tail -n 1 | cut -d= -f2 >/tmp/pkglist.filename cmd:mv `cat /tmp/pkglist.filename` `cat /tmp/pkglist.filename`.save cmd:cp `cat /tmp/pkglist.filename`.save `cat /tmp/pkglist.filename` diff --git a/xCAT-test/autotest/testcase/updatenode/cases3 b/xCAT-test/autotest/testcase/updatenode/cases3 index 6c0a50143..7b43d3d96 100644 --- a/xCAT-test/autotest/testcase/updatenode/cases3 +++ b/xCAT-test/autotest/testcase/updatenode/cases3 @@ -1,5 +1,6 @@ start:updatenode_diskful_syncfiles_failing description: Test exit code when syncfiles failing. +label:others,updatenode cmd:mkdir -p /install/custom/install/__GETNODEATTR($$CN,os)__/ check:rc==0 cmd:echo "/tmp/non-existent -> /etc/motd" > /install/custom/install/__GETNODEATTR($$CN,os)__/booboo.synclist diff --git a/xCAT-test/autotest/testcase/updatenode/cases4 b/xCAT-test/autotest/testcase/updatenode/cases4 index bf849b45c..b61ebdb6f 100644 --- a/xCAT-test/autotest/testcase/updatenode/cases4 +++ b/xCAT-test/autotest/testcase/updatenode/cases4 @@ -1,11 +1,13 @@ start:updatenode_syncfiles description: Test cases for the syncfiles feature +label:others,updatenode cmd:/opt/xcat/share/xcat/tools/autotest/testcase/updatenode/syncfiles $$CN check:rc==0 end start:updatenode_syncfiles_scp description: Test cases for the syncfiles feature with scp +label:others,updatenode cmd:/opt/xcat/share/xcat/tools/autotest/testcase/updatenode/syncfiles $$CN scp check:rc==0 end diff --git a/xCAT-test/autotest/testcase/updatenode/filesyncing_hierarchy_case b/xCAT-test/autotest/testcase/updatenode/filesyncing_hierarchy_case index 92a69c30f..826e41c85 100644 --- a/xCAT-test/autotest/testcase/updatenode/filesyncing_hierarchy_case +++ b/xCAT-test/autotest/testcase/updatenode/filesyncing_hierarchy_case @@ -1,5 +1,6 @@ start:updatenode_f_F_hierarchy description: verify the behavior of updatenode -f/-F in the hierarchy environment-- (1)the different kind of synclist entries including destination nodes (2)make sure the location of directory to hold the files/dirs to sync on SN is correct (3)check the result of updatenode -f/-F +label:others,updatenode #create environment files to hold variables accross the case cmd: MYENVFILE="/tmp/updatenode_f_F_hierarchy.envs"; rm -rf $MYENVFILE; echo "MYENVFILE=\"$MYENVFILE\"">> $MYENVFILE; chmod +x $MYENVFILE diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.environment b/xCAT-test/autotest/testcase/xcat-inventory/cases.environment deleted file mode 100644 index 6e25e315a..000000000 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.environment +++ /dev/null @@ -1,121 +0,0 @@ -start:import_osimage_with_environments_in_yaml -description:this case is to verify if osimage import could support environment variables. -os:Linux -label:others,xcat_inventory,invoke_provison -cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN -check:rc==0 - -cmd:makedns -n -check:rc==0 -cmd:sleep 20 -cmd:if [[ "__GETNODEATTR($$CN,arch)__" = "ppc64" ]] && [[ "__GETNODEATTR($$CN,mgt)__" != "ipmi" ]]; then getmacs -D $$CN; fi -check:rc==0 -cmd:makedhcp -n -check:rc==0 -cmd:makedhcp -a -check:rc==0 -cmd:a=0;while true; do [ $a -eq 100 ] && exit 1;output=$(makedhcp -q $$CN);[ $? -ne 0 ] && exit 1;echo $output|grep $$CN 2>/dev/null && exit 0;a=$[$a+1];sleep 1;done -check:rc==0 -cmd:copycds $$ISO -check:rc==0 - -cmd:rootimgdir=`lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep rootimgdir|awk -F'=' '{print $2}'`; if [ -d $rootimgdir ]; then mv $rootimgdir $rootimgdir.regbak -f;fi -check:rc==0 -cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.yaml -e GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo -e SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/swdir -check:output=~Importing object: test.environments.osimage -check:output=~Inventory import successfully! -check:rc==0 -cmd:lsdef -t osimage -o test.environments.osimage -check:rc==0 -cmd:genimage test.environments.osimage -check:rc==0 -cmd:packimage test.environments.osimage -check:rc==0 -cmd:rinstall $$CN osimage=test.environments.osimage -check:rc==0 -check:output=~Provision node\(s\)\: $$CN - -cmd:if [[ -f /var/lib/dhcp/db/dhcpd.leases ]]; then cat /var/lib/dhcp/db/dhcpd.leases; elif [[ -f /var/lib/dhcpd/dhcpd.leases ]];then cat /var/lib/dhcpd/dhcpd.leases;elif [[ -f /var/lib/dhcp/dhcpd.leases ]];then cat /var/lib/dhcp/dhcpd.leases; fi -cmd:cat /tmp/mountoutput/file.org -cmd:sleep 300 -cmd:a=0;while ! `lsdef -l $$CN|grep status|grep booted >/dev/null`; do sleep 10;((a++));if [ $a -gt 60 ];then break;fi done - -cmd:ping $$CN -c 3 -check:rc==0 -check:output=~64 bytes from $$CN -cmd:lsdef -l $$CN | grep status -check:rc==0 -check:output=~booted -cmd:xdsh $$CN date -check:rc==0 -check:output=~\d\d:\d\d:\d\d -cmd:xdsh $$CN mount -check:rc==0 -check:output=~on / type tmpfs -cmd:sleep 120 -cmd:ping $$CN -c 3 -check:rc==0 -check:output=~64 bytes from $$CN - -cmd:rootimgdir=`lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep rootimgdir|awk -F'=' '{print $2}'`; if [ -d $rootimgdir.regbak ]; then rm -rf $rootimgdir; mv $rootimgdir.regbak $rootimgdir; fi -check:rc==0 -cmd:xdsh $$CN "cat /var/log/xcat/xcat.log" -cmd:xdsh $$CN "cat /tmp/synclist" -check:rc==0 -cmd:xdsh $$CN "cat /tmp/test1.postinstall" -check:rc==0 -check:output=~test postisntall -cmd:xdsh $$CN "cat /tmp/test2.postinstall" -check:rc==0 -check:output=~test postisntall -cmd:xdsh $$CN "rpm -qa |grep -i conserver-xcat" -check:rc==0 -cmd:xdsh $$CN "rpm -qa |grep -i perl-Net-Telnet" -check:rc==0 -cmd:xdsh $$CN "rpm -qa |grep -i tftp" -check:rc==0 -cmd:xdsh $$CN "rpm -qa |grep -w dhcp" -check:rc==0 -end - -start:export_osimage_with_environments -description:this case is to verify if osimage export could support environment variables. -os:Linux -label:others,xcat_inventory -cmd:lsdef -t osimage -o test.environments.osimage >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o test.environments.osimage -z >/tmp/test.environments.osimage_image.stanza ;rmdef -t osimage -o test.environments.osimage;fi -check:rc==0 -cmd:dir="/tmp/export";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir -cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.yaml -e GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo -e SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/swdir -check:output=~Importing object: test.environments.osimage -check:output=~Inventory import successfully! -check:rc==0 -cmd:lsdef -t osimage -o test.environments.osimage -z >> /tmp/export/test.environments.osimage.yaml.stanza -check:rc==0 -cmd:diff -y /tmp/export/test.environments.osimage.yaml.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.stanza -check:rc==0 -cmd:xcat-inventory export -t osimage -o test.environments.osimage -f /tmp/export/test.environments.osimage.yaml --format yaml -check:rc==0 -check:output=~The inventory data has been dumped to /tmp/export/test.environments.osimage.yaml -cmd:diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.yaml /tmp/export/test.environments.osimage.yaml --ignore-blank-lines -I "^#" -check:rc==0 -cmd:rmdef -t osimage -o test.environments.osimage -check:rc==0 -cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.json -e GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo -e SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/swdir -check:output=~Importing object: test.environments.osimage -check:output=~Inventory import successfully! -check:rc==0 -cmd:lsdef -t osimage -o test.environments.osimage -z >> /tmp/export/test.environments.osimage.json.stanza -check:rc==0 -cmd:diff -y /tmp/export/test.environments.osimage.json.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.stanza -check:rc==0 -cmd:xcat-inventory export -t osimage -o test.environments.osimage -f /tmp/export/test.environments.osimage.json -check:rc==0 -cmd:diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.json /tmp/export/test.environments.osimage.json --ignore-blank-lines -I "^#" -check:rc==0 -cmd:dir="/tmp/export"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi -cmd: rmdef -t osimage -o test.environments.osimage -check:rc==0 -cmd: if [ -e /tmp/test.environments.osimage.stanza ]; then cat /tmp/test.environments.osimage.stanza |mkdef -z;fi -end - - diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.stanza b/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.stanza deleted file mode 100644 index 903363536..000000000 --- a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.stanza +++ /dev/null @@ -1,21 +0,0 @@ -# - -test.environments.osimage: - objtype=osimage - environvar=GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo,SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/swdir - imagetype=linux - osarch=ppc64le - osdistroname=rhels7.5-alternate-ppc64le - osname=Linux - osvers=rhels7.5-alternate - otherpkgdir=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/ - otherpkglist=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo/otherpkglist/test1.otherpkglist,/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo/otherpkglist/test2.otherpkglist, - permission=755 - pkgdir=/install/rhels7.5-alternate/ppc64le,/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/ - pkglist=/opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.pkglist,/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo/pkglist/test1.pkglist,/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo/pkglist/test2.pkglist - postinstall=/opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.postinstall,/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo/postinstall/test1.postinstall - profile=compute - provmethod=netboot - rootimgdir=/install/custom/test.environments.osimage - synclists=/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/environment/gitrepo/syncfiles/synclist - usercomment=rhels7.5,test_environment_variables diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.yaml b/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.yaml deleted file mode 100644 index 82143abc4..000000000 --- a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.yaml +++ /dev/null @@ -1,23 +0,0 @@ -osimage: - test.environments.osimage: - basic_attributes: - arch: ppc64le - distribution: rhels7.5 - osdistro: rhels7.5-ppc64le - osname: Linux - filestosync: {{GITREPO}}/syncfiles/synclist - deprecated: - comments: rhels7.5,test_environment_variables - genimgoptions: - permission: '755' - postinstall: /opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.postinstall,{{GITREPO}}/postinstall/test1.postinstall - rootimgdir: /install/custom/test.environments.osimage - imagetype: linux - package_selection: - otherpkgdir: {{SWDIR}}/otherpkgdir/ - otherpkglist: {{GITREPO}}/otherpkglist/test1.otherpkglist,{{GITREPO}}/otherpkglist/test2.otherpkglist, - pkgdir: /install/rhels7.5/ppc64le,{{SWDIR}}/pkgdir/ - pkglist: /opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.pkglist,{{GITREPO}}/pkglist/test1.pkglist,{{GITREPO}}/pkglist/test2.pkglist - provision_mode: netboot - role: compute -schema_version: '1.0' diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.common b/xCAT-test/autotest/testcase/xcat_inventory/cases.common similarity index 93% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.common rename to xCAT-test/autotest/testcase/xcat_inventory/cases.common index ff1e9c844..4badc8873 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.common +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.common @@ -1,5 +1,6 @@ start:xcat_inventory_option_h description:This case is used to test xcat-inventory usage information +label:others,inventory_ci cmd:xcat-inventory -h check:ouptut=~usage: xcat-inventory check:ouptut!~usage: xcat-inventory export @@ -24,6 +25,7 @@ end start:xcat_inventory_option_V description:This case is used to test xcat-inventory option V which used to get version information +label:others,inventory_ci cmd:xcat-inventory -V check:ouptut=~\d\.\d check:rc==0 @@ -31,6 +33,7 @@ end start:xcat_inventory_invalid_subcmd description:This case is used to test xcat-inventory export subcommand to handle invalid subcommand. The vaild subcommand are export and import. +label:others,inventory_ci cmd:xcat-inventory aaa check:output=~ Error: not a valid subcommand to run check:output=~ usage: @@ -39,6 +42,7 @@ end start:xcat_inventory_export_option_t_invalid_type description:This case is used to test xcat-inventory export subcommand to handle invalid type for option t +label:others,inventory_ci cmd:xcat-inventory export -t aaa check:output=~Invalid object type check:output!~Traceback (most recent call last): @@ -47,6 +51,7 @@ end start:xcat_inventory_export_option_format_invalid_type description:This case is used to test xcat-inventory export subcommand to handle invalid type for option format +label:others,inventory_ci cmd:xcat-inventory export --format aaa check:output=~Invalid exporting format: aaa check:output!~Traceback (most recent call last): @@ -55,6 +60,7 @@ end start:xcat_inventory_export_option_f description:This case is used to test xcat-inventory export subcommand to handle option f +label:others,inventory_ci cmd:dir="/tmp/xcat_inventory_export_option_f";echo ${dir}".old";if [ -d "${dir}" ];then mv ${dir} ${dir}".old"; fi; mkdir -p $dir check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/xcat_inventory_export_option_f/bogusnode.stanza ;rmdef bogusnode;fi @@ -99,6 +105,7 @@ end start:xcat_inventory_import_option_f_invalid_file description:This case is used to test xcat-inventory import subcommand to handle invalid file for option f +label:others,inventory_ci cmd:mkdir -p /tmp/xcat_inventory_import_option_f_invalid_file check:rc==0 #to handle a non-existed file @@ -107,8 +114,7 @@ check:output=~the directory does not exist or is not a directory check:output !~Traceback check:rc!=0 #To handle a invalid json file -cmd:#!/usr/bin/bash -echo "{ +cmd:echo '{ "node": { "bogusnode": { "device_type": "server", @@ -119,7 +125,7 @@ echo "{ "role": "compute" } } -" > /tmp/xcat_inventory_import_option_f_invalid_file/invaild_json +' > /tmp/xcat_inventory_import_option_f_invalid_file/invaild_json check:rc==0 cmd:cat /tmp/xcat_inventory_import_option_f_invalid_file/invaild_json check:rc==0 @@ -128,14 +134,13 @@ check:output =~ Error: failed to load file check:output !~Traceback check:rc!=0 #To handle a invalid yaml file -cmd:#!/usr/bin/bash -echo "node: +cmd:echo 'node: device_type: server obj_info: groups: test obj_type: node role: compute -" > /tmp/xcat_inventory_import_option_f_invalid_file/invaild_yaml +' > /tmp/xcat_inventory_import_option_f_invalid_file/invaild_yaml check:rc==0 cmd:cat /tmp/xcat_inventory_import_option_f_invalid_file/invaild_yaml check:rc==0 @@ -150,6 +155,7 @@ end start:xcat_inventory_import_option_t_invalid_type description:This case is used to test xcat-inventory import subcommand to handle invalid type for option t +label:others,inventory_ci cmd:xcat-inventory import -t aaa check:output=~Invalid object type check:output!~Traceback (most recent call last): @@ -159,10 +165,11 @@ end start:xcat_inventory_import_miss_option description:This case is used to test xcat-inventory import subcommand to handle missing -t or -o option +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_json check:rc==0 cmd:#!/usr/bin/bash -echo "{ +echo '{ "node": { "test": { "device_type": "server", @@ -173,7 +180,7 @@ echo "{ "role": "compute" } } -}" > /tmp/export_import_nodes_delimited_with_comma_by_json/aaa +}' > /tmp/export_import_nodes_delimited_with_comma_by_json/aaa cmd:xcat-inventory import -f /tmp/export_import_nodes_delimited_with_comma_by_json/aaa -o aaa check:output=~Missing object type for object check:rc!=0 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.credential b/xCAT-test/autotest/testcase/xcat_inventory/cases.credential similarity index 98% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.credential rename to xCAT-test/autotest/testcase/xcat_inventory/cases.credential index fb4014c7e..d8f9517a9 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.credential +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.credential @@ -1,6 +1,6 @@ start:export_import_credential description:This case is used to test xcat-inventory support credential export and import. -label:others,xcat_inventory +label:others,inventory_ci cmd:dir="/tmp/credential";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir cmd:dir="/tmp/backup";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir cmd:cp -rf /etc/xcat/ca/ca-cert.pem /etc/xcat/ca/private/ca-key.pem /etc/xcat/cert/server-cred.pem /root/.xcat/client-key.pem /tmp/backup diff --git a/xCAT-test/autotest/testcase/xcat_inventory/cases.diff b/xCAT-test/autotest/testcase/xcat_inventory/cases.diff new file mode 100644 index 000000000..c49805d76 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.diff @@ -0,0 +1,104 @@ +start:xcat_inventory_diff_h +description:This case is used to test xcat-inventory diff usage information +label:others,inventory_ci +cmd:xcat-inventory diff -h +check:output=~usage: xcat-inventory diff +check:rc==0 +cmd:xcat-inventory help diff +check:output=~usage: xcat-inventory diff +check:rc==0 +end + +start:xcat_inventory_diff_without_option +description:This case is used to test xcat-inventory diff without option, should be error +label:others,inventory_ci +cmd:xcat-inventory diff +check:output=~Error: No valid source type! +check:rc!=0 +end + +start:xcat_inventory_diff_files_all +description:This case is used to test xcat-inventory diff files all, should be error +label:others,inventory_ci +cmd:xcat-inventory diff --files /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json --all +check:output=~Error: '--all' must be used with '--source'! +check:rc!=0 +end + +start:xcat_inventory_diff_source_filename +description:This case is used to test xcat-inventory diff source filename, should be error +label:others,inventory_ci +cmd:xcat-inventory diff --source /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json --filename test_filename +check:output=~Error: '--filename' must be used with '--files'! +check:rc!=0 +end + +start:xcat_inventory_diff_files_source +description:This case is used to test xcat-inventory diff files source, should be error +label:others,inventory_ci +cmd:xcat-inventory diff --files /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json --source /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json +check:output=~Error: '--files' and '--source' cannot be used together! +check:rc!=0 +end + +start:xcat_inventory_diff_filename +description:This case is used to test xcat-inventory diff filename, should be error +label:others,inventory_ci +cmd:xcat-inventory diff --filename test_filename +check:output=~Error: No valid source type! +check:rc!=0 +end + +start:xcat_inventory_diff_no_exist_file +description:This case is used to test xcat-inventory diff files, if the given file not exist, show error message +label:others,inventory_ci +cmd:xcat-inventory diff --files /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/noexist.file /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json +check:output=~Error: File '/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/noexist.file' does not exist, please check... +check:rc!=0 +cmd:xcat-inventory diff --source /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/noexist.file +check:output=~Error: File '/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/noexist.file' does not exist, please check... +check:rc!=0 +end + +start:xcat_inventory_diff_files +description:This case is used to test xcat-inventory diff files +label:others,inventory_ci +cmd:xcat-inventory diff --files /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json > /tmp/xcat_inventory_diff_files.result +check:rc==0 +cmd:sh /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/change_name.sh /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json /tmp/tmp_diff.result +check:rc==0 +cmd:diff /tmp/xcat_inventory_diff_files.result /tmp/tmp_diff.result +check:output= +check:rc==0 +end + +start:xcat_inventory_diff_files_filename +description:This case is used to test xcat-inventory diff files filename +label:others,inventory_ci +cmd:xcat-inventory diff --files /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json --filename xcat_inventory_diff_files_filename.test > /tmp/xcat_inventory_diff_files_filename.result +check:rc==0 +cmd:sh /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/change_name.sh xcat_inventory_diff_files_filename.test xcat_inventory_diff_files_filename.test /tmp/tmp_diff.result +check:rc==0 +cmd:diff /tmp/xcat_inventory_diff_files_filename.result /tmp/tmp_diff.result +check:output= +check:rc==0 +end + +start:xcat_inventory_diff_source +description:This case is used to test xcat-inventory diff source +label:others,inventory_ci +cmd:rm -rf /tmp/xcat-inventory_diff_case.json +cmd:xcat-inventory export --format json -f /tmp/xcat-inventory_diff_case.json +check:rc==0 +cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json +check:rc==0 +cmd:xcat-inventory diff --source /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json > /tmp/xcat_inventory_diff_source.result +check:rc==0 +cmd:diff /tmp/xcat_inventory_diff_source.result /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/diff_source.result +check:output= +check:rc==0 +cmd:xcat-inventory import -c -f /tmp/xcat-inventory_diff_case.json +check:rc==0 +cmd:rm -rf /tmp/xcat-inventory_diff_case.json +end + diff --git a/xCAT-test/autotest/testcase/xcat_inventory/cases.environment b/xCAT-test/autotest/testcase/xcat_inventory/cases.environment new file mode 100644 index 000000000..e3d85e50a --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.environment @@ -0,0 +1,142 @@ +start:import_osimage_with_environments_in_yaml +description:this case is to verify if osimage import could support environment variables. +os:Linux +label:others,inventory_ci,invoke_provision +cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN +check:rc==0 + +cmd:makedns -n +check:rc==0 +cmd:sleep 20 +cmd:if [[ "__GETNODEATTR($$CN,arch)__" = "ppc64" ]] && [[ "__GETNODEATTR($$CN,mgt)__" != "ipmi" ]]; then getmacs -D $$CN; fi +check:rc==0 +cmd:makedhcp -n +check:rc==0 +cmd:makedhcp -a +check:rc==0 +cmd:a=0;while true; do [ $a -eq 100 ] && exit 1;output=$(makedhcp -q $$CN);[ $? -ne 0 ] && exit 1;echo $output|grep $$CN 2>/dev/null && exit 0;a=$[$a+1];sleep 1;done +check:rc==0 +cmd:copycds $$ISO +check:rc==0 + +cmd:rootimgdir=`lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep rootimgdir|awk -F'=' '{print $2}'`; if [ -d $rootimgdir ]; then mv $rootimgdir $rootimgdir.regbak -f;fi +check:rc==0 +cmd:osarch=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osarch|awk -F'=' '{print $2}');sed -i "s/OSARCH/$osarch/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml +cmd:osvers=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSVERS/$osvers/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml +cmd:pkgdir=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkgdir|awk -F'=' '{print $2}');sed -i "s!PKGDIR!$pkgdir!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml +cmd:pkglist=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkglist|awk -F'=' '{print $2}');sed -i "s!PKGLIST!$pkglist!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml +cmd:postinstall=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w postinstall|awk -F'=' '{print $2}');sed -i "s!POSTINSTALL!$postinstall!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml +cmd:osmajor=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSMAJOR/$osmajor/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml +cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml -e GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo -e SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/swdir +check:output=~Inventory import successfully! +check:rc==0 +cmd:lsdef -t osimage -o test.environments.osimage +check:rc==0 +cmd:genimage test.environments.osimage +check:rc==0 +cmd:packimage test.environments.osimage +check:rc==0 +cmd:rinstall $$CN osimage=test.environments.osimage +check:rc==0 +check:output=~Provision node\(s\)\: $$CN + +cmd:if [[ -f /var/lib/dhcp/db/dhcpd.leases ]]; then cat /var/lib/dhcp/db/dhcpd.leases; elif [[ -f /var/lib/dhcpd/dhcpd.leases ]];then cat /var/lib/dhcpd/dhcpd.leases;elif [[ -f /var/lib/dhcp/dhcpd.leases ]];then cat /var/lib/dhcp/dhcpd.leases; fi +cmd:cat /tmp/mountoutput/file.org +cmd:sleep 300 +cmd:a=0;while ! `lsdef -l $$CN|grep status|grep booted >/dev/null`; do sleep 10;((a++));if [ $a -gt 60 ];then break;fi done + +cmd:ping $$CN -c 3 +check:rc==0 +check:output=~64 bytes from $$CN +cmd:lsdef -l $$CN | grep status +check:rc==0 +check:output=~booted +cmd:xdsh $$CN date +check:rc==0 +check:output=~\d\d:\d\d:\d\d +cmd:xdsh $$CN mount +check:rc==0 +check:output=~on / type tmpfs +cmd:sleep 120 +cmd:ping $$CN -c 3 +check:rc==0 +check:output=~64 bytes from $$CN + +cmd:rootimgdir=`lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep rootimgdir|awk -F'=' '{print $2}'`; if [ -d $rootimgdir.regbak ]; then rm -rf $rootimgdir; mv $rootimgdir.regbak $rootimgdir; fi +check:rc==0 +cmd:xdsh $$CN "cat /var/log/xcat/xcat.log" +cmd:xdsh $$CN "cat /tmp/synclist" +check:rc==0 +cmd:xdsh $$CN "cat /tmp/test1.postinstall" +check:rc==0 +check:output=~test postisntall +cmd:xdsh $$CN "cat /tmp/test2.postinstall" +check:rc==0 +check:output=~test postisntall +cmd:xdsh $$CN "rpm -qa |grep -i conserver-xcat" +check:rc==0 +cmd:xdsh $$CN "rpm -qa |grep -i perl-Net-Telnet" +check:rc==0 +cmd:xdsh $$CN "rpm -qa |grep -i tftp" +check:rc==0 +cmd:xdsh $$CN "rpm -qa |grep -w dhcp" +check:rc==0 +end + +start:export_osimage_with_environments +description:this case is to verify if osimage export could support environment variables. +os:Linux +label:others,inventory_ci +cmd:lsdef -t osimage -o test.environments.osimage >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o test.environments.osimage -z >/tmp/test.environments.osimage_image.stanza ;rmdef -t osimage -o test.environments.osimage;fi +check:rc==0 +cmd:dir="/tmp/export";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir +cmd:osarch=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osarch|awk -F'=' '{print $2}');sed -i "s/OSARCH/$osarch/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml +cmd:osvers=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSVERS/$osvers/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml +cmd:pkgdir=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkgdir|awk -F'=' '{print $2}');sed -i "s!PKGDIR!$pkgdir!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml +cmd:pkglist=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkglist|awk -F'=' '{print $2}');sed -i "s!PKGLIST!$pkglist!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml +cmd:postinstall=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w postinstall|awk -F'=' '{print $2}');sed -i "s!POSTINSTALL!$postinstall!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml +cmd:osmajor=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSMAJOR/$osmajor/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml +cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml -e GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo -e SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/swdir +check:output=~Inventory import successfully! +check:rc==0 +cmd:lsdef -t osimage -o test.environments.osimage -z >> /tmp/export/test.environments.osimage.yaml.stanza +check:rc==0 +cmd:osarch=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osarch|awk -F'=' '{print $2}');sed -i "s/OSARCH/$osarch/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +cmd:osvers=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSVERS/$osvers/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +cmd:pkgdir=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkgdir|awk -F'=' '{print $2}');sed -i "s!PKGDIR!$pkgdir!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +cmd:pkglist=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkglist|awk -F'=' '{print $2}');sed -i "s!PKGLIST!$pkglist!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +cmd:postinstall=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w postinstall|awk -F'=' '{print $2}');sed -i "s!POSTINSTALL!$postinstall!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +cmd:osmajor=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSMAJOR/$osmajor/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +cmd:diff -y /tmp/export/test.environments.osimage.yaml.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +check:rc==0 +cmd:xcat-inventory export -t osimage -o test.environments.osimage -f /tmp/export/test.environments.osimage.yaml --format yaml +check:rc==0 +check:output=~The inventory data has been dumped to /tmp/export/test.environments.osimage.yaml +cmd:#! /bin/bash diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml /tmp/export/test.environments.osimage.yaml --ignore-blank-lines -I "^#" -I "schema_version" +check:rc==0 +cmd:rmdef -t osimage -o test.environments.osimage +check:rc==0 +cmd:osarch=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osarch|awk -F'=' '{print $2}');sed -i "s/OSARCH/$osarch/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json +cmd:osvers=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSVERS/$osvers/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json +cmd:pkgdir=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkgdir|awk -F'=' '{print $2}');sed -i "s!PKGDIR!$pkgdir!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json +cmd:pkglist=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w pkglist|awk -F'=' '{print $2}');sed -i "s!PKGLIST!$pkglist!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json +cmd:postinstall=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep -w postinstall|awk -F'=' '{print $2}');sed -i "s!POSTINSTALL!$postinstall!g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json +cmd:osmajor=$(lsdef -t osimage __GETNODEATTR($$CN,os)__-__GETNODEATTR($$CN,arch)__-netboot-compute|grep osvers|awk -F'=' '{print $2}');sed -i "s/OSMAJOR/$osmajor/g" /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json +cmd:xcat-inventory import -f /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json -e GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo -e SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/swdir +check:output=~Inventory import successfully! +check:rc==0 +cmd:lsdef -t osimage -o test.environments.osimage -z >> /tmp/export/test.environments.osimage.json.stanza +check:rc==0 +cmd:diff -y /tmp/export/test.environments.osimage.json.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza +check:rc==0 +cmd:xcat-inventory export -t osimage -o test.environments.osimage -f /tmp/export/test.environments.osimage.json +check:rc==0 +cmd:#! /bin/bash diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json /tmp/export/test.environments.osimage.json --ignore-blank-lines -I "^#" -I "schema_version" +check:rc==0 +cmd:dir="/tmp/export"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi +cmd: rmdef -t osimage -o test.environments.osimage +check:rc==0 +cmd: if [ -e /tmp/test.environments.osimage.stanza ]; then cat /tmp/test.environments.osimage.stanza |mkdef -z;fi +end + + diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.include b/xCAT-test/autotest/testcase/xcat_inventory/cases.include similarity index 95% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.include rename to xCAT-test/autotest/testcase/xcat_inventory/cases.include index e1c85460f..4a3bdacc2 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.include +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.include @@ -5,7 +5,7 @@ cmd:dir="/tmp/imagedata/";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mk check:rc==0 cmd:dir="/tmp/imagedata/export";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir check:rc==0 -cmd:cp -rf /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage /tmp/imagedata +cmd:cp -rf /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage /tmp/imagedata check:rc==0 cmd:lsdef -t osimage -o test_osimage >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o test_osimage -z >/tmp/imagedata/test_osimage.org.stanza ;rmdef -t osimage -o test_osimage;fi check:rc==0 @@ -28,7 +28,6 @@ check:rc==0 cmd:rm -rf /tmp/imagedata/test_osimage cmd:xcat-inventory import -t osimage -d /tmp/imagedata/export check:rc==0 -check:output=~Importing object: test_osimage check:output=~Inventory import successfully! check:output=~The object test_osimage has been imported cmd:lsdef -t osimage -o test_osimage diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.network b/xCAT-test/autotest/testcase/xcat_inventory/cases.network similarity index 74% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.network rename to xCAT-test/autotest/testcase/xcat_inventory/cases.network index 6453ceb68..22632878f 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.network +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.network @@ -1,47 +1,48 @@ start:xcat_inventory_import_validation_network description:This case is used to test network validation function of xcat-inventory import yaml and json file. To test "net" "mask" "dynamicrange" and "staticrange" attributes +label:others,inventory_ci cmd:lsdef -t network -o autotestnet > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t network -o autotestnet -z >/tmp/xcat_inventory_import_validation_network_bak/autotestnet.stanza ;rmdef -t network -o autotestnet;fi check:rc==0 cmd:mkdir -p /tmp/xcat_inventory_import_validation_network_bak check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.net" "200.0.0.0" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.net" "200.0.0.0" "/tmp/xcat_inventory_import_validation_network" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.net" "234abc" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.net" "234abc" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.net" "" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.net" "" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.net" "234.abc.456.789" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.net" "234.abc.456.789" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.mask" "234.abc.456.789" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.mask" "234.abc.456.789" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.mask" "" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.mask" "" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "basic_attr.mask" "234.0.0.0" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "basic_attr.mask" "234.0.0.0" "/tmp/xcat_inventory_import_validation_network" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "pool.dynamicrange" "200.0.0.100-200.0.0.200" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "pool.dynamicrange" "200.0.0.100-200.0.0.200" "/tmp/xcat_inventory_import_validation_network" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "pool.dynamicrange" "200.0.0.100" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "pool.dynamicrange" "200.0.0.100" "/tmp/xcat_inventory_import_validation_network" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "pool.dynamicrange" "abc-bcd" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "pool.dynamicrange" "abc-bcd" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "pool.staticrange" "200.0.0.100-200.0.0.200" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "pool.staticrange" "200.0.0.100-200.0.0.200" "/tmp/xcat_inventory_import_validation_network" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "pool.staticrange" "200.0.0.100" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "pool.staticrange" "200.0.0.100" "/tmp/xcat_inventory_import_validation_network" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "network" "autotestnet" "pool.staticrange" "abc-bcd" "/tmp/xcat_inventory_import_validation_network" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "network" "autotestnet" "pool.staticrange" "abc-bcd" "/tmp/xcat_inventory_import_validation_network" check:rc!=0 cmd:if [[ -e /tmp/xcat_inventory_import_validation_network_bak/autotestnet.stanza ]]; then cat /tmp/xcat_inventory_import_validation_network_bak/autotestnet.stanza | mkdef -z; fi diff --git a/xCAT-test/autotest/testcase/xcat_inventory/cases.nics b/xCAT-test/autotest/testcase/xcat_inventory/cases.nics new file mode 100644 index 000000000..12ddbbe87 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.nics @@ -0,0 +1,45 @@ +start:export_import_nics_with_regex +description:This case is used to test xcat-inventory export and import could support regex for xcat attributes. +label:others,inventory_ci +cmd:dir="/tmp/export";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir +cmd:tabdump nics |tee /tmp/export/nics.cvs +check:rc==0 +cmd:tabrestore /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/nics.csv +check:rc==0 +cmd:xcat-inventory export -t node -o testnodes -f /tmp/export/nics.yaml --format yaml +check:rc==0 +check:output=~The inventory data has been dumped to /tmp/export/nics.yaml +cmd:#! /bin/bash diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/nics.yaml /tmp/export/nics.yaml --ignore-blank-lines -I "^#" -I "schema_version" +check:rc==0 +cmd:xcat-inventory export -t node -o testnodes -f /tmp/export/nics.json --format json +check:rc==0 +cmd:#! /bin/bash diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/nics.json /tmp/export/nics.json --ignore-blank-lines -I "^#" -I "schema_version" +check:rc==0 +cmd:tabch -d node="testnodes" nics +check:rc==0 +cmd:xcat-inventory import -t node -o testnodes -f /tmp/export/nics.yaml +check:rc==0 +check:output=~loading inventory date in "/tmp/export/nics.yaml" +check:output=~start to import "node" type objects +check:output=~ preprocessing "node" type objects +check:output=~ writting "node" type objects +check:output=~Inventory import successfully! +cmd:tabdump nics |tee /tmp/export/nics.yaml.cvs;diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/nics.csv /tmp/export/nics.yaml.cvs +check:rc==0 +cmd:tabch -d node="testnodes" nics +check:rc==0 +cmd:xcat-inventory import -t node -o testnodes -f /tmp/export/nics.json +check:rc==0 +check:output=~loading inventory date in "/tmp/export/nics.json" +check:output=~start to import "node" type objects +check:output=~ preprocessing "node" type objects +check:output=~ writting "node" type objects +check:output=~Inventory import successfully! +cmd:tabdump nics |tee /tmp/export/nics.json.cvs;diff -y /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/nics.csv /tmp/export/nics.json.cvs +check:rc==0 +cmd:tabch -d node="testnodes" nics +check:rc==0 +cmd:tabrestore /tmp/export/nics.cvs +check:rc==0 +cmd:dir="/tmp/export"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi +end diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.node b/xCAT-test/autotest/testcase/xcat_inventory/cases.node similarity index 82% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.node rename to xCAT-test/autotest/testcase/xcat_inventory/cases.node index c08329e40..5d95a3bf7 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.node +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.node @@ -1,17 +1,18 @@ start:export_import_single_ppc_by_json description:This case is used to test xcat-inventory export and import one ppc definition by json between 2 exact same MNs. This case can cover hmc,lpar. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_ppc_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_ppc_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_ppc_by_json_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_ppc_by_json/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_ppc_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=hmc nodetype=ppc,osi addkcmdline=addkcmdline arch=ppc64 authdomain=authdomain cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac hcp=HMC height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype hwtype=hwtype id=5 installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou parent=parent password=password pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power pprofile=pprofile prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment username=username vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -23,9 +24,9 @@ cmd:scp /tmp/export_import_single_ppc_by_json/bogusnode_json.inv $$DSTMN:/tmp/ex check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_ppc_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_ppc_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_ppc_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_ppc_by_json/dstbogusnode.stanza check:rc==0 @@ -33,17 +34,17 @@ cmd: cat /tmp/export_import_single_ppc_by_json/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_ppc_by_json/srcbogusnode.stanza /tmp/export_import_single_ppc_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_ppc_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_single_ppc_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_ppc_by_json/bogusgroup.stanza ]]; then cat /tmp/export_import_single_ppc_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_ppc_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_ppc_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_ppc_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_ppc_by_json check:rc==0 @@ -53,17 +54,18 @@ end start:export_import_single_ppc_by_yaml description:This case is used to test xcat-inventory export and import one ppc definition by yaml between 2 exact same MNs. This case can cover hmc,lpar. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_ppc_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_ppc_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_ppc_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_ppc_by_yaml/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_ppc_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=hmc nodetype=ppc,osi addkcmdline=addkcmdline arch=ppc64 authdomain=authdomain cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac hcp=HMC height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype hwtype=hwtype id=5 installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou parent=parent password=password pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power pprofile=pprofile prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment username=username vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -75,9 +77,9 @@ cmd:scp /tmp/export_import_single_ppc_by_yaml/bogusnode_yaml.inv $$DSTMN:/tmp/ex check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_ppc_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_ppc_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_ppc_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_ppc_by_yaml/dstbogusnode.stanza check:rc==0 @@ -85,17 +87,17 @@ cmd: cat /tmp/export_import_single_ppc_by_yaml/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_ppc_by_yaml/srcbogusnode.stanza /tmp/export_import_single_ppc_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_ppc_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_single_ppc_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_ppc_by_yaml/bogusgroup.stanza ]]; then cat /tmp/export_import_single_ppc_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_ppc_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_ppc_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_ppc_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_ppc_by_yaml check:rc==0 @@ -105,17 +107,18 @@ end start:export_import_single_kvm_by_json description:This case is used to test xcat-inventory export and import one kvm definition by json between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_kvm_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_kvm_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_kvm_by_json_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_kvm_by_json/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_kvm_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=kvm addkcmdline=addkcmdline arch=ppc64le authdomain=authdomain cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype id=5 installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmcpus=vmcpus vmhost=vmhost vmmanager=vmmanager vmmaster=vmmaster vmmemory=vmmemory vmnicnicmodel=vmnicnicmodel vmnics=vmnics vmothersetting=vmothersetting vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -127,9 +130,9 @@ cmd:scp /tmp/export_import_single_kvm_by_json/bogusnode_json.inv $$DSTMN:/tmp/ex check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_kvm_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_kvm_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_kvm_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_kvm_by_json/dstbogusnode.stanza check:rc==0 @@ -137,17 +140,17 @@ cmd: cat /tmp/export_import_single_kvm_by_json/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_kvm_by_json/srcbogusnode.stanza /tmp/export_import_single_kvm_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_kvm_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_single_kvm_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_kvm_by_json/bogusgroup.stanza ]]; then cat /tmp/export_import_single_kvm_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_kvm_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_kvm_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_kvm_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_kvm_by_json check:rc==0 @@ -158,17 +161,18 @@ end start:export_import_single_kvm_by_yaml description:This case is used to test xcat-inventory export and import one kvm definition by yaml between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_kvm_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_kvm_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_kvm_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_kvm_by_yaml/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_kvm_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=kvm addkcmdline=addkcmdline arch=ppc64le authdomain=authdomain cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype id=5 installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmcpus=vmcpus vmhost=vmhost vmmanager=vmmanager vmmaster=vmmaster vmmemory=vmmemory vmnicnicmodel=vmnicnicmodel vmnics=vmnics vmothersetting=vmothersetting vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -180,9 +184,9 @@ cmd:scp /tmp/export_import_single_kvm_by_yaml/bogusnode_yaml.inv $$DSTMN:/tmp/ex check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_kvm_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_kvm_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_kvm_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_kvm_by_yaml/dstbogusnode.stanza check:rc==0 @@ -190,17 +194,17 @@ cmd: cat /tmp/export_import_single_kvm_by_yaml/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_kvm_by_yaml/srcbogusnode.stanza /tmp/export_import_single_kvm_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_kvm_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_single_kvm_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_kvm_by_yaml/bogusgroup.stanza ]]; then cat /tmp/export_import_single_kvm_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_kvm_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_kvm_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_kvm_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_kvm_by_yaml check:rc==0 @@ -211,17 +215,18 @@ end start:export_import_single_pdu_by_json description:This case is used to test xcat-inventory export and import one pdu definition by json between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_pdu_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_pdu_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_pdu_by_json_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_pdu_by_json/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_pdu_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=pdu nodetype=pdu addkcmdline=addkcmdline arch=ppc64 authdomain=authdomain authkey=authkey authtype=MD5 cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping community=community cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou outlet=outlet password=password pdu=pdu pdutype=pdutype postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn privkey=privkey privtype=AES productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames seclevel=noAuthNoPriv serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot snmpuser=snmpuser snmpversion=SNMPv1 storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment username=username vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -233,9 +238,9 @@ cmd:scp /tmp/export_import_single_pdu_by_json/bogusnode_json.inv $$DSTMN:/tmp/ex check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_pdu_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_pdu_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_pdu_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_pdu_by_json/dstbogusnode.stanza check:rc==0 @@ -243,17 +248,17 @@ cmd: cat /tmp/export_import_single_pdu_by_json/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_pdu_by_json/srcbogusnode.stanza /tmp/export_import_single_pdu_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_pdu_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_single_pdu_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_pdu_by_json/bogusgroup.stanza ]]; then cat /tmp/export_import_single_pdu_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_pdu_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_pdu_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_pdu_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_pdu_by_json check:rc==0 @@ -263,17 +268,18 @@ end start:export_import_single_pdu_by_yaml description:This case is used to test xcat-inventory export and import one pdu definition by yaml between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_pdu_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_pdu_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_pdu_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_pdu_by_yaml/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_pdu_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=pdu nodetype=pdu addkcmdline=addkcmdline arch=ppc64 authdomain=authdomain authkey=authkey authtype=MD5 cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping community=community cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou outlet=outlet password=password pdu=pdu pdutype=pdutype postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn privkey=privkey privtype=AES productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames seclevel=noAuthNoPriv serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot snmpuser=snmpuser snmpversion=SNMPv1 storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment username=username vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -285,9 +291,9 @@ cmd:scp /tmp/export_import_single_pdu_by_yaml/bogusnode_yaml.inv $$DSTMN:/tmp/ex check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_pdu_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_pdu_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_pdu_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_pdu_by_yaml/dstbogusnode.stanza check:rc==0 @@ -295,17 +301,17 @@ cmd: cat /tmp/export_import_single_pdu_by_yaml/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_pdu_by_yaml/srcbogusnode.stanza /tmp/export_import_single_pdu_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_pdu_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_single_pdu_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_pdu_by_yaml/bogusgroup.stanza ]]; then cat /tmp/export_import_single_pdu_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_pdu_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_pdu_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_pdu_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_pdu_by_yaml check:rc==0 @@ -315,17 +321,18 @@ end start:export_import_single_boston_by_yaml description:This case is used to test xcat-inventory export and import one boston node definition by yaml between 2 exact same MNs. This case can also cover p8 physical node, x86 physical node. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_boston_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_boston_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_boston_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_boston_by_yaml/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_boston_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=ipmi addkcmdline=addkcmdline arch=ppc64le authdomain=authdomain bmc=bmc bmcpassword=bmcpassword bmcport=bmcport bmcusername=bmcusername bmcvlantag=bmcvlantag cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype hwtype=hwtype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot slotid=slotid storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -337,9 +344,9 @@ cmd:scp /tmp/export_import_single_boston_by_yaml/bogusnode_yaml.inv $$DSTMN:/tmp check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_boston_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_boston_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_boston_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_boston_by_yaml/dstbogusnode.stanza check:rc==0 @@ -347,17 +354,17 @@ cmd: cat /tmp/export_import_single_boston_by_yaml/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_boston_by_yaml/srcbogusnode.stanza /tmp/export_import_single_boston_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_boston_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_single_boston_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_boston_by_yaml/bogusgroup.stanza ]]; then cat /tmp/export_import_single_boston_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_boston_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_boston_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_boston_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_boston_by_yaml check:rc==0 @@ -366,17 +373,18 @@ end start:export_import_single_boston_by_json description:This case is used to test xcat-inventory export and import one boston node definition by json between 2 exact same MNs. This case can also cover p8 physical node, x86 physical node. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_boston_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_boston_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_boston_by_json_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_boston_by_json/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_boston_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_boston_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_boston_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=ipmi addkcmdline=addkcmdline arch=ppc64le authdomain=authdomain bmc=bmc bmcpassword=bmcpassword bmcport=bmcport bmcusername=bmcusername bmcvlantag=bmcvlantag cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype hwtype=hwtype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot slotid=slotid storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -388,9 +396,9 @@ cmd:scp /tmp/export_import_single_boston_by_json/bogusnode_json.inv $$DSTMN:/tmp check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_boston_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_boston_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_boston_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_boston_by_json/dstbogusnode.stanza check:rc==0 @@ -398,17 +406,17 @@ cmd: cat /tmp/export_import_single_boston_by_json/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_boston_by_json/srcbogusnode.stanza /tmp/export_import_single_boston_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_boston_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_single_boston_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_boston_by_json/bogusgroup.stanza ]]; then cat /tmp/export_import_single_boston_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_boston_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_boston_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_boston_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_boston_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_boston_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_boston_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_boston_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_boston_by_json check:rc==0 @@ -417,17 +425,18 @@ end start:export_import_single_witherspoon_by_yaml description:This case is used to test xcat-inventory export and import one witherspoon node definition by yaml between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_witherspoon_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_witherspoon_by_yaml/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_witherspoon_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=openbmc nodetype=mp addkcmdline=addkcmdline arch=ppc64le authdomain=authdomain bmc=bmc bmcpassword=bmcpassword bmcusername=bmcusername bmcvlantag=bmcvlantag cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand consport=consport cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype hwtype=hwtype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -439,9 +448,9 @@ cmd:scp /tmp/export_import_single_witherspoon_by_yaml/bogusnode_yaml.inv $$DSTMN check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_witherspoon_by_yaml/dstbogusnode.stanza check:rc==0 @@ -449,17 +458,17 @@ cmd: cat /tmp/export_import_single_witherspoon_by_yaml/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_witherspoon_by_yaml/srcbogusnode.stanza /tmp/export_import_single_witherspoon_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_witherspoon_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_witherspoon_by_yaml/bogusgroup.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_witherspoon_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_witherspoon_by_yaml check:rc==0 @@ -468,17 +477,18 @@ end start:export_import_single_witherspoon_by_json description:This case is used to test xcat-inventory export and import one witherspoon node definition by json between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_witherspoon_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_witherspoon_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_witherspoon_by_json_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_witherspoon_by_json/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_witherspoon_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=openbmc nodetype=mp addkcmdline=addkcmdline arch=ppc64le authdomain=authdomain bmc=bmc bmcpassword=bmcpassword bmcusername=bmcusername bmcvlantag=bmcvlantag cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand consport=consport cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype hwtype=hwtype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -490,9 +500,9 @@ cmd:scp /tmp/export_import_single_witherspoon_by_json/bogusnode_json.inv $$DSTMN check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_witherspoon_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_witherspoon_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_witherspoon_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_witherspoon_by_json/dstbogusnode.stanza check:rc==0 @@ -500,17 +510,17 @@ cmd: cat /tmp/export_import_single_witherspoon_by_json/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_witherspoon_by_json/srcbogusnode.stanza /tmp/export_import_single_witherspoon_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_witherspoon_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_witherspoon_by_json/bogusgroup.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_witherspoon_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_witherspoon_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_witherspoon_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_witherspoon_by_json check:rc==0 @@ -520,17 +530,18 @@ end start:export_import_single_switch_by_json description:This case is used to test xcat-inventory export and import one switch node definition by json between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_switch_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_switch_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_switch_by_json_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_switch_by_json/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_switch_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_switch_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_switch_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=switch nodetype=switch addkcmdline=addkcmdline arch=ppc64 authdomain=authdomain cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid linkports=linkports mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou password=password pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey protocol=ssh provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot snmpauth=SHA snmppassword=snmppassword snmpprivacy=DES snmpusername=snmpusername snmpversion=SNMPv1 storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchtype=switchtype switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment username=username vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -542,9 +553,9 @@ cmd:scp /tmp/export_import_single_switch_by_json/bogusnode_json.inv $$DSTMN:/tmp check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_switch_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_switch_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_switch_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_switch_by_json/dstbogusnode.stanza check:rc==0 @@ -552,17 +563,17 @@ cmd: cat /tmp/export_import_single_switch_by_json/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_switch_by_json/srcbogusnode.stanza /tmp/export_import_single_switch_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_switch_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_single_switch_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_switch_by_json/bogusgroup.stanza ]]; then cat /tmp/export_import_single_switch_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_switch_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_switch_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_switch_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_switch_by_json_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_switch_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_switch_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_switch_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_switch_by_json check:rc==0 @@ -571,17 +582,18 @@ end start:export_import_single_switch_by_yaml description:This case is used to test xcat-inventory export and import one switch node definition by yaml between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_switch_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_switch_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_switch_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_switch_by_yaml/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_switch_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=switch nodetype=switch addkcmdline=addkcmdline arch=ppc64 authdomain=authdomain cfgmgr=cfgmgr cfgmgtroles=cfgmgtroles cfgserver=cfgserver chain=chain chassis=chassis cmdmapping=cmdmapping cons=cons conserver=conserver consoleondemand=consoleondemand cpucount=cpucount cputype=cputype dhcpinterfaces=dhcpinterfaces disksize=disksize domainadminpassword=domainadminpassword domainadminuser=domainadminuser domaintype=domaintype getmac=getmac height=height hidden=hidden hostcluster=hostcluster hostinterface=hostinterface hostmanager=hostmanager hostnames=hostnames hosttype=hosttype installnic=installnic interface=interface ip=10.10.10.10 iscsipassword=iscsipassword iscsiserver=iscsiserver iscsitarget=iscsitarget iscsiuserid=iscsiuserid linkports=linkports mac=42:d6:0a:03:05:08 memory=memory migrationdest=migrationdest monserver=monserver mpa=mpa mtm=mtm nameservers=nameservers netboot=grub2 nfsdir=nfsdir nfsserver=nfsserver nimserver=nimserver node=node ondiscover=ondiscover osvolume=osvolume otherinterfaces=otherinterfaces ou=ou password=password pdu=pdu postbootscripts=postbootscripts postscripts=postscripts power=power prescripts-begin=prescripts-begin prescripts-end=prescripts-end primarynic=primarynic primarysn=primarysn productkey=productkey protocol=ssh provmethod=provmethod rack=rack room=room routenames=routenames serial=serial serialflow=serialflow serialport=serialport serialspeed=serialspeed servicenode=servicenode setupconserver=0 setupdhcp=0 setupftp=setupftp setupipforward=0 setupldap=0 setupnameserver=0 setupnfs=0 setupnim=setupnim setupntp=0 setupproxydhcp=0 setuptftp=0 sfp=sfp side=side slot=slot snmpauth=SHA snmppassword=snmppassword snmpprivacy=DES snmpusername=snmpusername snmpversion=SNMPv1 storagcontroller=storagcontroller storagetype=storagetype supernode=supernode supportedarchs=supportedarchs supportproxydhcp=supportproxydhcp switch=switch switchinterface=switchinterface switchport=50 switchtype=switchtype switchvlan=switchvlan syslog=syslog termport=termport termserver=termserver tftpdir=tftpdir tftpserver=tftpserver unit=unit usercomment=usercomment username=username vmbeacon=vmbeacon vmbootorder=vmbootorder vmcfgstore=vmcfgstore vmcluster=vmcluster vmmanager=vmmanager vmmaster=vmmaster vmnicnicmodel=vmnicnicmodel vmphyslots=vmphyslots vmstorage=vmstorage vmstoragecache=vmstoragecache vmstorageformat=vmstorageformat vmstoragemodel=vmstoragemodel vmtextconsole=vmtextconsole vmvirtflags=vmvirtflags vmvncport=vmvncport xcatmaster=xcatmaster zonename=zonename nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused check:rc==0 @@ -593,9 +605,9 @@ cmd:scp /tmp/export_import_single_switch_by_yaml/bogusnode_yaml.inv $$DSTMN:/tmp check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_switch_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_import_single_switch_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_switch_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_single_switch_by_yaml/dstbogusnode.stanza check:rc==0 @@ -603,17 +615,17 @@ cmd: cat /tmp/export_import_single_switch_by_yaml/dstbogusnode.stanza check:rc==0 cmd:diff -y /tmp/export_import_single_switch_by_yaml/srcbogusnode.stanza /tmp/export_import_single_switch_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_import_single_switch_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_single_switch_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_single_switch_by_yaml/bogusgroup.stanza ]]; then cat /tmp/export_import_single_switch_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_import_single_switch_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_switch_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_switch_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_switch_by_yaml check:rc==0 @@ -623,17 +635,18 @@ end start:export_import_nodes_delimited_with_comma_by_yaml description:This case is used to test xcat-inventory export and import the definition of nodes delimited with comma by yaml between 2 exact same MNs.Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/' check:rc==0 cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusnode.stanza ;rmdef bogusnode$i;fi; done check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef bogusnode[1-3] groups=bogusgroup mgt=openbmc cons=openbmc netboot=petitboot check:rc==0 @@ -645,9 +658,9 @@ cmd:scp /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusnode_yaml.inv check:rc==0 cmd:rmdef bogusnode[1-3] check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode1,bogusnode2,bogusnode3' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode1,bogusnode2,bogusnode3' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode[1-3] -z|sort -t'=' -k1 |tee /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode[1-3] -z|sort -t'=' -k1 |tee /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/dstbogusnode.stanza /tmp/export_import_nodes_delimited_with_comma_by_yaml/dstbogusnode.stanza check:rc==0 @@ -655,17 +668,17 @@ cmd: cat /tmp/export_import_nodes_delimited_with_comma_by_yaml/dstbogusnode.stan check:rc==0 cmd:diff -y /tmp/export_import_nodes_delimited_with_comma_by_yaml/srcbogusnode.stanza /tmp/export_import_nodes_delimited_with_comma_by_yaml/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode[1-3]' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode[1-3]' check:rc==0 cmd:if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusnode.stanza ]]; then cat /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusgroup.stanza ]];then cat /tmp/export_import_nodes_delimited_with_comma_by_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_nodes_delimited_with_comma_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_nodes_delimited_with_comma_by_yaml check:rc==0 @@ -674,17 +687,18 @@ end start:export_import_nodes_delimited_with_comma_by_json description:This case is used to test xcat-inventory export and import the definition of nodes delimited with comma by json between 2 exact same MNs.Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/' check:rc==0 cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_nodes_delimited_with_comma_by_json/bogusnode.stanza ;rmdef bogusnode$i;fi; done check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_nodes_delimited_with_comma_by_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef bogusnode[1-3] groups=bogusgroup mgt=openbmc cons=openbmc netboot=petitboot check:rc==0 @@ -696,9 +710,9 @@ cmd:scp /tmp/export_import_nodes_delimited_with_comma_by_json/bogusnode_json.inv check:rc==0 cmd:rmdef bogusnode[1-3] check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode1,bogusnode2,bogusnode3' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode_json.inv -t node -o bogusnode1,bogusnode2,bogusnode3' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode[1-3] -z|sort -t'=' -k1 |tee /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode[1-3] -z|sort -t'=' -k1 |tee /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/dstbogusnode.stanza /tmp/export_import_nodes_delimited_with_comma_by_json/dstbogusnode.stanza check:rc==0 @@ -706,17 +720,17 @@ cmd: cat /tmp/export_import_nodes_delimited_with_comma_by_json/dstbogusnode.stan check:rc==0 cmd:diff -y /tmp/export_import_nodes_delimited_with_comma_by_json/srcbogusnode.stanza /tmp/export_import_nodes_delimited_with_comma_by_json/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode[1-3]' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode[1-3]' check:rc==0 cmd:if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_json/bogusnode.stanza ]]; then cat /tmp/export_import_nodes_delimited_with_comma_by_json/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_json/bogusgroup.stanza ]];then cat /tmp/export_import_nodes_delimited_with_comma_by_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_nodes_delimited_with_comma_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_nodes_delimited_with_comma_by_json check:rc==0 @@ -725,6 +739,7 @@ end start:xcat_inventory_try_to_export_nonexisted_node description:This case is used to test xcat-inventory export a nonexisted node +label:others,inventory_ci cmd:mkdir -p /tmp/xcat_inventory_try_to_export_nonexisted_node check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/xcat_inventory_try_to_export_nonexisted_node/bogusnode.stanza ;rmdef bogusnode;fi @@ -743,6 +758,7 @@ end start:xcat_inventory_try_to_import_nonexisted_node description:This case is used to test xcat-inventory import a nonexisted node +label:others,inventory_ci cmd:mkdir -p /tmp/xcat_inventory_try_to_import_nonexisted_node check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/xcat_inventory_try_to_import_nonexisted_node/bogusnode.stanza ;rmdef bogusnode;fi @@ -768,6 +784,7 @@ check:rc==0 end start:xcat_inventory_try_to_export_all_type_is_node_default_format +label:others,xcat_inventory description:This case is used to test xcat-inventory export all definition which type is node by default format. I.e, do not specify the format of export. cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format check:rc==0 @@ -786,15 +803,15 @@ check:rc==0 #To test if "xcat-inventory export -t node" works correctly cmd:xcat-inventory export -t node |tee /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node check:rc==0 -cmd: grep " \"xcatdefaults\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi +cmd: grep "xcatdefaults:" /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi check:rc==0 -cmd: grep " \"service\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi +cmd: grep "service:" /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi check:rc==0 -cmd:dn=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/node_in_xcat_db|wc -l);dg=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/group_in_xcat_db |wc -l);((da=$dn+$dg+2));echo "dn=$dn dg=$dg da=$da";ia=$(grep " \"obj_type\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node|wc -l);echo "ia=$ia"; if [[ $da -eq $ia ]];then exit 0; else exit 1;fi +cmd:dn=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/node_in_xcat_db|wc -l);dg=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/group_in_xcat_db |wc -l);((da=$dn+$dg+2));echo "dn=$dn dg=$dg da=$da";ia=$(grep "obj_type:" /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node|wc -l);echo "ia=$ia"; if [[ $da -eq $ia ]];then exit 0; else exit 1;fi check:rc==0 -cmd:a=0;for i in `awk -F':' '{print $1}' /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/group_in_xcat_db`; do grep -E " \"$i\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node; if [[ $? -eq 0 ]]; then ((a++));fi;done;dg=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/group_in_xcat_db|wc -l);if [[ $a -eq $dg ]]; then exit 0; else exit 1;fi +cmd:a=0;for i in `awk -F':' '{print $1}' /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/group_in_xcat_db`; do grep -E " $i:" /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node; if [[ $? -eq 0 ]]; then ((a++));fi;done;dg=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/group_in_xcat_db|wc -l);if [[ $a -eq $dg ]]; then exit 0; else exit 1;fi check:rc==0 -cmd:a=0;for i in `awk -F' ' '{print $1}' /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/node_in_xcat_db`;do grep -E " \"$i\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node; if [[ $? -eq 0 ]]; then ((a++));fi;done;dn=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/node_in_xcat_db |wc -l); if [[ $dn -eq $a ]]; then exit 0; else exit 1;fi +cmd:a=0;for i in `awk -F' ' '{print $1}' /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/node_in_xcat_db`;do grep -E ""$i:" /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/export_all_node; if [[ $? -eq 0 ]]; then ((a++));fi;done;dn=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_default_format/node_in_xcat_db |wc -l); if [[ $dn -eq $a ]]; then exit 0; else exit 1;fi check:rc==0 cmd:rmdef bogusnode[1-3] check:rc==0 @@ -810,6 +827,7 @@ end start:xcat_inventory_try_to_export_all_type_is_node_yaml_format +label:others,inventory_ci description:This case is used to test xcat-inventory export all definition which type is node by yaml format. cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_node_yaml_format check:rc==0 @@ -828,7 +846,7 @@ check:rc==0 #To test if "xcat-inventory export --format=yaml -t node |tee /tmp/xcat_inventory_try_to_export_all_type_is_node_yaml_format/export_all_node cmd:xcat-inventory export --format=yaml -t node |tee /tmp/xcat_inventory_try_to_export_all_type_is_node_yaml_format/export_all_node check:rc==0 -cmd: grep " xcatdefaults:" /tmp/xcat_inventory_try_to_export_all_type_is_node_yaml_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi +cmd: grep "xcatdefaults:" /tmp/xcat_inventory_try_to_export_all_type_is_node_yaml_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi check:rc==0 cmd: grep " service:" /tmp/xcat_inventory_try_to_export_all_type_is_node_yaml_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi check:rc==0 @@ -852,6 +870,7 @@ end start:xcat_inventory_try_to_export_all_type_is_node_json_format +label:others,xcat_inventory description:This case is used to test xcat-inventory export all definition which type is node by json format. cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format check:rc==0 @@ -869,9 +888,9 @@ cmd:lsdef -t group -i grouptype -c|grep "grouptype=static" |tee /tmp/xcat_inven check:rc==0 cmd:xcat-inventory export --format=json -t node |tee /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/export_all_node check:rc==0 -cmd: grep " \"xcatdefaults\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi +cmd: grep "xcatdefaults:" /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi check:rc==0 -cmd: grep " \"service\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi +cmd: grep "service:" /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/export_all_node > /dev/null 2>&1; if [[ $? -eq 0 ]]; then exit 0; else exit 1;fi check:rc==0 cmd:dn=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/node_in_xcat_db|wc -l);dg=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/group_in_xcat_db |wc -l);((da=$dn+$dg+2));ia=$(grep " \"obj_type\": " /tmp/xcat_inventory_try_to_export_all_type_is_node_json_format/export_all_node|wc -l); if [[ $da -eq $ia ]];then exit 0; else exit 1;fi check:rc==0 @@ -892,6 +911,7 @@ check:rc==0 end start:xcat_inventory_try_to_import_all_type_is_node_yaml_format +label:others,inventory_ci description:This case is used to test xcat-inventory import all definition which type is node from a yaml file. cmd:mkdir -p /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format check:rc==0 @@ -899,8 +919,7 @@ cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; the check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z >> /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/bogusnode.stanza;rmdef -t group bogusgroup; fi check:rc==0 -cmd:#!/usr/bin/bash -echo "network: +cmd:echo "network: 10_0_0_0-255_0_0_0: basic_attr: gateway: 10.0.0.103 @@ -1166,8 +1185,7 @@ site: check:rc==0 cmd:xcat-inventory import -f /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/yaml.test -t node check:rc==0 -cmd:#!/bin/bash -echo "# +cmd:echo "# bogusnode1: objtype=node bmc=10.100.100.1 @@ -1198,7 +1216,8 @@ bogusnode3: check:rc==0 cmd:lsdef bogusnode[1-3] -z | sed -e '/^\s*$/d' > /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/node_stanza_after_import check:rc==0 -cmd:diff -y /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/node_stanza_from_import_file /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/node_stanza_after_import +cmd:#!/bin/bash +diff -y --ignore-blank-lines --ignore-matching-lines="^#" /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/node_stanza_from_import_file /tmp/xcat_inventory_try_to_import_all_type_is_node_yaml_format/node_stanza_after_import check:rc==0 cmd:tabdump site|grep 100.3.5.8 check:rc!=0 @@ -1216,6 +1235,7 @@ end start:xcat_inventory_try_to_import_all_type_is_node_json_format +label:others,inventory_ci description:This case is used to test xcat-inventory import all definition which type is node from a yaml file. cmd:mkdir -p /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format check:rc==0 @@ -1223,8 +1243,7 @@ cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; the check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z >> /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/bogusnode.stanza;rmdef -t group bogusgroup; fi check:rc==0 -cmd:#!/usr/bin/bash -echo '{ +cmd:echo '{ "network": { "10_0_0_0-255_0_0_0": { "basic_attr": { @@ -1569,9 +1588,7 @@ echo '{ check:rc==0 cmd:xcat-inventory import -f /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/json.test -t node check:rc==0 -cmd:#!/bin/bash -echo "# -bogusnode1: +cmd:echo 'bogusnode1: objtype=node bmc=10.100.100.1 bmcpassword=0penBmc @@ -1597,11 +1614,13 @@ bogusnode3: cons=openbmc groups=bogusgroup mgt=openbmc - netboot=petitboot" > /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_from_import_file + netboot=petitboot' > /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_from_import_file check:rc==0 cmd:lsdef bogusnode[1-3] -z | sed -e '/^\s*$/d' > /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_after_import check:rc==0 -cmd:diff -y /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_from_import_file /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_after_import +cmd:cat /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_after_import +cmd:#!/bin/bash +diff -y --ignore-blank-lines --ignore-matching-lines="^#" /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_from_import_file /tmp/xcat_inventory_try_to_import_all_type_is_node_json_format/node_stanza_after_import check:rc==0 cmd:tabdump site|grep 100.3.5.8 check:rc!=0 @@ -1618,6 +1637,7 @@ check:rc==0 end start:export_more_nodes_import_part_nodes_json +label:others,inventory_ci description:This case is used to test xcat-inventory import all definition which type is node from a yaml file. cmd:mkdir -p /tmp/export_more_nodes_import_part_nodes_json check:rc==0 @@ -1660,6 +1680,7 @@ check:rc==0 end start:export_more_nodes_import_part_nodes_yaml +label:others,inventory_ci description:This case is used to test xcat-inventory import all definition which type is node from a yaml file. cmd:mkdir -p /tmp/export_more_nodes_import_part_nodes_yaml check:rc==0 @@ -1702,19 +1723,20 @@ check:rc==0 end start:export_single_node_then_modify_yaml_then_import +label:others,inventory_ci description:This case is used to test xcat-inventory import a node , then modify the export yaml file, then import the yaml file Attribute: $$DSTMN - the ip of MN which is used to run import operation. cmd:mkdir -p /tmp/export_single_node_then_modify_yaml_then_import check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_single_node_then_modify_yaml_then_import/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_single_node_then_modify_yaml_then_import/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=openbmc nodetype=mp addkcmdline=1111 arch=ppc64 authdomain=1111 bmc=1111 bmcpassword=1111 bmcusername=1111 bmcvlantag=1111 cfgmgr=1111 cfgmgtroles=1111 cfgserver=1111 chain=1111 chassis=1111 cmdmapping=1111 cons=1111 conserver=1111 consoleondemand=1111 consport=1111 cpucount=1111 cputype=1111 dhcpinterfaces=1111 disksize=1111 domainadminpassword=1111 domainadminuser=1111 domaintype=1111 getmac=1111 height=1111 hidden=1111 hostcluster=1111 hostinterface=1111 hostmanager=1111 hostnames=1111 hosttype=1111 hwtype=1111 installnic=1111 interface=1111 ip=10.10.10.10 iscsipassword=1111 iscsiserver=1111 iscsitarget=1111 iscsiuserid=1111 mac=42:d6:0a:03:05:08 memory=1111 migrationdest=1111 monserver=1111 mpa=1111 mtm=1111 nameservers=1111 netboot=grub2 nfsdir=1111 nfsserver=1111 nimserver=1111 node=1111 ondiscover=1111 osvolume=1111 otherinterfaces=1111 ou=1111 pdu=1111 postbootscripts=1111 postscripts=1111 power=1111 prescripts-begin=1111 prescripts-end=1111 primarynic=1111 primarysn=1111 productkey=1111 provmethod=1111 rack=1111 room=1111 routenames=1111 serial=1111 serialflow=1111 serialport=1111 serialspeed=1111 servicenode=1111 setupconserver=1 setupdhcp=1 setupftp=1111 setupipforward=1 setupldap=1 setupnameserver=1 setupnfs=1 setupnim=1111 setupntp=1 setupproxydhcp=1 setuptftp=1 sfp=1111 side=1111 slot=1111 storagcontroller=1111 storagetype=1111 supernode=1111 supportedarchs=1111 supportproxydhcp=1111 switch=1111 switchinterface=1111 switchport=1111 switchvlan=1111 syslog=1111 termport=1111 termserver=1111 tftpdir=1111 tftpserver=1111 unit=1111 usercomment=1111 vmbeacon=1111 vmbootorder=1111 vmcfgstore=1111 vmcluster=1111 vmmanager=1111 vmmaster=1111 vmnicnicmodel=1111 vmphyslots=1111 vmstorage=1111 vmstoragecache=1111 vmstorageformat=1111 vmstoragemodel=1111 vmtextconsole=1111 vmvirtflags=1111 vmvncport=1111 xcatmaster=1111 zonename=1111 nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused cmd:lsdef bogusnode -z|sed 's/1111/2222/g'|sed 's/unused/used/g'|sed 's/10.10.100.9/20.10.200.9/g'|sort -t'=' -k1 |tee /tmp/export_single_node_then_modify_yaml_then_import/srcbogusnode.stanza @@ -1753,9 +1775,9 @@ cmd:scp /tmp/export_single_node_then_modify_yaml_then_import/bogusnode_yaml.inv check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode_yaml.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/dstbogusnode.stanza /tmp/export_single_node_then_modify_yaml_then_import/dstbogusnode.stanza check:rc==0 @@ -1763,17 +1785,17 @@ cmd: cat /tmp/export_single_node_then_modify_yaml_then_import/dstbogusnode.stanz check:rc==0 cmd:diff -y /tmp/export_single_node_then_modify_yaml_then_import/srcbogusnode.stanza /tmp/export_single_node_then_modify_yaml_then_import/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_single_node_then_modify_yaml_then_import/bogusnode.stanza ]]; then cat /tmp/export_single_node_then_modify_yaml_then_import/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_single_node_then_modify_yaml_then_import/bogusgroup.stanza ]]; then cat /tmp/export_single_node_then_modify_yaml_then_import/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_single_node_then_modify_yaml_then_import_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_single_node_then_modify_yaml_then_import check:rc==0 @@ -1782,20 +1804,21 @@ end start:export_single_node_then_modify_json_then_import description:This case is used to test xcat-inventory import a node , then modify the export json file, then import the json file Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_single_node_then_modify_json_then_import check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/' check:rc==0 cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_single_node_then_modify_json_then_import/bogusnode.stanza ;rmdef bogusnode;fi check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_single_node_then_modify_json_then_import/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z >/tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode.stanza ;rmdef bogusnode;fi' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t node -o bogusnode groups=bogusgroup mgt=openbmc nodetype=mp addkcmdline=1111 arch=ppc64 authdomain=1111 bmc=1111 bmcpassword=1111 bmcusername=1111 bmcvlantag=1111 cfgmgr=1111 cfgmgtroles=1111 cfgserver=1111 chain=1111 chassis=1111 cmdmapping=1111 cons=1111 conserver=1111 consoleondemand=1111 consport=1111 cpucount=1111 cputype=1111 dhcpinterfaces=1111 disksize=1111 domainadminpassword=1111 domainadminuser=1111 domaintype=1111 getmac=1111 height=1111 hidden=1111 hostcluster=1111 hostinterface=1111 hostmanager=1111 hostnames=1111 hosttype=1111 hwtype=1111 installnic=1111 interface=1111 ip=10.10.10.10 iscsipassword=1111 iscsiserver=1111 iscsitarget=1111 iscsiuserid=1111 mac=42:d6:0a:03:05:08 memory=1111 migrationdest=1111 monserver=1111 mpa=1111 mtm=1111 nameservers=1111 netboot=grub2 nfsdir=1111 nfsserver=1111 nimserver=1111 node=1111 ondiscover=1111 osvolume=1111 otherinterfaces=1111 ou=1111 pdu=1111 postbootscripts=1111 postscripts=1111 power=1111 prescripts-begin=1111 prescripts-end=1111 primarynic=1111 primarysn=1111 productkey=1111 provmethod=1111 rack=1111 room=1111 routenames=1111 serial=1111 serialflow=1111 serialport=1111 serialspeed=1111 servicenode=1111 setupconserver=1 setupdhcp=1 setupftp=1111 setupipforward=1 setupldap=1 setupnameserver=1 setupnfs=1 setupnim=1111 setupntp=1 setupproxydhcp=1 setuptftp=1 sfp=1111 side=1111 slot=1111 storagcontroller=1111 storagetype=1111 supernode=1111 supportedarchs=1111 supportproxydhcp=1111 switch=1111 switchinterface=1111 switchport=1111 switchvlan=1111 syslog=1111 termport=1111 termserver=1111 tftpdir=1111 tftpserver=1111 unit=1111 usercomment=1111 vmbeacon=1111 vmbootorder=1111 vmcfgstore=1111 vmcluster=1111 vmmanager=1111 vmmaster=1111 vmnicnicmodel=1111 vmphyslots=1111 vmstorage=1111 vmstoragecache=1111 vmstorageformat=1111 vmstoragemodel=1111 vmtextconsole=1111 vmvirtflags=1111 vmvncport=1111 xcatmaster=1111 zonename=1111 nicaliases.eth0="moe larry curly" nicaliases.eth1="tom|jerry" niccustomscripts.eth0="configeth eth0" niccustomscripts.ib0="configib ib0" nicdevices.bond0="eth0|eth2" nicdevices.br0=bond0 nicextraparams.eth0="MTU=1500" nicextraparams.ib0="MTU=65520 CONNECTED_MODE=yes" nichostnameprefixes.eth0="eth0-" nichostnameprefixes.ib0="ib-" nichostnamesuffixes.eth0="-eth0" nichostnamesuffixes.ib0="-ib0" nicips.ib0=10.10.100.9 nicips.enP48p1s0f0=129.40.234.11 nicips.ib1=10.11.100.9 nicnetworks.enP5p1s0f1.4=xcat_bmc nicnetworks.enP48p1s0f1=xcat_util nicnetworks.ib0=IB00 nicnetworks.enP48p1s0f0=pub_yellow nicnetworks.ib3=IB03 nicnetworks.ib2=IB02 nicnetworks.enP5p1s0f1=xcat_compute nicnetworks.ib1=IB01 nicnetworks.enP5p1s0f1.5=xcat_infra nicnetworks.enP5p1s0f1.6=xcat_pdu nicsadapter.enP3p3s0f1="mac=98:be:94:59:fa:cd linkstate=DOWN" nicsadapter.enP3p3s0f2="mac=98:be:94:59:fa:ce candidatename=enP3p3s0f2/enx98be9459face" nictypes.enP5p1s0f1.4=unused nictypes.enP48p1s0f1=unused nictypes.ib0=Infiniband nictypes.enP48p1s0f0=Ethernet nictypes.ib3=unused nictypes.ib2=unused nictypes.enP5p1s0f1=unused nictypes.ib1=Infiniband nictypes.enP5p1s0f1.5=unused nictypes.enP5p1s0f1.6=unused -cmd:lsdef bogusnode -z|sed 's/1111/2222/g'|sed 's/unused/used/g'|sed 's/10.10.100.9/20.10.200.9/g'|sort -t'=' -k1 |tee /tmp/export_single_node_then_modify_json_then_import/srcbogusnode.stanza +cmd:lsdef bogusnode -z|sed 's/1111/2222/g'|sed 's/unused/used/g'|sed 's/10.10.100.9/20.10.200.9/g'|sort -t"=" -k1 |tee /tmp/export_single_node_then_modify_json_then_import/srcbogusnode.stanza check:rc==0 cmd:sed -i 's/arch=ppc64/arch=ppc64le/g' /tmp/export_single_node_then_modify_json_then_import/srcbogusnode.stanza check:rc==0 @@ -1829,9 +1852,9 @@ cmd:scp /tmp/export_single_node_then_modify_json_then_import/bogusnode_json.inv check:rc==0 cmd:rmdef bogusnode check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode_json.inv -t node -o bogusnode' check:rc==0 -cmd: ssh $$DSTMN 'lsdef bogusnode -z |sort -t'=' -k1|tee /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/dstbogusnode.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef bogusnode -z |sort -t"=" -k1|tee /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/dstbogusnode.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_single_node_then_modify_json_then_import_$$DSTMN/dstbogusnode.stanza /tmp/export_single_node_then_modify_json_then_import/dstbogusnode.stanza check:rc==0 @@ -1839,35 +1862,36 @@ cmd: cat /tmp/export_single_node_then_modify_json_then_import/dstbogusnode.stanz check:rc==0 cmd:diff -y /tmp/export_single_node_then_modify_json_then_import/srcbogusnode.stanza /tmp/export_single_node_then_modify_json_then_import/dstbogusnode.stanza check:rc==0 -cmd:ssh $$DSTMN 'rmdef bogusnode' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef bogusnode' check:rc==0 cmd:if [[ -e /tmp/export_single_node_then_modify_json_then_import/bogusnode.stanza ]]; then cat /tmp/export_single_node_then_modify_json_then_import/bogusnode.stanza | mkdef -z;fi check:rc==0 cmd:if [[ -e /tmp/export_single_node_then_modify_json_then_import/bogusgroup.stanza ]]; then cat /tmp/export_single_node_then_modify_json_then_import/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusgroup.stanza ]]; then cat /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_single_node_then_modify_json_then_import_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_single_node_then_modify_json_then_import check:rc==0 end start:export_import_single_group_json +label:others,inventory_ci description:This case is used to test xcat-inventory export and import the definition of group cmd:mkdir -p /tmp/export_import_single_group_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_group_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_group_json_$$DSTMN/' check:rc==0 cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_single_group_json/bogusnode.stanza ;rmdef bogusnode$i;fi; done check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_group_json/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_single_group_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_single_group_json_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_group_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_group_json_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t group -o bogusgroup mgt=openbmc cons=openbmc netboot=petitboot ip='|\D+(\d+)|10.100.100.($1)|' bmcusername=root bmcpassword=0penBmc check:rc==0 @@ -1887,17 +1911,17 @@ cmd:rmdef -t node -o bogusnode[1-3] check:rc==0 cmd:rmdef -t group -o bogusgroup check:rc==0 -cmd:ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_group_json_$$DSTMN/export.file -t node -o bogusnode1,bogusnode2,bogusnode3,bogusgroup' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_group_json_$$DSTMN/export.file -t node -o bogusnode1,bogusnode2,bogusnode3,bogusgroup' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t node -o bogusnode[1-3] > /tmp/export_import_single_group_json_$$DSTMN/import_nodes_group' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t node -o bogusnode[1-3] > /tmp/export_import_single_group_json_$$DSTMN/import_nodes_group' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group -o bogusgroup >> /tmp/export_import_single_group_json_$$DSTMN/import_nodes_group' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group -o bogusgroup >> /tmp/export_import_single_group_json_$$DSTMN/import_nodes_group' check:rc==0 cmd:scp $$DSTMN:/tmp/export_import_single_group_json_$$DSTMN/import_nodes_group /tmp/export_import_single_group_json/import_nodes_group check:rc==0 -cmd:ssh $$DSTMN 'rmdef -t node -o bogusnode[1-3]' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t node -o bogusnode[1-3]' check:rc==0 -cmd: ssh $$DSTMN 'rmdef -t group -o bogusgroup' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t group -o bogusgroup' check:rc==0 cmd:sed -e 's/members=.*$/members='"$(awk -F = '/members=/ { print $2 }' < /tmp/export_import_single_group_json/import_nodes_group | tr , ' ' | xargs -n 1 | sort -g | xargs -n 999 | tr ' ' ,)"'/' < /tmp/export_import_single_group_json/import_nodes_group > /tmp/export_import_single_group_json/import_nodes_group.1; cp -rf /tmp/export_import_single_group_json/import_nodes_group.1 /tmp/export_import_single_group_json/import_nodes_group check:rc==0 @@ -1907,29 +1931,30 @@ cmd:if [[ -e /tmp/export_import_single_group_json/bogusnode.stanza ]]; then cat check:rc==0 cmd:if [[ -e /tmp/export_import_single_group_json/bogusgroup.stanza ]];then cat /tmp/export_import_single_group_json/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_group_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_group_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_group_json_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_group_json_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_group_json_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_single_group_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_group_json_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_single_group_json_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_group_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_group_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_group_json check:rc==0 end start:export_import_single_group_yaml +label:others,inventory_ci description:This case is used to test xcat-inventory export and import the definition of group cmd:mkdir -p /tmp/export_import_single_group_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_group_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_group_yaml_$$DSTMN/' check:rc==0 cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_single_group_yaml/bogusnode.stanza ;rmdef bogusnode$i;fi; done check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_group_yaml/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:ssh $$DSTMN 'for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_single_group_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode$i -z >> /tmp/export_import_single_group_yaml_$$DSTMN/bogusnode.stanza ;rmdef bogusnode$i;fi; done' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_group_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/export_import_single_group_yaml_$$DSTMN/bogusgroup.stanza; rmdef -t group bogusgroup;fi' check:rc==0 cmd:mkdef -t group -o bogusgroup mgt=openbmc cons=openbmc netboot=petitboot ip='|\D+(\d+)|10.100.100.($1)|' bmcusername=root bmcpassword=0penBmc check:rc==0 @@ -1949,17 +1974,17 @@ cmd:rmdef -t node -o bogusnode[1-3] check:rc==0 cmd:rmdef -t group -o bogusgroup check:rc==0 -cmd:ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_group_yaml_$$DSTMN/export.file -t node -o bogusnode1,bogusnode2,bogusnode3,bogusgroup' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_group_yaml_$$DSTMN/export.file -t node -o bogusnode1,bogusnode2,bogusnode3,bogusgroup' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t node -o bogusnode[1-3] > /tmp/export_import_single_group_yaml_$$DSTMN/import_nodes_group' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t node -o bogusnode[1-3] > /tmp/export_import_single_group_yaml_$$DSTMN/import_nodes_group' check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t group -o bogusgroup >> /tmp/export_import_single_group_yaml_$$DSTMN/import_nodes_group' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t group -o bogusgroup >> /tmp/export_import_single_group_yaml_$$DSTMN/import_nodes_group' check:rc==0 cmd:scp $$DSTMN:/tmp/export_import_single_group_yaml_$$DSTMN/import_nodes_group /tmp/export_import_single_group_yaml/import_nodes_group check:rc==0 -cmd:ssh $$DSTMN 'rmdef -t node -o bogusnode[1-3]' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t node -o bogusnode[1-3]' check:rc==0 -cmd: ssh $$DSTMN 'rmdef -t group -o bogusgroup' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t group -o bogusgroup' check:rc==0 cmd:sed -e 's/members=.*$/members='"$(awk -F = '/members=/ { print $2 }' < /tmp/export_import_single_group_yaml/import_nodes_group | tr , ' ' | xargs -n 1 | sort -g | xargs -n 999 | tr ' ' ,)"'/' < /tmp/export_import_single_group_yaml/import_nodes_group > /tmp/export_import_single_group_yaml/import_nodes_group.1; cp -rf /tmp/export_import_single_group_yaml/import_nodes_group.1 /tmp/export_import_single_group_yaml/import_nodes_group check:rc==0 @@ -1969,17 +1994,18 @@ cmd:if [[ -e /tmp/export_import_single_group_yaml/bogusnode.stanza ]]; then cat check:rc==0 cmd:if [[ -e /tmp/export_import_single_group_yaml/bogusgroup.stanza ]];then cat /tmp/export_import_single_group_yaml/bogusgroup.stanza |mkdef -z -f;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_group_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_group_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_group_yaml_$$DSTMN/bogusnode.stanza ]]; then cat /tmp/export_import_single_group_yaml_$$DSTMN/bogusnode.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_group_yaml_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_single_group_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_group_yaml_$$DSTMN/bogusgroup.stanza ]];then cat /tmp/export_import_single_group_yaml_$$DSTMN/bogusgroup.stanza |mkdef -z -f;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_group_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_group_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_group_yaml check:rc==0 end start:import_validation_node_obj_type +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "obj_type" attribute cmd:mkdir -p /tmp/import_validation_node_obj_type_bak check:rc==0 @@ -1987,13 +2013,13 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_obj_type_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "obj_type" "" "import_validation_node_obj_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "obj_type" "" "import_validation_node_obj_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "obj_type" "aaa" "import_validation_node_obj_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "obj_type" "aaa" "import_validation_node_obj_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "obj_type" "node" "import_validation_node_obj_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "obj_type" "node" "import_validation_node_obj_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "obj_type" "group" "import_validation_node_obj_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "obj_type" "group" "import_validation_node_obj_type" check:rc==0 cmd:if [[ -e /tmp/import_validation_node_obj_type_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_obj_type_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2004,6 +2030,7 @@ check:rc==0 end start:import_validation_node_obj_info_groups +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "obj_info.groups" attribute cmd:mkdir -p /tmp/import_validation_node_obj_info_groups_bak check:rc==0 @@ -2011,9 +2038,9 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_obj_info_groups_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "obj_info.groups" "" "import_validation_node_obj_info_groups" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "obj_info.groups" "" "import_validation_node_obj_info_groups" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "obj_info.groups" "aaa" "import_validation_node_obj_info_groups" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "obj_info.groups" "aaa" "import_validation_node_obj_info_groups" check:rc==0 cmd:if [[ -e /tmp/import_validation_node_obj_info_groups_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_obj_info_groups_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2024,6 +2051,7 @@ check:rc==0 end start:import_validation_node_device_type +label:others,xcat_inventory description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "device_type" attribute cmd:mkdir -p /tmp/import_validation_node_device_type_bak check:rc==0 @@ -2031,19 +2059,19 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_device_type_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "" "import_validation_node_device_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "aaa" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "aaa" "import_validation_node_device_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "switch" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "switch" "import_validation_node_device_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "pdu" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "pdu" "import_validation_node_device_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "rack" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "rack" "import_validation_node_device_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "hmc" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "hmc" "import_validation_node_device_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_type" "server" "import_validation_node_device_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_type" "server" "import_validation_node_device_type" check:rc==0 cmd:if [[ -e /tmp/import_validation_node_device_type_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_device_type_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2054,6 +2082,7 @@ check:rc==0 end start:import_validation_node_device_info_arch +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "device_info.arch" attribute cmd:mkdir -p /tmp/import_validation_node_device_info_arch_bak check:rc==0 @@ -2061,19 +2090,19 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_device_info_arch_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "" "import_validation_node_device_info_arch" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "aaa" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "aaa" "import_validation_node_device_info_arch" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "ppc64" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "ppc64" "import_validation_node_device_info_arch" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "ppc64el" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "ppc64el" "import_validation_node_device_info_arch" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "ppc64le" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "ppc64le" "import_validation_node_device_info_arch" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "x86_64" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "x86_64" "import_validation_node_device_info_arch" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "device_info.arch" "armv7l" "import_validation_node_device_info_arch" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "device_info.arch" "armv7l" "import_validation_node_device_info_arch" check:rc==0 cmd:if [[ -e /tmp/import_validation_node_device_info_arch_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_device_info_arch_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2084,6 +2113,7 @@ check:rc==0 end start:import_validation_node_security_info_snmp_securitylevel +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "security_info.snmp.securitylevel" attribute cmd:mkdir -p /tmp/import_validation_node_security_info_snmp_securitylevel_bak check:rc==0 @@ -2091,17 +2121,17 @@ cmd:lsdef boguspdu > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef boguspdu -z >/ check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_security_info_snmp_securitylevel_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "" "/tmp/import_validation_node_security_info_snmp_securitylevel" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "" "/tmp/import_validation_node_security_info_snmp_securitylevel" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "noAuthNoPriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "noAuthNoPriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "authNoPriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "authNoPriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "authPriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "authPriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "aaaaa" "/tmp/import_validation_node_security_info_snmp_securitylevel" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "aaaaa" "/tmp/import_validation_node_security_info_snmp_securitylevel" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "noauthnopriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.securitylevel" "noauthnopriv" "/tmp/import_validation_node_security_info_snmp_securitylevel" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_security_info_snmp_securitylevel_bak/boguspdu.stanza ]]; then cat /tmp/import_validation_node_security_info_snmp_securitylevel_bak/boguspdu.stanza | mkdef -z;fi check:rc==0 @@ -2112,6 +2142,7 @@ check:rc==0 end start:import_validation_node_security_info_snmp_authprotocol +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "security_info.snmp.authprotocol" attribute cmd:mkdir -p /tmp/import_validation_node_security_info_snmp_authprotocol_bak check:rc==0 @@ -2119,19 +2150,19 @@ cmd:lsdef boguspdu > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef boguspdu -z >/ check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_security_info_snmp_authprotocol_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "MD5" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "MD5" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "SHA" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "SHA" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "aaaa" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "aaaa" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "md5" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "md5" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "sha" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "sha" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "SHA256" "/tmp/import_validation_node_security_info_snmp_authprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "boguspdu" "security_info.snmp.authprotocol" "SHA256" "/tmp/import_validation_node_security_info_snmp_authprotocol" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_security_info_snmp_authprotocol_bak/boguspdu.stanza ]]; then cat /tmp/import_validation_node_security_info_snmp_authprotocol_bak/boguspdu.stanza | mkdef -z;fi check:rc==0 @@ -2143,6 +2174,7 @@ end start:import_validation_node_security_info_snmp_privacyprotocol +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "security_info.snmp.privacyprotocol" attribute cmd:mkdir -p /tmp/import_validation_node_security_info_snmp_privacyprotocol_bak check:rc==0 @@ -2150,17 +2182,17 @@ cmd:lsdef bogusswitch > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusswitch check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_security_info_snmp_privacyprotocol_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "AES" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "AES" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "DES" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "DES" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "authNoPriv" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "authNoPriv" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "authnopriv" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "authnopriv" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "aaaa" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.snmp.privacyprotocol" "aaaa" "/tmp/import_validation_node_security_info_snmp_privacyprotocol" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_security_info_snmp_privacyprotocol_bak/bogusswitch.stanza ]]; then cat /tmp/import_validation_node_security_info_snmp_privacyprotocol_bak/bogusswitch.stanza | mkdef -z;fi check:rc==0 @@ -2172,6 +2204,7 @@ end start:import_validation_node_security_info_remotecontrol_remoteprotocol +label:others,inventory_ci descrremoteprotocoltion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "security_info.remotecontrol.remoteprotocol" attribute cmd:mkdir -p /tmp/import_validation_node_security_info_remotecontrol_remoteprotocol_bak check:rc==0 @@ -2179,15 +2212,15 @@ cmd:lsdef bogusswitch > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusswitch check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_security_info_remotecontrol_remoteprotocol_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "telnet" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "telnet" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "ssh" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "ssh" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "SSH" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "SSH" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "aaa" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusswitch" "security_info.remotecontrol.remoteprotocol" "aaa" "/tmp/import_validation_node_security_info_remotecontrol_remoteprotocol" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_security_info_remotecontrol_remoteprotocol_bak/bogusswitch.stanza ]]; then cat /tmp/import_validation_node_security_info_remotecontrol_remoteprotocol_bak/bogusswitch.stanza | mkdef -z;fi check:rc==0 @@ -2198,6 +2231,7 @@ check:rc==0 end start:import_validation_node_network_info_primarynic_ip +label:others,inventory_ci description:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "network_info.primarynic.ip" attribute cmd:mkdir -p /tmp/import_validation_node_network_info_primarynic_ip_bak check:rc==0 @@ -2205,15 +2239,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_network_info_primarynic_ip_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "" "/tmp/import_validation_node_network_info_primarynic_ip" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "" "/tmp/import_validation_node_network_info_primarynic_ip" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "100.100.100.100" "/tmp/import_validation_node_network_info_primarynic_ip" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "100.100.100.100" "/tmp/import_validation_node_network_info_primarynic_ip" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "100.100.100.a" "/tmp/import_validation_node_network_info_primarynic_ip" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "100.100.100.a" "/tmp/import_validation_node_network_info_primarynic_ip" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "100.100" "/tmp/import_validation_node_network_info_primarynic_ip" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "100.100" "/tmp/import_validation_node_network_info_primarynic_ip" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "fe80::40d6:aff:fe03:508" "/tmp/import_validation_node_network_info_primarynic_ip" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.ip" "fe80::40d6:aff:fe03:508" "/tmp/import_validation_node_network_info_primarynic_ip" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_network_info_primarynic_ip_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_network_info_primarynic_ip_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2224,6 +2258,7 @@ check:rc==0 end start:import_validation_node_network_info_primarynic_mac +label:others,inventory_ci descrmaction:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "network_info.primarynic.mac" attribute cmd:mkdir -p /tmp/import_validation_node_network_info_primarynic_mac_bak check:rc==0 @@ -2231,13 +2266,13 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_network_info_primarynic_mac_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "" "/tmp/import_validation_node_network_info_primarynic_mac" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "" "/tmp/import_validation_node_network_info_primarynic_mac" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "42:d6:0a:03:05:08" "/tmp/import_validation_node_network_info_primarynic_mac" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "42:d6:0a:03:05:08" "/tmp/import_validation_node_network_info_primarynic_mac" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "42:6:a:03:05:08" "/tmp/import_validation_node_network_info_primarynic_mac" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "42:6:a:03:05:08" "/tmp/import_validation_node_network_info_primarynic_mac" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "42:d6:0a:03:05:08:05:08" "/tmp/import_validation_node_network_info_primarynic_mac" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.mac" "42:d6:0a:03:05:08:05:08" "/tmp/import_validation_node_network_info_primarynic_mac" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_network_info_primarynic_mac_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_network_info_primarynic_mac_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2248,6 +2283,7 @@ check:rc==0 end start:import_validation_node_nics_network_info_nics_ips +label:others,inventory_ci descrnics_network_info_nics_ipstion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "network_info.nics.ips" attribute cmd:mkdir -p /tmp/import_validation_node_nics_network_info_nics_ips_bak check:rc==0 @@ -2255,15 +2291,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_nics_network_info_nics_ips_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "" "/tmp/import_validation_node_nics_network_info_nics_ips" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "" "/tmp/import_validation_node_nics_network_info_nics_ips" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "['192.168.30.101','192.168.30.102']" "/tmp/import_validation_node_nics_network_info_nics_ips" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "['192.168.30.101','192.168.30.102']" "/tmp/import_validation_node_nics_network_info_nics_ips" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "|\D+(\d+)|30.0.0.($1%100)|" "/tmp/import_validation_node_nics_network_info_nics_ips" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "|\D+(\d+)|30.0.0.($1%100)|" "/tmp/import_validation_node_nics_network_info_nics_ips" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "10.10" "/tmp/import_validation_node_nics_network_info_nics_ips" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "10.10" "/tmp/import_validation_node_nics_network_info_nics_ips" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "aa" "/tmp/import_validation_node_nics_network_info_nics_ips" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.nics.eth0.ips" "aa" "/tmp/import_validation_node_nics_network_info_nics_ips" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_nics_network_info_nics_ips_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_nics_network_info_nics_ips_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2275,6 +2311,7 @@ end start:import_validation_node_network_info_primarynic_switchport +label:others,xcat_inventory descrswitchporttion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "network_info.primarynic.switchport" attribute cmd:mkdir -p /tmp/import_validation_node_network_info_primarynic_switchport_bak check:rc==0 @@ -2282,11 +2319,11 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_network_info_primarynic_switchport_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.switchport" "" "/tmp/import_validation_node_network_info_primarynic_switchport" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.switchport" "" "/tmp/import_validation_node_network_info_primarynic_switchport" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.switchport" "70" "/tmp/import_validation_node_network_info_primarynic_switchport" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.switchport" "70" "/tmp/import_validation_node_network_info_primarynic_switchport" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "network_info.primarynic.switchport" "a90" "/tmp/import_validation_node_network_info_primarynic_switchport" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "network_info.primarynic.switchport" "a90" "/tmp/import_validation_node_network_info_primarynic_switchport" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_network_info_primarynic_switchport_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_network_info_primarynic_switchport_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2298,6 +2335,7 @@ end start:import_validation_node_engines_hardware_mgt_engine_engine_type +label:others,inventory_ci descrengine_typetion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "engines.hardware_mgt_engine.engine_type" attribute cmd:mkdir -p /tmp/import_validation_node_engines_hardware_mgt_engine_engine_type_bak check:rc==0 @@ -2305,31 +2343,31 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_engines_hardware_mgt_engine_engine_type_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "openbmc" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "openbmc" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "ipmi" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "ipmi" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "hmc" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "hmc" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "fsp" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "fsp" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "kvm" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "kvm" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "mp" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "mp" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "bpa" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "bpa" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "ivm" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "ivm" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "blade" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "blade" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "HMC" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "HMC" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "OpenBMC" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "OpenBMC" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "aaa" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.hardware_mgt_engine.engine_type" "aaa" "/tmp/import_validation_node_engines_hardware_mgt_engine_engine_type" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_engines_hardware_mgt_engine_engine_type_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_engines_hardware_mgt_engine_engine_type_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2342,6 +2380,7 @@ end start:import_validation_node_engines_netboot_engine_engine_type +label:others,inventory_ci descrengine_typetion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "engines.netboot_engine.engine_type" attribute cmd:mkdir -p /tmp/import_validation_node_engines_netboot_engine_engine_type_bak check:rc==0 @@ -2349,21 +2388,21 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_engines_netboot_engine_engine_type_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "pxe" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "pxe" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "xnba" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "xnba" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "grub2" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "grub2" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "yaboot" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "yaboot" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "petitboot" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "petitboot" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "Grub2" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "Grub2" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "aaa" "/tmp/import_validation_node_engines_netboot_engine_engine_type" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "engines.netboot_engine.engine_type" "aaa" "/tmp/import_validation_node_engines_netboot_engine_engine_type" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_engines_netboot_engine_engine_type_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_engines_netboot_engine_engine_type_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2375,6 +2414,7 @@ end start:import_validation_node_role +label:others,xcat_inventory descrroletion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role" attribute cmd:mkdir -p /tmp/import_validation_node_role_bak check:rc==0 @@ -2382,15 +2422,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role" "compute" "/tmp/import_validation_node_role" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role" "compute" "/tmp/import_validation_node_role" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role" "service" "/tmp/import_validation_node_role" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role" "service" "/tmp/import_validation_node_role" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role" "" "/tmp/import_validation_node_role" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role" "" "/tmp/import_validation_node_role" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role" "Compute" "/tmp/import_validation_node_role" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role" "Compute" "/tmp/import_validation_node_role" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role" "aa" "/tmp/import_validation_node_role" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role" "aa" "/tmp/import_validation_node_role" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2401,6 +2441,7 @@ check:rc==0 end start:import_validation_node_role_info_setuptftp +label:others,inventory_ci descrsetuptftption:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setuptftp" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setuptftp_bak check:rc==0 @@ -2408,15 +2449,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setuptftp_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "" "/tmp/import_validation_node_role_info_setuptftp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "" "/tmp/import_validation_node_role_info_setuptftp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "0" "/tmp/import_validation_node_role_info_setuptftp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "0" "/tmp/import_validation_node_role_info_setuptftp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "1" "/tmp/import_validation_node_role_info_setuptftp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "1" "/tmp/import_validation_node_role_info_setuptftp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "aa" "/tmp/import_validation_node_role_info_setuptftp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "aa" "/tmp/import_validation_node_role_info_setuptftp" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "10" "/tmp/import_validation_node_role_info_setuptftp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setuptftp" "10" "/tmp/import_validation_node_role_info_setuptftp" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setuptftp_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setuptftp_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2427,6 +2468,7 @@ check:rc==0 end start:import_validation_node_role_info_setupnameserver +label:others,inventory_ci descrsetupnameservertion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupnameserver" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupnameserver_bak check:rc==0 @@ -2434,17 +2476,17 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupnameserver_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "" "/tmp/import_validation_node_role_info_setupnameserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "" "/tmp/import_validation_node_role_info_setupnameserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "0" "/tmp/import_validation_node_role_info_setupnameserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "0" "/tmp/import_validation_node_role_info_setupnameserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "1" "/tmp/import_validation_node_role_info_setupnameserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "1" "/tmp/import_validation_node_role_info_setupnameserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "2" "/tmp/import_validation_node_role_info_setupnameserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "2" "/tmp/import_validation_node_role_info_setupnameserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "3" "/tmp/import_validation_node_role_info_setupnameserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "3" "/tmp/import_validation_node_role_info_setupnameserver" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "a" "/tmp/import_validation_node_role_info_setupnameserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnameserver" "a" "/tmp/import_validation_node_role_info_setupnameserver" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupnameserver_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupnameserver_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2455,6 +2497,7 @@ end start:import_validation_node_role_info_setupdhcp +label:others,inventory_ci descrsetupdhcption:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupdhcp" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupdhcp_bak check:rc==0 @@ -2462,15 +2505,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupdhcp_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "" "/tmp/import_validation_node_role_info_setupdhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "" "/tmp/import_validation_node_role_info_setupdhcp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "0" "/tmp/import_validation_node_role_info_setupdhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "0" "/tmp/import_validation_node_role_info_setupdhcp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "1" "/tmp/import_validation_node_role_info_setupdhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "1" "/tmp/import_validation_node_role_info_setupdhcp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "2" "/tmp/import_validation_node_role_info_setupdhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "2" "/tmp/import_validation_node_role_info_setupdhcp" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "a" "/tmp/import_validation_node_role_info_setupdhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupdhcp" "a" "/tmp/import_validation_node_role_info_setupdhcp" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupdhcp_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupdhcp_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2480,6 +2523,7 @@ cmd:rm -rf /tmp/import_validation_node_role_info_setupdhcp_bak end start:import_validation_node_role_info_setupntp +label:others,inventory_ci descrsetupntption:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupntp" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupntp_bak check:rc==0 @@ -2487,15 +2531,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupntp_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "" "/tmp/import_validation_node_role_info_setupntp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "" "/tmp/import_validation_node_role_info_setupntp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "0" "/tmp/import_validation_node_role_info_setupntp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "0" "/tmp/import_validation_node_role_info_setupntp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "1" "/tmp/import_validation_node_role_info_setupntp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "1" "/tmp/import_validation_node_role_info_setupntp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "2" "/tmp/import_validation_node_role_info_setupntp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "2" "/tmp/import_validation_node_role_info_setupntp" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "a" "/tmp/import_validation_node_role_info_setupntp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupntp" "a" "/tmp/import_validation_node_role_info_setupntp" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupntp_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupntp_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2505,6 +2549,7 @@ cmd:rm -rf /tmp/import_validation_node_role_info_setupntp_bak end start:import_validation_node_role_info_setupldap +label:others,inventory_ci descrsetupldaption:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupldap" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupldap_bak check:rc==0 @@ -2512,15 +2557,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupldap_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "" "/tmp/import_validation_node_role_info_setupldap" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "" "/tmp/import_validation_node_role_info_setupldap" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "0" "/tmp/import_validation_node_role_info_setupldap" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "0" "/tmp/import_validation_node_role_info_setupldap" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "1" "/tmp/import_validation_node_role_info_setupldap" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "1" "/tmp/import_validation_node_role_info_setupldap" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "2" "/tmp/import_validation_node_role_info_setupldap" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "2" "/tmp/import_validation_node_role_info_setupldap" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "a" "/tmp/import_validation_node_role_info_setupldap" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupldap" "a" "/tmp/import_validation_node_role_info_setupldap" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupldap_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupldap_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2530,6 +2575,7 @@ cmd:rm -rf /tmp/import_validation_node_role_info_setupldap_bak end start:import_validation_node_role_info_setupproxydhcp +label:others,inventory_ci descrsetupproxydhcption:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupproxydhcp" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupproxydhcp_bak check:rc==0 @@ -2537,15 +2583,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupproxydhcp_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "" "/tmp/import_validation_node_role_info_setupproxydhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "" "/tmp/import_validation_node_role_info_setupproxydhcp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "0" "/tmp/import_validation_node_role_info_setupproxydhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "0" "/tmp/import_validation_node_role_info_setupproxydhcp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "1" "/tmp/import_validation_node_role_info_setupproxydhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "1" "/tmp/import_validation_node_role_info_setupproxydhcp" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "2" "/tmp/import_validation_node_role_info_setupproxydhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "2" "/tmp/import_validation_node_role_info_setupproxydhcp" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "a" "/tmp/import_validation_node_role_info_setupproxydhcp" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupproxydhcp" "a" "/tmp/import_validation_node_role_info_setupproxydhcp" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupproxydhcp_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupproxydhcp_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2555,6 +2601,7 @@ cmd:rm -rf /tmp/import_validation_node_role_info_setupproxydhcp_bak end start:import_validation_node_role_info_setupipforward +label:others,inventory_ci descrsetupipforwardtion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupipforward" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupipforward_bak check:rc==0 @@ -2562,15 +2609,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupipforward_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "" "/tmp/import_validation_node_role_info_setupipforward" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "" "/tmp/import_validation_node_role_info_setupipforward" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "0" "/tmp/import_validation_node_role_info_setupipforward" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "0" "/tmp/import_validation_node_role_info_setupipforward" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "1" "/tmp/import_validation_node_role_info_setupipforward" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "1" "/tmp/import_validation_node_role_info_setupipforward" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "2" "/tmp/import_validation_node_role_info_setupipforward" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "2" "/tmp/import_validation_node_role_info_setupipforward" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "a" "/tmp/import_validation_node_role_info_setupipforward" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupipforward" "a" "/tmp/import_validation_node_role_info_setupipforward" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupipforward_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupipforward_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2580,6 +2627,7 @@ cmd:rm -rf /tmp/import_validation_node_role_info_setupipforward_bak end start:import_validation_node_role_info_setupconserver +label:others,inventory_ci descrsetupnfstion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupconserver" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupconserver_bak check:rc==0 @@ -2587,17 +2635,17 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupconserver_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "" "/tmp/import_validation_node_role_info_setupconserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "" "/tmp/import_validation_node_role_info_setupconserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "0" "/tmp/import_validation_node_role_info_setupconserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "0" "/tmp/import_validation_node_role_info_setupconserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "1" "/tmp/import_validation_node_role_info_setupconserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "1" "/tmp/import_validation_node_role_info_setupconserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "2" "/tmp/import_validation_node_role_info_setupconserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "2" "/tmp/import_validation_node_role_info_setupconserver" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "3" "/tmp/import_validation_node_role_info_setupconserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "3" "/tmp/import_validation_node_role_info_setupconserver" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "a" "/tmp/import_validation_node_role_info_setupconserver" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupconserver" "a" "/tmp/import_validation_node_role_info_setupconserver" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupconserver_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupconserver_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 @@ -2609,6 +2657,7 @@ end start:import_validation_node_role_info_setupnfs +label:others,inventory_ci descrsetupconservertion:This case is used to test node validation function of xcat-inventory import yaml and json file. To test "role_info.setupnfs" attribute cmd:mkdir -p /tmp/import_validation_node_role_info_setupnfs_bak check:rc==0 @@ -2616,15 +2665,15 @@ cmd:lsdef bogusnode > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef bogusnode -z check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z > /tmp/import_validation_node_role_info_setupnfs_bak/bogusgroup.stanza; rmdef -t group bogusgroup;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "" "/tmp/import_validation_node_role_info_setupnfs" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "" "/tmp/import_validation_node_role_info_setupnfs" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "0" "/tmp/import_validation_node_role_info_setupnfs" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "0" "/tmp/import_validation_node_role_info_setupnfs" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "1" "/tmp/import_validation_node_role_info_setupnfs" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "1" "/tmp/import_validation_node_role_info_setupnfs" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "2" "/tmp/import_validation_node_role_info_setupnfs" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "2" "/tmp/import_validation_node_role_info_setupnfs" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "a" "/tmp/import_validation_node_role_info_setupnfs" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "node" "bogusnode" "role_info.setupnfs" "a" "/tmp/import_validation_node_role_info_setupnfs" check:rc!=0 cmd:if [[ -e /tmp/import_validation_node_role_info_setupnfs_bak/bogusnode.stanza ]]; then cat /tmp/import_validation_node_role_info_setupnfs_bak/bogusnode.stanza | mkdef -z;fi check:rc==0 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.osimage b/xCAT-test/autotest/testcase/xcat_inventory/cases.osimage similarity index 91% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.osimage rename to xCAT-test/autotest/testcase/xcat_inventory/cases.osimage index 27df1ce48..03965dafa 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.osimage +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.osimage @@ -1,13 +1,14 @@ start:export_import_single_osimage_by_yaml description:This case is used to test xcat-inventory export and import one linux osimage definition by yaml between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_osimage_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_osimage_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_osimage_by_yaml_$$DSTMN/' check:rc==0 cmd:lsdef -t osimage -o bogus_image >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_import_single_osimage_by_yaml/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' check:rc==0 cmd:chdef -t osimage -o bogus_image addkcmdline=addkcmdline boottarget=boottarget cfmdir=cfmdir crashkernelsize=crashkernelsize description=description driverupdatesrc=driverupdatesrc dump=dump exlist=exlist groups=groups imagename=imagename imagetype=linux isdeletable=isdeletable kerneldir=kerneldir kernelver=kernelver kitcomponents=kitcomponents krpmver=krpmver netdrivers=netdrivers nodebootif=nodebootif osarch=osarch osdistroname=osdistroname osname=osname osupdatename=osupdatename osvers=osvers otherifce=otherifce otherpkgdir=otherpkgdir otherpkglist=otherpkglist partitionfile=partitionfile permission=permission pkgdir=pkgdir pkglist=pkglist postbootscripts=postbootscripts postinstall=postinstall postscripts=postscripts profile=compute provmethod=netboot rootfstype=nfs rootimgdir=rootimgdir serverrole=serverrole synclists=synclists template=template usercomment=usercomment check:rc==0 @@ -19,23 +20,23 @@ cmd:scp /tmp/export_import_single_osimage_by_yaml/bogus_image.yaml $$DSTMN:/tmp/ check:rc==0 cmd: rmdef -t osimage -o bogus_image check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.yaml -t osimage -o bogus_image' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.yaml -t osimage -o bogus_image' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_import_single_osimage_by_yaml_$$DSTMN/dst_bogus_image.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_import_single_osimage_by_yaml_$$DSTMN/dst_bogus_image.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_osimage_by_yaml_$$DSTMN/dst_bogus_image.stanza /tmp/export_import_single_osimage_by_yaml/dst_bogus_image.stanza check:rc==0 cmd: cat /tmp/export_import_single_osimage_by_yaml/dst_bogus_image.stanza check:rc==0 -cmd:diff -y /tmp/export_import_single_osimage_by_yaml/src_bogus_osimage.stanza /tmp/export_import_single_osimage_by_yaml/dst_bogus_image.stanza +cmd:diff -y /tmp/export_import_single_osimage_by_yaml/src_bogus_osimage.stanza /tmp/export_import_single_osimage_by_yaml/dst_bogus_image.stanza -I "environvar" check:rc==0 -cmd:ssh $$DSTMN 'rmdef -t osimage -o bogus_image' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t osimage -o bogus_image' check:rc==0 cmd:if [[ -e /tmp/export_import_single_osimage_by_yaml/bogus_image.stanza ]]; then cat /tmp/export_import_single_osimage_by_yaml/bogus_image.stanza | mkdef -z;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_import_single_osimage_by_yaml_$$DSTMN/bogus_image.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_osimage_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_osimage_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_osimage_by_yaml check:rc==0 @@ -44,13 +45,14 @@ end start:export_import_single_osimage_by_json description:This case is used to test xcat-inventory export and import one linux osimage definition by json between 2 exact same MNs. Before running this case, make sure these two MNs have been installed same exactly, and the current MN can connect the other MN by ssh without password. This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_single_osimage_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_single_osimage_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_single_osimage_by_json_$$DSTMN/' check:rc==0 cmd:lsdef -t osimage -o bogus_image >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_import_single_osimage_by_json/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' check:rc==0 cmd:chdef -t osimage -o bogus_image addkcmdline=addkcmdline boottarget=boottarget cfmdir=cfmdir crashkernelsize=crashkernelsize description=description driverupdatesrc=driverupdatesrc dump=dump exlist=exlist groups=groups imagename=imagename imagetype=linux isdeletable=isdeletable kerneldir=kerneldir kernelver=kernelver kitcomponents=kitcomponents krpmver=krpmver netdrivers=netdrivers nodebootif=nodebootif osarch=osarch osdistroname=osdistroname osname=osname osupdatename=osupdatename osvers=osvers otherifce=otherifce otherpkgdir=otherpkgdir otherpkglist=otherpkglist partitionfile=partitionfile permission=permission pkgdir=pkgdir pkglist=pkglist postbootscripts=postbootscripts postinstall=postinstall postscripts=postscripts profile=compute provmethod=netboot rootfstype=nfs rootimgdir=rootimgdir serverrole=serverrole synclists=synclists template=template usercomment=usercomment check:rc==0 @@ -62,23 +64,23 @@ cmd:scp /tmp/export_import_single_osimage_by_json/bogus_image.json $$DSTMN:/tmp/ check:rc==0 cmd: rmdef -t osimage -o bogus_image check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.json -t osimage -o bogus_image' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.json -t osimage -o bogus_image' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_import_single_osimage_by_json_$$DSTMN/dst_bogus_image.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_import_single_osimage_by_json_$$DSTMN/dst_bogus_image.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_single_osimage_by_json_$$DSTMN/dst_bogus_image.stanza /tmp/export_import_single_osimage_by_json/dst_bogus_image.stanza check:rc==0 cmd: cat /tmp/export_import_single_osimage_by_json/dst_bogus_image.stanza check:rc==0 -cmd:diff -y /tmp/export_import_single_osimage_by_json/src_bogus_osimage.stanza /tmp/export_import_single_osimage_by_json/dst_bogus_image.stanza +cmd:diff -y /tmp/export_import_single_osimage_by_json/src_bogus_osimage.stanza /tmp/export_import_single_osimage_by_json/dst_bogus_image.stanza -I "environvar" check:rc==0 -cmd:ssh $$DSTMN 'rmdef -t osimage -o bogus_image' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t osimage -o bogus_image' check:rc==0 cmd:if [[ -e /tmp/export_import_single_osimage_by_json/bogus_image.stanza ]]; then cat /tmp/export_import_single_osimage_by_json/bogus_image.stanza | mkdef -z;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_import_single_osimage_by_json_$$DSTMN/bogus_image.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_single_osimage_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_single_osimage_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_single_osimage_by_json check:rc==0 @@ -87,6 +89,7 @@ end start:xcat_inventory_try_to_export_all_type_is_osimage_default_format +label:others,inventory_ci description:This case is used to test xcat-inventory export all definition which type is osimage by default format, i.e. json format. cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format check:rc==0 @@ -96,27 +99,27 @@ cmd:chdef -t osimage -o bogus_image addkcmdline=addkcmdline boottarget=boottarge check:rc==0 cmd:xcat-inventory export -t osimage |tee /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc==0 -cmd:grep ' "osimage": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd:grep "osimage:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc==0 -cmd:grep '"bogus_image": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd:grep "bogus_image:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc==0 -cmd: grep '"node": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep -w "node:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 -cmd: grep '"obj_type": "node",' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep "obj_type: node" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 -cmd: grep '"policy": {'' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep "policy:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 -cmd: grep '"passwd": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep "passwd:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 -cmd: grep '"network": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep "network:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 -cmd: grep '"route": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep "route:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 -cmd: grep '"site": {' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file +cmd: grep "site:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file check:rc!=0 cmd:lsdef -t osimage |tee /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/osimage_in_xcat_db check:rc==0 -cmd: a=0;for i in `awk -F' ' '{print $1}' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/osimage_in_xcat_db`; do if grep -E "\"$i\": {" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file > /dev/null; then ((a++));fi; done; do=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/osimage_in_xcat_db|wc -l);if [[ $do -eq $a ]]; then exit 0; else exit 1;fi +cmd: a=0;for i in `awk -F' ' '{print $1}' /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/osimage_in_xcat_db`; do if grep -E "$i:" /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/export.file > /dev/null; then ((a++));fi; done; do=$(cat /tmp/xcat_inventory_try_to_export_all_type_is_osimage_default_format/osimage_in_xcat_db|wc -l);if [[ $do -eq $a ]]; then exit 0; else exit 1;fi check:rc==0 cmd: rmdef -t osimage -o bogus_image check:rc==0 @@ -127,6 +130,7 @@ check:rc==0 end start:xcat_inventory_try_to_export_all_type_is_osimage_json_format +label:others,inventory_ci description:This case is used to test xcat-inventory export all definition which type is osimage by json format. cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_osimage_json_format check:rc==0 @@ -167,6 +171,7 @@ check:rc==0 end start:xcat_inventory_try_to_export_all_type_is_osimage_yaml_format +label:others,inventory_ci description:This case is used to test xcat-inventory export all definition which type is osimage by yaml format. cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_osimage_yaml_format check:rc==0 @@ -208,6 +213,7 @@ end start:xcat_inventory_try_to_import_all_type_is_osimage_yaml_format +label:others,inventory_ci description:This case is used to test xcat-inventory import all definition which type is osimage from a yaml file. cmd:mkdir -p /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format check:rc==0 @@ -431,7 +437,7 @@ cmd:xcat-inventory import -f /tmp/xcat_inventory_try_to_import_all_type_is_osima check:rc==0 cmd:lsdef -t osimage -l|sort > /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format/import_osimage check:rc==0 -cmd:diff -y /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format/target_osimage_sort /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format/import_osimage +cmd:diff -y /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format/target_osimage_sort /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format/import_osimage -I "environvar=OBJNAME=bogus_image" check:rc==0 cmd:lsdef -t node -l > /tmp/xcat_inventory_try_to_import_all_type_is_osimage_yaml_format/after_nodes_db check:rc==0 @@ -470,6 +476,7 @@ check:rc==0 end start:xcat_inventory_try_to_import_all_type_is_osimage_json_format +label:others,inventory_ci description:This case is used to test xcat-inventory import all definition which type is osimage from a json file. cmd:mkdir -p /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format check:rc==0 @@ -761,7 +768,7 @@ cmd:xcat-inventory import -f /tmp/xcat_inventory_try_to_import_all_type_is_osima check:rc==0 cmd:lsdef -t osimage -l|sort > /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format/import_osimage check:rc==0 -cmd:diff -y /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format/target_osimage_sort /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format/import_osimage +cmd:diff -y /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format/target_osimage_sort /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format/import_osimage -I "environvar=OBJNAME=bogus_image" check:rc==0 cmd:lsdef -t node -l > /tmp/xcat_inventory_try_to_import_all_type_is_osimage_json_format/after_nodes_db check:rc==0 @@ -802,14 +809,15 @@ end start:export_single_osimage_then_modify_json_then_import +label:others,inventory_ci description:This case is used to test xcat-inventory import a osimage , then modify the export json file, then import the json file cmd:mkdir -p /tmp/export_single_osimage_then_modify_json_then_import check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/' check:rc==0 cmd:lsdef -t osimage -o bogus_image >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_single_osimage_then_modify_json_then_import/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' check:rc==0 cmd:chdef -t osimage -o bogus_image addkcmdline=1111 boottarget=1111 cfmdir=1111 crashkernelsize=1111 description=1111 driverupdatesrc=1111 dump=1111 exlist=1111 groups=1111 imagename=1111 imagetype=linux isdeletable=1111 kerneldir=1111 kernelver=1111 kitcomponents=1111 krpmver=1111 netdrivers=1111 nodebootif=1111 osarch=1111 osdistroname=1111 osname=1111 osupdatename=1111 osvers=1111 otherifce=1111 otherpkgdir=1111 otherpkglist=1111 partitionfile=1111 permission=1111 pkgdir=1111 pkglist=1111 postbootscripts=1111 postinstall=1111 postscripts=1111 profile=compute provmethod=statelite rootfstype=nfs rootimgdir=1111 serverrole=1111 synclists=1111 template=1111 usercomment=1111 check:rc==0 @@ -835,37 +843,38 @@ cmd:scp /tmp/export_single_osimage_then_modify_json_then_import/bogus_image.json check:rc==0 cmd: rmdef -t osimage -o bogus_image check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.json -t osimage -o bogus_image' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.json -t osimage -o bogus_image' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/dst_bogus_image.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/dst_bogus_image.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/dst_bogus_image.stanza /tmp/export_single_osimage_then_modify_json_then_import/dst_bogus_image.stanza check:rc==0 cmd: cat /tmp/export_single_osimage_then_modify_json_then_import/dst_bogus_image.stanza check:rc==0 -cmd:diff -y /tmp/export_single_osimage_then_modify_json_then_import/src_bogus_osimage.stanza /tmp/export_single_osimage_then_modify_json_then_import/dst_bogus_image.stanza +cmd:diff -y /tmp/export_single_osimage_then_modify_json_then_import/src_bogus_osimage.stanza /tmp/export_single_osimage_then_modify_json_then_import/dst_bogus_image.stanza -I "environvar=OBJNAME=bogus_image" check:rc==0 -cmd:ssh $$DSTMN 'rmdef -t osimage -o bogus_image' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t osimage -o bogus_image' check:rc==0 cmd:if [[ -e /tmp/export_single_osimage_then_modify_json_then_import/bogus_image.stanza ]]; then cat /tmp/export_single_osimage_then_modify_json_then_import/bogus_image.stanza | mkdef -z;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/bogus_image.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_single_osimage_then_modify_json_then_import_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_single_osimage_then_modify_json_then_import check:rc==0 end start:export_single_osimage_then_modify_yaml_then_import +label:others,inventory_ci description:This case is used to test xcat-inventory import a osimage , then modify the export yaml file, then import the yaml file cmd:mkdir -p /tmp/export_single_osimage_then_modify_yaml_then_import check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/' check:rc==0 cmd:lsdef -t osimage -o bogus_image >/dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_single_osimage_then_modify_yaml_then_import/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image > /dev/null 2>&1; if [[ $? -eq 0 ]]; then lsdef -t osimage -o bogus_image -z >/tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.stanza ;rmdef -t osimage -o bogus_image;fi' check:rc==0 cmd:chdef -t osimage -o bogus_image addkcmdline=1111 boottarget=1111 cfmdir=1111 crashkernelsize=1111 description=1111 driverupdatesrc=1111 dump=1111 exlist=1111 groups=1111 imagename=1111 imagetype=linux isdeletable=1111 kerneldir=1111 kernelver=1111 kitcomponents=1111 krpmver=1111 netdrivers=1111 nodebootif=1111 osarch=1111 osdistroname=1111 osname=1111 osupdatename=1111 osvers=1111 otherifce=1111 otherpkgdir=1111 otherpkglist=1111 partitionfile=1111 permission=1111 pkgdir=1111 pkglist=1111 postbootscripts=1111 postinstall=1111 postscripts=1111 profile=compute provmethod=statelite rootfstype=nfs rootimgdir=1111 serverrole=1111 synclists=1111 template=1111 usercomment=1111 check:rc==0 @@ -891,23 +900,23 @@ cmd:scp /tmp/export_single_osimage_then_modify_yaml_then_import/bogus_image.yaml check:rc==0 cmd: rmdef -t osimage -o bogus_image check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.yaml -t osimage -o bogus_image' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.yaml -t osimage -o bogus_image' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/dst_bogus_image.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t osimage -o bogus_image -z |sort -t'=' -k1|tee /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/dst_bogus_image.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/dst_bogus_image.stanza /tmp/export_single_osimage_then_modify_yaml_then_import/dst_bogus_image.stanza check:rc==0 cmd: cat /tmp/export_single_osimage_then_modify_yaml_then_import/dst_bogus_image.stanza check:rc==0 -cmd:diff -y /tmp/export_single_osimage_then_modify_yaml_then_import/src_bogus_osimage.stanza /tmp/export_single_osimage_then_modify_yaml_then_import/dst_bogus_image.stanza +cmd:diff -y /tmp/export_single_osimage_then_modify_yaml_then_import/src_bogus_osimage.stanza /tmp/export_single_osimage_then_modify_yaml_then_import/dst_bogus_image.stanza -I "environvar=OBJNAME=bogus_image" check:rc==0 -cmd:ssh $$DSTMN 'rmdef -t osimage -o bogus_image' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rmdef -t osimage -o bogus_image' check:rc==0 cmd:if [[ -e /tmp/export_single_osimage_then_modify_yaml_then_import/bogus_image.stanza ]]; then cat /tmp/export_single_osimage_then_modify_yaml_then_import/bogus_image.stanza | mkdef -z;fi check:rc==0 -cmd:ssh $$DSTMN 'if [[ -e /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.stanza | mkdef -z;fi' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;if [[ -e /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.stanza ]]; then cat /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/bogus_image.stanza | mkdef -z;fi' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_single_osimage_then_modify_yaml_then_import_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_single_osimage_then_modify_yaml_then_import check:rc==0 @@ -915,6 +924,7 @@ end start:export_import_single_osimage_by_dir +label:others,inventory_ci description:This case is used to test xcat-inventory export and import one linux osimage definition by files. cmd:if [ -e /tmp/otherpkglist ]; then cp -f /tmp/otherpkglist /tmp/otherpkglist.bak; fi cmd:echo "test" >> /tmp/otherpkglist @@ -985,6 +995,7 @@ cmd:file="/tmp/partitionfile"; rm -rf $file; if [ -d ${file}".bak" ];then mv ${f end start:export_import_multiple_osimages_by_dir +label:others,xcat_inventory description:This case is used to test xcat-inventory export and import several linux osimages definition by dir. cmd:if [ -e /tmp/otherpkglist ]; then cp -f /tmp/otherpkglist /tmp/otherpkglist.bak; fi cmd:echo "test" >> /tmp/otherpkglist @@ -1116,6 +1127,7 @@ cmd:file="/opt/xcat/share/xcat/install/rh/template"; rm -rf $file; if [ -d ${fil end start:export_import_all_osimages_by_dir +label:others,xcat_inventory description:This case is used to test xcat-inventory export and import all linux osimage definition by files. cmd:lsdef -t osimage -z | tee /tmp/osimage.list check:rc==0 @@ -1196,12 +1208,8 @@ check:rc==0 cmd:rm -rf /tmp/otherpkglist /tmp/synclists /tmp/postinstall /tmp/exlist /tmp/pkglist /tmp/template /tmp/partitionfile cmd:xcat-inventory import -t osimage -d /opt/inventory/site check:rc==0 -check:output=~Importing object: test_myimage1 check:output=~Inventory import successfully! -check:output=~The object test_myimage1 has been imported -check:output=~Importing object: test_myimage2 check:output=~Inventory import successfully! -check:output=~The object test_myimage2 has been imported cmd:lsdef -t osimage -o test_myimage1,test_myimage2 check:rc==0 cmd:otherpkglist=`lsdef -t osimage -o test_myimage1 |grep otherpkglist|awk -F= '{print $2}'`;diff -y $otherpkglist /opt/inventory/site/osimage/test_myimage1$otherpkglist @@ -1237,7 +1245,6 @@ check:rc==0 cmd: if [ -e /tmp/test_myimage1.stanza ]; then cat /tmp/test_myimage1.stanza |mkdef -z;fi cmd: if [ -e /tmp/test_myimage2.stanza ]; then cat /tmp/test_myimage2.stanza |mkdef -z;fi cmd:dir="/opt/inventory/site/osimage"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi -cmd:dir="/opt/inventory/site/osimage"; rm -rf $dir; if [ -d ${dir}".bak" ];then mv ${dir}".bak" $dir; fi cmd:file="/tmp/otherpkglist"; rm -rf $file; if [ -d ${file}".bak" ];then mv ${file}".bak" $file; fi cmd:file="/tmp/synclists"; rm -rf $file; if [ -d ${file}".bak" ];then mv ${file}".bak" $file; fi cmd:file="/tmp/postinstall"; rm -rf $file; if [ -d ${file}".bak" ];then mv ${file}".bak" $file; fi @@ -1257,8 +1264,8 @@ cmd:if [ -e /tmp/osimages.bak ]; then mv -f /tmp/osimages.bak /tmp/osimages; fi end start:export_import_osimages_by_dir_with_c -description:This case is used to test xcat-inventory export and import linux osimage definition witch -c option. label:others,xcat_inventory +description:This case is used to test xcat-inventory export and import linux osimage definition witch -c option. cmd:dir="/tmp/export";if [ -e "${dir}" ];then mv ${dir} ${dir}".bak"; fi; mkdir -p $dir cmd:imgdir='/tmp/export';for img in $(lsdef -t osimage -s|awk -F' ' '{print $1}'); do lsdef -t osimage -o $img -z > $imgdir/${img}.stanza;done check:rc==0 @@ -1272,10 +1279,8 @@ check:output=~The osimage objects has been exported to directory /tmp/export cmd:ls -lFR /tmp/export cmd: xcat-inventory import -t osimage -d /tmp/export -c check:rc==0 -check:output=~Importing object: test_myimage1 check:output=~Inventory import successfully! check:output=~The object test_myimage1 has been imported -check:output=~Importing object: test_myimage2 check:output=~Inventory import successfully! check:output=~The object test_myimage2 has been imported cmd:lsdef -t osimage -o test_myimage1,test_myimage2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.osimage.import_from_osimage_dir b/xCAT-test/autotest/testcase/xcat_inventory/cases.osimage.import_from_osimage_dir similarity index 87% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.osimage.import_from_osimage_dir rename to xCAT-test/autotest/testcase/xcat_inventory/cases.osimage.import_from_osimage_dir index 237956de5..78a57f0b3 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.osimage.import_from_osimage_dir +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.osimage.import_from_osimage_dir @@ -1,5 +1,6 @@ start:export_import_an_osimage_directory description: import an osimage diretory with `xcat-inventroy import -d ` +label:others,xcat_inventory #backup any existing test_myimage cmd:mkdir -p /tmp/export_import_an_osimage_directory/backup check:rc==0 @@ -12,16 +13,16 @@ check:rc!=0 cmd:dir="/tmp/test_myimage";if [ -d "${dir}" ];then mv ${dir} ${dir}".old"; fi #import test_myimage -cmd: xcat-inventory import -d /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage +cmd: xcat-inventory import -d /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage check:rc==0 #check whether the osimage definition is created cmd: lsdef -t osimage -o test_myimage -z |tee /tmp/export_import_an_osimage_directory/test_myimage.stanza check:rc==0 -cmd: diff /tmp/export_import_an_osimage_directory/test_myimage.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza +cmd: diff /tmp/export_import_an_osimage_directory/test_myimage.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza -I "environvar" check: rc==0 #check whether the customized osimage files are imported -cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/ /tmp/test_myimage/ +cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/ /tmp/test_myimage/ check:rc==0 #cleanup @@ -38,6 +39,7 @@ end start:export_import_multiple_osimages_from_osimage_directory description: import multiple osimage diretories with `xcat-inventroy import -d ` +label:others,inventory_ci #backup any existing test_myimage,test_myimage2 cmd:mkdir -p /tmp/export_import_multiple_osimages_from_osimage_directory/backup check:rc==0 @@ -54,7 +56,7 @@ cmd:dir="/tmp/test_myimage";if [ -d "${dir}" ];then mv ${dir} ${dir}".old"; fi cmd:dir="/tmp/test_myimage2";if [ -d "${dir}" ];then mv ${dir} ${dir}".old"; fi #import osimages -cmd: xcat-inventory import -d /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/ +cmd: xcat-inventory import -d /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/ check:rc==0 #check whether the osimage definition is created @@ -62,14 +64,14 @@ cmd: lsdef -t osimage -o test_myimage -z | tee /tmp/export_import_multiple_osima check:rc==0 cmd: lsdef -t osimage -o test_myimage2 -z | tee /tmp/export_import_multiple_osimages_from_osimage_directory/test_myimage2.stanza check:rc==0 -cmd: diff /tmp/export_import_multiple_osimages_from_osimage_directory/test_myimage.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza +cmd: diff /tmp/export_import_multiple_osimages_from_osimage_directory/test_myimage.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza -I "environvar" check: rc==0 -cmd: diff /tmp/export_import_multiple_osimages_from_osimage_directory/test_myimage2.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/test_myimage2.stanza +cmd: diff /tmp/export_import_multiple_osimages_from_osimage_directory/test_myimage2.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/test_myimage2.stanza -I "environvar" check: rc==0 #check whether the customized osimage files are imported -cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/ /tmp/test_myimage/ +cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/ /tmp/test_myimage/ check:rc==0 -cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/ /tmp/test_myimage2/ +cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/ /tmp/test_myimage2/ check:rc==0 #cleanup @@ -91,6 +93,7 @@ end start:export_import_specified_from_osimage_directory description: import specified osimage from osimage diretory with `xcat-inventroy import -d -t osimage -o` +label:others,inventory_ci #backup any existing test_myimage cmd:mkdir -p /tmp/export_import_specified_from_osimage_directory/backup check:rc==0 @@ -103,16 +106,16 @@ check:rc!=0 cmd:dir="/tmp/test_myimage";if [ -d "${dir}" ];then mv ${dir} ${dir}".old"; fi #import test_myimage -cmd: xcat-inventory import -d /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/ -t osimage -o test_myimage +cmd: xcat-inventory import -d /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/ -t osimage -o test_myimage check:rc==0 #check whether the osimage definition is created cmd: lsdef -t osimage -o test_myimage -z |tee /tmp/export_import_specified_from_osimage_directory/test_myimage.stanza check:rc==0 -cmd: diff /tmp/export_import_specified_from_osimage_directory/test_myimage.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza +cmd: diff /tmp/export_import_specified_from_osimage_directory/test_myimage.stanza /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza -I "environvar" check: rc==0 #check whether the customized osimage files are imported -cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/ /tmp/test_myimage/ +cmd: diff -r /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/ /tmp/test_myimage/ check:rc==0 #cleanup diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.osimage.validation b/xCAT-test/autotest/testcase/xcat_inventory/cases.osimage.validation similarity index 72% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.osimage.validation rename to xCAT-test/autotest/testcase/xcat_inventory/cases.osimage.validation index 998fb2c0f..17eb0803e 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.osimage.validation +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.osimage.validation @@ -1,50 +1,50 @@ start: xcat_inventory_import_validation_osimage description: verify the validation mechanisom while importing osimage object - +label:others,inventory_ci cmd: rm -rf /tmp/xcat_inventory_import_validation_osimage cmd: mkdir -p /tmp/xcat_inventory_import_validation_osimage cmd: mkdir -p /tmp/xcat_inventory_import_validation_osimage/trash/ cmd: mkdir -p /tmp/xcat_inventory_import_validation_osimage/backup/ cmd: lsdef -t osimage -o testosimage1 -z 2>/dev/null >/tmp/xcat_inventory_import_validation_osimage/backup/testosimage1.stanza -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "role" "compute" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "role" "compute" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "role" "service" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "role" "service" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "role" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "role" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "role" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "role" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "imagetype" "windows" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "imagetype" "windows" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "imagetype" "linux" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "imagetype" "linux" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "imagetype" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "imagetype" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "imagetype" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "imagetype" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "provision_mode" "statelite" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "provision_mode" "statelite" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "provision_mode" "install" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "provision_mode" "install" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "provision_mode" "netboot" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "provision_mode" "netboot" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "provision_mode" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "provision_mode" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "provision_mode" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "provision_mode" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "nfs" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "nfs" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "ramdisk" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "ramdisk" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "invalid" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "osimage" "testosimage1" "genimgoptions.rootfstype" "" "/tmp/xcat_inventory_import_validation_osimage/trash/" check: rc==0 cmd: cat /tmp/xcat_inventory_import_validation_osimage/backup/testosimage1.stanza 2>/dev/null |mkdef -z -f diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.passwd b/xCAT-test/autotest/testcase/xcat_inventory/cases.passwd similarity index 78% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.passwd rename to xCAT-test/autotest/testcase/xcat_inventory/cases.passwd index a6a605d97..7361de49a 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.passwd +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.passwd @@ -1,26 +1,27 @@ start:xcat_inventory_import_validation_passwd description:This case is used to test passwd validation function of xcat-inventory import yaml and json file. To test "cryptmethod" attribute +label:others,inventory_ci cmd:tabdump -w 'key==autotest' passwd |grep autotest > /dev/null 2>&1;if [[ $? -eq 0 ]]; then xcat-inventory export -t passwd -o autotest >/tmp/xcat_inventory_import_validation_passwd_bak/autotest ;tabch -d 'key==autotest' passwd;fi check:rc==0 cmd:mkdir -p /tmp/xcat_inventory_import_validation_passwd_bak check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "passwd" "autotest" "cryptmethod" "" "/tmp/xcat_inventory_import_validation_passwd" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "passwd" "autotest" "cryptmethod" "" "/tmp/xcat_inventory_import_validation_passwd" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "passwd" "autotest" "cryptmethod" "md5" "/tmp/xcat_inventory_import_validation_passwd" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "passwd" "autotest" "cryptmethod" "md5" "/tmp/xcat_inventory_import_validation_passwd" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "passwd" "autotest" "cryptmethod" "sha256" "/tmp/xcat_inventory_import_validation_passwd" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "passwd" "autotest" "cryptmethod" "sha256" "/tmp/xcat_inventory_import_validation_passwd" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "passwd" "autotest" "cryptmethod" "sha512" "/tmp/xcat_inventory_import_validation_passwd" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "passwd" "autotest" "cryptmethod" "sha512" "/tmp/xcat_inventory_import_validation_passwd" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "passwd" "autotest" "cryptmethod" "a.a" "/tmp/xcat_inventory_import_validation_passwd" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "passwd" "autotest" "cryptmethod" "a.a" "/tmp/xcat_inventory_import_validation_passwd" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "passwd" "autotest" "cryptmethod" "MD5" "/tmp/xcat_inventory_import_validation_passwd" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "passwd" "autotest" "cryptmethod" "MD5" "/tmp/xcat_inventory_import_validation_passwd" check:rc!=0 cmd:if [[ -e /tmp/xcat_inventory_import_validation_passwd_bak/autotest ]]; then xcat-inventory import -f /tmp/xcat_inventory_import_validation_passwd_bak/autotest; fi diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.route b/xCAT-test/autotest/testcase/xcat_inventory/cases.route similarity index 79% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.route rename to xCAT-test/autotest/testcase/xcat_inventory/cases.route index eb070b3e5..e5ea12365 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.route +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.route @@ -1,23 +1,24 @@ start:xcat_inventory_import_validation_route description:This case is used to test route validation function of xcat-inventory import yaml and json file. To test "net" and "mask" attributes +label:others,inventory_ci cmd:mkdir -p /tmp/xcat_inventory_import_validation_route_bak check:rc==0 cmd:lsdef -t route -o autotestnet > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t route -o autotestnet -z >/tmp/xcat_inventory_import_validation_route_bak/autotestnet.stanza ;rmdef -t route -o autotestnet;fi check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "route" "autotestnet" "net" "200.0.0.0" "/tmp/xcat_inventory_import_validation_route" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "route" "autotestnet" "net" "200.0.0.0" "/tmp/xcat_inventory_import_validation_route" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "route" "autotestnet" "net" "200.0" "/tmp/xcat_inventory_import_validation_route" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "route" "autotestnet" "net" "200.0" "/tmp/xcat_inventory_import_validation_route" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "route" "autotestnet" "net" "" "/tmp/xcat_inventory_import_validation_route" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "route" "autotestnet" "net" "" "/tmp/xcat_inventory_import_validation_route" check:rc!=0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "route" "autotestnet" "net" "default" "/tmp/xcat_inventory_import_validation_route" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "route" "autotestnet" "net" "default" "/tmp/xcat_inventory_import_validation_route" check:rc==0 -cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "route" "autotestnet" "net" "abc.345.123.202" "/tmp/xcat_inventory_import_validation_route" +cmd:/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "route" "autotestnet" "net" "abc.345.123.202" "/tmp/xcat_inventory_import_validation_route" check:rc!=0 cmd:if [[ -e /tmp/xcat_inventory_import_validation_route_bak/autotestnet.stanza ]]; then cat /tmp/xcat_inventory_import_validation_route_bak/autotestnet.stanza | mkdef -z;fi diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.site b/xCAT-test/autotest/testcase/xcat_inventory/cases.site similarity index 89% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.site rename to xCAT-test/autotest/testcase/xcat_inventory/cases.site index c123b1c6c..4042ccfaf 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.site +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.site @@ -1,13 +1,14 @@ start:export_import_site_by_yaml description:This case is used to test xcat-inventory export and import site table by yaml between 2 excat same MNs. Before running this case, make sure these two MNs have been installed same excatly, and the current MN can connect the other MN by ssh without password.This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_site_by_yaml check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_site_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_site_by_yaml_$$DSTMN/' check:rc==0 cmd: lsdef -t site -o clustersite -z >/tmp/export_import_site_by_yaml/site.stanza check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t site -o clustersite -z >/tmp/export_import_site_by_yaml_$$DSTMN/site.stanza ' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z >/tmp/export_import_site_by_yaml_$$DSTMN/site.stanza ' check:rc==0 cmd:mnip=$(lsdef -t site -o clustersite -i master -c|awk -F'=' '{print $2}');chdef -t site -o clustersite useSSHonAIX=0 useNFSv4onAIX=0 FQDNfirst=1 SNsyncfiledir='/var/xcat/syncfiles' auditnosyslog=0 auditskipcmds=ALL blademaxp=64 cleanupxcatpost=no consoleondemand=no databaseloc='/var/lib' db2installloc='/mntdb2' dbtracelevel=0 defserialflow=0 defserialport=0 defserialspeed=9600 dhcpinterfaces=eth0 dhcplease=43200 dhcpsetup=n disjointdhcps=1 dnshandler=ddns dnsinterfaces='xcatmn|eth1,eth2;service|bond0' dnsupdaters=dnsupdaters domain='pok.stglabs.ibm.com' enableASMI=no excludenodes=excludenodes externaldns=externaldns extntpservers=extntpservers forwarders=$mnip fsptimeout=0 genmacprefix='00:11:aa' genpasswords=genpasswords hierarchicalattrs=hierarchicalattrs httpport=80 hwctrldispatch=y installdir='/install/' installloc='hostname:/path' ipmidispatch=y ipmimaxp=64 ipmiretries=3 ipmisdrcache=no ipmitimeout=2 iscsidir='/iscsidir' managedaddressmode=dhcp master=$mnip maxssh=8 mnroutenames=mnroutenames nameservers=$mnip nmapoptions='--min-rtt-timeout' nodestatus=n nodesyncfiledir='/var/xcat/node/syncfiles' ntpservers=$mnip persistkvmguests=y powerinterval=0 ppcmaxp=64 ppcretry=3 ppctimeout=0 precreatemypostscripts=1 pruneservices=1 runbootscripts=yes setinstallnic=1 sharedinstall=no sharedtftp=1 skiptables=nics skipvalidatelog=1 snmpc=snmpc sshbetweennodes=ALLGROUPS svloglocal=1 syspowerinterval=10 syspowermaxnodes=10 tftpdir='/tftprot/' tftpflags='-v' timezone='America/New_York' useNmapfromMN=no useflowcontrol=no usexhrm=no vcenterautojoin=no vmwarereconfigonpower=no vsftp=n xcatconfdir='/etc/xcat' xcatdebugmode=1 xcatdport=3001 xcatiport=3002 xcatlport=3003 xcatmaxbatchconnections=64 xcatmaxconnections=60 xcatsslciphers='3DES' xcatsslversion=TLSv1 check:rc==0 @@ -21,9 +22,9 @@ cmd:cat /tmp/export_import_site_by_yaml/export_site_yaml.inv check:rc==0 cmd:scp /tmp/export_import_site_by_yaml/export_site_yaml.inv $$DSTMN:/tmp/export_import_site_by_yaml_$$DSTMN/ check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_site_by_yaml_$$DSTMN/export_site_yaml.inv -t site -o clustersite' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_site_by_yaml_$$DSTMN/export_site_yaml.inv -t site -o clustersite' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_import_site_by_yaml_$$DSTMN/dstsite.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_import_site_by_yaml_$$DSTMN/dstsite.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_site_by_yaml_$$DSTMN/dstsite.stanza /tmp/export_import_site_by_yaml/dstsite.stanza check:rc==0 @@ -35,9 +36,9 @@ cmd:diff -y --ignore-blank-lines /tmp/export_import_site_by_yaml/srcsite.stanza check:rc==0 cmd:cat /tmp/export_import_site_by_yaml/site.stanza | mkdef -z -f check:rc==0 -cmd:ssh $$DSTMN 'cat /tmp/export_import_site_by_yaml_$$DSTMN/site.stanza | mkdef -z -f' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;cat /tmp/export_import_site_by_yaml_$$DSTMN/site.stanza | mkdef -z -f' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_site_by_yaml_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_site_by_yaml_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_site_by_yaml check:rc==0 @@ -47,13 +48,14 @@ end start:export_import_site_by_json description:This case is used to test xcat-inventory export and import site table by json between 2 excat same MNs. Before running this case, make sure these two MNs have been installed same excatly, and the current MN can connect the other MN by ssh without password.This case also can be run in one MN, this is, export from currnet node then import back to currnet node, in this case, just need to set $$DSTMN= Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_import_site_by_json check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_import_site_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_import_site_by_json_$$DSTMN/' check:rc==0 cmd: lsdef -t site -o clustersite -z >/tmp/export_import_site_by_json/site.stanza check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t site -o clustersite -z >/tmp/export_import_site_by_json_$$DSTMN/site.stanza ' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z >/tmp/export_import_site_by_json_$$DSTMN/site.stanza ' check:rc==0 cmd:mnip=$(lsdef -t site -o clustersite -i master -c|awk -F'=' '{print $2}');chdef -t site -o clustersite useSSHonAIX=0 useNFSv4onAIX=0 FQDNfirst=1 SNsyncfiledir='/var/xcat/syncfiles' auditnosyslog=0 auditskipcmds=ALL blademaxp=64 cleanupxcatpost=no consoleondemand=no databaseloc='/var/lib' db2installloc='/mntdb2' dbtracelevel=0 defserialflow=0 defserialport=0 defserialspeed=9600 dhcpinterfaces=eth0 dhcplease=43200 dhcpsetup=n disjointdhcps=1 dnshandler=ddns dnsinterfaces='xcatmn|eth1,eth2;service|bond0' dnsupdaters=dnsupdaters domain='pok.stglabs.ibm.com' enableASMI=no excludenodes=excludenodes externaldns=externaldns extntpservers=extntpservers forwarders=$mnip fsptimeout=0 genmacprefix='00:11:aa' genpasswords=genpasswords hierarchicalattrs=hierarchicalattrs httpport=80 hwctrldispatch=y installdir='/install/' installloc='hostname:/path' ipmidispatch=y ipmimaxp=64 ipmiretries=3 ipmisdrcache=no ipmitimeout=2 iscsidir='/iscsidir' managedaddressmode=dhcp master=$mnip maxssh=8 mnroutenames=mnroutenames nameservers=$mnip nmapoptions='--min-rtt-timeout' nodestatus=n nodesyncfiledir='/var/xcat/node/syncfiles' ntpservers=$mnip persistkvmguests=y powerinterval=0 ppcmaxp=64 ppcretry=3 ppctimeout=0 precreatemypostscripts=1 pruneservices=1 runbootscripts=yes setinstallnic=1 sharedinstall=no sharedtftp=1 skiptables=nics skipvalidatelog=1 snmpc=snmpc sshbetweennodes=ALLGROUPS svloglocal=1 syspowerinterval=10 syspowermaxnodes=10 tftpdir='/tftprot/' tftpflags='-v' timezone='America/New_York' useNmapfromMN=no useflowcontrol=no usexhrm=no vcenterautojoin=no vmwarereconfigonpower=no vsftp=n xcatconfdir='/etc/xcat' xcatdebugmode=1 xcatdport=3001 xcatiport=3002 xcatlport=3003 xcatmaxbatchconnections=64 xcatmaxconnections=60 xcatsslciphers='3DES' xcatsslversion=TLSv1 check:rc==0 @@ -67,9 +69,9 @@ cmd:cat /tmp/export_import_site_by_json/export_site_json.inv check:rc==0 cmd:scp /tmp/export_import_site_by_json/export_site_json.inv $$DSTMN:/tmp/export_import_site_by_json_$$DSTMN/ check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_import_site_by_json_$$DSTMN/export_site_json.inv -t site -o clustersite' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_import_site_by_json_$$DSTMN/export_site_json.inv -t site -o clustersite' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_import_site_by_json_$$DSTMN/dstsite.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_import_site_by_json_$$DSTMN/dstsite.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_import_site_by_json_$$DSTMN/dstsite.stanza /tmp/export_import_site_by_json/dstsite.stanza check:rc==0 @@ -81,9 +83,9 @@ cmd:diff -y --ignore-blank-lines /tmp/export_import_site_by_json/srcsite.stanza check:rc==0 cmd:cat /tmp/export_import_site_by_json/site.stanza | mkdef -z -f check:rc==0 -cmd:ssh $$DSTMN 'cat /tmp/export_import_site_by_json_$$DSTMN/site.stanza | mkdef -z -f' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;cat /tmp/export_import_site_by_json_$$DSTMN/site.stanza | mkdef -z -f' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_import_site_by_json_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_import_site_by_json_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_import_site_by_json check:rc==0 @@ -91,6 +93,7 @@ end start:xcat_inventory_try_to_export_all_type_is_site_default_format +label:others,xcat_inventory description:This case is used to test xcat-inventory export all definition which type is site to default file. I.e. json file cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_site_default_format check:rc==0 @@ -99,100 +102,98 @@ check:rc==0 cmd:mnip=$(lsdef -t site -o clustersite -i master -c|awk -F'=' '{print $2}');chdef -t site -o clustersite useSSHonAIX=0 useNFSv4onAIX=0 FQDNfirst=1 SNsyncfiledir='/var/xcat/syncfiles' auditnosyslog=0 auditskipcmds=ALL blademaxp=64 cleanupxcatpost=no consoleondemand=no databaseloc='/var/lib' db2installloc='/mntdb2' dbtracelevel=0 defserialflow=0 defserialport=0 defserialspeed=9600 dhcpinterfaces=eth0 dhcplease=43200 dhcpsetup=n disjointdhcps=1 dnshandler=ddns dnsinterfaces='xcatmn|eth1,eth2;service|bond0' dnsupdaters=dnsupdaters domain='pok.stglabs.ibm.com' enableASMI=no excludenodes=excludenodes externaldns=externaldns extntpservers=extntpservers forwarders=$mnip fsptimeout=0 genmacprefix='00:11:aa' genpasswords=genpasswords hierarchicalattrs=hierarchicalattrs httpport=80 hwctrldispatch=y installdir='/install/' installloc='hostname:/path' ipmidispatch=y ipmimaxp=64 ipmiretries=3 ipmisdrcache=no ipmitimeout=2 iscsidir='/iscsidir' managedaddressmode=dhcp master=$mnip maxssh=8 mnroutenames=mnroutenames nameservers=$mnip nmapoptions='--min-rtt-timeout' nodestatus=n nodesyncfiledir='/var/xcat/node/syncfiles' ntpservers=$mnip persistkvmguests=y powerinterval=0 ppcmaxp=64 ppcretry=3 ppctimeout=0 precreatemypostscripts=1 pruneservices=1 runbootscripts=yes setinstallnic=1 sharedinstall=no sharedtftp=1 skiptables=nics skipvalidatelog=1 snmpc=snmpc sshbetweennodes=ALLGROUPS svloglocal=1 syspowerinterval=10 syspowermaxnodes=10 tftpdir='/tftprot/' tftpflags='-v' timezone='America/New_York' useNmapfromMN=no useflowcontrol=no usexhrm=no vcenterautojoin=no vmwarereconfigonpower=no vsftp=n xcatconfdir='/etc/xcat' xcatdebugmode=1 xcatdport=3001 xcatiport=3002 xcatlport=3003 xcatmaxbatchconnections=64 xcatmaxconnections=60 xcatsslciphers='3DES' xcatsslversion=TLSv1 check:rc==0 cmd:#!/bin/bash -echo '{ - "schema_version": "1.0", - "site": { - "clustersite": { - "FQDNfirst": "1", - "SNsyncfiledir": "/var/xcat/syncfiles", - "auditnosyslog": "0", - "auditskipcmds": "ALL", - "blademaxp": "64", - "cleanupxcatpost": "no", - "consoleondemand": "no", - "databaseloc": "/var/lib", - "db2installloc": "/mntdb2", - "dbtracelevel": "0", - "defserialflow": "0", - "defserialport": "0", - "defserialspeed": "9600", - "dhcpinterfaces": "eth0", - "dhcplease": "43200", - "dhcpsetup": "n", - "disjointdhcps": "1", - "dnshandler": "ddns", - "dnsinterfaces": "xcatmn|eth1,eth2;service|bond0", - "dnsupdaters": "dnsupdaters", - "domain": "pok.stglabs.ibm.com", - "enableASMI": "no", - "excludenodes": "excludenodes", - "externaldns": "externaldns", - "extntpservers": "extntpservers", - "forwarders": "10.3.5.8", - "fsptimeout": "0", - "genmacprefix": "00:11:aa", - "genpasswords": "genpasswords", - "hierarchicalattrs": "hierarchicalattrs", - "httpport": "80", - "hwctrldispatch": "y", - "installdir": "/install/", - "installloc": "hostname:/path", - "ipmidispatch": "y", - "ipmimaxp": "64", - "ipmiretries": "3", - "ipmisdrcache": "no", - "ipmitimeout": "2", - "iscsidir": "/iscsidir", - "managedaddressmode": "dhcp", - "master": "10.3.5.8", - "maxssh": "8", - "mnroutenames": "mnroutenames", - "nameservers": "10.3.5.8", - "nmapoptions": "--min-rtt-timeout", - "nodestatus": "n", - "nodesyncfiledir": "/var/xcat/node/syncfiles", - "ntpservers": "10.3.5.8", - "persistkvmguests": "y", - "powerinterval": "0", - "ppcmaxp": "64", - "ppcretry": "3", - "ppctimeout": "0", - "precreatemypostscripts": "1", - "pruneservices": "1", - "runbootscripts": "yes", - "setinstallnic": "1", - "sharedinstall": "no", - "sharedtftp": "1", - "skiptables": "nics", - "skipvalidatelog": "1", - "snmpc": "snmpc", - "sshbetweennodes": "ALLGROUPS", - "svloglocal": "1", - "syspowerinterval": "10", - "syspowermaxnodes": "10", - "tftpdir": "/tftprot/", - "tftpflags": "-v", - "timezone": "America/New_York", - "useNFSv4onAIX": "0", - "useNmapfromMN": "no", - "useSSHonAIX": "0", - "useflowcontrol": "no", - "usexhrm": "no", - "vcenterautojoin": "no", - "vmwarereconfigonpower": "no", - "vsftp": "n", - "xcatconfdir": "/etc/xcat", - "xcatdebugmode": "1", - "xcatdport": "3001", - "xcatiport": "3002", - "xcatlport": "3003", - "xcatmaxbatchconnections": "64", - "xcatmaxconnections": "60", - "xcatsslciphers": "3DES", - "xcatsslversion": "TLSv1" - } - } -}' > /tmp/xcat_inventory_try_to_export_all_type_is_site_default_format/site.org +echo " + schema_version: '2.0' + site: + clustersite: + FQDNfirst: '1' + SNsyncfiledir: /var/xcat/syncfiles + auditnosyslog: '0' + auditskipcmds: ALL + blademaxp: '64' + cleanupxcatpost: 'no' + consoleondemand: 'no' + databaseloc: /var/lib + db2installloc: /mntdb2 + dbtracelevel: '0' + defserialflow: '0' + defserialport: '0' + defserialspeed: '9600' + dhcpinterfaces: eth0 + dhcplease: '43200' + dhcpsetup: n + disjointdhcps: '1' + dnshandler: ddns + dnsinterfaces: xcatmn|eth1,eth2;service|bond0 + dnsupdaters: dnsupdaters + domain: pok.stglabs.ibm.com + enableASMI: 'no' + excludenodes: excludenodes + externaldns: externaldns + extntpservers: extntpservers + forwarders: 10.3.1.13 + fsptimeout: '0' + genmacprefix: 00:11:aa + genpasswords: genpasswords + hierarchicalattrs: hierarchicalattrs + httpport: '80' + hwctrldispatch: y + installdir: /install/ + installloc: hostname:/path + ipmidispatch: y + ipmimaxp: '64' + ipmiretries: '3' + ipmisdrcache: 'no' + ipmitimeout: '2' + iscsidir: /iscsidir + managedaddressmode: dhcp + master: 10.3.1.13 + maxssh: '8' + mnroutenames: mnroutenames + nameservers: 10.3.1.13 + nmapoptions: --min-rtt-timeout + nodestatus: n + nodesyncfiledir: /var/xcat/node/syncfiles + ntpservers: 10.3.1.13 + persistkvmguests: y + powerinterval: '0' + ppcmaxp: '64' + ppcretry: '3' + ppctimeout: '0' + precreatemypostscripts: '1' + pruneservices: '1' + runbootscripts: 'yes' + setinstallnic: '1' + sharedinstall: 'no' + sharedtftp: '1' + skiptables: nics + skipvalidatelog: '1' + snmpc: snmpc + sshbetweennodes: ALLGROUPS + svloglocal: '1' + syspowerinterval: '10' + syspowermaxnodes: '10' + tftpdir: /tftprot/ + tftpflags: -v + timezone: America/New_York + useNFSv4onAIX: '0' + useNmapfromMN: 'no' + useSSHonAIX: '0' + useflowcontrol: 'no' + usexhrm: 'no' + vcenterautojoin: 'no' + vmwarereconfigonpower: 'no' + vsftp: n + xcatconfdir: /etc/xcat + xcatdebugmode: '1' + xcatdport: '3001' + xcatiport: '3002' + xcatlport: '3003' + xcatmaxbatchconnections: '64' + xcatmaxconnections: '60' + xcatsslciphers: 3DES + xcatsslversion: TLSv1 + " > /tmp/xcat_inventory_try_to_export_all_type_is_site_default_format/site.org cmd:mnip=$(lsdef -t site -o clustersite -i master -c|awk -F'=' '{print $2}');sed -i "s/10.3.5.8/$mnip/g" /tmp/xcat_inventory_try_to_export_all_type_is_site_default_format/site.org check:rc==0 cmd:xcat-inventory export -t site |tee /tmp/xcat_inventory_try_to_export_all_type_is_site_default_format/site.export @@ -207,6 +208,7 @@ check:rc==0 end start:xcat_inventory_try_to_export_all_type_is_site_json_format +label:others,inventory_ci description:This case is used to test xcat-inventory export all definition which type is site to default file. I.e. json file cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format check:rc==0 @@ -314,7 +316,7 @@ check:rc==0 cmd:xcat-inventory export --format=json -t site |tee /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format/site.export check:rc==0 cmd:#!/bin/bash -diff -y --ignore-blank-lines --ignore-matching-lines="^#" /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format/site.org /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format/site.export +diff -y --ignore-blank-lines --ignore-matching-lines="^#" --ignore-matching-lines="schema_version" /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format/site.org /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format/site.export check:rc==0 cmd:cat /tmp/xcat_inventory_try_to_export_all_type_is_site_json_format/site.stanza | mkdef -z -f check:rc==0 @@ -323,6 +325,7 @@ check:rc==0 end start:xcat_inventory_try_to_export_all_type_is_site_yaml_format +label:others,inventory_ci description:This case is used to test xcat-inventory export all definition which type is site to default file. I.e. json file cmd:mkdir -p /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format check:rc==0 @@ -426,7 +429,7 @@ check:rc==0 cmd:xcat-inventory export --format=yaml -t site|sed -e '/^\s*$/d' |tee /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format/site.export check:rc==0 cmd:#!/bin/bash -diff -y --ignore-blank-lines --ignore-matching-lines="^#" /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format/site.org /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format/site.export +diff -y --ignore-blank-lines --ignore-matching-lines="^#" --ignore-matching-lines="schema_version" /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format/site.org /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format/site.export check:rc==0 cmd:cat /tmp/xcat_inventory_try_to_export_all_type_is_site_yaml_format/site.stanza | mkdef -z -f check:rc==0 @@ -436,6 +439,7 @@ end start:xcat_inventory_try_to_import_all_type_is_site_json_format +label:others,inventory_ci description:This case is used to test xcat-inventory impport all definition which type is site from json file. cmd:mkdir -p /tmp/xcat_inventory_try_to_import_all_type_is_site_json_format check:rc==0 @@ -445,8 +449,7 @@ cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; the check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z >> /tmp/xcat_inventory_try_to_import_all_type_is_site_json_format/bogusnode.stanza;rmdef -t group bogusgroup; fi check:rc==0 -cmd:#!/usr/bin/bash -echo '{ +cmd:echo '{ "network": { "100_0_0_0-255_0_0_0": { "basic_attr": { @@ -743,8 +746,7 @@ echo '{ } }' > /tmp/xcat_inventory_try_to_import_all_type_is_site_json_format/json.test check:rc==0 -cmd:#!/bin/bash -echo "Object name: clustersite +cmd:echo "Object name: clustersite FQDNfirst=1 SNsyncfiledir=/var/xcat/syncfiles auditnosyslog=0 @@ -866,6 +868,7 @@ check:rc==0 end start:xcat_inventory_try_to_import_all_type_is_site_yaml_format +label:others,inventory_ci description:This case is used to test xcat-inventory impport all definition which type is site from json file. cmd:mkdir -p /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format check:rc==0 @@ -875,8 +878,7 @@ cmd:for i in 1 2 3; do lsdef bogusnode$i > /dev/null 2>&1;if [[ $? -eq 0 ]]; the check:rc==0 cmd:lsdef -t group bogusgroup > /dev/null 2>&1;if [[ $? -eq 0 ]]; then lsdef -t group bogusgroup -z >> /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/bogusnode.stanza;rmdef -t group bogusgroup; fi check:rc==0 -cmd:#!/usr/bin/bash -echo "network: +cmd:echo "network: 100_0_0_0-255_0_0_0: basic_attr: gateway: 100.0.0.103 @@ -1109,8 +1111,7 @@ site: xcatsslciphers: 3DES xcatsslversion: TLSv1" > /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/yaml.test check:rc==0 -cmd:#!/bin/bash -echo "Object name: clustersite +cmd:echo "Object name: clustersite FQDNfirst=1 SNsyncfiledir=/var/xcat/syncfiles auditnosyslog=0 @@ -1208,7 +1209,7 @@ check:rc==0 cmd:lsdef -t site -o clustersite > /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/site.import check:rc==0 cmd:#!/bin/bash -diff -y --ignore-blank-lines --ignore-matching-lines="^#" /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/site.org /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/site.import +diff -y --ignore-blank-lines --ignore-matching-lines="^#" /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/site.org /tmp/xcat_inventory_try_to_import_all_type_is_site_yaml_format/site.import check:rc==0 cmd:lsdef bogusgroup1 check:output=~Error: (\[.*?\]: )?Could not find an object @@ -1235,13 +1236,14 @@ end start:export_site_table_then_modify_yaml_then_import This case is used to test xcat-inventory import a site , then modify the export yaml file, then import the yaml file Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_site_table_then_modify_yaml_then_import check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/' check:rc==0 cmd: lsdef -t site -o clustersite -z >/tmp/export_site_table_then_modify_yaml_then_import/site.stanza check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t site -o clustersite -z >/tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/site.stanza ' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z >/tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/site.stanza ' check:rc==0 cmd:mnip=$(lsdef -t site -o clustersite -i master -c|awk -F'=' '{print $2}');chdef -t site -o clustersite useSSHonAIX=1111 useNFSv4onAIX=1111 FQDNfirst=1111 SNsyncfiledir='/var/xcat/1111' auditnosyslog=1111 auditskipcmds=ALL blademaxp=641111 cleanupxcatpost=1111 consoleondemand=1111 databaseloc='/var/lib1111' db2installloc='/mntdb1111' dbtracelevel=0 defserialflow=1111 defserialport=1111 defserialspeed=9611111111 dhcpinterfaces=eth1111 dhcplease=43211111111 dhcpsetup=1111 disjointdhcps=0 dnshandler=ddns1111 dnsinterfaces='xcatmn|eth1,eth2;service|bond1111' dnsupdaters=dnsupdaters1111 domain='pok1111.stglabs.ibm.com' enableASMI=1111 excludenodes=1111 externaldns=1111 extntpservers=1111 forwarders=$mnip fsptimeout=1111 genmacprefix='11111111:11:aa' genpasswords=1111 hierarchicalattrs=1111 httpport=81111 hwctrldispatch=1111 installdir='/install1111/' installloc='hostname:/path1111' ipmidispatch=1111 ipmimaxp=641111 ipmiretries=31111 ipmisdrcache=1111 ipmitimeout=21111 iscsidir='/iscsidir1111' managedaddressmode=dhcp master=$mnip maxssh=81111 mnroutenames=1111 nameservers=$mnip nmapoptions='--min-rtt-timeout 1111' nodestatus=n nodesyncfiledir='/var/xcat/node/syncfiles1111' ntpservers=$mnip persistkvmguests=1111 powerinterval=1111 ppcmaxp=641111 ppcretry=31111 ppctimeout=1111 precreatemypostchdef -t site -o clustersite useSSHonAIX=1111 useNFSv4onAIX=1111 FQDNfirst=1111 SNsyncfiledir='/var/xcat/1111' auditnosyslog=1111 auditskipcmds=ALL blademaxp=641111 pruneservices=1111 runbootscripts=1111 setinstallnic=1111 sharedinstall=no sharedtftp=1111 skiptables=nics1111 skipvalidatelog=1111 snmpc=xc1111 sshbetweennodes=ALLGROUPS svloglocal=1111 syspowerinterval=11111 syspowermaxnodes=11111 tftpdir='/tftprot1111/' tftpflags='-v1111' timezone='America/New_York1111' useNmapfromMN=1111 useflowcontrol=1111 usexhrm=1111 vcenterautojoin=1111 vmwarereconfigonpower=1111 vsftp=1111 xcatconfdir='/etc/xcat1111' xcatdebugmode=0 xcatdport=3001 xcatiport=3002 xcatlport=3003 xcatmaxbatchconnections=641111 xcatmaxconnections=61111 xcatsslciphers='3DES' xcatsslversion=TLSv1 check:rc==0 @@ -1273,9 +1275,9 @@ cmd:cat /tmp/export_site_table_then_modify_yaml_then_import/export_site_yaml.inv check:rc==0 cmd:scp /tmp/export_site_table_then_modify_yaml_then_import/export_site_yaml.inv $$DSTMN:/tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/ check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/export_site_yaml.inv -t site -o clustersite' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/export_site_yaml.inv -t site -o clustersite' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/dstsite.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/dstsite.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/dstsite.stanza /tmp/export_site_table_then_modify_yaml_then_import/dstsite.stanza check:rc==0 @@ -1287,9 +1289,9 @@ cmd:diff -y --ignore-blank-lines /tmp/export_site_table_then_modify_yaml_then_i check:rc==0 cmd:cat /tmp/export_site_table_then_modify_yaml_then_import/site.stanza | mkdef -z -f check:rc==0 -cmd:ssh $$DSTMN 'cat /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/site.stanza | mkdef -z -f' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;cat /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/site.stanza | mkdef -z -f' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_site_table_then_modify_yaml_then_import_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_site_table_then_modify_yaml_then_import check:rc==0 @@ -1298,13 +1300,14 @@ end start:export_site_table_then_modify_json_then_import This case is used to test xcat-inventory import a site , then modify the export json file, then import the json file Attribute: $$DSTMN - the ip of MN which is used to run import operation. +label:others,inventory_ci cmd:mkdir -p /tmp/export_site_table_then_modify_json_then_import check:rc==0 -cmd:ssh $$DSTMN 'mkdir -p /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;mkdir -p /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/' check:rc==0 cmd: lsdef -t site -o clustersite -z >/tmp/export_site_table_then_modify_json_then_import/site.stanza check:rc==0 -cmd:ssh $$DSTMN 'lsdef -t site -o clustersite -z >/tmp/export_site_table_then_modify_json_then_import_$$DSTMN/site.stanza ' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z >/tmp/export_site_table_then_modify_json_then_import_$$DSTMN/site.stanza ' check:rc==0 cmd:mnip=$(lsdef -t site -o clustersite -i master -c|awk -F'=' '{print $2}');chdef -t site -o clustersite useSSHonAIX=1111 useNFSv4onAIX=1111 FQDNfirst=1111 SNsyncfiledir='/var/xcat/1111' auditnosyslog=1111 auditskipcmds=ALL blademaxp=641111 cleanupxcatpost=1111 consoleondemand=1111 databaseloc='/var/lib1111' db2installloc='/mntdb1111' dbtracelevel=0 defserialflow=1111 defserialport=1111 defserialspeed=9611111111 dhcpinterfaces=eth1111 dhcplease=43211111111 dhcpsetup=1111 disjointdhcps=0 dnshandler=ddns1111 dnsinterfaces='xcatmn|eth1,eth2;service|bond1111' dnsupdaters=dnsupdaters1111 domain='pok1111.stglabs.ibm.com' enableASMI=1111 excludenodes=1111 externaldns=1111 extntpservers=1111 forwarders=$mnip fsptimeout=1111 genmacprefix='11111111:11:aa' genpasswords=1111 hierarchicalattrs=1111 httpport=81111 hwctrldispatch=1111 installdir='/install1111/' installloc='hostname:/path1111' ipmidispatch=1111 ipmimaxp=641111 ipmiretries=31111 ipmisdrcache=1111 ipmitimeout=21111 iscsidir='/iscsidir1111' managedaddressmode=dhcp master=$mnip maxssh=81111 mnroutenames=1111 nameservers=$mnip nmapoptions='--min-rtt-timeout 1111' nodestatus=n nodesyncfiledir='/var/xcat/node/syncfiles1111' ntpservers=$mnip persistkvmguests=1111 powerinterval=1111 ppcmaxp=641111 ppcretry=31111 ppctimeout=1111 precreatemypostchdef -t site -o clustersite useSSHonAIX=1111 useNFSv4onAIX=1111 FQDNfirst=1111 SNsyncfiledir='/var/xcat/1111' auditnosyslog=1111 auditskipcmds=ALL blademaxp=641111 pruneservices=1111 runbootscripts=1111 setinstallnic=1111 sharedinstall=no sharedtftp=1111 skiptables=nics1111 skipvalidatelog=1111 snmpc=xc1111 sshbetweennodes=ALLGROUPS svloglocal=1111 syspowerinterval=11111 syspowermaxnodes=11111 tftpdir='/tftprot1111/' tftpflags='-v1111' timezone='America/New_York1111' useNmapfromMN=1111 useflowcontrol=1111 usexhrm=1111 vcenterautojoin=1111 vmwarereconfigonpower=1111 vsftp=1111 xcatconfdir='/etc/xcat1111' xcatdebugmode=0 xcatdport=3001 xcatiport=3002 xcatlport=3003 xcatmaxbatchconnections=641111 xcatmaxconnections=61111 xcatsslciphers='3DES' xcatsslversion=TLSv1 check:rc==0 @@ -1336,9 +1339,9 @@ cmd:cat /tmp/export_site_table_then_modify_json_then_import/export_site_json.inv check:rc==0 cmd:scp /tmp/export_site_table_then_modify_json_then_import/export_site_json.inv $$DSTMN:/tmp/export_site_table_then_modify_json_then_import_$$DSTMN/ check:rc==0 -cmd: ssh $$DSTMN 'xcat-inventory import -f /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/export_site_json.inv -t site -o clustersite' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;xcat-inventory import -f /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/export_site_json.inv -t site -o clustersite' check:rc==0 -cmd: ssh $$DSTMN 'lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/dstsite.stanza' +cmd: ssh $$DSTMN ' source /etc/profile.d/xcat.sh;lsdef -t site -o clustersite -z |sort -t'=' -k1|tee /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/dstsite.stanza' check:rc==0 cmd: scp $$DSTMN:/tmp/export_site_table_then_modify_json_then_import_$$DSTMN/dstsite.stanza /tmp/export_site_table_then_modify_json_then_import/dstsite.stanza check:rc==0 @@ -1350,9 +1353,9 @@ cmd:diff -y --ignore-blank-lines /tmp/export_site_table_then_modify_json_then_i check:rc==0 cmd:cat /tmp/export_site_table_then_modify_json_then_import/site.stanza | mkdef -z -f check:rc==0 -cmd:ssh $$DSTMN 'cat /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/site.stanza | mkdef -z -f' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;cat /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/site.stanza | mkdef -z -f' check:rc==0 -cmd:ssh $$DSTMN 'rm -rf /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/' +cmd:ssh $$DSTMN ' source /etc/profile.d/xcat.sh;rm -rf /tmp/export_site_table_then_modify_json_then_import_$$DSTMN/' check:rc==0 cmd:rm -rf /tmp/export_site_table_then_modify_json_then_import check:rc==0 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/cases.site.validation b/xCAT-test/autotest/testcase/xcat_inventory/cases.site.validation similarity index 68% rename from xCAT-test/autotest/testcase/xcat-inventory/cases.site.validation rename to xCAT-test/autotest/testcase/xcat_inventory/cases.site.validation index 4008a2bfc..17d7ea95a 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/cases.site.validation +++ b/xCAT-test/autotest/testcase/xcat_inventory/cases.site.validation @@ -1,124 +1,124 @@ start: xcat_inventory_import_validation_site description: verify the validation mechanisom while importing site object - +label:others,inventory_ci cmd: rm -rf /tmp/xcat_inventory_import_validation_site cmd: mkdir -p /tmp/xcat_inventory_import_validation_site cmd: mkdir -p /tmp/xcat_inventory_import_validation_site/trash/ cmd: mkdir -p /tmp/xcat_inventory_import_validation_site/backup/ cmd: lsdef -t site -o clustersite -z 2>/dev/null >/tmp/xcat_inventory_import_validation_site/backup/clustersite.stanza -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "0" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "0" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "1" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "1" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "2" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "2" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "3" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "3" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "4" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "4" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dbtracelevel" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dbtracelevel" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dhcplease" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dhcplease" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dhcplease" "10240" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dhcplease" "10240" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "dhcplease" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "dhcplease" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "disjointdhcps" "0" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "disjointdhcps" "0" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "disjointdhcps" "1" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "disjointdhcps" "1" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "disjointdhcps" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "disjointdhcps" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "disjointdhcps" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "disjointdhcps" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "httpport" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "httpport" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "httpport" "80" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "httpport" "80" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "httpport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "httpport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "managedaddressmode" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "managedaddressmode" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "managedaddressmode" "static" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "managedaddressmode" "static" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "managedaddressmode" "dhcp" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "managedaddressmode" "dhcp" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "managedaddressmode" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "managedaddressmode" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sharedinstall" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sharedinstall" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sharedinstall" "no" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sharedinstall" "no" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sharedinstall" "sns" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sharedinstall" "sns" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sharedinstall" "all" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sharedinstall" "all" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sharedinstall" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sharedinstall" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sshbetweennodes" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sshbetweennodes" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sshbetweennodes" "ALLGROUPS" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sshbetweennodes" "ALLGROUPS" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sshbetweennodes" "NOGROUPS" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sshbetweennodes" "NOGROUPS" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "sshbetweennodes" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "sshbetweennodes" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdebugmode" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdebugmode" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdebugmode" "0" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdebugmode" "0" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdebugmode" "1" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdebugmode" "1" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdebugmode" "2" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdebugmode" "2" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdebugmode" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdebugmode" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdport" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdport" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdport" "3001" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdport" "3001" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatdport" "3002" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatdport" "3002" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatiport" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatiport" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatiport" "3001" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatiport" "3001" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatiport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatiport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatiport" "3002" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatiport" "3002" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatlport" "" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatlport" "" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatlport" "3001" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatlport" "3001" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatlport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatlport" "invalid" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc!=0 -cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/validatehelper "site" "clustersite" "xcatlport" "3003" "/tmp/xcat_inventory_import_validation_site/trash/" +cmd: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/validatehelper "site" "clustersite" "xcatlport" "3003" "/tmp/xcat_inventory_import_validation_site/trash/" check: rc==0 cmd: cat /tmp/xcat_inventory_import_validation_site/backup/clustersite.stanza 2>/dev/null |mkdef -z -f diff --git a/xCAT-test/autotest/testcase/xcat_inventory/diff/change_name.sh b/xCAT-test/autotest/testcase/xcat_inventory/diff/change_name.sh new file mode 100644 index 000000000..41c071b07 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/diff/change_name.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +file1=$1 +file2=$2 +tmp_diff_file=$3 +rm -rf $tmp_diff_file +echo "copy /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/diff.result to $tmp_diff_file and modify compare file name in $tmp_diff_file" +cp /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/diff.result $tmp_diff_file +echo "copy command exit code $?" +sed -i "s|#FILE1#|$file1|g" $tmp_diff_file +echo "sed command exit code $?" +sed -i "s|#FILE2#|$file2|g" $tmp_diff_file +echo "sed command exit code $?" diff --git a/xCAT-test/autotest/testcase/xcat_inventory/diff/diff_files.result b/xCAT-test/autotest/testcase/xcat_inventory/diff/diff_files.result new file mode 100644 index 000000000..a4a54c114 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/diff/diff_files.result @@ -0,0 +1,87 @@ + +====================BEGIN===================== + + +--- #FILE1# ++++ #FILE2# +{ + "node": { + "node1": { + "obj_info": { +- "groups": "ipmi" ++ "groups": "all" + }, + "engines": { + "hardware_mgt_engine": { +- "engine_type": "ipmi" + "engine_info": { +- "bmcusername": "ADMIN" + }, ++ "engine_type": "openbmc" + } + } + }, +- "node3": { +- "obj_info": { +- "groups": "openbmc" +- }, +- "role": "compute", +- "device_type": "server", +- "engines": { +- "hardware_mgt_engine": { +- "engine_info": { +- "bmc": "10.1.1.2", +- "bmcusername": "ADMIN" +- }, +- "engine_type": "openbmc" +- } +- }, +- "obj_type": "node" +- } + "node2": { + "network_info": { + "primarynic": { + "mac": [ +- "42:73:0a:03:11:0a!*NOIP*", ++ "42:6e:0a:03:11:0b" + ] + } + } + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "package_selection": { + "pkgdir": [ ++ "/install/rhels7.5-alternate/ppc64le/test" + ], + "otherpkgdir": [ +- "/install/post/otherpkgs/rhels7.5-alternate/ppc64le", ++ "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ] + } + } + }, + "site": { + "clustersite": { +- "xcatdebugmode": "1", +- "domain": "test.com", +- "master": "10.1.1.2", +- "forwarders": "10.0.0.1" ++ "xcatdebugmode": "0", ++ "domain": "cluster.com", ++ "master": "10.1.1.1" + } + }, + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { +- "mgtifname": "eth1" ++ "mgtifname": "eth0" + } + } + } +} + +====================END===================== + diff --git a/xCAT-test/autotest/testcase/xcat_inventory/diff/diff_source.result b/xCAT-test/autotest/testcase/xcat_inventory/diff/diff_source.result new file mode 100644 index 000000000..26c91c726 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/diff/diff_source.result @@ -0,0 +1,70 @@ + +====================BEGIN===================== + + +--- xCAT DB ++++ /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json +{ + "node": { + "node1": { + "obj_info": { +- "groups": "ipmi" ++ "groups": "all" + }, + "engines": { + "hardware_mgt_engine": { +- "engine_type": "ipmi" + "engine_info": { +- "bmcusername": "ADMIN" + }, ++ "engine_type": "openbmc" + } + } + }, + "node2": { + "network_info": { + "primarynic": { + "mac": [ +- "42:73:0a:03:11:0a!*NOIP*", ++ "42:6e:0a:03:11:0b" + ] + } + } + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "package_selection": { + "pkgdir": [ ++ "/install/rhels7.5-alternate/ppc64le/test" + ], + "otherpkgdir": [ +- "/install/post/otherpkgs/rhels7.5-alternate/ppc64le", ++ "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ] + } + } + }, + "site": { + "clustersite": { +- "xcatdebugmode": "1", +- "domain": "test.com", +- "master": "10.1.1.2", +- "forwarders": "10.0.0.1" ++ "xcatdebugmode": "0", ++ "domain": "cluster.com", ++ "master": "10.1.1.1" + } + }, + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { +- "mgtifname": "eth1" ++ "mgtifname": "eth0" + } + } + } +} + +====================END===================== + diff --git a/xCAT-test/autotest/testcase/xcat_inventory/diff/xcat-inventory_diff_file1.json b/xCAT-test/autotest/testcase/xcat_inventory/diff/xcat-inventory_diff_file1.json new file mode 100644 index 000000000..a77ff9b95 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/diff/xcat-inventory_diff_file1.json @@ -0,0 +1,191 @@ +{ + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { + "gateway": "", + "mask": "255.0.0.0", + "mgtifname": "eth1", + "mtu": "1500", + "net": "10.0.0.0" + }, + "service": { + "tftpserver": "" + } + } + }, + "node": { + "node1": { + "device_type": "server", + "engines": { + "hardware_mgt_engine": { + "engine_info": { + "bmc": "10.1.1.1", + "bmcusername": "ADMIN", + }, + "engine_type": "ipmi" + } + }, + "obj_info": { + "groups": "ipmi" + }, + "obj_type": "node", + "role": "compute" + }, + "node2": { + "device_info": { + "arch": "ppc64le", + "uuid": "7d6ca5da-9485-11e8-821f-426e0a03110a" + }, + "device_type": "server", + "engines": { + "console_engine": { + "engine_info": { + "consoleenabled": "1", + "serialport": "0", + "serialspeed": "115200" + } + }, + "hardware_mgt_engine": { + "engine_info": { + "id": "10", + "vmcpus": "2", + "vmhost": "node_host", + "vmmemory": "6144", + "vmnics": "brenP3p9s0f0,brenP3p9s0f1", + "vmstorage": "phy:/dev/mapper/vdiskvg01-vdisk01n10" + }, + "engine_type": "kvm" + }, + "netboot_engine": { + "engine_info": { + "osimage": "rhels7.5-ppc64le-install-compute" + }, + "engine_type": "grub2" + } + }, + "network_info": { + "primarynic": { + "mac": [ + "42:6e:0a:03:11:0a", + "42:73:0a:03:11:0a!*NOIP*" + ] + } + }, + "obj_info": { + "groups": "all" + }, + "obj_type": "node", + "role": "compute" + }, + "node3": { + "device_type": "server", + "engines": { + "hardware_mgt_engine": { + "engine_info": { + "bmc": "10.1.1.2", + "bmcusername": "ADMIN", + }, + "engine_type": "openbmc" + } + }, + "obj_info": { + "groups": "openbmc" + }, + "obj_type": "node", + "role": "compute" + }, + "service": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postscripts": "servicenode" + } + } + }, + "obj_type": "group", + "role": "compute" + }, + "xcatdefaults": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postbootscripts": "otherpkgs", + "postscripts": "syslog,remoteshell,syncfiles" + } + } + }, + "obj_type": "group", + "role": "compute" + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "basic_attributes": { + "arch": "ppc64le", + "distribution": "rhels7.5-alternate", + "osdistro": "rhels7.5-alternate-ppc64le", + "osname": "Linux" + }, + "imagetype": "linux", + "package_selection": { + "otherpkgdir": [ + "/install/post/otherpkgs/rhels7.5-alternate/ppc64le" + ], + "pkgdir": [ + "/install/rhels7.5-alternate/ppc64le" + ], + "pkglist": [ + "/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist" + ] + }, + "provision_mode": "install", + "role": "compute", + "template": "/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl" + }, + }, + "schema_version": "latest", + "site": { + "clustersite": { + "SNsyncfiledir": "/var/xcat/syncfiles", + "auditnosyslog": "0", + "auditskipcmds": "ALL", + "blademaxp": "64", + "cleanupxcatpost": "no", + "consoleondemand": "no", + "databaseloc": "/var/lib", + "db2installloc": "/mntdb2", + "dhcplease": "43200", + "dnshandler": "ddns", + "domain": "test.com", + "enableASMI": "no", + "forwarders": "10.0.0.1", + "fsptimeout": "0", + "installdir": "/install", + "ipmimaxp": "64", + "ipmiretries": "3", + "ipmitimeout": "2", + "master": "10.1.1.2", + "maxssh": "8", + "nameservers": "10.1.1.1", + "nodesyncfiledir": "/var/xcat/node/syncfiles", + "powerinterval": "0", + "ppcmaxp": "64", + "ppcretry": "3", + "ppctimeout": "0", + "sharedtftp": "1", + "sshbetweennodes": "ALLGROUPS", + "syspowerinterval": "0", + "tftpdir": "/tftpboot", + "timezone": "US/Eastern", + "useNmapfromMN": "no", + "vsftp": "n", + "xcatconfdir": "/etc/xcat", + "xcatdebugmode": "1", + "xcatdport": "3001", + "xcatiport": "3002", + "xcatsslversion": "TLSv1" + } + } +} diff --git a/xCAT-test/autotest/testcase/xcat_inventory/diff/xcat-inventory_diff_file2.json b/xCAT-test/autotest/testcase/xcat_inventory/diff/xcat-inventory_diff_file2.json new file mode 100644 index 000000000..a3f7b243e --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/diff/xcat-inventory_diff_file2.json @@ -0,0 +1,173 @@ +{ + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { + "gateway": "", + "mask": "255.0.0.0", + "mgtifname": "eth0", + "mtu": "1500", + "net": "10.0.0.0" + }, + "service": { + "tftpserver": "" + } + } + }, + "node": { + "node1": { + "device_type": "server", + "engines": { + "hardware_mgt_engine": { + "engine_info": { + "bmc": "10.1.1.1", + }, + "engine_type": "openbmc" + } + }, + "obj_info": { + "groups": "all" + }, + "obj_type": "node", + "role": "compute" + }, + "node2": { + "device_info": { + "arch": "ppc64le", + "uuid": "7d6ca5da-9485-11e8-821f-426e0a03110a" + }, + "device_type": "server", + "engines": { + "console_engine": { + "engine_info": { + "consoleenabled": "1", + "serialport": "0", + "serialspeed": "115200" + } + }, + "hardware_mgt_engine": { + "engine_info": { + "id": "10", + "vmcpus": "2", + "vmhost": "node_host", + "vmmemory": "6144", + "vmnics": "brenP3p9s0f0,brenP3p9s0f1", + "vmstorage": "phy:/dev/mapper/vdiskvg01-vdisk01n10" + }, + "engine_type": "kvm" + }, + "netboot_engine": { + "engine_info": { + "osimage": "rhels7.5-ppc64le-install-compute" + }, + "engine_type": "grub2" + } + }, + "network_info": { + "primarynic": { + "mac": [ + "42:6e:0a:03:11:0a", + "42:6e:0a:03:11:0b" + ] + } + }, + "obj_info": { + "groups": "all" + }, + "obj_type": "node", + "role": "compute" + }, + "service": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postscripts": "servicenode" + } + } + }, + "obj_type": "group", + "role": "compute" + }, + "xcatdefaults": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postbootscripts": "otherpkgs", + "postscripts": "syslog,remoteshell,syncfiles" + } + } + }, + "obj_type": "group", + "role": "compute" + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "basic_attributes": { + "arch": "ppc64le", + "distribution": "rhels7.5-alternate", + "osdistro": "rhels7.5-alternate-ppc64le", + "osname": "Linux" + }, + "imagetype": "linux", + "package_selection": { + "otherpkgdir": [ + "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ], + "pkgdir": [ + "/install/rhels7.5-alternate/ppc64le", + "/install/rhels7.5-alternate/ppc64le/test" + ], + "pkglist": [ + "/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist" + ] + }, + "provision_mode": "install", + "role": "compute", + "template": "/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl" + }, + }, + "schema_version": "latest", + "site": { + "clustersite": { + "SNsyncfiledir": "/var/xcat/syncfiles", + "auditnosyslog": "0", + "auditskipcmds": "ALL", + "blademaxp": "64", + "cleanupxcatpost": "no", + "consoleondemand": "no", + "databaseloc": "/var/lib", + "db2installloc": "/mntdb2", + "dhcplease": "43200", + "dnshandler": "ddns", + "domain": "cluster.com", + "enableASMI": "no", + "fsptimeout": "0", + "installdir": "/install", + "ipmimaxp": "64", + "ipmiretries": "3", + "ipmitimeout": "2", + "master": "10.1.1.1", + "maxssh": "8", + "nameservers": "10.1.1.1", + "nodesyncfiledir": "/var/xcat/node/syncfiles", + "powerinterval": "0", + "ppcmaxp": "64", + "ppcretry": "3", + "ppctimeout": "0", + "sharedtftp": "1", + "sshbetweennodes": "ALLGROUPS", + "syspowerinterval": "0", + "tftpdir": "/tftpboot", + "timezone": "US/Eastern", + "useNmapfromMN": "no", + "vsftp": "n", + "xcatconfdir": "/etc/xcat", + "xcatdebugmode": "0", + "xcatdport": "3001", + "xcatiport": "3002", + "xcatsslversion": "TLSv1" + } + } +} diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/cluster.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/cluster.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/cluster.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/cluster.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/definition.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/definition.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/definition.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/definition.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/test_myimage.stanza diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/exlist b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/exlist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/exlist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/exlist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/otherpkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/otherpkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/otherpkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/otherpkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/partitionfile b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/partitionfile similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/partitionfile rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/partitionfile diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/postinstall b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/postinstall similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/postinstall rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/postinstall diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/synclists b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/synclists similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/synclists rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage/tmp/test_myimage/synclists diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/definition.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/definition.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/definition.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/definition.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/test_myimage2.stanza b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/test_myimage2.stanza similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/test_myimage2.stanza rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/test_myimage2.stanza diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/exlist b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/exlist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/exlist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/exlist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/otherpkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/otherpkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/otherpkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/otherpkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/partitionfile b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/partitionfile similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/partitionfile rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/partitionfile diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/postinstall b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/postinstall similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/postinstall rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/postinstall diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/synclists b/xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/synclists similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/synclists rename to xCAT-test/autotest/testcase/xcat_inventory/templates/cluster_invdir/osimage/test_myimage2/tmp/test_myimage2/synclists diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/change_name.sh b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/change_name.sh new file mode 100644 index 000000000..41c071b07 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/change_name.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +file1=$1 +file2=$2 +tmp_diff_file=$3 +rm -rf $tmp_diff_file +echo "copy /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/diff.result to $tmp_diff_file and modify compare file name in $tmp_diff_file" +cp /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/diff.result $tmp_diff_file +echo "copy command exit code $?" +sed -i "s|#FILE1#|$file1|g" $tmp_diff_file +echo "sed command exit code $?" +sed -i "s|#FILE2#|$file2|g" $tmp_diff_file +echo "sed command exit code $?" diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff.result b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff.result new file mode 100644 index 000000000..a4a54c114 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff.result @@ -0,0 +1,87 @@ + +====================BEGIN===================== + + +--- #FILE1# ++++ #FILE2# +{ + "node": { + "node1": { + "obj_info": { +- "groups": "ipmi" ++ "groups": "all" + }, + "engines": { + "hardware_mgt_engine": { +- "engine_type": "ipmi" + "engine_info": { +- "bmcusername": "ADMIN" + }, ++ "engine_type": "openbmc" + } + } + }, +- "node3": { +- "obj_info": { +- "groups": "openbmc" +- }, +- "role": "compute", +- "device_type": "server", +- "engines": { +- "hardware_mgt_engine": { +- "engine_info": { +- "bmc": "10.1.1.2", +- "bmcusername": "ADMIN" +- }, +- "engine_type": "openbmc" +- } +- }, +- "obj_type": "node" +- } + "node2": { + "network_info": { + "primarynic": { + "mac": [ +- "42:73:0a:03:11:0a!*NOIP*", ++ "42:6e:0a:03:11:0b" + ] + } + } + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "package_selection": { + "pkgdir": [ ++ "/install/rhels7.5-alternate/ppc64le/test" + ], + "otherpkgdir": [ +- "/install/post/otherpkgs/rhels7.5-alternate/ppc64le", ++ "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ] + } + } + }, + "site": { + "clustersite": { +- "xcatdebugmode": "1", +- "domain": "test.com", +- "master": "10.1.1.2", +- "forwarders": "10.0.0.1" ++ "xcatdebugmode": "0", ++ "domain": "cluster.com", ++ "master": "10.1.1.1" + } + }, + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { +- "mgtifname": "eth1" ++ "mgtifname": "eth0" + } + } + } +} + +====================END===================== + diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff_files.result b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff_files.result new file mode 100644 index 000000000..a4a54c114 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff_files.result @@ -0,0 +1,87 @@ + +====================BEGIN===================== + + +--- #FILE1# ++++ #FILE2# +{ + "node": { + "node1": { + "obj_info": { +- "groups": "ipmi" ++ "groups": "all" + }, + "engines": { + "hardware_mgt_engine": { +- "engine_type": "ipmi" + "engine_info": { +- "bmcusername": "ADMIN" + }, ++ "engine_type": "openbmc" + } + } + }, +- "node3": { +- "obj_info": { +- "groups": "openbmc" +- }, +- "role": "compute", +- "device_type": "server", +- "engines": { +- "hardware_mgt_engine": { +- "engine_info": { +- "bmc": "10.1.1.2", +- "bmcusername": "ADMIN" +- }, +- "engine_type": "openbmc" +- } +- }, +- "obj_type": "node" +- } + "node2": { + "network_info": { + "primarynic": { + "mac": [ +- "42:73:0a:03:11:0a!*NOIP*", ++ "42:6e:0a:03:11:0b" + ] + } + } + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "package_selection": { + "pkgdir": [ ++ "/install/rhels7.5-alternate/ppc64le/test" + ], + "otherpkgdir": [ +- "/install/post/otherpkgs/rhels7.5-alternate/ppc64le", ++ "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ] + } + } + }, + "site": { + "clustersite": { +- "xcatdebugmode": "1", +- "domain": "test.com", +- "master": "10.1.1.2", +- "forwarders": "10.0.0.1" ++ "xcatdebugmode": "0", ++ "domain": "cluster.com", ++ "master": "10.1.1.1" + } + }, + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { +- "mgtifname": "eth1" ++ "mgtifname": "eth0" + } + } + } +} + +====================END===================== + diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff_source.result b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff_source.result new file mode 100644 index 000000000..26c91c726 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/diff_source.result @@ -0,0 +1,70 @@ + +====================BEGIN===================== + + +--- xCAT DB ++++ /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json +{ + "node": { + "node1": { + "obj_info": { +- "groups": "ipmi" ++ "groups": "all" + }, + "engines": { + "hardware_mgt_engine": { +- "engine_type": "ipmi" + "engine_info": { +- "bmcusername": "ADMIN" + }, ++ "engine_type": "openbmc" + } + } + }, + "node2": { + "network_info": { + "primarynic": { + "mac": [ +- "42:73:0a:03:11:0a!*NOIP*", ++ "42:6e:0a:03:11:0b" + ] + } + } + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "package_selection": { + "pkgdir": [ ++ "/install/rhels7.5-alternate/ppc64le/test" + ], + "otherpkgdir": [ +- "/install/post/otherpkgs/rhels7.5-alternate/ppc64le", ++ "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ] + } + } + }, + "site": { + "clustersite": { +- "xcatdebugmode": "1", +- "domain": "test.com", +- "master": "10.1.1.2", +- "forwarders": "10.0.0.1" ++ "xcatdebugmode": "0", ++ "domain": "cluster.com", ++ "master": "10.1.1.1" + } + }, + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { +- "mgtifname": "eth1" ++ "mgtifname": "eth0" + } + } + } +} + +====================END===================== + diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json new file mode 100644 index 000000000..2e0d332bf --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file1.json @@ -0,0 +1,191 @@ +{ + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { + "gateway": "", + "mask": "255.0.0.0", + "mgtifname": "eth1", + "mtu": "1500", + "net": "10.0.0.0" + }, + "service": { + "tftpserver": "" + } + } + }, + "node": { + "node1": { + "device_type": "server", + "engines": { + "hardware_mgt_engine": { + "engine_info": { + "bmc": "10.1.1.1", + "bmcusername": "ADMIN", + }, + "engine_type": "ipmi" + } + }, + "obj_info": { + "groups": "ipmi" + }, + "obj_type": "node", + "role": "compute" + }, + "node2": { + "device_info": { + "arch": "ppc64le", + "uuid": "7d6ca5da-9485-11e8-821f-426e0a03110a" + }, + "device_type": "server", + "engines": { + "console_engine": { + "engine_info": { + "consoleenabled": "1", + "serialport": "0", + "serialspeed": "115200" + } + }, + "hardware_mgt_engine": { + "engine_info": { + "id": "10", + "vmcpus": "2", + "vmhost": "node_host", + "vmmemory": "6144", + "vmnics": "brenP3p9s0f0,brenP3p9s0f1", + "vmstorage": "phy:/dev/mapper/vdiskvg01-vdisk01n10" + }, + "engine_type": "kvm" + }, + "netboot_engine": { + "engine_info": { + "osimage": "rhels7.5-ppc64le-install-compute" + }, + "engine_type": "grub2" + } + }, + "network_info": { + "primarynic": { + "mac": [ + "42:6e:0a:03:11:0a", + "42:73:0a:03:11:0a!*NOIP*" + ] + } + }, + "obj_info": { + "groups": "all" + }, + "obj_type": "node", + "role": "compute" + }, + "node3": { + "device_type": "server", + "engines": { + "hardware_mgt_engine": { + "engine_info": { + "bmc": "10.1.1.2", + "bmcusername": "ADMIN", + }, + "engine_type": "openbmc" + } + }, + "obj_info": { + "groups": "openbmc" + }, + "obj_type": "node", + "role": "compute" + }, + "service": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postscripts": "servicenode" + } + } + }, + "obj_type": "group", + "role": "compute" + }, + "xcatdefaults": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postbootscripts": "otherpkgs", + "postscripts": "syslog,remoteshell,syncfiles" + } + } + }, + "obj_type": "group", + "role": "compute" + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "basic_attributes": { + "arch": "ppc64le", + "distribution": "rhels7.5-alternate", + "osdistro": "rhels7.5-alternate-ppc64le", + "osname": "Linux" + }, + "imagetype": "linux", + "package_selection": { + "otherpkgdir": [ + "/install/post/otherpkgs/rhels7.5-alternate/ppc64le" + ], + "pkgdir": [ + "/install/rhels7.5-alternate/ppc64le" + ], + "pkglist": [ + "/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist" + ] + }, + "provision_mode": "install", + "role": "compute", + "template": "/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl" + }, + }, + "schema_version": "2.0", + "site": { + "clustersite": { + "SNsyncfiledir": "/var/xcat/syncfiles", + "auditnosyslog": "0", + "auditskipcmds": "ALL", + "blademaxp": "64", + "cleanupxcatpost": "no", + "consoleondemand": "no", + "databaseloc": "/var/lib", + "db2installloc": "/mntdb2", + "dhcplease": "43200", + "dnshandler": "ddns", + "domain": "test.com", + "enableASMI": "no", + "forwarders": "10.0.0.1", + "fsptimeout": "0", + "installdir": "/install", + "ipmimaxp": "64", + "ipmiretries": "3", + "ipmitimeout": "2", + "master": "10.1.1.2", + "maxssh": "8", + "nameservers": "10.1.1.1", + "nodesyncfiledir": "/var/xcat/node/syncfiles", + "powerinterval": "0", + "ppcmaxp": "64", + "ppcretry": "3", + "ppctimeout": "0", + "sharedtftp": "1", + "sshbetweennodes": "ALLGROUPS", + "syspowerinterval": "0", + "tftpdir": "/tftpboot", + "timezone": "US/Eastern", + "useNmapfromMN": "no", + "vsftp": "n", + "xcatconfdir": "/etc/xcat", + "xcatdebugmode": "1", + "xcatdport": "3001", + "xcatiport": "3002", + "xcatsslversion": "TLSv1" + } + } +} diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json new file mode 100644 index 000000000..53d4a7058 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/diff/xcat-inventory_diff_file2.json @@ -0,0 +1,173 @@ +{ + "network": { + "10_0_0_0-255_0_0_0": { + "basic_attr": { + "gateway": "", + "mask": "255.0.0.0", + "mgtifname": "eth0", + "mtu": "1500", + "net": "10.0.0.0" + }, + "service": { + "tftpserver": "" + } + } + }, + "node": { + "node1": { + "device_type": "server", + "engines": { + "hardware_mgt_engine": { + "engine_info": { + "bmc": "10.1.1.1", + }, + "engine_type": "openbmc" + } + }, + "obj_info": { + "groups": "all" + }, + "obj_type": "node", + "role": "compute" + }, + "node2": { + "device_info": { + "arch": "ppc64le", + "uuid": "7d6ca5da-9485-11e8-821f-426e0a03110a" + }, + "device_type": "server", + "engines": { + "console_engine": { + "engine_info": { + "consoleenabled": "1", + "serialport": "0", + "serialspeed": "115200" + } + }, + "hardware_mgt_engine": { + "engine_info": { + "id": "10", + "vmcpus": "2", + "vmhost": "node_host", + "vmmemory": "6144", + "vmnics": "brenP3p9s0f0,brenP3p9s0f1", + "vmstorage": "phy:/dev/mapper/vdiskvg01-vdisk01n10" + }, + "engine_type": "kvm" + }, + "netboot_engine": { + "engine_info": { + "osimage": "rhels7.5-ppc64le-install-compute" + }, + "engine_type": "grub2" + } + }, + "network_info": { + "primarynic": { + "mac": [ + "42:6e:0a:03:11:0a", + "42:6e:0a:03:11:0b" + ] + } + }, + "obj_info": { + "groups": "all" + }, + "obj_type": "node", + "role": "compute" + }, + "service": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postscripts": "servicenode" + } + } + }, + "obj_type": "group", + "role": "compute" + }, + "xcatdefaults": { + "device_type": "server", + "engines": { + "netboot_engine": { + "engine_info": { + "postbootscripts": "otherpkgs", + "postscripts": "syslog,remoteshell,syncfiles" + } + } + }, + "obj_type": "group", + "role": "compute" + } + }, + "osimage": { + "rhels7.5-alternate-ppc64le-install-compute": { + "basic_attributes": { + "arch": "ppc64le", + "distribution": "rhels7.5-alternate", + "osdistro": "rhels7.5-alternate-ppc64le", + "osname": "Linux" + }, + "imagetype": "linux", + "package_selection": { + "otherpkgdir": [ + "/install/post/otherpkgs/rhels7.5-alternate/ppc64" + ], + "pkgdir": [ + "/install/rhels7.5-alternate/ppc64le", + "/install/rhels7.5-alternate/ppc64le/test" + ], + "pkglist": [ + "/opt/xcat/share/xcat/install/rh/compute.rhels7.pkglist" + ] + }, + "provision_mode": "install", + "role": "compute", + "template": "/opt/xcat/share/xcat/install/rh/compute.rhels7.tmpl" + }, + }, + "schema_version": "2.0", + "site": { + "clustersite": { + "SNsyncfiledir": "/var/xcat/syncfiles", + "auditnosyslog": "0", + "auditskipcmds": "ALL", + "blademaxp": "64", + "cleanupxcatpost": "no", + "consoleondemand": "no", + "databaseloc": "/var/lib", + "db2installloc": "/mntdb2", + "dhcplease": "43200", + "dnshandler": "ddns", + "domain": "cluster.com", + "enableASMI": "no", + "fsptimeout": "0", + "installdir": "/install", + "ipmimaxp": "64", + "ipmiretries": "3", + "ipmitimeout": "2", + "master": "10.1.1.1", + "maxssh": "8", + "nameservers": "10.1.1.1", + "nodesyncfiledir": "/var/xcat/node/syncfiles", + "powerinterval": "0", + "ppcmaxp": "64", + "ppcretry": "3", + "ppctimeout": "0", + "sharedtftp": "1", + "sshbetweennodes": "ALLGROUPS", + "syspowerinterval": "0", + "tftpdir": "/tftpboot", + "timezone": "US/Eastern", + "useNmapfromMN": "no", + "vsftp": "n", + "xcatconfdir": "/etc/xcat", + "xcatdebugmode": "0", + "xcatdport": "3001", + "xcatiport": "3002", + "xcatsslversion": "TLSv1" + } + } +} diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/otherpkglist/test1.otherpkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/otherpkglist/test1.otherpkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/otherpkglist/test1.otherpkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/otherpkglist/test1.otherpkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/otherpkglist/test2.otherpkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/otherpkglist/test2.otherpkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/otherpkglist/test2.otherpkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/otherpkglist/test2.otherpkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/pkglist/test1.pkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/pkglist/test1.pkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/pkglist/test1.pkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/pkglist/test1.pkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/pkglist/test2.pkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/pkglist/test2.pkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/pkglist/test2.pkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/pkglist/test2.pkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/postinstall/test1.postinstall b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/postinstall/test1.postinstall similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/postinstall/test1.postinstall rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/postinstall/test1.postinstall diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/postinstall/test2.postinstall b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/postinstall/test2.postinstall similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/postinstall/test2.postinstall rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/postinstall/test2.postinstall diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/syncfiles/synclist b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/syncfiles/synclist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/gitrepo/syncfiles/synclist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/gitrepo/syncfiles/synclist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/conserver-xcat-8.2.1-1.ppc64le.rpm b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/conserver-xcat-8.2.1-1.ppc64le.rpm similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/conserver-xcat-8.2.1-1.ppc64le.rpm rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/conserver-xcat-8.2.1-1.ppc64le.rpm diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/perl-Net-Telnet-3.03-19.el7.noarch.rpm b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/perl-Net-Telnet-3.03-19.el7.noarch.rpm similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/perl-Net-Telnet-3.03-19.el7.noarch.rpm rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/perl-Net-Telnet-3.03-19.el7.noarch.rpm diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/2f8132e926de0ada34da23f1a63713a9e6761fa5a5171ab309a2aef1d4f6efe3-filelists.xml.gz b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/2f8132e926de0ada34da23f1a63713a9e6761fa5a5171ab309a2aef1d4f6efe3-filelists.xml.gz similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/2f8132e926de0ada34da23f1a63713a9e6761fa5a5171ab309a2aef1d4f6efe3-filelists.xml.gz rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/2f8132e926de0ada34da23f1a63713a9e6761fa5a5171ab309a2aef1d4f6efe3-filelists.xml.gz diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/771b092d010ec878233b66dc1dba2ab81b614c5a9ea473f9f5f6da76997276c1-other.sqlite.bz2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/771b092d010ec878233b66dc1dba2ab81b614c5a9ea473f9f5f6da76997276c1-other.sqlite.bz2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/771b092d010ec878233b66dc1dba2ab81b614c5a9ea473f9f5f6da76997276c1-other.sqlite.bz2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/771b092d010ec878233b66dc1dba2ab81b614c5a9ea473f9f5f6da76997276c1-other.sqlite.bz2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/8a1f4155ca9e8784d0a41e5a9b5b715af7f096945143e6be4f69489eb59a4aa8-primary.xml.gz b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/8a1f4155ca9e8784d0a41e5a9b5b715af7f096945143e6be4f69489eb59a4aa8-primary.xml.gz similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/8a1f4155ca9e8784d0a41e5a9b5b715af7f096945143e6be4f69489eb59a4aa8-primary.xml.gz rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/8a1f4155ca9e8784d0a41e5a9b5b715af7f096945143e6be4f69489eb59a4aa8-primary.xml.gz diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/98590d4faf7b8f997493a85d6fcbb6aa2ede7a9b30078ecc06d5710c0520dc56-primary.sqlite.bz2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/98590d4faf7b8f997493a85d6fcbb6aa2ede7a9b30078ecc06d5710c0520dc56-primary.sqlite.bz2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/98590d4faf7b8f997493a85d6fcbb6aa2ede7a9b30078ecc06d5710c0520dc56-primary.sqlite.bz2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/98590d4faf7b8f997493a85d6fcbb6aa2ede7a9b30078ecc06d5710c0520dc56-primary.sqlite.bz2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/bd36e0c2e540280fd45799e9f755a72f63b394ce110227f7d48f999a86d90ede-other.xml.gz b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/bd36e0c2e540280fd45799e9f755a72f63b394ce110227f7d48f999a86d90ede-other.xml.gz similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/bd36e0c2e540280fd45799e9f755a72f63b394ce110227f7d48f999a86d90ede-other.xml.gz rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/bd36e0c2e540280fd45799e9f755a72f63b394ce110227f7d48f999a86d90ede-other.xml.gz diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/e3cf2fc42c62b0328effe9e44a4ab1296905ae92f845dd773b0550c7f191e3f8-filelists.sqlite.bz2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/e3cf2fc42c62b0328effe9e44a4ab1296905ae92f845dd773b0550c7f191e3f8-filelists.sqlite.bz2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/e3cf2fc42c62b0328effe9e44a4ab1296905ae92f845dd773b0550c7f191e3f8-filelists.sqlite.bz2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/e3cf2fc42c62b0328effe9e44a4ab1296905ae92f845dd773b0550c7f191e3f8-filelists.sqlite.bz2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/repomd.xml b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/repomd.xml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/otherpkgdir/repodata/repomd.xml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/repodata/repomd.xml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/dhcp-4.2.5-68.el7.ppc64le.rpm b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/dhcp-4.2.5-68.el7.ppc64le.rpm similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/dhcp-4.2.5-68.el7.ppc64le.rpm rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/dhcp-4.2.5-68.el7.ppc64le.rpm diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/2a9abe54b23615850e70c41456bd49ff3994eae972ea2347d46b43de8cf48931-filelists.sqlite.bz2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/2a9abe54b23615850e70c41456bd49ff3994eae972ea2347d46b43de8cf48931-filelists.sqlite.bz2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/2a9abe54b23615850e70c41456bd49ff3994eae972ea2347d46b43de8cf48931-filelists.sqlite.bz2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/2a9abe54b23615850e70c41456bd49ff3994eae972ea2347d46b43de8cf48931-filelists.sqlite.bz2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/4160c0db6523d465541345245e8463eacd03e5f823e5ba319d0ddbed4b2a2397-filelists.xml.gz b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/4160c0db6523d465541345245e8463eacd03e5f823e5ba319d0ddbed4b2a2397-filelists.xml.gz similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/4160c0db6523d465541345245e8463eacd03e5f823e5ba319d0ddbed4b2a2397-filelists.xml.gz rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/4160c0db6523d465541345245e8463eacd03e5f823e5ba319d0ddbed4b2a2397-filelists.xml.gz diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/75c2df3e4d5ca66a0c105562f4d0cea1c0c1203bb1f59a73e373b5cebcf03d65-primary.xml.gz b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/75c2df3e4d5ca66a0c105562f4d0cea1c0c1203bb1f59a73e373b5cebcf03d65-primary.xml.gz similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/75c2df3e4d5ca66a0c105562f4d0cea1c0c1203bb1f59a73e373b5cebcf03d65-primary.xml.gz rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/75c2df3e4d5ca66a0c105562f4d0cea1c0c1203bb1f59a73e373b5cebcf03d65-primary.xml.gz diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/811daeb0fde54384fec22af72ecdcdd2d4d8060ad5227802c0c02bb73dd72ce1-other.sqlite.bz2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/811daeb0fde54384fec22af72ecdcdd2d4d8060ad5227802c0c02bb73dd72ce1-other.sqlite.bz2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/811daeb0fde54384fec22af72ecdcdd2d4d8060ad5227802c0c02bb73dd72ce1-other.sqlite.bz2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/811daeb0fde54384fec22af72ecdcdd2d4d8060ad5227802c0c02bb73dd72ce1-other.sqlite.bz2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/9fcfad63d06bdaba2be3507fbb1cd080db5f7423ec46cf25221fb1193e35611b-other.xml.gz b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/9fcfad63d06bdaba2be3507fbb1cd080db5f7423ec46cf25221fb1193e35611b-other.xml.gz similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/9fcfad63d06bdaba2be3507fbb1cd080db5f7423ec46cf25221fb1193e35611b-other.xml.gz rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/9fcfad63d06bdaba2be3507fbb1cd080db5f7423ec46cf25221fb1193e35611b-other.xml.gz diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/e4f965fd5f4b914c4e89d54b8784394b7760e051dd788e791d259673af365373-primary.sqlite.bz2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/e4f965fd5f4b914c4e89d54b8784394b7760e051dd788e791d259673af365373-primary.sqlite.bz2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/e4f965fd5f4b914c4e89d54b8784394b7760e051dd788e791d259673af365373-primary.sqlite.bz2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/e4f965fd5f4b914c4e89d54b8784394b7760e051dd788e791d259673af365373-primary.sqlite.bz2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/repomd.xml b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/repomd.xml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/repodata/repomd.xml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/repodata/repomd.xml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/tftp-5.2-22.el7.ppc64le.rpm b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/tftp-5.2-22.el7.ppc64le.rpm similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/swdir/pkgdir/tftp-5.2-22.el7.ppc64le.rpm rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/tftp-5.2-22.el7.ppc64le.rpm diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza new file mode 100644 index 000000000..20e46bbc1 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.stanza @@ -0,0 +1,21 @@ +# + +test.environments.osimage: + objtype=osimage + environvar=GITREPO=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo,OBJNAME=test.environments.osimage,SWDIR=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/swdir + imagetype=linux + osarch=OSARCH + osdistroname=OSVERS-OSARCH + osname=Linux + osvers=OSVERS + otherpkgdir=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/swdir/otherpkgdir/ + otherpkglist=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo/otherpkglist/test1.otherpkglist,/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo/otherpkglist/test2.otherpkglist, + permission=755 + pkgdir=PKGDIR,/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/swdir/pkgdir/ + pkglist=PKGLIST,/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo/pkglist/test1.pkglist,/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo/pkglist/test2.pkglist + postinstall=POSTINSTALL,/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo/postinstall/test1.postinstall + profile=compute + provmethod=netboot + rootimgdir=/install/custom/test.environments.osimage + synclists=/opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/environment/gitrepo/syncfiles/synclist + usercomment=OSMAJOR,test_environment_variables diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json similarity index 66% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json index 68752808b..92b5fa341 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.json +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.json @@ -2,13 +2,16 @@ "osimage": { "test.environments.osimage": { "basic_attributes": { - "arch": "ppc64le", - "distribution": "rhels7.5-alternate", - "osdistro": "rhels7.5-alternate-ppc64le", + "arch": "OSARCH", + "distribution": "OSVERS", + "osdistro": "OSVERS-OSARCH", "osname": "Linux" }, "deprecated": { - "comments": "rhels7.5,test_environment_variables" + "comments": [ + "OSMAJOR", + "test_environment_variables" + ] }, "filestosync": [ "{{GITREPO}}/syncfiles/synclist" @@ -16,10 +19,10 @@ "genimgoptions": { "permission": "755", "postinstall": [ - "/opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.postinstall", + "POSTINSTALL", "{{GITREPO}}/postinstall/test1.postinstall" ], - "rootimgdir": "/install/custom/test.environments.osimage" + "rootimgdir": "/install/custom/{{OBJNAME}}" }, "imagetype": "linux", "package_selection": { @@ -32,11 +35,11 @@ "" ], "pkgdir": [ - "/install/rhels7.5-alternate/ppc64le", + "PKGDIR", "{{SWDIR}}/pkgdir/" ], "pkglist": [ - "/opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.pkglist", + "PKGLIST", "{{GITREPO}}/pkglist/test1.pkglist", "{{GITREPO}}/pkglist/test2.pkglist" ] @@ -47,4 +50,4 @@ }, "schema_version": "1.0" } -#Version 2.14.2 (git commit 09f0772835afdc0f962c9e7fe8cef862e9505ad7, built Tue Jun 19 01:58:56 EDT 2018) +#Version 2.14.4 (git commit 722709b61e63feb7f6d3ee787afa8113eefbe27e, built Wed Sep 26 06:17:57 EDT 2018) diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml similarity index 63% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml index c4f10968e..6ace48a22 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/templates/environment/test.environments.osimage.update.yaml +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.update.yaml @@ -1,20 +1,22 @@ osimage: test.environments.osimage: basic_attributes: - arch: ppc64le - distribution: rhels7.5-alternate - osdistro: rhels7.5-alternate-ppc64le + arch: OSARCH + distribution: OSVERS + osdistro: OSVERS-OSARCH osname: Linux deprecated: - comments: rhels7.5,test_environment_variables + comments: + - OSMAJOR + - test_environment_variables filestosync: - '{{GITREPO}}/syncfiles/synclist' genimgoptions: permission: '755' postinstall: - - /opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.postinstall + - POSTINSTALL - '{{GITREPO}}/postinstall/test1.postinstall' - rootimgdir: /install/custom/test.environments.osimage + rootimgdir: /install/custom/{{OBJNAME}} imagetype: linux package_selection: otherpkgdir: @@ -24,10 +26,10 @@ osimage: - '{{GITREPO}}/otherpkglist/test2.otherpkglist' - '' pkgdir: - - /install/rhels7.5-alternate/ppc64le + - PKGDIR - '{{SWDIR}}/pkgdir/' pkglist: - - /opt/xcat/share/xcat/netboot/rh/compute.rhels7.ppc64le.pkglist + - PKGLIST - '{{GITREPO}}/pkglist/test1.pkglist' - '{{GITREPO}}/pkglist/test2.pkglist' provision_mode: netboot diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml new file mode 100644 index 000000000..adb23f662 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/environment/test.environments.osimage.yaml @@ -0,0 +1,35 @@ +osimage: + test.environments.osimage: + basic_attributes: + arch: OSARCH + distribution: OSMAJOR + osdistro: OSVERS-OSARCH + osname: Linux + filestosync: + - {{GITREPO}}/syncfiles/synclist + deprecated: + comments: + - OSMAJOR + - test_environment_variables + genimgoptions: + permission: '755' + postinstall: + - POSTINSTALL + - {{GITREPO}}/postinstall/test1.postinstall + rootimgdir: /install/custom/{{OBJNAME}} + imagetype: linux + package_selection: + otherpkgdir: {{SWDIR}}/otherpkgdir/ + otherpkglist: + - {{GITREPO}}/otherpkglist/test1.otherpkglist + - {{GITREPO}}/otherpkglist/test2.otherpkglist, + pkgdir: + - PKGDIR + - {{SWDIR}}/pkgdir/ + pkglist: + - PKGLIST + - {{GITREPO}}/pkglist/test1.pkglist + - {{GITREPO}}/pkglist/test2.pkglist + provision_mode: netboot + role: compute +schema_version: '1.0' diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/exlist b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/exlist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/exlist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/exlist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file1.1 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file1.1 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file1.1 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file1.1 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file2.1 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file2.1 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file2.1 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file2.1 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file2.2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file2.2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file2.2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file2.2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file2.3 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file2.3 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file2.3 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file2.3 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file3.1 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file3.1 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file3.1 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file3.1 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file3.2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file3.2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file3.2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file3.2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file3.3 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file3.3 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file3.3 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file3.3 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file4.1 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file4.1 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file4.1 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file4.1 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file4.2 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file4.2 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file4.2 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file4.2 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file4.3 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file4.3 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file4.3 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file4.3 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file5 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file5 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file5 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file5 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file6 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file6 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file6 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file6 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file7 b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file7 similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file7 rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file7 diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/otherpkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/otherpkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/otherpkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/otherpkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/partitionfile b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/partitionfile similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/partitionfile rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/partitionfile diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/pkglist b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/pkglist similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/pkglist rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/pkglist diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/postinstall b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/postinstall similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/postinstall rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/postinstall diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/synclists b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/synclists similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/synclists rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/synclists diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/template.tmpl b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/template.tmpl similarity index 52% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/template.tmpl rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/template.tmpl index 75bca79e0..bde0260dd 100644 --- a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/template.tmpl +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/template.tmpl @@ -1,2 +1,2 @@ #Test file for template -#INCLUDE: /opt/xcat/share/xcat/tools/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/file7# +#INCLUDE: /opt/xcat/share/xcat/tools/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/file7# diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/test_osimage.stanza b/xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/test_osimage.stanza similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/imagedata/test_osimage/test_osimage.stanza rename to xCAT-test/autotest/testcase/xcat_inventory/templates/imagedata/test_osimage/test_osimage.stanza diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/network.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/network.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/network.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/network.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/network.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/network.yaml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/network.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/network.yaml diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.csv b/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.csv new file mode 100644 index 000000000..df4853f19 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.csv @@ -0,0 +1,2 @@ +#node,nicips,nichostnamesuffixes,nichostnameprefixes,nictypes,niccustomscripts,nicnetworks,nicaliases,nicextraparams,nicdevices,nicsadapter,comments,disable +"testnodes","|(.)(..)n(..)|ib0!(ipadd(10,41,0,100,dim2idx(a2idx($1),36,$2,18,$3),2,1))|","ib0!ib",,"ib0!Infiniband",,"ib0!ipoib",,,,,, diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.json new file mode 100644 index 000000000..d7a09a71d --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.json @@ -0,0 +1,26 @@ +{ + "node": { + "testnodes": { + "device_type": "server", + "network_info": { + "nics": { + "ib0": { + "hostnamesuffixes": [ + "ib" + ], + "ips": "|(.)(..)n(..)|ib0!(ipadd(10,41,0,100,dim2idx(a2idx($1),36,$2,18,$3),2,1))|", + "networks": [ + "ipoib" + ], + "type": [ + "Infiniband" + ] + } + } + }, + "obj_type": "group", + "role": "compute" + } + }, + "schema_version": "1.0" +} diff --git a/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.yaml new file mode 100644 index 000000000..86a789c06 --- /dev/null +++ b/xCAT-test/autotest/testcase/xcat_inventory/templates/nics.yaml @@ -0,0 +1,16 @@ +node: + testnodes: + device_type: server + network_info: + nics: + ib0: + hostnamesuffixes: + - ib + ips: '|(.)(..)n(..)|ib0!(ipadd(10,41,0,100,dim2idx(a2idx($1),36,$2,18,$3),2,1))|' + networks: + - ipoib + type: + - Infiniband + obj_type: group + role: compute +schema_version: '1.0' diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/node.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/node.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/node.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/node.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/node.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/node.yaml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/node.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/node.yaml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/osimage.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/osimage.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/osimage.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/osimage.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/osimage.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/osimage.yaml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/osimage.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/osimage.yaml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/passwd.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/passwd.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/passwd.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/passwd.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/passwd.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/passwd.yaml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/passwd.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/passwd.yaml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/route.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/route.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/route.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/route.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/route.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/route.yaml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/route.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/route.yaml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/site.json b/xCAT-test/autotest/testcase/xcat_inventory/templates/site.json similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/site.json rename to xCAT-test/autotest/testcase/xcat_inventory/templates/site.json diff --git a/xCAT-test/autotest/testcase/xcat-inventory/templates/site.yaml b/xCAT-test/autotest/testcase/xcat_inventory/templates/site.yaml similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/templates/site.yaml rename to xCAT-test/autotest/testcase/xcat_inventory/templates/site.yaml diff --git a/xCAT-test/autotest/testcase/xcat-inventory/validatehelper b/xCAT-test/autotest/testcase/xcat_inventory/validatehelper similarity index 100% rename from xCAT-test/autotest/testcase/xcat-inventory/validatehelper rename to xCAT-test/autotest/testcase/xcat_inventory/validatehelper diff --git a/xCAT-test/autotest/testcase/xcatd/case0 b/xCAT-test/autotest/testcase/xcatd/case0 index 046073d51..3720bc169 100644 --- a/xCAT-test/autotest/testcase/xcatd/case0 +++ b/xCAT-test/autotest/testcase/xcatd/case0 @@ -1,6 +1,6 @@ start:xcatd_start description:stop then start xcatd daemon, and check all the 6 processes are running -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:if [ -d "/tmp/xcatd_start" ]; then mv /tmp/xcatd_start /tmp/xcatd_start.org; fi; mkdir -p /tmp/xcatd_start check:rc==0 cmd:service xcatd status @@ -48,7 +48,7 @@ end start:xcatd_stop description:stop xcatd daemon, then check all the 6 processes are stopped -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:service xcatd status check:rc==0 check:output=~xcatd service|xcatd.service @@ -94,7 +94,7 @@ end start:run_command_with_XCATBYPASS description:with XCATBYPASS=YES, the command works either xcatd deamon running or not -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:service xcatd status check:rc==0 check:output=~xcatd service|xcatd.service @@ -121,7 +121,7 @@ end start:disable_root_permission_in_policy_table description:disable root permission, only with XCATBYPASS=YES, the command works -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:service xcatd status check:rc==0 check:output=~ xcatd service|xcatd.service @@ -141,7 +141,7 @@ end start:assign_certain_command_permission description:assign root permission to certain command, only this command works -label:mn_only,xcatd +label:mn_only,ci_test,xcatd cmd:service xcatd status check:rc==0 check:output=~ xcatd service |xcatd.service diff --git a/xCAT-test/autotest/testcase/xcatdebugmode/rhels_xcatdebugmode_diskful b/xCAT-test/autotest/testcase/xcatdebugmode/rhels_xcatdebugmode_diskful index b7bff8f0b..603d19fa0 100644 --- a/xCAT-test/autotest/testcase/xcatdebugmode/rhels_xcatdebugmode_diskful +++ b/xCAT-test/autotest/testcase/xcatdebugmode/rhels_xcatdebugmode_diskful @@ -1,6 +1,7 @@ start:reg_set_xcatdebugmode_off_rhels_diskful_flat os:linux description:site.xcatdebugmode value is 0, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;fi cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN check:rc==0 @@ -57,6 +58,7 @@ end start:reg_set_xcatdebugmode_value_one_rhels_diskful_flat os:linux description:site.xcatdebugmode value is 1, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 @@ -144,6 +146,7 @@ end start:reg_set_xcatdebugmode_value_two_rhels_diskful_flat os:linux description:site.xcatdebugmode value is 2, , the following logs will be shown and ssh is supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 @@ -231,6 +234,7 @@ end start:set_xcatdebugmode_off_rhels_diskful_flat_p8_le os:Linux description:site.xcatdebugmode value is 0, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:chtab key=xcatdebugmode site.value="0" check:rc==0 @@ -283,6 +287,7 @@ end start:set_xcatdebugmode_value_one_rhels_diskful_flat_p8_le os:Linux description:site.xcatdebugmode value is 1, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 @@ -372,6 +377,7 @@ end start:set_xcatdebugmode_value_two_rhels_diskful_flat_p8_le os:Linux description:site.xcatdebugmode value is 2, the following logs will be shown and ssh is supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 diff --git a/xCAT-test/autotest/testcase/xcatdebugmode/sles_xcatdebugmode_diskful b/xCAT-test/autotest/testcase/xcatdebugmode/sles_xcatdebugmode_diskful index 4191e6c51..f8033badc 100644 --- a/xCAT-test/autotest/testcase/xcatdebugmode/sles_xcatdebugmode_diskful +++ b/xCAT-test/autotest/testcase/xcatdebugmode/sles_xcatdebugmode_diskful @@ -1,6 +1,7 @@ start:reg_set_xcatdebugmode_off_sles_diskful_flat os:linux description:site.xcatdebugmode value is 0, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:if ping -c 1 $$SN > /dev/null;then rpower $$SN off > /dev/null;fi cmd:chdef -t node -o $$CN servicenode= monserver=$$MN nfsserver=$$MN tftpserver=$$MN xcatmaster=$$MN @@ -67,6 +68,7 @@ end start:reg_set_xcatdebugmode_value_one_sles_diskful_flat os:linux description:site.xcatdebugmode value is 1, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 @@ -160,6 +162,7 @@ end start:set_xcatdebugmode_off_sles_diskful_flat_p8_le os:linux description:site.xcatdebugmode value is 0, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:chtab key=xcatdebugmode site.value="0" check:rc==0 @@ -221,6 +224,7 @@ end start:set_xcatdebugmode_value_one_sles_diskful_flat_p8_le os:linux description:site.xcatdebugmode value is 1, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 diff --git a/xCAT-test/autotest/testcase/xcatdebugmode/ubuntu_xcatdebugmode_diskful b/xCAT-test/autotest/testcase/xcatdebugmode/ubuntu_xcatdebugmode_diskful index bef44b866..70d8cc3a9 100644 --- a/xCAT-test/autotest/testcase/xcatdebugmode/ubuntu_xcatdebugmode_diskful +++ b/xCAT-test/autotest/testcase/xcatdebugmode/ubuntu_xcatdebugmode_diskful @@ -1,6 +1,7 @@ start:set_xcatdebugmode_off_ubuntule_diskful os:linux description:site.xcatdebugmode value is 0, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:chtab key=xcatdebugmode site.value="0" check:rc==0 cmd:copycds $$ISO @@ -44,6 +45,7 @@ end start:set_xcatdebugmode_off_ubuntux_vm_diskful os:linux description:site.xcatdebugmode value is 0, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:makedns -n check:rc==0 cmd:sleep 60 @@ -86,6 +88,7 @@ end start:set_xcatdebugmode_value_one_ubuntule_diskful os:linux description:site.xcatdebugmode value is 1, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 cmd:chtab key=xcatdebugmode site.value="1" @@ -157,6 +160,7 @@ end start:set_xcatdebugmode_value_one_ubuntux_vm_diskful os:linux description:site.xcatdebugmode value is 1, the following logs will be shown and ssh is not supported. +label:flat_cn_diskful,invoke_provision,xcatdebugmode cmd:echo " " > /var/log/xcat/computes.log check:rc==0 diff --git a/xCAT-test/autotest/testcase/xcatsnap/cases0 b/xCAT-test/autotest/testcase/xcatsnap/cases0 index 52607b868..f2cd9171d 100644 --- a/xCAT-test/autotest/testcase/xcatsnap/cases0 +++ b/xCAT-test/autotest/testcase/xcatsnap/cases0 @@ -1,6 +1,6 @@ start:xcatsnap_null description:xcatsnap with no argument -label:mn_only +label:mn_only,ci_test cmd:xcatsnap check:rc==0 check:output=~Send .* to IBM Support @@ -9,7 +9,7 @@ end start:xcatsnap_b_d description:xcatsnap -B -d -label:mn_only +label:mn_only,ci_test cmd:xcatsnap -B -d /tmp/testdir check:rc==0 check:output=~Send .* to IBM Support @@ -20,7 +20,7 @@ end start:xcatsnap_h description:xcatsnap -h and --help -label:mn_only +label:mn_only,ci_test cmd:xcatsnap -h check:output=~Usage cmd:xcatsnap --help diff --git a/xCAT-test/autotest/testcase/xcatstanzafile/cases0 b/xCAT-test/autotest/testcase/xcatstanzafile/cases0 index 2a6c7167d..6ccab47a2 100644 --- a/xCAT-test/autotest/testcase/xcatstanzafile/cases0 +++ b/xCAT-test/autotest/testcase/xcatstanzafile/cases0 @@ -22,7 +22,7 @@ end start:xcatstanzafile_colon description:xcatstanzafile's header without colon -label:mn_only,db +label:mn_only,ci_test,db cmd:echo 'default-node: groups=all,compute testnode @@ -41,7 +41,7 @@ end start:xcatstanzafile_attribute description:xcatstanzafile with error attribute line -label:mn_only,db +label:mn_only,ci_test,db cmd:echo 'default-node: groups=all,compute testnode: @@ -82,7 +82,7 @@ end start:xcatstanzafile_objtype description:xcatstanzafile,a stanza without objtype definition -label:mn_only,db +label:mn_only,ci_test,db cmd:echo 'default-node: groups=all,compute testnode: @@ -98,7 +98,7 @@ end #start:xcatstanzafile_comment #description:xcatstanzafile,a stanza without objtype definition -#label:mn_only,db +#label:mn_only,ci_test,db #cmd:echo 'default-node: # groups=all,compute #testnode: @@ -171,7 +171,7 @@ end start:xcatstanzafile_specificvalue description:When a specific value for an attribute is provided in the stanza, it takes priority over any default value that had been set. -label:mn_only,db +label:mn_only,ci_test,db cmd:echo 'default-node: groups=all,compute testnode: diff --git a/xCAT-test/autotest/testcase/xdsh/cases0 b/xCAT-test/autotest/testcase/xdsh/cases0 index 2890a992c..bab5e3f52 100644 --- a/xCAT-test/autotest/testcase/xdsh/cases0 +++ b/xCAT-test/autotest/testcase/xdsh/cases0 @@ -15,7 +15,7 @@ start:xdsh_regular_command label:cn_os_ready,parallel_cmds cmd:XCATBYPASS=1 xdsh $$CN "ps -ef" check:rc==0 -check:output=~$$CN: UID PID PPID C STIME TTY TIME CMD +check:output=~$$CN:\s+UID\s+PID\s+PPID\s+C\s+STIME\s+TTY\s+TIME\s+CMD end start:xdsh_Q_command @@ -96,7 +96,7 @@ start:xdsh_t label:cn_os_ready,parallel_cmds cmd:date +%s > /tmp/start.txt check:rc==0 -cmd:xdsh $$CN -t 5 "ssh 1.1.1.1" +cmd:xdsh $$CN -t 5 "sleep 10" check:rc!=0 check:output=~Error: (\[.*?\]: )?Caught SIGINT - terminating the child processes. cmd:date +%s > /tmp/end.txt diff --git a/xCAT-test/autotest/testcase/xdshbak/cases0 b/xCAT-test/autotest/testcase/xdshbak/cases0 index d956d6d86..1cbc6aa9b 100644 --- a/xCAT-test/autotest/testcase/xdshbak/cases0 +++ b/xCAT-test/autotest/testcase/xdshbak/cases0 @@ -1,26 +1,31 @@ start:xdshbak_h +label:others,parallel_cmds cmd:xdshbak -h check:rc==0 check:output=~Usage end start:xdshbak_display +label:others,parallel_cmds cmd:xdsh $$CN cat /etc/hosts | xdshbak check:rc==0 check:output=~HOST:$$CN end start:xdshbak_c +label:others,parallel_cmds cmd:xdsh $$CN pwd |xdshbak -c check:rc==0 end start:xdshbak_q +label:others,parallel_cmds cmd:xdsh $$CN ls / |xdshbak -q check:rc==0 end start:xdshbak_x +label:others,parallel_cmds cmd:xdsh $$CN cat /etc/passwd|xdshbak -c check:rc==0 end diff --git a/xCAT-test/bin/xcatperftest b/xCAT-test/bin/xcatperftest index b0d5d5d21..7b6da3c73 100755 --- a/xCAT-test/bin/xcatperftest +++ b/xCAT-test/bin/xcatperftest @@ -1,5 +1,5 @@ #!/bin/bash -# IBM(c) 2017 EPL license http://www.eclipse.org/legal/epl-v10.html +# IBM(c) 2018 EPL license http://www.eclipse.org/legal/epl-v10.html #(C)IBM Corp # ################################################################### @@ -34,7 +34,7 @@ isNumber() # Give a simple usage if [ -z "$1" ] || [ "$1" = "-h" ] || [ "$1" = "--help" ]; then echo "Run the performance testing for the commands listed in file:" - echo " [PERF_DRYRUN=y] $0 run " + echo " [PERF_DRYRUN=y] [PERF_RUN_NODELIST=/path/to/nodelist] $0 run " echo " " echo "Generate a bunch of fake nodes and Run the performance testing for the commands listed in file:" echo " [PERF_DRYRUN=y] [PERF_NOCREATE=y] $0 [command-list-file]" @@ -107,7 +107,14 @@ fi # Mandatory, to specify the number of total fake nodes which will be created for testing FAKE_NODE_TOTAL=$1 if [ "$PERF_RUN_WITH_ENV" = "1" ];then - FAKE_NODE_TOTAL=`nodels|wc -l` + if [ -z $PERF_RUN_NODELIST ]; then + PERF_RUN_NODELIST="/tmp/xcatperftest.nodels.$$" + nodels > $PERF_RUN_NODELIST + else + [ -f "$PERF_RUN_NODELIST" ] && ( echo "ERROR: $PERF_RUN_NODELIST does not exist."; exit 99 ) + fi + + FAKE_NODE_TOTAL=`cat $PERF_RUN_NODELIST|wc -l` fi # Optional, the prefix of the fake compute node name. @@ -153,6 +160,11 @@ if [ -z $PERF_NODETEMPL ]; then PERF_NODETEMPL="`arch`-template" fi +# Optional, The NIC used by simulator. +if [ -z $PERF_RUN_TIMEOUT ]; then + PERF_RUN_TIMEOUT=3600 +fi + # Optional, The NIC used by simulator. if [ -z $PERF_SIM_NIC ]; then PERF_SIM_NIC='eth1' @@ -179,6 +191,16 @@ if [ -z $PERF_RPT_FILE ]; then fi PERFORMANCE_REPORT=$PERFORMANCE_DIR/$PERF_RPT_FILE +# Get a random node list from a file +nodeRange() +{ + if [ "$PERF_RUN_WITH_ENV" = "1" ];then + cat "$PERF_RUN_NODELIST"|shuf -n$1|awk BEGIN{RS=EOF}'{gsub(/\n/,",");print}' + else + echo "$FAKE_NODE_PREFIX[1-$1]" + fi +} + # Get a random MAC address genMAC() { @@ -283,7 +305,7 @@ runTest() { cmd=$1 - [ -z $osimage ] || cmd="${cmd/\#OSIMAGE\#/$osimage}" + [ -z "$osimage" ] || cmd="${cmd/\#OSIMAGE\#/$osimage}" if [[ $cmd =~ '#STANZ#' ]]; then #mkdef -z execCmd "${cmd/\#STANZ\#/$PERFORMANCE_STANZ}" "$FAKE_NODE_TOTAL" @@ -295,12 +317,18 @@ runTest() execCmd "${cmd/\#NODES\#/$FAKE_NODE_GROUP}" "$FAKE_NODE_TOTAL" else # run the command for each number in SERIES + lastnum=0 for num in $2 do isNumber $num || continue + showcmd=$1 if [[ $num -le $FAKE_NODE_TOTAL ]]; then - #cmd=$1 - execCmd "${cmd/\#NODES\#/$FAKE_NODE_PREFIX[1-$num]}" "$num" + execCmd "${cmd/\#NODES\#/$(nodeRange $num)}" "$num" "${showcmd/NODES/$num}" + lastnum=$num + elif [ "$PERF_RUN_WITH_ENV" = "1" ]; then + num=$FAKE_NODE_TOTAL + [[ $num -gt $lastnum ]] && execCmd "${cmd/\#NODES\#/}" "$num" "${showcmd/NODES/$num}" + break fi done fi @@ -312,6 +340,7 @@ runTest() } + # Output performance result for each command. printResult() { @@ -322,7 +351,7 @@ printResult() if [ -z $4 ]; then # RESULT; CMD; TIME; FULL COMMAND - echo "=====> $result$PERF_CSV_CHAR $desc$PERF_CSV_CHAR $2$PERF_CSV_CHAR \"$1\"" + echo "=====> $result$PERF_CSV_CHAR $desc$PERF_CSV_CHAR $2" echo "$result$PERF_CSV_CHAR $desc$PERF_CSV_CHAR $2$PERF_CSV_CHAR \"$1\"" >> $PERFORMANCE_REPORT else nodepersec='-' @@ -331,7 +360,7 @@ printResult() nodepersec=$(printf "%.2f" `echo "scale=2;$4/$2"|bc`) fi # RESULT; CMD; TIME; NODES; NODES/SEC; FULL COMMAND - echo "=====> $result$PERF_CSV_CHAR $desc$PERF_CSV_CHAR $2$PERF_CSV_CHAR $4$PERF_CSV_CHAR $nodepersec$PERF_CSV_CHAR \"$1\"" + echo "=====> $result$PERF_CSV_CHAR $desc$PERF_CSV_CHAR $2$PERF_CSV_CHAR $4$PERF_CSV_CHAR $nodepersec" echo "$result$PERF_CSV_CHAR $desc$PERF_CSV_CHAR $2$PERF_CSV_CHAR $4$PERF_CSV_CHAR $nodepersec$PERF_CSV_CHAR \"$1\"">> $PERFORMANCE_REPORT fi } @@ -340,14 +369,20 @@ printResult() execCmd() { noderange=$2 + [ -z "$3" ] && showcmd=$1 || showcmd=$3 - echo "[Testing for command]: $1 ..." + echo "[Testing for command]: $showcmd ..." if [ ! -z $PERF_DRYRUN ]; then return fi start=`date +%s%3N` - eval "$1" > /dev/null 2>&1 + + #using timeout to avoid some commands hang + timeout $PERF_RUN_TIMEOUT bash < /dev/null 2>&1 +EOT + retval=$? end=`date +%s%3N` delta=$(printf "%.2f" `echo "scale=2;$(($end-$start))/1000"|bc`) @@ -364,12 +399,19 @@ execCmd() ################################################# mkdir -p $PERFORMANCE_DIR if [ "$PERF_RUN_WITH_ENV" = "1" ]; then - echo "Start the performance testing for commands in $RUN_CMD_LIST " + echo "Start the performance testing for commands in $RUN_CMD_LIST. Total nodes: $FAKE_NODE_TOTAL " echo "#$version" >> $PERFORMANCE_REPORT echo "#Total defined nodes number: $FAKE_NODE_TOTAL" >> $PERFORMANCE_REPORT echo "#Result$PERF_CSV_CHAR Command$PERF_CSV_CHAR Time(s)$PERF_CSV_CHAR Full Commands" >> $PERFORMANCE_REPORT echo "==================================================" + + series=`grep '^#SERIES#' $RUN_CMD_LIST | awk '{print $2}'` + if [ ! -z $series ]; then + series=${series//,/ } + fi + [ -z "$series" ] || echo "Apply noderange ($series) on below commands." + cmdlist=`cat $RUN_CMD_LIST` IFS_BAK=$IFS IFS=$'\n' @@ -379,13 +421,14 @@ if [ "$PERF_RUN_WITH_ENV" = "1" ]; then # begin to run the command IFS=$IFS_BAK - execCmd "$line" + #execCmd "$line" + runTest "$line" "$series" IFS=$'\n' done IFS=$IFS_BAK IFS_BAK= - if [ -z $PERF_DRYRUN ]; then + if [ -z "$PERF_DRYRUN" ]; then echo echo "Done. Check the performance result in $PERFORMANCE_REPORT" fi @@ -437,7 +480,7 @@ if [ 0 != $? ]; then exit 99 fi -if [ -z $PERF_NOCREATE ]; then +if [ -z "$PERF_NOCREATE" ]; then rack=$(expr $FAKE_NODE_TOTAL / $NODE_PER_ROW) echo "==================================================" @@ -447,8 +490,8 @@ if [ -z $PERF_NOCREATE ]; then echo "==================================================" fi -if [ -z $RUN_CMD_LIST ]; then - [ -z $PERF_NOCREATE ] && echo "Done. Check the stanz file in $PERFORMANCE_STANZ" +if [ -z "$RUN_CMD_LIST" ]; then + [ -z "$PERF_NOCREATE" ] && echo "Done. Check the stanz file in $PERFORMANCE_STANZ" exit 0 fi echo "Continue the performance testing for commands in $RUN_CMD_LIST " @@ -459,19 +502,19 @@ echo "#Result$PERF_CSV_CHAR Command$PERF_CSV_CHAR Time(s)$PERF_CSV_CHAR Nodes Nu echo "==================================================" # Initial Populate the fake nodes into DB -if [ -z $PERF_NOCREATE ]; then +if [ -z "$PERF_NOCREATE" ]; then #create fake network for makedns, makedhcp etc... fakeNetwork execCmd "cat $PERFORMANCE_STANZ | mkdef -z -f" "$FAKE_NODE_TOTAL" - [ -z $PERF_CREATE_ONLY ] || exit 0 + [ -z "$PERF_CREATE_ONLY" ] || exit 0 # fake interface is required for topology with service nodes as it will determine if then Mn/Sn are # in the same subnet with CNs fakeInterface $FAKE_NETWORK_INTF fi series=`grep '^#SERIES#' $RUN_CMD_LIST | awk '{print $2}'` -if [ ! -z $series ]; then +if [ ! -z "$series" ]; then series=${series//,/ } fi #echo $series @@ -496,7 +539,7 @@ if [ -z $PERF_NOCREATE ]; then rm -f $PERFORMANCE_STANZ fakeInterface $FAKE_NETWORK_INTF del fi - +rm -f "/tmp/xcatperftest.nodels.$$" if [ -z $PERF_DRYRUN ]; then echo echo "Done. Check the performance result in $PERFORMANCE_REPORT" diff --git a/xCAT-test/xcattest b/xCAT-test/xcattest index 5881aa2eb..2c8894661 100755 --- a/xCAT-test/xcattest +++ b/xCAT-test/xcattest @@ -71,7 +71,7 @@ my $restore = 0; my $quiet = 0; my $search_expression = undef; -my %label_map; +my @total_label_set=(); my %case_label_map; my @label_order = (["xcat_install"], ["mn_only"], @@ -169,11 +169,17 @@ if ($rst) { } if($search_expression){ - $rst = scan_existed_labels(\%case_label_map, \%label_map, \$error); + $rst = scan_existed_labels(\%case_label_map, \@total_label_set, \$error); if($rst) { log_this($running_log_fd, "$error"); to_exit(1); } + if($xcatdebug){ + print "------The total labels are:---------\n"; + print Dumper \@total_label_set; + print "------The case and its labels:-------\n"; + print Dumper \%case_label_map + } } $rst = calculate_cases_to_be_run(\@cases_to_be_run, \$error); @@ -247,19 +253,22 @@ if (defined $list) { to_exit(1); } } elsif ($list eq "labelinfo"){ - $rst = scan_existed_labels(\%case_label_map, \%label_map, \$error); + $rst = scan_existed_labels(\%case_label_map, \@total_label_set, \$error); + if($xcatdebug){ + print "------The total labels are:---------\n"; + print Dumper \@total_label_set; + print "------The case and its labels:-------\n"; + print Dumper \%case_label_map + } my %label_conut; my %case_label_str_map; foreach my $case (keys %case_label_map){ - if($case_label_map{$case}{label_str}){ - $case_label_str_map{$case} = $case_label_map{$case}{label_str}; - my @labels = split(",", $case_label_map{$case}{label_str}); - foreach my $label (@labels){ - if(!exists $label_conut{$label}){ - $label_conut{$label}=1; - }else{ - $label_conut{$label}+=1; - } + $case_label_str_map{$case} = join (",", @{$case_label_map{$case}{labels}}); + foreach my $label (@{$case_label_map{$case}{labels}}){ + if(!exists $label_conut{$label}){ + $label_conut{$label}=1; + }else{ + $label_conut{$label}+=1; } } } @@ -268,7 +277,7 @@ if (defined $list) { log_this($running_log_fd, "The labels of cases:"); log_this($running_log_fd, "-------------------------------"); print_table(\%case_label_str_map); - my $label_total_num=keys %label_conut; + my $label_total_num=@total_label_set; log_this($running_log_fd, "\n-------------------------------"); log_this($running_log_fd, "There are $label_total_num different labels"); log_this($running_log_fd, "The number of cases of each label:"); @@ -276,9 +285,20 @@ if (defined $list) { print_table(\%label_conut); log_this($running_log_fd, "-------------------------------"); my $total_case = keys %case_label_map; - my $case_with_label_num = keys %case_label_str_map; - log_this($running_log_fd, "There are $total_case cases totaly, there are $case_with_label_num cases with label."); - + my @cases_without_manual_labels=(); + foreach my $case ( keys %case_label_map){ + if(! exists ($case_label_map{$case}{manual_labels})){ + push @cases_without_manual_labels, $case; + } + } + my $case_without_manual_label_num = @cases_without_manual_labels; + log_this($running_log_fd, "There are $total_case cases totaly, there are $case_without_manual_label_num cases without manual label."); + log_this($running_log_fd, "-------------------------------"); + log_this($running_log_fd, "The cases without manual label are:"); + log_this($running_log_fd, "-------------------------------"); + foreach my $case (sort @cases_without_manual_labels){ + print "$case\n"; + } } to_exit(0); @@ -1741,7 +1761,9 @@ sub get_files_recursive next if ($direntry eq '..'); my $target = "$dir/$direntry"; if (-d $target) { - get_files_recursive($target, $files_path_ref); + unless ($target =~ /xcat-inventory\/templates/){ + get_files_recursive($target, $files_path_ref); + } } else { push(@{$files_path_ref}, glob("$target\n")); } @@ -1912,7 +1934,7 @@ sub gettablevalue sub print_table { my $msg_ref = shift; - my $desiredwidth = 120; + my $desiredwidth = 160; my $screenwidth = (`tput cols` + 0); my $finallen = ($screenwidth > $desiredwidth ? $desiredwidth : $screenwidth); @@ -1993,85 +2015,51 @@ sub filter_case_by_label { my $rest_cases_to_be_run_ref = shift; my $error_ref = shift; - my @filters = (); - my $rst = parse_filters(\@filters, $error_ref); - if($rst){ - return 1; - } - #print Dumper \@filters; - my @targetcases = (); foreach my $case (keys %{$case_label_map_ref}) { if(@$cases_to_be_run_ref){ - next unless(grep { /^$case$/ } @$cases_to_be_run_ref); + next unless(inarray($cases_to_be_run_ref, $case)); } - foreach my $f (@filters) { - my $hit = 1; - foreach my $c (@$f) { - if (($c > 0) and (($case_label_map_ref->{$case}->{label} & $c) == 0)) { - $hit = 0; - last; - } elsif (($c < 0) and (($case_label_map_ref->{$case}->{label} & ($c * -1)) != 0)) { - $hit = 0; - last; + my $match_filter=0; + my @exps = split('\|', $search_expression); + foreach my $e (@exps) { + $e =~ s/\+/ /g; + $e =~ s/\-/ -/g; + my $match_sub_filter = 1; + my @tags = split(' ', $e); + foreach my $t (@tags) { + if ($t =~ /^-(.+)/) { + $match_sub_filter = 0 if (inarray ($case_label_map_ref->{$case}->{labels}, $1)); + }else{ + $match_sub_filter = 0 unless (inarray ($case_label_map_ref->{$case}->{labels}, $t)); } + last unless ($match_sub_filter); } - push @targetcases, $case if ($hit and !(grep { /^$case$/ } @targetcases)); - } - } + if ($match_sub_filter){ + $match_filter =1; + last; + } + } + push @targetcases, $case if ($match_filter); + } #print Dumper \@targetcases; + #order cases which matches filters by Vertical Dimension Labels for (my $i = 0 ; $i <= $#label_order ; $i++) { foreach my $l (@{ $label_order[$i] }) { foreach my $c (@targetcases) { - push @{$rest_cases_to_be_run_ref}, $c if (defined ($label_map{$l}) && (($case_label_map_ref->{$c}->{label} & $label_map{$l}) != 0)); + push @{$rest_cases_to_be_run_ref}, $c if (inarray($case_label_map_ref->{$c}->{labels}, $l)); } } } return 0; } -sub parse_filters{ - my $filters_ref=shift; - my $error_ref=shift; - - my $index = 0; - my @undefined_labels; - my @exps = split('\|', $search_expression); - foreach my $e (@exps) { - $e =~ s/\+/ /g; - $e =~ s/\-/ -/g; - my @tags = split(' ', $e); - foreach my $t (@tags) { - if ($t =~ /^-(.+)/) { - my $tmpt = $1; - unless (grep { /^$tmpt$/ } keys(%label_map)) { - push @undefined_labels, $tmpt; - next; - } - push @{ $filters_ref->[$index] }, ($label_map{$tmpt} * -1); - } else { - unless (grep { /^$t$/ } keys(%label_map)) { - push @undefined_labels, $t; - next; - } - push @{ $filters_ref->[$index] }, $label_map{$t}; - } - } - $index += 1; - } - -# if (@undefined_labels) { -# $$error_ref = "Label \"" . join(",", @undefined_labels) . "\" are not exist. Existed labels are: " . join(" ", keys(%label_map)); -# return 1; -# } - return 0; -} sub scan_existed_labels { my $case_label_map_ref = shift; - my $label_map_ref = shift; + my $total_label_set_ref = shift; my $error_ref = shift; my $label_value = 1; @@ -2082,6 +2070,8 @@ sub scan_existed_labels { foreach my $file (@files) { my @output = runcmd("grep -E \"^start:|^hcp:|^os:|^arch:|^label:\" $file"); my $current_case_name = ""; + my $cmd_cases_belong_to = calculate_case_belong_to_which_cmd($file); + #print "cmd_cases_belong_to = $cmd_cases_belong_to\n"; foreach my $line (@output) { $line =~ s/^\s+|#[^!].+|\s+$//g; @@ -2091,45 +2081,84 @@ sub scan_existed_labels { my @labels = (); if ($line =~ /^start\s*:\s*(.*)/) { $current_case_name = $1; - $case_label_map_ref->{$current_case_name}->{label} = 0; - $case_label_map_ref->{$current_case_name}->{label_str} = ""; + if ($cmd_cases_belong_to){ + $case_label_map_ref->{$current_case_name}->{labels} = [$cmd_cases_belong_to]; + push @$total_label_set_ref, $cmd_cases_belong_to unless(inarray($total_label_set_ref, $cmd_cases_belong_to)); + }else{ + $case_label_map_ref->{$current_case_name}->{labels} = []; + } } elsif ($line =~ /^os\s*:\s*(\w[\w\, ]+)/) { my @oss = split(",", $1); foreach my $os (@oss) { $os =~ s/^\s+|\s+$//g; - push @labels, "os=$os"; + my $label_str = lc("os=$os"); + push @{$case_label_map_ref->{$current_case_name}->{labels}}, $label_str unless(inarray($case_label_map_ref->{$current_case_name}->{labels}, $label_str)); + push @$total_label_set_ref, $label_str unless(inarray($total_label_set_ref, $label_str)); } + } elsif ($line =~ /^arch\s*:\s*(\w[\w\, ]+)/) { my @archs = split(",", $1); foreach my $arch (@archs) { $arch =~ s/^\s+|\s+$//g; - push @labels, "arch=$arch"; + my $label_str = lc("arch=$arch"); + push @{$case_label_map_ref->{$current_case_name}->{labels}}, $label_str unless(inarray($case_label_map_ref->{$current_case_name}->{labels}, $label_str)); + push @$total_label_set_ref, $label_str unless(inarray($total_label_set_ref, $label_str)); } } elsif ($line =~ /^hcp\s*:\s*(\w[\w\, ]+)/) { my @hcps = split(",", $1); foreach my $hcp (@hcps) { $hcp =~ s/^\s+|\s+$//g; - push @labels, "hcp=$hcp"; + my $label_str = lc("hcp=$hcp"); + push @{$case_label_map_ref->{$current_case_name}->{labels}}, $label_str unless(inarray($case_label_map_ref->{$current_case_name}->{labels}, $label_str)); + push @$total_label_set_ref, $label_str unless(inarray($total_label_set_ref, $label_str)); + } } elsif ($line =~ /^label\s*:\s*(.+)/) { my @tmp = split(",", $1); - foreach my $l (@tmp){ - $l =~ s/^\s+|\s+$//g; - push @labels, $l; - } - } - - if($current_case_name){ - foreach my $t (@labels) { - unless (exists $label_map_ref->{$t}) { - $label_map_ref->{$t} = $label_value; - $label_value *= 2; - } - $case_label_map_ref->{$current_case_name}->{label} |= $label_map_ref->{$t}; - $case_label_map_ref->{$current_case_name}->{label_str} .= "$t,"; + foreach my $label_str (@tmp){ + $label_str =~ s/^\s+|\s+$//g; + push @{$case_label_map_ref->{$current_case_name}->{labels}}, $label_str unless(inarray($case_label_map_ref->{$current_case_name}->{labels}, $label_str)); + push @{$case_label_map_ref->{$current_case_name}->{manual_labels}},$label_str unless(inarray($case_label_map_ref->{$current_case_name}->{manual_labels}, $label_str)); + push @$total_label_set_ref, $label_str unless(inarray($total_label_set_ref, $label_str)); } } } + } return 0; } + +sub calculate_case_belong_to_which_cmd { + my $file_path = shift; + my $command = undef; + + if ($file_path =~ "\/autotest\/testcase") { + my @path_str = split("/", $file_path); + #print Dumper \@path_str; + my $index = 0; + foreach my $str (@path_str) { + if ($str =~ "autotest") { + $index += 1; + last; + } + $index += 1; + } + #print "index=$index\n"; + $command = lc($path_str[ $index + 1 ]); + } + return $command; +} + +sub inarray{ + my $array = shift; + my $element = shift; + my $hit = 0; + + foreach my $e (@$array){ + if (lc("$e") eq lc("$element")){ + $hit = 1; + last; + } + } + return $hit; +} diff --git a/xCAT-vlan/xCAT-vlan.spec b/xCAT-vlan/xCAT-vlan.spec index 5554a8872..0e1b9b772 100755 --- a/xCAT-vlan/xCAT-vlan.spec +++ b/xCAT-vlan/xCAT-vlan.spec @@ -19,7 +19,7 @@ BuildArch: noarch Requires: xCAT-client = 4:%{version}-%{release} %description -xCAT-vlan provides the xCAT vlan confiuration. +xCAT-vlan provides the xCAT vlan configuration. %prep %setup -q -n xCAT-vlan diff --git a/xCAT-vlan/xpod2man b/xCAT-vlan/xpod2man index 36a5a78a2..1135f3957 100755 --- a/xCAT-vlan/xpod2man +++ b/xCAT-vlan/xpod2man @@ -9,7 +9,6 @@ use strict; -#use lib '.'; use Pod::Man; use Pod::Html; @@ -21,13 +20,6 @@ if (system("mkdir -p $cachedir")) { die "Error: could not create $cachedir.\n"; my @pods = getPodList($poddir); -#foreach (@pods) { print "$_\n"; } exit; - -# Build the cmd overview page. -#writesummarypage("$poddir/man1/xcat.1.pod", @pods); - -# Build the man page for each pod. -#mkdir($mandir) or die "Error: could not create $mandir.\n"; print "Converting PODs to man pages...\n"; foreach my $podfile (@pods) { my $manfile = $podfile; @@ -42,8 +34,6 @@ foreach my $podfile (@pods) { my @dummyPods = createDummyPods($poddir, \@pods); -# Build the html page for each pod. -#mkdir($htmldir) or die "Error: could not create $htmldir.\n"; print "Converting PODs to HTML pages...\n"; # have to clear the cache, because old entries can cause a problem @@ -56,7 +46,6 @@ foreach my $podfile (@pods) { $hdir =~ s|/[^/]*$||; # get rid of the basename part if (system("mkdir -p $hdir")) { die "Error: could not create $hdir.\n"; } - #print "$podfile, $htmlfile, $poddir, $htmldir\n"; convertpod2html($podfile, $htmlfile, $poddir, $htmldir); } @@ -75,27 +64,21 @@ sub createDummyPods { my ($poddir, $pods) = @_; my $cmd = "grep -r -E 'L<.+\\([57]\\)\\|.+\\.[57]>' " . $poddir; - #print "Running cmd: ", $cmd, "\n"; my @lines = `$cmd`; if ($?) { print "Did not find any section 5 man page, creating dummy pods...\n"; print join('', @lines); } - #my @lines; - #system($cmd); my @dummyPods; foreach my $l (@lines) { - #print "$l\n"; my @matches = $l =~ /L<([^\(]+)\(([57])\)\|\1\.[57]>/g; # get all the matches in the line # The above line should create the array with every other entry being the man page name # and every other entry is the section # (5 or 7) my $cmd; while ($cmd = shift @matches) { - #foreach my $m (@matches) { my $section = shift @matches; my $filename = "$poddir/man$section/$cmd.$section.pod"; - #print "$filename\n"; if (!(grep /^$filename$/, @$pods) && !(grep /^$filename$/, @dummyPods)) { push @dummyPods, $filename; } } } @@ -134,71 +117,6 @@ sub getPodList { return sort @files; } - -# Create the xcat man page that gives a summary description of each xcat cmd. -sub writesummarypage { - my $file = shift; # relative path file name of the man page - # the rest of @_ contains the pod files that describe each cmd - - open(FILE, ">$file") or die "Error: could not open $file for writing.\n"; - - print FILE <<'EOS1'; -=head1 NAME - -B - extreme Cluster Administration Tool. - -=head1 DESCRIPTION - -Extreme Cluster Administration Toolkit (xCAT). xCAT is a scalable distributed computing management -and provisioning tool that provides a unified interface for hardware control, discovery, and -OS diskful/diskfree deployment. - - -=head1 XCAT DATABASE - -All of the cluster configuration information is in the xCAT database. See L for -descriptions of every table in the database. - -=head1 XCAT COMMANDS - -What follows is a short description of each xCAT command. To get more information about a particular -command, see its man page. Note that the commands are listed in alphabetical order B, -i.e. all the commands in section 1, then the commands in section 3, etc. - -=over 12 -EOS1 - - # extract the summary for each cmd from its man page - foreach my $manpage (@_) { - my ($sectionnum) = $manpage =~ /\.(\d+)\.pod$/; - - # Suck in the whole file, then we will parse it. - open(MANPAGE, "$manpage") or die "Error: could not open $manpage for reading.\n"; - my @contents = ; - my $wholemanpage = join('', @contents); - close(MANPAGE); - - # This regex matches: optional space, =head1, space, title, space, cmd, space, description, newline - my ($cmd, $description) = $wholemanpage =~ /^\s*=head1\s+\S+\s+(\S+)\s+(.+?)\n/si; - if (!defined($cmd)) { print "Warning: $manpage is not in a recognized structure. It will be ignored.\n"; next; } - if (!defined($description)) { print "Warning: $manpage does not have a description for $cmd. It will be ignored.\n"; next; } - $cmd =~ s/^.<(.+)>$/$1/; # if the cmd name has pod formatting around it, strip it off - $description =~ s/^-\s*//; # if the description has a leading hypen, strip it off - print FILE "\n=item L<$cmd($sectionnum)|$cmd.$sectionnum>\n\n" . $description . "\n"; - } - - # Artificially add the xcattest cmd, because the xCAT-test rpm will add this - print FILE "\n=item L\n\nRun automated xCAT test cases.\n"; - - print FILE <<"EOS3"; - -=back -EOS3 - - close FILE; -} - - # Create the html page for one pod. sub convertpod2html { my ($podfile, $htmlfile, $poddir, $htmldir) = @_; diff --git a/xCAT/postscripts/addsiteyum b/xCAT/postscripts/addsiteyum index 69e11ee69..d7232dabc 100755 --- a/xCAT/postscripts/addsiteyum +++ b/xCAT/postscripts/addsiteyum @@ -1,7 +1,12 @@ #!/bin/bash +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi cd `dirname $0` if [ ! -d repos/$OSVER/$ARCH ]; then - logger -t xcat -p local4.err "addsiteyum: repos/$OSVER/$ARCH is not a directory" + logger -t $log_label -p local4.err "addsiteyum: repos/$OSVER/$ARCH is not a directory" exit -1; fi for i in repos/$OSVER/$ARCH/* diff --git a/xCAT/postscripts/configbond b/xCAT/postscripts/configbond index 659561d32..8b340428d 100755 --- a/xCAT/postscripts/configbond +++ b/xCAT/postscripts/configbond @@ -40,6 +40,12 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then . $str_dir_name/xcatlib.sh fi +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + # Subroutine to display message and pass it to syslog # Usage: showmsg "message to putput" ["error"] function showmsg() { @@ -47,9 +53,9 @@ function showmsg() { error=$2 if [ -n "$error" ]; then - $(logger -t xcat -p local4.err $msg) + $(logger -t $log_label -p local4.err $msg) else - $(logger -t xcat -p local4.info $msg) + $(logger -t $log_label -p local4.info $msg) fi echo $msg diff --git a/xCAT/postscripts/configeth b/xCAT/postscripts/configeth index c56996770..0dfe77213 100755 --- a/xCAT/postscripts/configeth +++ b/xCAT/postscripts/configeth @@ -9,6 +9,11 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then . $str_dir_name/nicutils.sh fi error_code=0 +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi ######################################################################### # ifdown/ifup will not be executed in diskful provision postscripts stage ######################################################################### @@ -367,16 +372,13 @@ else fi -logger -t xcat -p local4.err "configeth: os type: $str_os_type" log_info "configeth on $NODE: os type: $str_os_type" if [ "$1" = "-r" ];then if [ $# -ne 2 ];then - logger -t xcat -p local4.err "configeth: remove nic, but the nic name is missed" log_error "configeth on $NODE: remove nic, but the nic name is missed" exit 1 fi str_nic_name=$2 - logger -t xcat -p local4.err "configeth: remove nic $str_nic_name" log_info "configeth on $NODE: remove nic $str_nic_name" if [ "$str_os_type" = "aix" ];then @@ -405,7 +407,6 @@ if [ "$1" = "-r" ];then chdev -l $str_nic_name -a delalias6=$str_ip_alias6 fi done - logger -t xcat -p local4.err "configeth run command: chdev -l $str_nic_name -a netaddr='' -a netmask='' -a netaddr6='' -a prefixlen='' -a state=down" log_info "configeth on $NODE run command: chdev -l $str_nic_name -a netaddr='' -a netmask='' -a netaddr6='' -a prefixlen='' -a state=down" chdev -l $str_nic_name -a netaddr='' -a netmask='' -a netaddr6='' -a prefixlen='' -a state=down else @@ -425,7 +426,6 @@ if [ "$1" = "-r" ];then exit $error_code elif [ "$1" = "-s" ];then if [ $# -lt 2 ];then - logger -t xcat -p local4.err "configeth: config install nic, but the nic name is missed" log_error "configeth on $NODE: config install nic, but the nic name is missed" exit 1 fi @@ -435,7 +435,6 @@ elif [ "$1" = "-s" ];then str_inst_gateway='' str_inst_mtu='' if [ "$str_os_type" = "aix" ];then - logger -t xcat -p local4.err "configeth: aix does not support -s flag" log_error "configeth on $NODE: aix does not support -s flag" exit 1 elif [ -f "/etc/debian_version" ];then @@ -517,7 +516,6 @@ elif [ "$1" = "-s" ];then str_inst_mac=`ip link show $netdev | grep ether | awk '{print $2}'` fi if [ -z "$str_inst_ip" -o -z "$str_inst_mask" ];then - logger -t xcat -p local4.err "configeth: config install nic, can not find the information from lease file, return." log_info "configeth on $NODE: config install nic, can not find information from dhcp lease file, return." exit 1 fi @@ -673,7 +671,6 @@ fi #5. no modification, return directly #3. on linux modify the configuration files if [ $# -ne 3 ];then - logger -t xcat -p local4.err "configeth: paramters error currently is $@" log_error "configeth on $NODE: paramters error currently is $@" exit 1 fi @@ -690,7 +687,7 @@ else str_temp=`ip addr show dev $str_nic_name` fi -logger -t xcat -p local4.err "configeth: old configuration: $str_temp" +logger -t $log_label -p local4.err "configeth: old configuration: $str_temp" echo "configeth on $NODE: old configuration: $str_temp" @@ -731,7 +728,6 @@ while [ $num_index -le $NETWORKS_LINES ];do num_index=$((num_index+1)) done -logger -t xcat -p local4.err "configeth: new configuration" log_info "configeth on $NODE: new configuration" num_index=0 str_ipv6_gateway='' @@ -740,7 +736,6 @@ while [ $num_index -lt ${#array_nic_ips[*]} ];do str_ip=${array_nic_ips[$num_index]} str_netname=${array_nic_networks[$num_index]} if [ ! $str_netname ];then - logger -t xcat -p local4.err "configeth: Network name is not defined on $str_nic_name for $str_ip." log_error "configeth on $NODE: Network name is not defined on $str_nic_name for $str_ip." error_code=1 num_index=$((num_index+1)) @@ -750,7 +745,6 @@ while [ $num_index -lt ${#array_nic_ips[*]} ];do #find out the network definition str_line=${array_nic_network_config[$num_index]} if [ ! $str_line ];then - logger -t xcat -p local4.err "configeth: Network object $str_netname is not defined." log_error "configeth on $NODE: Network object $str_netname is not defined." error_code=1 num_index=$((num_index+1)) @@ -764,7 +758,6 @@ while [ $num_index -lt ${#array_nic_ips[*]} ];do str_mtu=`echo $str_line | awk -F'mtu=' '{print $2}' | awk -F'|' '{print $1}'` if [ ! $str_subnet -o ! $str_netmask ];then - logger -t xcat -p local4.err "configeth: subnet or netmask is not defined in network object $str_netname." log_error "configeth on $NODE: subnet or netmask is not defined in network object $str_netname." error_code=1 num_index=$((num_index+1)) @@ -779,7 +772,7 @@ while [ $num_index -lt ${#array_nic_ips[*]} ];do if [ $? -eq 0 ];then str_ipv6_gateway=$str_gateway fi - logger -t xcat -p local4.err "configeth: $str_ip, $str_subnet, $str_netmask, $str_gateway" + logger -t $log_label -p local4.info "configeth: $str_ip, $str_subnet, $str_netmask, $str_gateway" echo " $str_ip, $str_subnet, $str_netmask, $str_gateway" #on linux, call sub rutine to define ipv4 or ipv6 address for the persitent configuration if [ `echo $str_ip | grep -E '^([0-9]{1,3}\.){3}[0-9]{1,3}$'` ];then @@ -796,7 +789,6 @@ while [ $num_index -lt ${#array_nic_ips[*]} ];do hashset hash_new_config "${str_ip}_${str_netmask}" "new" str_ip_mask_pair=$str_ip_mask_pair"${str_ip}_${str_netmask} " else - logger -t xcat -p local4.err "configeth: the ipaddress( $str_ip ) for $str_nic_name is invalid." log_error "configeth on $NODE: the ipaddress( $str_ip ) for $str_nic_name is invalid." error_code=1 fi @@ -817,7 +809,6 @@ if [ "$str_os_type" = "aix" ];then hashset hash_new_config $str_old_ip "old" else chdev -l $str_nic_name -a netaddr='' -a netmask='' - logger -t xcat -p local4.err "configeth: delete undefined ip address $str_old_ip" log_error "configeth on $NODE: delete undefined ip address $str_old_ip" error_code=1 fi @@ -833,8 +824,7 @@ if [ "$str_os_type" = "aix" ];then hashset hash_new_config $str_old_ip "old" else chdev -l $str_nic_name -a netaddr6='' -a prefixlen='' - logger -t xcat -p local4.err "configeth: delete undefined ipv6 address $str_old_ip" - echo "configeth on $NODE: delete undefined ipv6 address $str_old_ip" + log_error "configeth on $NODE: delete undefined ipv6 address $str_old_ip" fi fi @@ -886,7 +876,6 @@ if [ "$str_os_type" = "aix" ];then do str_ip_status=$(hashget hash_new_config $str_new_ip) if [ "$str_ip_status" = "new" ];then - logger -t xcat -p local4.err "configeth: add $str_new_ip for $str_nic_name temporary." log_info "configeth on $NODE: add $str_new_ip for $str_nic_name temporary." add_ip_temporary $str_new_ip $str_nic_name fi @@ -925,7 +914,6 @@ else hashset hash_new_config $str_old_ip "old" else bool_modify_flag=1 - logger -t xcat -p local4.err "configeth: delete $str_old_ip for $str_nic_name temporary." log_info "configeth on $NODE: delete $str_old_ip for $str_nic_name temporary." str_old_ip=`echo $str_old_ip | tr '_' '/'` ip addr del $str_old_ip dev $str_nic_name @@ -967,7 +955,6 @@ else if [ "$str_ip_status" = "new" ];then bool_modify_flag=1 if [ $bool_restart_flag -eq 0 ];then - logger -t xcat -p local4.err "configeth: add $str_new_ip for $str_nic_name temporary." log_info "configeth on $NODE: add $str_new_ip for $str_nic_name temporary." add_ip_temporary $str_new_ip $str_nic_name fi @@ -978,7 +965,6 @@ else if [ $bool_restart_flag -eq 0 -a -n "$str_ipv6_gateway" ];then ip -6 route | grep default | grep $str_ipv6_gateway if [ $? -ne 0 ];then - logger -t xcat -p local4.err "configeth: the default ipv6 route changes to $str_ipv6_gateway." log_info "configeth on $NODE: the default ipv6 route changes to $str_ipv6_gateway." ip -6 route del default ip -6 route add default $str_ipv6_gateway dev $str_dev_name @@ -1003,7 +989,6 @@ else ip addr del $str_old_ip dev $str_nic_name done fi - logger -t xcat -p local4.err "configeth: $str_nic_name changed, modify the configuration files" log_info "configeth on $NODE: $str_nic_name changed, modify the configuration files" num_ipv4_index=0 num_ipv6_index=0 @@ -1060,7 +1045,6 @@ else num_index=$((num_index+1)) done else - logger -t xcat -p local4.err "configeth: $str_nic_name no changed, return directly." log_warn "configeth on $NODE: $str_nic_name no changed, return directly." fi diff --git a/xCAT/postscripts/configib b/xCAT/postscripts/configib index 0deac3f8d..eb3d56f1b 100755 --- a/xCAT/postscripts/configib +++ b/xCAT/postscripts/configib @@ -23,6 +23,12 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then . $str_dir_name/xcatlib.sh fi +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + #This is the number of ports for each ib adpator. portnum=1 if [ -n "$NIC_IBAPORTS" ]; then @@ -86,7 +92,7 @@ then if [ $? -ne 0 ] then echo "Not found the driver dameon: rdma or openibd" - logger -p local4.info -t xcat "Not found the driver dameon: rdma or openibd" + logger -p local4.info -t $log_label "Not found the driver dameon: rdma or openibd" exit fi fi @@ -153,7 +159,7 @@ then OS_name="ubuntu" else echo "Unsupported to config IB on this OS!" - logger -p local4.info -t xcat "Unsupported to config IB on this OS!" + logger -p local4.info -t $log_label "Unsupported to config IB on this OS!" exit fi @@ -269,7 +275,7 @@ do if [ -z "$nicnets" ]; then echo "No network defined for $nic" - logger -p local4.info -t xcat "No network defined for $nic" + logger -p local4.info -t $log_label "No network defined for $nic" continue fi @@ -342,7 +348,7 @@ do # Setup goodnics list if [ "$found" == "0" ]; then echo "Cannot find network $nicnet for $nic" - logger -p local4.info -t xcat "Cannot find network $nicnet for $nic" + logger -p local4.info -t $log_label "Cannot find network $nicnet for $nic" continue else if [ -z "$goodnics" ]; then @@ -605,7 +611,7 @@ netmask $netmask" >> /etc/network/interfaces else echo "Unsupported operating system" - logger -p local4.err -t xcat "Unsupported operating system" + logger -p local4.err -t $log_label "Unsupported operating system" fi elif [ $PLTFRM == "AIX" ]; then @@ -617,7 +623,7 @@ netmask $netmask" >> /etc/network/interfaces if [ $? -ne 0 ] then echo "$mltnum is not available." - logger -p local4.info -t xcat "$mltnum is not available." + logger -p local4.info -t $log_label "$mltnum is not available." continue fi @@ -680,7 +686,7 @@ then #/sbin/service $ib_driver restart if [ "$restart_ib_driver" = "1" ]; then echo "restart $ib_driver service" - logger -p local4.info -t xcat "restart $ib_driver service" + logger -p local4.info -t $log_label "restart $ib_driver service" restartservice $ib_driver fi for nic in `echo "$goodnics" | tr "," "\n"|sort -u` diff --git a/xCAT/postscripts/configinterface b/xCAT/postscripts/configinterface index cc75ea143..1ec8d0d8b 100755 --- a/xCAT/postscripts/configinterface +++ b/xCAT/postscripts/configinterface @@ -9,29 +9,57 @@ fi xcat_intf="/etc/network/interfaces.d/xCAT.intf" -MASTER=$(cat /var/lib/dhcp/dhclient.eth0.leases|sed -n 's/.*cumulus-provision-url.*http:\/\+\([^\/]\+\)\/.*/\1/p'|tail -1) -if [ -z "$MASTER" ]; then - echo "xCAT Master unset! Cannot download interface description" - exit 2 +if [ -f /xcatpost/mypostscript ]; then + MASTER=`grep '^MASTER_IP=' /xcatpost/mypostscript |cut -d= -f2|sed s/\'//g` fi +if [ -z "$MASTER" ]; then + MASTER=$(cat /var/lib/dhcp/dhclient.eth0.leases|sed -n 's/.*cumulus-provision-url.*http:\/\+\([^\/]\+\)\/.*/\1/p'|tail -1) + if [ -z "$MASTER" ]; then + echo "xCAT Master unset! Cannot download interface description" + exit 2 + fi +fi + +#Validate if this IP is reachable +ping $MASTER -c 1 >/dev/null +if [ $? -ne 0 ]; then + echo "ERROR: The xCAT Master ip address $MASTER is not reachable"; + exit 1; +fi + +ORIGFILE=/tmp/xCAT.intf.orig TMPINT=/tmp/xCAT.intf -rm $TMPINT 2>/dev/null +rm -f $TMPINT 2>/dev/null UPDATED=0 +DOWNLOADED=0 for name in $NODE ${GROUP//,/ } default; do curl -s -o $TMPINT -f http://${MASTER}/install/custom/sw_os/cumulus/interface/$name if [ -f $TMPINT ]; then + DOWNLOADED=1 if ! diff $TMPINT $xcat_intf > /dev/null; then - mv $TMPINT $xcat_intf + rm -f $ORIGFILE + cp $xcat_intf $ORIGFILE + mv -f $TMPINT $xcat_intf UPDATED=1 + echo "New interface file downloaded, keep old one to $ORIGFILE"; fi break fi done +if [ $DOWNLOADED -eq 1 ] && [ $UPDATED -eq 0 ]; then + echo "New interface file downloaded to $TMPINT, same as $xcat_intf file"; +fi + +if [ $DOWNLOADED -eq 0 ] && [ -f $xcat_intf ]; then + echo "NO new interface file downloaded, keep same $xcat_intf file"; +fi + if [ ! -f $xcat_intf ]; then UPDATED=1 + echo "NO new interface file downloaded, create a default $xcat_intf file"; echo "#This is sample interface file provided by xCAT" > $xcat_intf echo "# bridge-vlan-aware: set to yes to indicate that the bridge is VLAN-aware. " >> $xcat_intf diff --git a/xCAT/postscripts/confignetwork b/xCAT/postscripts/confignetwork index 51f316aee..7a6186bf4 100755 --- a/xCAT/postscripts/confignetwork +++ b/xCAT/postscripts/confignetwork @@ -323,7 +323,7 @@ function sort_nics_device_order { #if alone nic configure nicips, it is valid if [ -n "$alonenicips" ] && [ -n "$alonenictype" ] && [ -n "$alonenicnetwork" ]; then #if alone nic is ib type, append all ib nics in ib_slots - if [ x"$alonenictype" = "xinfiniband" ]; then + if [ x"$alonenictype" = "xinfiniband" ] || [ x"$alonenictype" = "xOmnipath" ]; then if [ -z $ib_slots ]; then ib_slots=$alonenic else @@ -575,7 +575,7 @@ function configure_nicdevice { #configure bond elif [ x"$nic_dev_type" = "xbond" ]; then create_bond_interface ifname=$nic_dev slave_ports=$base_nic_for_bond slave_type=$base_nic_type - elif [ x"$nic_dev_type" = "xinfiniband" ]; then + elif [ x"$nic_dev_type" = "xinfiniband" ] || [ x"$nic_dev_type" = "xOmnipath" ]; then log_info "Call configib for IB nics: $nic_dev, ports: $num_iba_ports" log_info "NIC_IBNICS=$nic_dev NIC_IBAPORTS=$num_iba_ports configib" NIC_IBNICS=$nic_dev NIC_IBAPORTS=$num_iba_ports configib diff --git a/xCAT/postscripts/confignics b/xCAT/postscripts/confignics index f5b6a228a..4718fbee9 100755 --- a/xCAT/postscripts/confignics +++ b/xCAT/postscripts/confignics @@ -18,6 +18,13 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then str_dir_name=`dirname $0` . $str_dir_name/xcatlib.sh fi + +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + error_code=0 #the nics' information contain: #1. ip address @@ -74,6 +81,10 @@ function findnetwork(){ eval str_temp=\$NETWORKS_LINE$num_i str_net=`echo $str_temp | awk -F'net=' '{print $2}' | awk -F'|' '{print $1}'` str_mask=`echo $str_temp | awk -F'mask=' '{print $2}' | awk -F'|' '{print $1}' | sed 's:^/::'` + if [ ! $str_mask ]; then + num_i=$((num_i+1)) + continue + fi echo $str_net | grep ':' > /dev/null if [ $? -ne 0 ];then if [ $flag_v6 -eq 0 ];then @@ -100,8 +111,7 @@ function findnetwork(){ fi num_i=$((num_i+1)) done - - echo "Error: Can not find the corresponding network defination for ip address: $str_ip ." + echo "Error: Can not find a valid network defination for ip address: $str_ip , make sure netname,net and mask are correct in networks table." error_code=1 } @@ -137,7 +147,7 @@ str_inst_nic='' str_ib_nics='' str_os_type=`uname | tr 'A-Z' 'a-z'` if [ "$str_os_type" = "aix" ];then - logger -t xcat -p local4.err "confignics: aix does not support in this build" + logger -t $log_label -p local4.err "confignics: aix does not support in this build" echo "confignics: aix does not support in this build" exit 1 fi @@ -166,7 +176,7 @@ then then if [ $bool_cfg_inst_nic -eq 1 -o $bool_remove -eq 1 -o ! -z "$num_iba_ports" ] then - logger -t xcat -p local4.info "confignics --script could Not be used with other options" + logger -t $log_label -p local4.info "confignics --script could Not be used with other options" echo "confignics --script could Not be used with other options" exit 1 fi @@ -175,7 +185,7 @@ then fi fi -logger -t xcat -p local4.info "confignics is called: config install nic:$bool_cfg_inst_nic, remove: $bool_remove, iba ports: $num_iba_ports" +logger -t $log_label -p local4.info "confignics is called: config install nic:$bool_cfg_inst_nic, remove: $bool_remove, iba ports: $num_iba_ports" echo "confignics on $NODE: config install nic:$bool_cfg_inst_nic, remove: $bool_remove, iba ports: $num_iba_ports" str_temp='' @@ -211,10 +221,10 @@ bool_exit_flag=0 #check the required attributes if [ -z "$NICIPS" ];then if [ $bool_cfg_inst_nic -eq 1 ];then - logger -t xcat -p local4.info "confignics: configure the install nic. " + logger -t $log_label -p local4.info "confignics: configure the install nic. " echo "confignics on $NODE:configure the install nic. " else - logger -t xcat -p local4.info "confignics: nicips attribute is not defined. " + logger -t $log_label -p local4.info "confignics: nicips attribute is not defined. " echo "confignics on $NODE: nicips attribute is not defined. " exit 1 fi @@ -275,7 +285,7 @@ if [ $bool_remove -eq 1 ];then continue fi - logger -t xcat -p local4.info "confignics: remove nic $str_temp_nic" + logger -t $log_label -p local4.info "confignics: remove nic $str_temp_nic" echo "confignics on $NODE: remove nic $str_temp_nic" configeth -r $str_temp_nic if [ $? -ne 0 ]; then @@ -305,13 +315,13 @@ do # don't run customized script for installnic if not specify the -s continue fi - logger -t xcat -p local4.info "confignics: processing custom scripts: ${array_temp[1]} for interface $key" + logger -t $log_label -p local4.info "confignics: processing custom scripts: ${array_temp[1]} for interface $key" echo "confignics on $NODE: processing custom scripts: ${array_temp[1]} for interface $key" ${array_temp[1]} else if [ "$key" = "$str_inst_nic" ];then if [ $bool_cfg_inst_nic -eq 1 ];then - logger -t xcat -p local4.info "confignics: call 'configeth $str_inst_nic'" + logger -t $log_label -p local4.info "confignics: call 'configeth $str_inst_nic'" echo "confignics on $NODE: call 'configeth -s $str_inst_nic" configeth -s $str_inst_nic if [ $? -ne 0 ]; then @@ -327,22 +337,20 @@ do elif [ `echo $key | grep -E 'ib[0-9]+'` ];then str_nic_type="infiniband" else - logger -t xcat -p local4.info "confignics: unknown nic type for $key: $str_value ." + logger -t $log_label -p local4.info "confignics: unknown nic type for $key: $str_value ." echo "confignics on $NODE: unknown nic type for $key: $str_value ." error_code=1 continue fi - str_network=$(checknetwork ${array_temp[0]}) echo "$str_network" | grep -i 'error' > /dev/null if [ $? -eq 0 ];then - logger -t xcat -p local4.info "$str_network" + logger -t $log_label -p local4.info "$str_network" echo "confignics on $NODE: $str_network" continue fi - if [ "$str_nic_type" = "ethernet" ];then - logger -t xcat -p local4.info "confignics: call 'configeth $key ${array_temp[0]} $str_network'" + logger -t $log_label -p local4.info "confignics: call 'configeth $key ${array_temp[0]} $str_network'" echo "confignics on $NODE: call 'configeth $key ${array_temp[0]} $str_network'" configeth $key ${array_temp[0]} $str_network if [ $? -ne 0 ]; then @@ -355,19 +363,19 @@ do str_ib_nics=$key fi else - logger -t xcat -p local4.info "confignics: unknown type $str_nic_type for NIC: $key" + logger -t $log_label -p local4.info "confignics: unknown type $str_nic_type for NIC: $key" echo "confignics on $NODE: unknown type $str_nic_type for NIC: $key" error_code=1 fi fi done if [ -n "$str_ib_nics" ];then - logger -t xcat -p local4.info "confignics: executed script: configib for nics: $str_ib_nics, ports: $num_iba_ports" + logger -t $log_label -p local4.info "confignics: executed script: configib for nics: $str_ib_nics, ports: $num_iba_ports" echo "confignics on $NODE: executed script: configib for nics: $str_ib_nics, ports: $num_iba_ports" NIC_IBNICS=$str_ib_nics NIC_IBAPORTS=$num_iba_ports configib else if [ $bool_remove -eq 1 ];then - logger -t xcat -p local4.info "confignics: executed script: 'configib -u' to remove all ib nics and configuration files" + logger -t $log_label -p local4.info "confignics: executed script: 'configib -u' to remove all ib nics and configuration files" echo "confignics on $NODE: executed script: 'configib -r' to remove all ib nics and configuration files" configib if [ $? -ne 0 ]; then diff --git a/xCAT/postscripts/enablecapi b/xCAT/postscripts/enablecapi index 923adacc3..64a67158b 100644 --- a/xCAT/postscripts/enablecapi +++ b/xCAT/postscripts/enablecapi @@ -5,6 +5,12 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then . $str_dir_name/xcatlib.sh fi +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + #--------------------------------------------------------------------------- #=head1 enablecapi #=head2 enable CAPI and tunnel Atomics for compute nodes @@ -16,7 +22,7 @@ fi function logerr { echo "$@" - logger -t xcat -p local4.err $@ + logger -t $log_label -p local4.err $@ } diff --git a/xCAT/postscripts/enablekdump b/xCAT/postscripts/enablekdump index 66c193a95..b93ee25ea 100755 --- a/xCAT/postscripts/enablekdump +++ b/xCAT/postscripts/enablekdump @@ -216,8 +216,27 @@ EOF fi else if (pmatch $OSVER "rhel7*") || (pmatch $OSVER "rhels7*");then - /bin/mount -o vers=3 $KDIP:$KDPATH $MOUNTPATH - #/bin/mount -o nolock $KDIP:$KDPATH $MOUNTPATH + nfsvers=$(/usr/sbin/rpcinfo -p $KDIP|grep -w nfs|awk /tcp/'{print $2}'|sort) + nfsver=0 + if [ -n "$nfsvers" ]; then + for i in $nfsvers + do + if [ $i -eq 3 ] && ! [ grep -w nfs /proc/filesystems >/dev/null 2>&1 ]; then + nfsver=3 + break + elif [ $i -eq 4 ] && ! [ grep -w nfs4 /proc/filesystems >/dev/null 2>&1 ]; then + nfsver=4 + break + fi + done + if [ $nfsver -ne 0 ]; then + /bin/mount -o vers=$nfsver $KDIP:$KDPATH $MOUNTPATH + else + /bin/mount -o nolock $KDIP:$KDPATH $MOUNTPATH + fi + else + /bin/echo "nfs server is not available" + fi [ -d $MOUNTPATH/var/crash ] || mkdir -p $MOUNTPATH/var/crash #The initramfs used in kdump does not need "root", however, the initramfs refused to continue diff --git a/xCAT/postscripts/mkhyperv b/xCAT/postscripts/mkhyperv index c015a299e..358ec2190 100755 --- a/xCAT/postscripts/mkhyperv +++ b/xCAT/postscripts/mkhyperv @@ -69,6 +69,11 @@ cat < /etc/init.d/kvm # kvm init script - stripped off bridge code, but still 'Takes care # # description: The KVM is a kernel level Virtual Machine Monitor. +if [ -n "\$LOGLABEL" ]; then + log_label=\$LOGLABEL +else + log_label="xcat" +fi start () { grep -q GenuineIntel /proc/cpuinfo && /sbin/modprobe kvm-intel grep -q AuthenticAMD /proc/cpuinfo && /sbin/modprobe kvm-amd @@ -77,17 +82,17 @@ stop () { grep -q GenuineIntel /proc/cpuinfo && /sbin/modprobe -r kvm-intel grep -q AuthenticAMD /proc/cpuinfo && /sbin/modprobe -r kvm-amd } -logger -t xcat -p local4.info "KVM $1" +logger -t \$log_label -p local4.info "KVM $1" case "\$1" in start) echo -n $"Starting KVM: " - logger -t xcat -p local4.info "Starting KVM:" + logger -t \$log_label -p local4.info "Starting KVM:" start echo ;; stop) echo -n $"Shutting down KVM: " - logger -t xcat -p local4.info "Shutting down KVM:" + logger -t \$log_label -p local4.info "Shutting down KVM:" stop echo ;; @@ -96,9 +101,9 @@ case "\$1" in ;; *) echo "Unknown command: \$1" >&2 - logger -t xcat -p local4.info "Unknown command: \$1" + logger -t \$log_label -p local4.info "Unknown command: \$1" echo "Valid commands are: start, stop, status" >&2 - logger -t xcat -p local4.info "Valid commands are: start, stop, status" + logger -t \$log_label -p local4.info "Valid commands are: start, stop, status" exit 1 esac EOF @@ -117,6 +122,11 @@ cat < /etc/init.d/iscsiconnect # # chkconfig: 345 10 75 # description: iscsi script to discover and connect to targets on boot +if [ -n "\$log_label" ]; then + log_label=\$log_label +else + log_label="xcat" +fi connect_targets() { iscsiadm -m discovery -t st -p $ISCSITARGET @@ -126,7 +136,7 @@ disconnect_targets() { iscsiadm -m node --logout } -logger -t xcat -p local4.info "iscsi $1" +logger -t \$log_label -p local4.info "iscsi $1" case "\$1" in start) connect_targets @@ -139,9 +149,9 @@ case "\$1" in ;; *) echo "Unknown command: \$1" >&2 - logger -t xcat -p local4.info "Unknown command: \$1" + logger -t \$log_label -p local4.info "Unknown command: \$1" echo "Valid commands are: start, stop, status" >&2 - logger -t xcat -p local4.info "Valid commands are: start, stop, status" + logger -t \$log_label -p local4.info "Valid commands are: start, stop, status" exit 1 esac EOF diff --git a/xCAT/postscripts/mkresolvconf b/xCAT/postscripts/mkresolvconf index f89476d86..04c224546 100755 --- a/xCAT/postscripts/mkresolvconf +++ b/xCAT/postscripts/mkresolvconf @@ -20,9 +20,15 @@ domain=$DOMAIN # this is the domain name used in this cluster nameservers=$NAMESERVERS # nameservers defined in the site table node=$NODE +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + if [ -n "$master" ] && [ -n "$domain" ]; then - #logger -t xcat "Created /etc/resolv.conf file on $node." + #logger -t $log_label "Created /etc/resolv.conf file on $node." cp $conf_file $conf_file_bak > /dev/null 2>&1 echo "search $domain" >$conf_file if [[ "$nameservers" != "" ]]; then @@ -35,7 +41,7 @@ if [ -n "$master" ] && [ -n "$domain" ]; then fi else - logger -t xcat -p local4.err "Could not create resolv.conf on $node." + logger -t $log_label -p local4.err "Could not create resolv.conf on $node." exit 1 fi diff --git a/xCAT/postscripts/mountinstall b/xCAT/postscripts/mountinstall index df213cb7c..5219152d4 100755 --- a/xCAT/postscripts/mountinstall +++ b/xCAT/postscripts/mountinstall @@ -27,6 +27,11 @@ if [ -z "$INSTALLDIR" ]; then INSTALLDIR="/install" fi +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi mount | grep "$MASTER:$INSTALLDIR on /install" if [ $? -eq 0 ] @@ -42,7 +47,7 @@ mount $MASTER:$INSTALLDIR /install if [ $? -ne 0 ] then errmsg="Failed to run mount $MASTER:$INSTALLDIR /install" - logger -t xcat -p local4.err $errmsg + logger -t $log_label -p local4.err $errmsg echo $errmsg exit 1 fi diff --git a/xCAT/postscripts/nicutils.sh b/xCAT/postscripts/nicutils.sh index 9d1666b2f..74e6131ce 100755 --- a/xCAT/postscripts/nicutils.sh +++ b/xCAT/postscripts/nicutils.sh @@ -27,7 +27,11 @@ brctl="brctl" uniq="uniq" xargs="xargs" modprobe="modprobe" - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi ######################################################################### # ifdown/ifup will not be executed in diskful provision postscripts stage ######################################################################### @@ -87,6 +91,7 @@ function log_lines { function log_error { local __msg="$*" $log_print_cmd $log_print_arg "[E]:Error: $__msg" + logger -t $log_label -p local4.err "$__msg" return 1 } @@ -103,6 +108,7 @@ function log_error { function log_warn { local __msg="$*" $log_print_cmd $log_print_arg "[W]: $__msg" + logger -t $log_label -p local4.info "$__msg" return 0 } @@ -119,6 +125,7 @@ function log_warn { function log_info { local __msg="$*" $log_print_cmd $log_print_arg "[I]: $__msg" + logger -t $log_label -p local4.info "$__msg" return 0 } @@ -566,18 +573,16 @@ function create_persistent_ifcfg { attrs=${attrs}${attrs:+,}"${name}=${value}" i=$((i+1)) done - # record manual and auto attributes first # since input attributes might overwrite them. # - # record input attributes later. They will overwrite + # record extra attributes later. They will overwrite # previous generated attributes if duplicate. [ -f $fcfg ] && mv -f $fcfg `dirname $fcfg`/.`basename $fcfg`.bak - echo "$attrs,$inattrs" \ | $sed -e 's/,/\n/g' | grep -v "^$" \ + echo "$inattrs,$attrs" \ | $sed -e 's/,/\n/g' | grep -v "^$" \ | $sed -e 's/=/="/' -e 's/ *$/"/' \ | uniq_per_key -t'=' -k1 >$fcfg local rc=$? - # log for debug echo "['ifcfg-${ifname}']" >&2 cat $fcfg | $sed -e 's/^/ >> /g' | log_lines info diff --git a/xCAT/postscripts/odbcsetup b/xCAT/postscripts/odbcsetup index 142d6ac92..b8eed004d 100755 --- a/xCAT/postscripts/odbcsetup +++ b/xCAT/postscripts/odbcsetup @@ -33,7 +33,10 @@ use xCAT::Utils; use xCAT::MsgUtils; # MAIN - +my $log_label=$ENV{'LOGLABEL'}; +if (!$log_label) { + $log_label="xcat" +} my $rc = 0; my $cmd; @@ -54,7 +57,7 @@ my $dbname = xCAT::Utils->get_DBName; if ($dbname eq "DB2") { $msg = "odbcsetup:Setting up ODBC for DB2"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; &setupdb2odbc; } @@ -63,19 +66,19 @@ else if ($dbname eq "MYSQL") { $msg = "odbcsetup:Setting up ODBC for MYSQL"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; &setupmysqlodbc; } else { if ($dbname eq "PG") { $msg = "odbcsetup:Setting up ODBC for PostgreSQL"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; &setupPGodbc; } else { $msg = "odbcsetup:cfgloc file does not contain MySQL, DB2 or PG, will not setup ODBC."; - `logger -t xcat -p local4.err $msg`; + `logger -t $log_label -p local4.err $msg`; exit 1; } } @@ -114,12 +117,12 @@ sub setupdb2odbc $cmd = "$::XCATROOT/bin/db2sqlsetup -o -C"; } $msg = "odbcsetup: Running Client ODBC setup. \"$cmd\"\n"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; $rc = &runcmd($cmd); $msg = "odbcsetup: Client ODBC setup finished.\n"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; return $rc; @@ -137,12 +140,12 @@ sub setupmysqlodbc my $cmd; $cmd = "$::XCATROOT/bin/mysqlsetup -o"; $msg = "odbcsetup: Running Client ODBC setup. \"$cmd\"\n"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; $rc = &runcmd($cmd); $msg = "odbcsetup: Client ODBC setup finished.\n"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; return $rc; @@ -161,12 +164,12 @@ sub setupPGodbc my $cmd; $cmd = "$::XCATROOT/bin/pgsqlsetup -o"; $msg = "odbcsetup: Running Client ODBC setup. \"$cmd\"\n"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; $rc = &runcmd($cmd); $msg = "odbcsetup: Client ODBC setup finished.\n"; - `logger -t xcat -p local4.info $msg`; + `logger -t $log_label -p local4.info $msg`; return $rc; @@ -194,7 +197,7 @@ sub runcmd { my $msg = "odbcsetup:\"$cmd\" returned rc=$rc \"$::outref\"\n"; print $msg; - `logger -t xcat -p local4.err $msg`; + `logger -t $log_label -p local4.err $msg`; return 1; } } diff --git a/xCAT/postscripts/ospkgs b/xCAT/postscripts/ospkgs index 4c6d095ef..ea5e414e9 100755 --- a/xCAT/postscripts/ospkgs +++ b/xCAT/postscripts/ospkgs @@ -23,6 +23,12 @@ #=cut #------------------------------------------------------------------------------- +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + # pmatch determines if 1st argument string is matched by 2nd argument pattern pmatch () { @@ -244,7 +250,7 @@ do OSPKGDIR="$OSPKGDIR" if [ $mounted -eq 0 ]; then #OSPKGDIR="$OSPKGDIR" - ospkgdir="$NFSSERVER$dir" + ospkgdir="${NFSSERVER}:${HTTPPORT}$dir" else ospkgdir="$dir" fi @@ -256,7 +262,7 @@ do # (4) for other os, we just keep it here. # For other pkg paths, we just keep it here. if [ $dir == $default_pkgdir ] || [ $dir == "$default_pkgdir/" ]; then - if ( pmatch "$OSVER" "sles*" ); then + if ( pmatch "$OSVER" "sle*" ); then OSPKGDIR="$OSPKGDIR/1" ospkgdir="$ospkgdir/1" elif ( pmatch "$OSVER" "SL5*" ); then @@ -265,7 +271,32 @@ do fi fi array_set_element os_path $index $ospkgdir - + if [ $dir == $default_pkgdir ] || [ $dir == "$default_pkgdir/" ]; then + ospkgdir=$(echo $ospkgdir|sed 's/\/1$/\/2/') + if ( pmatch "$OSVER" "sle15*" ); then + if [ $ARCH == "x86_64" ]; then + for arg in "Product-SLES" "Module-Desktop-Applications" "Module-Live-Patching" \ + "Module-Web-Scripting" "Module-Basesystem" "Module-Development-Tools" "Module-Public-Cloud" \ + "Product-HA" "Product-SLES_SAP" "Module-CAP-Tools" "Module-HPC" "Module-SAP-Applications" \ + "Product-HPC" "Product-WE" "Module-Containers" "Module-Legacy" "Module-Server-Applications" "Product-SLED" + do + ospkgdir_ok="$ospkgdir/$arg" + index=$(expr $index + 1) + array_set_element os_path $index $ospkgdir_ok + done + elif [ $ARCH == "ppc64le" ]; then + for arg in "Product-SLES" "Module-Desktop-Applications" "Module-Live-Patching" \ + "Module-Web-Scripting" "Module-Basesystem" "Module-Development-Tools" "Module-Public-Cloud" \ + "Product-HA" "Product-SLES_SAP" "Module-SAP-Applications" \ + "Module-Containers" "Module-Legacy" "Module-Server-Applications" + do + ospkgdir_ok="$ospkgdir/$arg" + index=$(expr $index + 1) + array_set_element os_path $index $ospkgdir_ok + done + fi + fi + fi if ( pmatch "$OSVER" "rhel*" ); then #default_pkgdir="$INSTALLDIR/$OSVER/$ARCH" if [ $dir == $default_pkgdir ] || [ $dir == "$default_pkgdir/" ]; then @@ -325,9 +356,9 @@ IFS=$OIFS # fi #fi -logger -t xcat -p local4.info "NFSSERVER=$NFSSERVER" -logger -t xcat -p local4.info "OSPKGDIR=$OSPKGDIR" -logger -t xcat -p local4.info "OSPKGS=$OSPKGS" +logger -t $log_label -p local4.info "NFSSERVER=$NFSSERVER" +logger -t $log_label -p local4.info "OSPKGDIR=$OSPKGDIR" +logger -t $log_label -p local4.info "OSPKGS=$OSPKGS" if [ $debug -ne 0 ]; then echo NFSSERVER=$NFSSERVER @@ -447,13 +478,13 @@ if ( pmatch "$OSVER" "sles10*" ); then fi result=`rug sa $path $OSVER` if [ $? -ne 0 ]; then - logger -t xcat -p local4.info "ospkgs: rug sa $path $OSVER\n $result" + logger -t $log_label -p local4.info "ospkgs: rug sa $path $OSVER\n $result" echo "ospkgs: rug sa $path $OSVER" echo " $result" fi result=`rug sub $OSVER` if [ $? -ne 0 ]; then - logger -t xcat -p local4.info "ospkgs: rug sub $OSVER\n $result" + logger -t $log_label -p local4.info "ospkgs: rug sub $OSVER\n $result" echo "ospkgs: rug sub $OSVER" echo " $result" fi @@ -467,7 +498,7 @@ if ( pmatch "$OSVER" "sles10*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "rug update -y --agree-to-third-party-licences\n $result" + logger -t $log_label -p local4.info "rug update -y --agree-to-third-party-licences\n $result" echo "ospkgs: rug update -y --agree-to-third-party-licences" echo " $result" else @@ -485,7 +516,7 @@ if ( pmatch "$OSVER" "sles10*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -503,7 +534,7 @@ if ( pmatch "$OSVER" "sles10*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -521,7 +552,7 @@ if ( pmatch "$OSVER" "sles10*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -531,7 +562,7 @@ if ( pmatch "$OSVER" "sles10*" ); then fi fi fi -elif ( pmatch "$OSVER" "sles*" ); then +elif ( pmatch "$OSVER" "sle*" ); then #check if zypper is installed result=`rpm -q zypper` if [ $? -ne 0 ]; then @@ -566,7 +597,7 @@ elif ( pmatch "$OSVER" "sles*" ); then result=`zypper ar $path xCAT-$OSVER 2>&1` if [ $? -ne 0 ]; then if ( ! pmatch "$result" "*exists*" ); then - logger -t xcat -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER\n $result" + logger -t $log_label -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER\n $result" echo "ospkgs: zypper ar $path xCAT-OSVER" echo " $result" fi @@ -582,7 +613,7 @@ elif ( pmatch "$OSVER" "sles*" ); then result=`zypper ar $path xCAT-$OSVER-"path$i" 2>&1` if [ $? -ne 0 ]; then if ( ! pmatch "$result" "*exists*" ); then - logger -t xcat -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER-path$i\n $result" + logger -t $log_label -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER-path$i\n $result" echo "ospkgs: zypper ar $path xCAT-$OSVER-path$i" echo " $result" fi @@ -601,14 +632,14 @@ elif ( pmatch "$OSVER" "sles*" ); then for sdk_src in $SDKDIR; do bname=`basename $sdk_src` if [ $mounted -eq 0 ]; then - sdk_src="http://$NFSSERVER/$sdk_src" + sdk_src="http://$NFSSERVER:$HTTPPORT/$sdk_src" else sdk_src="file://$sdk_src" fi result=`zypper ar $sdk_src xCAT-$OSVER-$bname 2>&1` if [ $? -ne 0 ]; then if ( ! pmatch "$result" "*exists*" ); then - logger -t xcat -p local4.info "ospkgs: zypper ar $sdk_src xCAT-$OSVER-bname\n $result" + logger -t $log_label -p local4.info "ospkgs: zypper ar $sdk_src xCAT-$OSVER-bname\n $result" echo "ospkgs: zypper ar $sdk_src xCAT-$OSVER-bname" echo " $result" fi @@ -628,7 +659,7 @@ elif ( pmatch "$OSVER" "sles*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: zypper --non-interactive update --auto-agree-with-licenses\n $result" + logger -t $log_label -p local4.info "ospkgs: zypper --non-interactive update --auto-agree-with-licenses\n $result" echo "ospkgs: zypper --non-interactive update --auto-agree-with-licenses" echo " $result" else @@ -645,7 +676,7 @@ elif ( pmatch "$OSVER" "sles*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -663,7 +694,7 @@ elif ( pmatch "$OSVER" "sles*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd $result" + logger -t $log_label -p local4.info "ospkgs: $cmd $result" echo "ospkgs: $cmd" echo $result else @@ -683,7 +714,7 @@ elif ( pmatch "$OSVER" "sles*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -701,7 +732,7 @@ elif ( pmatch "$OSVER" "sles*" ); then R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd $result" + logger -t $log_label -p local4.info "ospkgs: $cmd $result" echo "ospkgs: $cmd" echo $result else @@ -875,7 +906,7 @@ else R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: yum -y upgrade\n $result" + logger -t $log_label -p local4.info "ospkgs: yum -y upgrade\n $result" echo "ospkgs: yum -y upgrade" echo " $result" else @@ -893,7 +924,7 @@ else R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -911,7 +942,7 @@ else R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -934,7 +965,7 @@ else R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -952,7 +983,7 @@ else R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else @@ -970,7 +1001,7 @@ else R=$? if [ $R -ne 0 ]; then RETURNVAL=$R - logger -t xcat -p local4.info "ospkgs: $cmd\n $result" + logger -t $log_label -p local4.info "ospkgs: $cmd\n $result" echo "ospkgs: $cmd" echo $result else diff --git a/xCAT/postscripts/otherpkgs b/xCAT/postscripts/otherpkgs index a97cb73f7..abb4b3219 100755 --- a/xCAT/postscripts/otherpkgs +++ b/xCAT/postscripts/otherpkgs @@ -24,11 +24,16 @@ #enable debug #set -x +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi if [ -f /etc/os-release ] && cat /etc/os-release |grep -i -e "^NAME=[ \"']*Cumulus Linux[ \"']*$" >/dev/null 2>&1 ; then #TODO echo "Cumulus OS is not supported yet, nothing to do..." - logger -t xcat -p local4.info "Cumulus OS is not supported yet, nothing to do..." + logger -t $log_label -p local4.info "Cumulus OS is not supported yet, nothing to do..." exit 0 fi @@ -208,12 +213,25 @@ apt_get_update_if_repos_changed() #do nothing for diskless deployment case because it is done in the image already RETURNVAL=0 - +repoonly=0 +argnum=$# +args=$@ +if [ $argnum -eq 1 ]; then + if ( pmatch "$args" "--repoonly" ); then + repoonly=1 + else + echo "$(basename $0): option $args is not supported" + exit 1 + fi +elif [ $argnum -gt 1 ]; then + echo "$(basename $0): only option \"--repoonly\"is supported" + exit 1 +fi if [ "$(uname -s)" = "AIX" ]; then - logger -p local4.info -t xcat "otherpkgs not support on AIX, exiting " + logger -p local4.info -t $log_label "otherpkgs not support on AIX, exiting " exit 0 else - logger -p local4.info -t xcat "Running otherpkgs " + logger -p local4.info -t $log_label "Running otherpkgs " fi if [ -z "$UPDATENODE" ] || [ $UPDATENODE -ne 1 ]; then if [ "$NODESETSTATE" = "netboot" -o \ @@ -226,8 +244,13 @@ if [ -z "$UPDATENODE" ] || [ $UPDATENODE -ne 1 ]; then fi fi -if [ -z "$OTHERPKGS_INDEX" ]; then - echo "$0: no extra rpms to install" +if ! pmatch $OSVER "rhel*" && [ "$repoonly" -eq 1 ]; then + echo "$0: the option \"repoonly\" only support rhel right now" + exit 0 +fi + +if [ -z "$OTHERPKGS_INDEX" ] && [ "$repoonly" -ne 1 ]; then + echo "$(basename $0): no extra rpms to install" exit 0 fi @@ -267,7 +290,7 @@ fi #when it is not set, we need to figure it out here if [ -z "$OTHERPKGDIR" ]; then if [ $mounted -eq 0 ]; then - OTHERPKGDIR="$NFSSERVER$INSTALLDIR/post/otherpkgs/$OSVER/$ARCH" + OTHERPKGDIR="${NFSSERVER}:${HTTPPORT}$INSTALLDIR/post/otherpkgs/$OSVER/$ARCH" else OTHERPKGDIR="$INSTALLDIR/post/otherpkgs/$OSVER/$ARCH" fi @@ -277,7 +300,7 @@ if [ -z "$OTHERPKGDIR" ]; then fi else if [ $mounted -eq 0 ]; then - OTHERPKGDIR=${NFSSERVER}${OTHERPKGDIR} + OTHERPKGDIR=${NFSSERVER}:${HTTPPORT}${OTHERPKGDIR} fi fi @@ -308,7 +331,7 @@ fi OSPKGDIR="$OSPKGDIR" if [ $mounted -eq 0 ]; then #OSPKGDIR="$OSPKGDIR" - ospkgdir="$NFSSERVER$dir" + ospkgdir="${NFSSERVER}:${HTTPPORT}$dir" else ospkgdir="$dir" fi @@ -385,11 +408,11 @@ fi if [ $VERBOSE ]; then echo NFSSERVER=$NFSSERVER fi -logger -p local4.info -t xcat "NFSSERVER=$NFSSERVER" +logger -p local4.info -t $log_label "NFSSERVER=$NFSSERVER" if [ $VERBOSE ]; then echo OTHERPKGDIR=$OTHERPKGDIR fi -logger -p local4.info -t xcat "OTHERPKGDIR=$OTHERPKGDIR" +logger -p local4.info -t $log_label "OTHERPKGDIR=$OTHERPKGDIR" #if [ -x "/sbin/dhcpcd" ]; then # dhcpcd -n $PRIMARYNIC @@ -461,7 +484,7 @@ if ( ! ( pmatch "$OSVER" "sles10*" ) && [ $haszypper -eq 1 ] ); then result=`zypper ar $path xCAT-$OSVER 2>&1` if [ $? -ne 0 ]; then if ( ! pmatch "$result" "*exists*" ); then - logger -t xcat -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER\n $result" + logger -t $log_label -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER\n $result" if [ $VERBOSE ]; then echo "ospkgs: zypper ar $path xCAT-$OSVER" echo " $result" @@ -479,7 +502,7 @@ if ( ! ( pmatch "$OSVER" "sles10*" ) && [ $haszypper -eq 1 ] ); then result=`zypper ar $path xCAT-$OSVER-"path$i" 2>&1` if [ $? -ne 0 ]; then if ( ! pmatch "$result" "*exists*" ); then - logger -t xcat -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER-path$i\n $result" + logger -t $log_label -p local4.info "ospkgs: zypper ar $path xCAT-$OSVER-path$i\n $result" if [ $VERBOSE ]; then echo "ospkgs: zypper ar $path xCAT-$OSVER-path$i" echo " $result" @@ -500,14 +523,14 @@ if ( ! ( pmatch "$OSVER" "sles10*" ) && [ $haszypper -eq 1 ] ); then for sdk_src in $SDKDIR; do bname=`basename $sdk_src` if [ $mounted -eq 0 ]; then - sdk_src="http://$NFSSERVER/$sdk_src" + sdk_src="http://${NFSSERVER}:${HTTPPORT}/$sdk_src" else sdk_src="file://$sdk_src" fi result=`zypper ar $sdk_src xCAT-$OSVER-$bname 2>&1` if [ $? -ne 0 ]; then if ( ! pmatch "$result" "*exists*" ); then - logger -t xcat -p local4.info "otherpkgs: zypper ar $sdk_src xCAT-$OSVER-bname\n $result" + logger -t $log_label -p local4.info "otherpkgs: zypper ar $sdk_src xCAT-$OSVER-bname\n $result" if [ $VERBOSE ]; then echo "otherpkgs: zypper ar $sdk_src xCAT-$OSVER-bname" echo " $result" @@ -808,6 +831,11 @@ EOF` fi fi + if [ "$repoonly" -eq 1 ]; then + echo "otherpkgs: "repoonly set, so ignore pkg installation ..."" + op_index=$((op_index+1)) + continue + fi #now update all the existing rpms if [ $hasyum -eq 1 ]; then if [ $VERBOSE ]; then @@ -818,7 +846,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -832,7 +860,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -846,7 +874,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -867,7 +895,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -880,7 +908,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -894,7 +922,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -910,7 +938,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$result" if [ $VERBOSE ]; then echo "$result" fi @@ -927,8 +955,9 @@ EOF` R=$? if [ $R -ne 0 ]; then RETURNVAL=$R + logger -p local4.err -t $log_label "$envlist yum -y install $repo_pkgs failed." fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$repo_pkgs installed." if [ $VERBOSE ]; then echo "$result" fi @@ -940,8 +969,9 @@ EOF` R=$? if [ $R -ne 0 ]; then RETURNVAL=$R + logger -p local4.err -t $log_label "$envlist zypper install -y $repo_pkgs 2>&1 failed." fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$repo_pkgs installed." if [ $VERBOSE ]; then echo "$result" fi @@ -960,8 +990,9 @@ EOF` R=$? if [ $R -ne 0 ]; then RETURNVAL=$R + logger -p local4.err -t $log_label "install $repo_pkgs failed." fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$repo_pkgs installed." if [ $VERBOSE ]; then echo "$result" fi @@ -971,7 +1002,7 @@ EOF` #Handle the rest with rpm if [ "$plain_pkgs" != "" -a -n "$OTHERPKGDIR" ]; then echo "Warning: the packages $plain_pkgs could not be found in the yum/apt repository, falling back to rpm/dpkg command. If you want your packages to be installed with yum/apt, verify yum/apt is installed and createrepo/dpkg-scanpackages has been run." - logger -p local4.info -t xcat "Warning: the packages $plain_pkgs could not be found in the yum/apt repository, falling back to rpm/dpkg command. If you want your packages to be installed with yum/apt, verify yum/apt is installed and createrepo/dpkg-scanpackages has been run." + logger -p local4.info -t $log_label "Warning: the packages $plain_pkgs could not be found in the yum/apt repository, falling back to rpm/dpkg command. If you want your packages to be installed with yum/apt, verify yum/apt is installed and createrepo/dpkg-scanpackages has been run." if [ $mounted -eq 0 ]; then dir_no_ftproot=${OTHERPKGDIR#*$INSTALLDIR/} mkdir -p /xcatpost/$dir_no_ftproot @@ -998,7 +1029,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$plain_pkgs installed." if [ $VERBOSE ]; then echo "$result" fi @@ -1022,7 +1053,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$repo_pkgs_postremove removed." if [ $VERBOSE ]; then echo "$result" fi @@ -1035,7 +1066,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$repo_pkgs_postremove removed." if [ $VERBOSE ]; then echo "$result" fi @@ -1049,7 +1080,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$repo_pkgs_postremove removed." if [ $VERBOSE ]; then echo "$result" fi @@ -1065,7 +1096,7 @@ EOF` if [ $R -ne 0 ]; then RETURNVAL=$R fi - logger -p local4.info -t xcat "$result" + logger -p local4.info -t $log_label "$plain_pkgs_postremove removed." if [ $VERBOSE ]; then echo "$result" fi diff --git a/xCAT/postscripts/redirectps b/xCAT/postscripts/redirectps index 4263037b1..2f9f6c1f9 100755 --- a/xCAT/postscripts/redirectps +++ b/xCAT/postscripts/redirectps @@ -7,10 +7,13 @@ # which is specified through nfsserver attribute # ##################################################### - +my $log_label=$ENV{'LOGLABEL'}; +if (!$log_label) { + $log_label="xcat" +} if (!$ENV{'NFSSERVER'}) { -`logger -t xcat -p local4.err "environment variable does not exist, exiting..."`; +`logger -t $log_label -p local4.err "environment variable does not exist, exiting..."`; exit -1; } @@ -80,13 +83,13 @@ sub runcmd $rc = $? >> 8; if ($rc > 0) { -`logger -t xcat -p local4.err "runcmd $cmd failed, error message is:"`; +`logger -t $log_label -p local4.err "runcmd $cmd failed, error message is:"`; my $errmsg; foreach my $err (@::outref) { $errmsg .= $err; } - `logger -t xcat -p local4.err "$errmsg"`; + `logger -t $log_label -p local4.err "$errmsg"`; exit -1; } } diff --git a/xCAT/postscripts/remoteshell b/xCAT/postscripts/remoteshell index b5a1a82dd..c07e170b1 100755 --- a/xCAT/postscripts/remoteshell +++ b/xCAT/postscripts/remoteshell @@ -11,11 +11,16 @@ # id.rsa # # if on the Management Node, exit +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi umask 0077 if [ -f /etc/os-release ] && cat /etc/os-release |grep -i -e "^NAME=[ \"']*Cumulus Linux[ \"']*$" >/dev/null 2>&1 ; then #TODO echo "Cumulus OS is not supported yet, nothing to do..." - logger -t xcat -p local4.info "Cumulus OS is not supported yet, nothing to do..." + logger -t $log_label -p local4.info "Cumulus OS is not supported yet, nothing to do..." exit 0 fi @@ -25,7 +30,7 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then fi if [ -e /etc/xCATMN ]; then - logger -t xcat -p local4.info "remoteshell:Running on the Management Node , exiting " + logger -t $log_label -p local4.info "remoteshell:Running on the Management Node , exiting " exit 0 fi # if -p input, do special PCM setup @@ -39,7 +44,7 @@ fi # Linux or if AIX call aixremoteshell -d if [ "$(uname -s)" = "AIX" ]; then ./aixremoteshell -d 2>&1 - logger -t xcat -p local4.info "Install: On AIX , remoteshell calling aixremoteshell -d " + logger -t $log_label -p local4.info "Install: On AIX , remoteshell calling aixremoteshell -d " exit 0 fi master=$MASTER @@ -51,7 +56,7 @@ fi if [ -r /etc/ssh/sshd_config ] then - logger -t xcat -p local4.info "remoteshell: setup /etc/ssh/sshd_config and ssh_config" + logger -t $log_label -p local4.info "remoteshell: setup /etc/ssh/sshd_config and ssh_config" cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIG #delete all occurance of the attribute and then add xCAT settings echo "Match all" >>/etc/ssh/sshd_config @@ -82,7 +87,7 @@ fi xcatpost="xcatpost" if [ -d /xcatpost/_ssh ] then - logger -p local4.info -t xcat "Install: setup root .ssh" + logger -p local4.info -t $log_label "Install: setup root .ssh" cd /xcatpost/_ssh mkdir -p /root/.ssh cp -f * /root/.ssh @@ -92,7 +97,7 @@ then fi if [ ! -x /usr/bin/openssl ]; then - logger -t xcat -p local4.err "Install: /usr/bin/openssl is not executable." + logger -t $log_label -p local4.err "Install: /usr/bin/openssl is not executable." exit 0 fi allowcred.awk & @@ -102,12 +107,12 @@ sleep 1 #download the ssh host dsa private keys if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest received response return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest received response return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi @@ -120,7 +125,7 @@ grep -E '' /tmp/ssh_dsa_hostkey > /dev/null 2>&1 if [ $? -ne 0 ]; then #the message received is the data cat /tmp/ssh_dsa_hostkey | grep -E -v '|/{0,1}data>||' >/etc/ssh/ssh_host_dsa_key - logger -t xcat -p local4.info "remoteshell: getting ssh_host_dsa_key" + logger -t $log_label -p local4.info "remoteshell: getting ssh_host_dsa_key" MAX_RETRIES=10 RETRY=0 MYCONT=`cat /etc/ssh/ssh_host_dsa_key` @@ -139,12 +144,12 @@ if [ $? -ne 0 ]; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -162,19 +167,19 @@ if [ $? -ne 0 ]; then else #the message received is an error, so parse it ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/ssh_dsa_hostkey` - logger -s -t xcat -p local4.err Error: $ERR_MSG + logger -s -t $log_label -p local4.err Error: $ERR_MSG fi rm /tmp/ssh_dsa_hostkey # download the host rsa key if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -186,7 +191,7 @@ grep -E '' /tmp/ssh_rsa_hostkey > /dev/null 2>&1 if [ $? -ne 0 ]; then #the message received is the data we request cat /tmp/ssh_rsa_hostkey | grep -E -v '|/{0,1}data>||' >/etc/ssh/ssh_host_rsa_key - logger -t xcat -p local4.info ssh_rsa_hostkey + logger -t $log_label -p local4.info ssh_rsa_hostkey MYCONT=`cat /etc/ssh/ssh_host_rsa_key` MAX_RETRIES=10 RETRY=0 @@ -204,12 +209,12 @@ if [ $? -ne 0 ]; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -228,7 +233,7 @@ if [ $? -ne 0 ]; then else #This is an error message ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/ssh_rsa_hostkey` - logger -s -t xcat -p local4.err Error: $ERR_MSG + logger -s -t $log_label -p local4.err Error: $ERR_MSG fi rm /tmp/ssh_rsa_hostkey @@ -240,12 +245,12 @@ if ssh-keygen -t ecdsa -f /tmp/ecdsa_key -P "" &>/dev/null ; then # download the host ecdsa key if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -257,7 +262,7 @@ if ssh-keygen -t ecdsa -f /tmp/ecdsa_key -P "" &>/dev/null ; then if [ $? -ne 0 ]; then #the message received is the data we request cat /tmp/ssh_ecdsa_hostkey | grep -E -v '|/{0,1}data>||' >/etc/ssh/ssh_host_ecdsa_key - logger -t xcat -p local4.info ssh_ecdsa_hostkey + logger -t $log_label -p local4.info ssh_ecdsa_hostkey MYCONT=`cat /etc/ssh/ssh_host_ecdsa_key` MAX_RETRIES=10 RETRY=0 @@ -275,12 +280,12 @@ if ssh-keygen -t ecdsa -f /tmp/ecdsa_key -P "" &>/dev/null ; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -307,7 +312,7 @@ if ssh-keygen -t ecdsa -f /tmp/ecdsa_key -P "" &>/dev/null ; then else #This is an error message ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/ssh_ecdsa_hostkey` - logger -s -t xcat -p local4.err Error: $ERR_MSG + logger -s -t $log_label -p local4.err Error: $ERR_MSG fi rm /tmp/ssh_ecdsa_hostkey fi @@ -331,26 +336,26 @@ then zonename=$ZONENAME rootsshpvtkey=ssh_root_key:$zonename rootsshpubkey=ssh_root_pub_key:$zonename - logger -t xcat -p local4.info "remoteshell: gathering root ssh keys for $zonename" + logger -t $log_label -p local4.info "remoteshell: gathering root ssh keys for $zonename" fi # always get the id_rsa.pub key for the node and put in authorized_keys if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi getcredentials.awk $rootsshpubkey | grep -E -v '|'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /tmp/ssh_root_pub_key - logger -t xcat -p local4.info "remoteshell: gathering $rootsshpubkey " + logger -t $log_label -p local4.info "remoteshell: gathering $rootsshpubkey " #check whether the message is an error or not grep -E '' /tmp/ssh_root_pub_key if [ $? -ne 0 ]; then @@ -358,7 +363,7 @@ if [ $? -ne 0 ]; then cat /tmp/ssh_root_pub_key | grep -E -v '|||' > /root/.ssh/id_rsa.pub # no add to authorized_keys, so the node can ssh to itself cat /tmp/ssh_root_pub_key | grep -E -v '|||' >> /root/.ssh/authorized_keys - logger -t xcat -p local4.info ssh_root_pub_key + logger -t $log_label -p local4.info ssh_root_pub_key MYCONT=`cat /root/.ssh/id_rsa.pub` MAX_RETRIES=10 RETRY=0 @@ -375,12 +380,12 @@ if [ $? -ne 0 ]; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -391,34 +396,34 @@ if [ $? -ne 0 ]; then else #This is an error message ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/ssh_root_pub_key` - logger -t xcat -p local4.err $rootsshpubkey Error: $ERR_MSG + logger -t $log_label -p local4.err $rootsshpubkey Error: $ERR_MSG fi rm /tmp/ssh_root_pub_key # if sshbetweennodes is enabled then we get id_rsa ( private key) if [ $ENABLESSHBETWEENNODES = "YES" ]; # want nodes to be able to ssh to each other without password then - logger -t xcat -p local4.info "remoteshell:sshbetweennodes is yes" + logger -t $log_label -p local4.info "remoteshell:sshbetweennodes is yes" if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi getcredentials.awk $rootsshpvtkey | grep -E -v '|'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /tmp/ssh_root_key - logger -t xcat -p local4.info "remoteshell: gathering $rootsshpvtkey " + logger -t $log_label -p local4.info "remoteshell: gathering $rootsshpvtkey " #check whether the message is an error or not grep -E '' /tmp/ssh_root_key if [ $? -ne 0 ]; then #The message contains the data we request cat /tmp/ssh_root_key | grep -E -v '|/{0,1}data>||' > /root/.ssh/id_rsa - logger -t xcat -p local4.info ssh_root_key + logger -t $log_label -p local4.info ssh_root_key MYCONT=`cat /root/.ssh/id_rsa` MAX_RETRIES=10 RETRY=0 @@ -435,12 +440,12 @@ then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "remoteshell:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "remoteshell:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -450,7 +455,7 @@ then else #This is an error message ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/ssh_root_key` - logger -t xcat -p local4.err $rootsshpvtkey Error: $ERR_MSG + logger -t $log_label -p local4.err $rootsshpvtkey Error: $ERR_MSG fi rm /tmp/ssh_root_key @@ -461,26 +466,26 @@ then if [ ! -f /root/.ssh/id_rsa.pub ]; then if [ -r /root/.ssh/id_rsa ]; then ssh-keygen -y -f /root/.ssh/id_rsa > /root/.ssh/id_rsa.pub - logger -t xcat -p local4.err remoteshell:transfer of the id_rsa.pub key failed. Had to generate a public key. + logger -t $log_label -p local4.err remoteshell:transfer of the id_rsa.pub key failed. Had to generate a public key. fi fi fi # if secureroot is enabled then we get root password hash, not for updatenode if [ "x$SECUREROOT" = "x1" ] && [ "x$UPDATENODE" != "x1" ]; then - logger -t xcat -p local4.info "remoteshell: secure root is enabled" + logger -t $log_label -p local4.info "remoteshell: secure root is enabled" if [ $useflowcontrol = "1" ]; then - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest (rc=$rc), will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest (rc=$rc), will not use flow control" useflowcontrol=0 fi fi getcredentials.awk xcat_secure_pw:root | grep -E -v '|'|sed -e 's/<//' -e 's/&/&/' -e 's/"/"/' -e "s/'/'/" > /tmp/secure_root_hash - logger -t xcat -p local4.info "remoteshell: gathering password hash for root" + logger -t $log_label -p local4.info "remoteshell: gathering password hash for root" #check whether the message is an error or not grep -E '' /tmp/secure_root_hash > /dev/null if [ $? -ne 0 ]; then @@ -502,11 +507,11 @@ if [ "x$SECUREROOT" = "x1" ] && [ "x$UPDATENODE" != "x1" ]; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "remoteshell: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "remoteshell: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "remoteshell: error from xcatflowrequest (rc=$rc), will not use flow control" + logger -t $log_label -p local4.info "remoteshell: error from xcatflowrequest (rc=$rc), will not use flow control" useflowcontrol=0 fi fi @@ -529,12 +534,12 @@ if [ "x$SECUREROOT" = "x1" ] && [ "x$UPDATENODE" != "x1" ]; then fi rm /tmp/secure_root_hash if [ "x" != "x$ERR_MSG" ]; then - logger -t xcat -p local4.err "Failed to acquire secure root password: $ERR_MSG" + logger -t $log_label -p local4.err "Failed to acquire secure root password: $ERR_MSG" fi fi # start up the sshd for syncfiles postscript to do the sync work -logger -t xcat -p local4.info "start up sshd" +logger -t $log_label -p local4.info "start up sshd" if [[ $OSVER == ubuntu* || $OSVER == debian* ]] then if [ ! -d /var/run/sshd ];then diff --git a/xCAT/postscripts/routeop b/xCAT/postscripts/routeop index eda755fa4..fbded3f97 100755 --- a/xCAT/postscripts/routeop +++ b/xCAT/postscripts/routeop @@ -33,7 +33,11 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then . /xcatpost/xcatlib.sh fi fi - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi op=$1 net=$2 @@ -806,7 +810,7 @@ if [ "$op" = "add" ]; then result=`$cmd 2>&1` code=$? if [ $code -ne 0 ]; then - logger -t xcat -p local4.err "$cmd\nerror code=$code, result=$result." + logger -t $log_label -p local4.err "$cmd\nerror code=$code, result=$result." echo " error code=$code, result=$result." if [ -f "/etc/debian_version" ];then exit 1; @@ -856,7 +860,7 @@ elif [ "$op" = "delete" ]; then result=`$cmd 2>&1` code=$? if [ $code -ne 0 ]; then - logger -t xcat -p local4.err "$cmd\nerror code=$code, result=$result." + logger -t $log_label -p local4.err "$cmd\nerror code=$code, result=$result." echo " error code=$code, result=$result." fi else @@ -909,7 +913,7 @@ elif [ "$op" = "replace" ]; then result=`$cmd 2>&1` code=$? if [ $code -ne 0 ]; then - logger -t xcat -p local4.err "Error: $cmd [error code=$code, result=$result]" + logger -t $log_label -p local4.err "Error: $cmd [error code=$code, result=$result]" echo "Error: $cmd [error code=$code, result=$result]" exit 1; fi diff --git a/xCAT/postscripts/serialconsole b/xCAT/postscripts/serialconsole index d1b3a0b31..72c589e40 100755 --- a/xCAT/postscripts/serialconsole +++ b/xCAT/postscripts/serialconsole @@ -1,10 +1,15 @@ # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi GRUB="" for i in /boot/grub/grub.conf /boot/grub/menu.lst do if [ -r "$i" ] then - logger -t xcat -p local4.info "Install: got GRUB at $i" + logger -t $log_label -p local4.info "Install: got GRUB at $i" GRUB=$i GRUBDIR=$(dirname $GRUB) GRUBFILE=$(basename $GRUB) @@ -14,7 +19,7 @@ done if [ -n "$GRUB" ] then - logger -t xcat -p local4.info "Install: the GRUB dir is $GRUBDIR" + logger -t $log_label -p local4.info "Install: the GRUB dir is $GRUBDIR" cd $GRUBDIR perl -pi -e 's/^gfxmenu/#gfxmenu/' $GRUBFILE perl -pi -e 's/^color/#color/' $GRUBFILE diff --git a/xCAT/postscripts/servicenode b/xCAT/postscripts/servicenode index 91c026ff9..7dc208e97 100755 --- a/xCAT/postscripts/servicenode +++ b/xCAT/postscripts/servicenode @@ -62,6 +62,10 @@ my $msg = ""; $::osname = `uname`; chomp $::osname; +my $log_label=$ENV{'LOGLABEL'}; +if (!$log_label) { + $log_label="xcat" +} $::sdate = `/bin/date`; chomp $::sdate; @@ -91,8 +95,8 @@ if ($ENV{UPDATESECURITY} && $ENV{UPDATESECURITY} eq "1") { my $mounted = xCAT::Utils->isMounted($installdir); if ($mounted == 0) { # not mounted if (&runcmd("mkdir -p $installdir/postscripts; cp -p -R /xcatpost/* $installdir/postscripts > /dev/null 2>&1") != 0) { - $msg = "$::sdate servicenode: Could not copy postscripts to $installdir/postscripts.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not copy postscripts to $installdir/postscripts.\n"; + `logger -t $log_label -p local4.warning $msg`; } } @@ -104,9 +108,9 @@ if ($ENV{UPDATESECURITY} && $ENV{UPDATESECURITY} eq "1") { &getcreds; } else { # Linux # call xcatserver,xcatclient to transfer the SSL credentials and cfgloc - `logger -t xcat -p local4.info $::sdate servicenode: running 'xcatserver -d'`; + `logger -t $log_label -p local4.info servicenode: running 'xcatserver -d'`; &runcmd("xcatserver -d"); - `logger -t xcat -p local4.info $::sdate servicenode: running 'xcatclient -d'`; + `logger -t $log_label -p local4.info servicenode: running 'xcatclient -d'`; &runcmd("xcatclient -d"); } @@ -120,10 +124,10 @@ if ($::osname eq 'AIX') # AIX service node setup $rc = &setupAIXsn; if ($rc != 0) { - my $msg = "$::sdate servicenode: One or more errors occurred when attempting to configure node $::hname as an xCAT service node.\n"; + my $msg = "servicenode: One or more errors occurred when attempting to configure node $::hname as an xCAT service node.\n"; # print "$msg\n"; - `logger -t xcat -p local4.warning $msg`; + `logger -t $log_label -p local4.warning $msg`; } } else @@ -132,21 +136,21 @@ else # remove OpenIPMI-tools # install xcat from /install/xcat # Copy Certificates, and config file to apprpriate directories - # from /install and restart xcatd + # from /install and restart xcat &runcmd("rpm -e OpenIPMI-tools"); ©certs; - `logger -t xcat -p local4.info $::sdate servicenode: running 'xcatserver -d'`; + `logger -t $log_label -p local4.info servicenode: running 'xcatserver -d'`; &runcmd("xcatserver -d"); - `logger -t xcat -p local4.info $::sdate servicenode: running 'xcatclient -d'`; + `logger -t $log_label -p local4.info servicenode: running 'xcatclient -d'`; &runcmd("xcatclient -d"); - # start xcatd if it is not up when stateless or statelite + # start xcat if it is not up when stateless or statelite if ($ENV{NODESETSTATE} && ($ENV{NODESETSTATE} eq "netboot" || $ENV{NODESETSTATE} eq "statelite")) { $rc = &runcmd("$::XCATROOT/bin/lsxcatd -v 2>/dev/null || service xcatd restart"); if ($rc != 0) { - $msg = "$::sdate servicenode: Could not start xcatd.\n\n $::outref \n"; - `logger -t xcat -p local4.warning $msg`; + $msg = " servicenode: Could not start xcat.\n\n $::outref \n"; + `logger -t $log_label -p local4.warning $msg`; } } } @@ -175,8 +179,8 @@ sub runcmd $rc = $? >> 8; if ($rc > 0) { - my $msg = "$::sdate servicenode: $cmd returned rc=$rc \n"; - `logger -t xcat -p local4.info $msg`; + my $msg = "servicenode: $cmd returned rc=$rc \n"; + `logger -t $log_label -p local4.info $msg`; return 1; } } @@ -193,14 +197,14 @@ sub setupAIXsn # makes it a service node if (&runcmd("touch /etc/xCATSN") != 0) { - $msg = "$::sdate servicenode: Could not touch /etc/xCATSN\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not touch /etc/xCATSN\n"; + `logger -t $log_label -p local4.warning $msg`; } # copy the postscripts to /install/postscripts if (&runcmd("mkdir -p $installdir/postscripts; cp -p -R /xcatpost/* $installdir/postscripts > /dev/null 2>&1") != 0) { - $msg = "$::sdate servicenode: Could not copy postscripts to $installdir/postscripts.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not copy postscripts to $installdir/postscripts.\n"; + `logger -t $log_label -p local4.warning $msg`; } # check if /install/postscripts is in /etc/exports @@ -218,16 +222,16 @@ sub setupAIXsn } if ($res != 0) { - $msg = "$::sdate servicenode: Could not update the /etc/exports file.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not update the /etc/exports file.\n"; + `logger -t $log_label -p local4.warning $msg`; } } # make sure we don't have xCATMN file if (-f "/etc/xCATMN") { if (&runcmd("rm /etc/xCATMN") != 0) { - $msg = "$::sdate servicenode: Could not remove /etc/xCATMN\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not remove /etc/xCATMN\n"; + `logger -t $log_label -p local4.warning $msg`; } } @@ -241,14 +245,14 @@ sub setupAIXsn my $mkssys_cmd = "mkssys -p $::XCATROOT/sbin/xcatd -s xcatd -u 0 -S -n 15 -f 15 -a '-f' "; if (&runcmd($mkssys_cmd) != 0) { - $msg = "$::sdate servicenode: Could not create subsystem for xcatd. It maybe already have been added.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not create subsystem for xcatd. It maybe already have been added.\n"; + `logger -t $log_label -p local4.warning $msg`; } # start xcatd if (&runcmd("$::XCATROOT/sbin/restartxcatd") != 0) { - $msg = "$::sdate servicenode: Could not start xcatd.\n\n $::outref \n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not start xcat.\n\n $::outref \n"; + `logger -t $log_label -p local4.warning $msg`; } # add xcatd to /etc/inittab??? @@ -259,31 +263,31 @@ sub setupAIXsn # error might just mean that the entry is already there! # $msg = "$::sdate servicenode: Could not add xcatd to /etc/inittab.\n"; - # `logger -t xcat $msg`; + # `logger -t $log_label $msg`; } # set ulimit - so we can copy over large files - like spot if (&runcmd("/usr/bin/chuser fsize=-1 root") != 0) { - $msg = "$::sdate servicenode: Could not change ulimit\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not change ulimit\n"; + `logger -t $log_label -p local4.warning $msg`; } # stop inetd, make sure bootp & tftp are in /etc/inetd.conf and restart if (&runcmd("stopsrc -s inetd") != 0) { - $msg = "$::sdate servicenode: Could not stop inetd.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not stop inetd.\n"; + `logger -t $log_label -p local4.warning $msg`; } my $tmp_inetd_file = "/etc/inetd.conf.tmp"; unless (open(TMPINETD, ">>$tmp_inetd_file")) { - $msg = "$::sdate servicenode: Could not open $tmp_inetd_file.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not open $tmp_inetd_file.\n"; + `logger -t $log_label -p local4.warning $msg`; } my $inetd_file_name = "/etc/inetd.conf"; unless (open(INETDFILE, "<$inetd_file_name")) { - $msg = "$::sdate servicenode: Could not open $inetd_file_name.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not open $inetd_file_name.\n"; + `logger -t $log_label -p local4.warning $msg`; } while (my $l = ) { @@ -299,19 +303,19 @@ sub setupAIXsn close(INETDFILE); if (&runcmd("mv $tmp_inetd_file $inetd_file_name > /dev/null 2>&1") != 0) { - $msg = "$::sdate servicenode: Could not update /etc/inetd.conf.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not update /etc/inetd.conf.\n"; + `logger -t $log_label -p local4.warning $msg`; } if (&runcmd("startsrc -s inetd") != 0) { - $msg = "$::sdate servicenode: Could not restart inetd.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not restart inetd.\n"; + `logger -t $log_label -p local4.warning $msg`; } # do nim master setup - master fileset already installed if (&runcmd("/usr/sbin/nim_master_setup -a mk_resource=no") != 0) { - $msg = "$::sdate servicenode: Could not run nim_master_setup.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not run nim_master_setup.\n"; + `logger -t $log_label -p local4.warning $msg`; } # @@ -321,8 +325,8 @@ sub setupAIXsn # restore the original .rhosts that was removed by NIM setup if (&runcmd("cp /.rhosts.prev /.rhosts ") != 0) { - $msg = "$::sdate servicenode: Could not restore the .rhosts file.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not restore the .rhosts file.\n"; + `logger -t $log_label -p local4.warning $msg`; } return 0; @@ -352,8 +356,8 @@ sub getcreds &runcmd($cmd); } else { - $msg = "$::sdate servicenode: Could not get client-cred.pem file.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not get client-cred.pem file.\n"; + `logger -t $log_label -p local4.warning $msg`; } $response = &getresponse("xcat_server_cred"); @@ -370,8 +374,8 @@ sub getcreds &runcmd($cmd); } else { - $msg = "$::sdate servicenode: Could not get server-cred.pem file.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not get server-cred.pem file.\n"; + `logger -t $log_label -p local4.warning $msg`; } $response = &getresponse("xcat_cfgloc"); @@ -401,8 +405,8 @@ sub getcreds &runcmd($cmd); } else { - $msg = "$::sdate servicenode: Could not get cfgloc file.\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: Could not get cfgloc file.\n"; + `logger -t $log_label -p local4.warning $msg`; } return 0; @@ -450,8 +454,8 @@ sub getresponse } unless ($sock) { - my $msg = "$::sdate servicenode: Cannot connect to host \'$::servnode\'\n"; - `logger -t xcat -p local4.err $msg`; + my $msg = "servicenode: Cannot connect to host \'$::servnode\'\n"; + `logger -t $log_label -p local4.err $msg`; print $msg; return undef; } @@ -507,8 +511,8 @@ sub openlistener unless (defined $pid) { # fork failed - $msg = "$::sdate servicenode: Could not fork process.\n"; - `logger -t xcat -p local4.err $msg`; + $msg = "servicenode: Could not fork process.\n"; + `logger -t $log_label -p local4.err $msg`; #print $msg; return undef; @@ -528,8 +532,8 @@ sub openlistener ); unless ($listener) { - my $msg = "$::sdate servicenode: Cannot open socket on \'$node\'\n"; - `logger -t xcat -p local4.err $msg`; + my $msg = "servicenode: Cannot open socket on \'$node\'\n"; + `logger -t $log_label -p local4.err $msg`; print $msg; exit 1; } @@ -583,8 +587,8 @@ sub copycerts } else { - $msg = "$::sdate servicenode: /xcatpost/_xcat directory does not exist\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: /xcatpost/_xcat directory does not exist\n"; + `logger -t $log_label -p local4.warning $msg`; } if (-d "/xcatpost/ca") @@ -602,8 +606,8 @@ sub copycerts } else { - $msg = "$::sdate servicenode: /xcatpost/ca directory does not exist\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: /xcatpost/ca directory does not exist\n"; + `logger -t $log_label -p local4.warning $msg`; } @@ -624,8 +628,8 @@ sub copycerts } else { - $msg = "$::sdate servicenode: /xcatpost/_xcat directory does not exist\n"; - `logger -t xcat -p local4.warning $msg`; + $msg = "servicenode: /xcatpost/_xcat directory does not exist\n"; + `logger -t $log_label -p local4.warning $msg`; } } return $rc; diff --git a/xCAT/postscripts/setbootfromdisk b/xCAT/postscripts/setbootfromdisk index 60539988b..fe5267030 100755 --- a/xCAT/postscripts/setbootfromdisk +++ b/xCAT/postscripts/setbootfromdisk @@ -10,7 +10,11 @@ # on Redhat-family OSes with POWER system # #----------------------------------------------------------------------------- - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi OS=`uname` if [[ $OS = "Linux" ]]; then if [[ $OSVER = fedora* ]] || [[ $OSVER = rhels5* ]] || [[ $OSVER = rhel6* ]] || [[ $OSVER=rhels6* ]] || [[ -f /etc/fedora-release ]] || [[ -f /etc/redhat-release ]]; then @@ -36,13 +40,13 @@ if [[ $OS = "Linux" ]]; then then if echo $MPATH | grep "sdd" then - logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb sdc sdd to be the default bootup device + logger -t $log_label -p local4.info setbootfromdisk: Setting sda sdb sdc sdd to be the default bootup device echo "setbootfromdisk: setting up sda sdb sdc sdd to be the default bootup device" bootlist -m normal sda sdb sdc sdd exit 0 fi fi - logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device + logger -t $log_label -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device echo "setbootfromdisk: setting up sda sdb to be the default bootup device for software raid" bootlist -m normal sda sdb exit 0 @@ -67,13 +71,13 @@ if [[ $OS = "Linux" ]]; then then if echo $i | grep "sda" then - logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device + logger -t $log_label -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device echo "setbootfromdisk: setting up sda sdb to be the default bootup device" bootlist -m normal sda sdb exit 0 elif echo $i | grep "sdc" then - logger -t xcat -p local4.info setbootfromdisk: Setting sdc sdd to be the default bootup device + logger -t $log_label -p local4.info setbootfromdisk: Setting sdc sdd to be the default bootup device echo "setbootfromdisk: setting up sdc sdd to be the default bootup device" bootlist -m normal sdc sdd exit 0 @@ -84,7 +88,7 @@ if [[ $OS = "Linux" ]]; then if echo $MPATH | grep "sdb" then - logger -t xcat -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device + logger -t $log_label -p local4.info setbootfromdisk: Setting sda sdb to be the default bootup device echo "setbootfromdisk: setting up sda sdb to be the default bootup device" bootlist -m normal sda sdb exit 0 @@ -92,15 +96,15 @@ if [[ $OS = "Linux" ]]; then fi if [[ -z $BOOTDEVICE ]]; then - logger -t xcat -p local4.err setbootfromdisk: cannot find the booting device + logger -t $log_label -p local4.err setbootfromdisk: cannot find the booting device else - logger -t xcat -p local4.info setbootfromdisk: Setting $BOOTDEVICE to be the default bootup device + logger -t $log_label -p local4.info setbootfromdisk: Setting $BOOTDEVICE to be the default bootup device echo "setbootfromdisk: setting up $BOOTDEVICE as the default bootup device" bootlist -m normal $BOOTDEVICE exit 0 fi else - logger -t xcat -p local4.err Could not find /usr/sbin/bootlist + logger -t $log_label -p local4.err Could not find /usr/sbin/bootlist echo "setbootfromdisk: could not find /usr/sbin/bootlist" exit -1 fi diff --git a/xCAT/postscripts/setbootfromnet b/xCAT/postscripts/setbootfromnet index 5de3fae93..32e879439 100755 --- a/xCAT/postscripts/setbootfromnet +++ b/xCAT/postscripts/setbootfromnet @@ -15,12 +15,16 @@ #----------------------------------------------------------------------------- NODE_NAME=$NODE GATE_WAY=$GATEWAY - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi OS=`uname` if [ -z $MASTER ]; then msg="$0: The environment variable MASTER is null, pls check.\n" echo $msg - logger -t xcat -p local4.err "$msg" + logger -t $log_label -p local4.err "$msg" exit 1 fi @@ -38,7 +42,7 @@ else if [ $SRET -ne 0 ]; then msg="$0: The returned value is not correct, server_ip=$SERVER_IP\n" echo $msg - logger -t xcat -p local4.err "$msg" + logger -t $log_label -p local4.err "$msg" exit 1 fi fi @@ -58,13 +62,13 @@ if [ ! -z $NODE_NAME ]; then else msg="$0: The environment variable NODE is null, pls check.\n" echo $msg - logger -t xcat -p local4.err "$msg" + logger -t $log_label -p local4.err "$msg" exit 1 fi if [[ $RET -ne 0 ]] || [[ $NRET -ne 0 ]]; then msg="$0: The returned value is not correct, client_ip=$client_ip, nic=$nic\n" - logger -t xcat -p local4.info "$msg" + logger -t $log_label -p local4.info "$msg" exit 1 fi @@ -77,7 +81,7 @@ if [ ! -z $NIC ]; then else msg="$0: The network interface NIC on the host $CLIENT_IP is not retrieved, pls check.\n" echo $msg - logger -t xcat -p local4.info "$msg" + logger -t $log_label -p local4.info "$msg" exit 1 fi diff --git a/xCAT/postscripts/setiscsiparms.awk b/xCAT/postscripts/setiscsiparms.awk index b9eb5c6a8..22cd0f385 100755 --- a/xCAT/postscripts/setiscsiparms.awk +++ b/xCAT/postscripts/setiscsiparms.awk @@ -6,13 +6,16 @@ BEGIN { initrd = ARGV[4] kcmd = ARGV[5] ns = "/inet/tcp/0/" ARGV[1] "/" xcatdport - + log_label=ENVIRON["LOGLABEL"] + if(!log_label){ + log_label="xcat" + } while(1) { if((ns |& getline) > 0) - print $0 | "logger -t xcat -p local4.info" + print $0 | "logger -t "log_label" -p local4.info" else { print "Retrying iSCSI paramater config script" - print "Retrying iSCSI paramater config script" | "logger -t xcat -p local4.info" + print "Retrying iSCSI paramater config script" | "logger -t "log_label" -p local4.info" close(ns) system("sleep 1") } diff --git a/xCAT/postscripts/setupLDAP b/xCAT/postscripts/setupLDAP index 6728c482a..f843de7e1 100755 --- a/xCAT/postscripts/setupLDAP +++ b/xCAT/postscripts/setupLDAP @@ -5,11 +5,15 @@ # setup LDAP client configuration on the compute nodes # #--------------------------------------------------------------------------- - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi if [ -r /etc/ldap.conf -a -r /etc/resolv.conf ] then echo -n " LDAP: " - logger -t xcat -p local4.info " LDAP: " + logger -t $log_label -p local4.info " LDAP: " DC=$( cat /etc/resolv.conf | \ egrep '(domain|search)' | \ diff --git a/xCAT/postscripts/setupesx b/xCAT/postscripts/setupesx index 3efdd00d1..81b94f4d0 100755 --- a/xCAT/postscripts/setupesx +++ b/xCAT/postscripts/setupesx @@ -2,13 +2,17 @@ # example on how to set up ESX. We setup ssh and also add a basic # VLAN configuration - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then str_dir_name=`dirname $0` . $str_dir_name/xcatlib.sh fi -logger -t xcat -p local4.info setupesx +logger -t $log_label -p local4.info setupesx # Enable SSH access to root and exchange keys sed -e 's/PermitRootLogin no/PermitRootLogin yes/' /etc/ssh/sshd_config > /etc/ssh/sshd_config.new @@ -18,7 +22,7 @@ restartservice ssh if [ -r /etc/ssh/sshd_config ] then - logger -t xcat -p local4.info "Install: setup /etc/ssh/sshd_config" + logger -t $log_label -p local4.info "Install: setup /etc/ssh/sshd_config" cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ORIG sed -i 's/^X11Forwarding .*$/X11Forwarding yes/' /etc/ssh/sshd_config sed -i 's/^KeyRegenerationInterval .*$/KeyRegenerationInterval 0/' /etc/ssh/sshd_config @@ -34,7 +38,7 @@ fi if [ -d /xcatpost/_ssh ] then - logger -t xcat -p local4.info "Install: setup root .ssh" + logger -t $log_label -p local4.info "Install: setup root .ssh" cd /xcatpost/_ssh mkdir -p /root/.ssh cp -f * /root/.ssh @@ -66,7 +70,7 @@ esxcfg-firewall -e ntpClient esxcfg-firewall -o 123,udp,out,ntpServer esxcfg-firewall -o 514,udp,out,syslog esxcfg-firewall -l -logger -t xcat -p local4.info "Install: restart syslog" +logger -t $log_label -p local4.info "Install: restart syslog" #service syslog restart restartservice syslog diff --git a/xCAT/postscripts/setupnfsv4replication b/xCAT/postscripts/setupnfsv4replication index 40c1e631c..7aea3c07c 100755 --- a/xCAT/postscripts/setupnfsv4replication +++ b/xCAT/postscripts/setupnfsv4replication @@ -7,7 +7,10 @@ # It only works on AIX for now # ##################################################### - +my $log_label=$ENV{'LOGLABEL'}; +if (!$log_label) { + $log_label="xcat" +} # Change these two parameters according to your requirements $::NFSRETRIES = 3; $::NFSTIMEO = 50; @@ -57,13 +60,13 @@ sub runcmd $rc = $? >> 8; if ($rc > 0) { -`logger -t xcat -p local4.err "runcmd $cmd failed, error message is:"`; +`logger -t $log_label -p local4.err "runcmd $cmd failed, error message is:"`; my $errmsg; foreach my $err (@::outref) { $errmsg .= $err; } - `logger -t xcat -p local4.err "$errmsg"`; + `logger -t $log_label -p local4.err "$errmsg"`; exit; } diff --git a/xCAT/postscripts/setupntp b/xCAT/postscripts/setupntp index 22dbca662..75809581a 100755 --- a/xCAT/postscripts/setupntp +++ b/xCAT/postscripts/setupntp @@ -14,7 +14,11 @@ PATH="/usr/sbin:/usr/bin:/sbin:/bin" export PATH - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi # # warn_if_bad Put out warning message(s) if $1 has bad RC. # @@ -33,7 +37,7 @@ function warn_if_bad() # Broken shift - logger -t xcat -p local4.info "${script}: $@" >/dev/null 2>&1 + logger -t $log_label -p local4.info "${script}: $@" >/dev/null 2>&1 echo "${script}: $@" >&2 return "${rc}" } @@ -130,7 +134,7 @@ check_executes chronyd >/dev/null 2>&1 || USE_NTPD="yes" if [ -n "${USE_NTPD}" ] then # Call setupntp.traditional, and pass the parsed ntp servers - logger -t xcat -p local4.info "Will call setupntp.traditional" + logger -t $log_label -p local4.info "Will call setupntp.traditional" export NTPSERVERS="$(IFS=','; echo "${NTP_SERVERS[*]:-pool.ntp.org}")" exec "${0%/*}/setupntp.traditional" exit 255 @@ -161,7 +165,7 @@ timedatectl set-local-rtc 0 warn_if_bad "$?" "Failed to configure the system to maintain the RTC in universal time" # Synchronize and set the system clock once -logger -t xcat -p local4.info "Syncing the clock ..." +logger -t $log_label -p local4.info "Syncing the clock ..." chronyd -f /dev/null -q "$( if [ "${#NTP_SERVERS[@]}" -gt "0" ] then @@ -235,7 +239,7 @@ DRIFT_FILE="$( LOG_DIR="/var/log/chrony" -logger -t xcat -p local4.info "Install: Setup NTP - chrony" +logger -t $log_label -p local4.info "Install: Setup NTP - chrony" cp "${CHRONY_CONF}" "${CHRONY_CONF}.xcatsave" cat >"${CHRONY_CONF}" </dev/null || systemctl reload-or-restart chronyd.service 2>/dev/null exit_if_bad "$?" "Failed to start chrony service" -logger -t xcat -p local4.info "NTP setup accomplished!" +logger -t $log_label -p local4.info "NTP setup accomplished!" exit 0 diff --git a/xCAT/postscripts/setupntp.traditional b/xCAT/postscripts/setupntp.traditional index 959ab905f..788f4d191 100755 --- a/xCAT/postscripts/setupntp.traditional +++ b/xCAT/postscripts/setupntp.traditional @@ -10,10 +10,14 @@ if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then str_dir_name=`dirname $0` . $str_dir_name/xcatlib.sh fi - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi # if on the Management Node if [ -e /etc/xCATMN ]; then - logger -t xcat -p local4.info "setupntp: This postscript does not support running on the management node. Please run makentp command. exiting" + logger -t $log_label -p local4.info "setupntp: This postscript does not support running on the management node. Please run makentp command. exiting" exit 0 fi @@ -43,7 +47,7 @@ is_lsb_cumulus () return $? } -logger -t xcat "Install: Setup NTP" +logger -t $log_label "Install: Setup NTP" # Use the ntpservers defined in the site table, if they exist. # If the value of ntpservers is use the service node or # the management node as the ntp server. @@ -117,12 +121,12 @@ if [ $OS_TYPE = Linux ]; then fi msg='syncing the clock ...' - logger -t xcat $msg + logger -t $log_label $msg echo $msg if ! timeout 120 ntpd -gq > /dev/null 2>&1 ; then if ! ntpdate -t5 $master > /dev/null 2>&1; then msg='WARNING: NTP Sync Failed before timeout. ntp server will try to sync...' - logger -t xcat $msg + logger -t $log_label $msg echo $msg fi fi @@ -193,12 +197,12 @@ broadcastclient restrict 127.0.0.1" >>$conf_file stopsrc -s xntpd - logger -t xcat "ntpdate -t5 $master " + logger -t $log_label "ntpdate -t5 $master " ntpdate -t5 $master if [ "$?" != "0" ] then echo " ntpdate -t5 $master failed " - logger -t xcat "ntpdate -t5 $master failed" + logger -t $log_label "ntpdate -t5 $master failed" fi /usr/sbin/chrctcp -S -a xntpd fi diff --git a/xCAT/postscripts/setuppostbootscripts b/xCAT/postscripts/setuppostbootscripts index 582781dbc..4e7846d8c 100755 --- a/xCAT/postscripts/setuppostbootscripts +++ b/xCAT/postscripts/setuppostbootscripts @@ -10,13 +10,17 @@ # postscripts.postbootscripts will be run when the node reboots. #=cut #------------------------------------------------------------------------------- - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi #only works for diskful nodes if [ "$NODESETSTATE" = "netboot" -o \ "$NODESETSTATE" = "statelite" -o \ "$NODESETSTATE" = "diskless" -o \ "$NODESETSTATE" = "dataless" ]; then - logger -t xcat -p local4.info "setuppostbootscripts: Nothing to do for stateless and statelite nodes." + logger -t $log_label -p local4.info "setuppostbootscripts: Nothing to do for stateless and statelite nodes." exit 0 fi @@ -34,7 +38,7 @@ fi if [ -f $infofile ]; then value=`grep "RUNBOOTSCRIPTS=$RUNBOOTSCRIPTS" $infofile` if [[ -n $value ]]; then # match - logger -t xcat -p local4.info "setuppostbootscripts: xcatinfo uptodate, nothing to do." + logger -t $log_label -p local4.info "setuppostbootscripts: xcatinfo uptodate, nothing to do." exit 0 fi fi diff --git a/xCAT/postscripts/setupscratch b/xCAT/postscripts/setupscratch index 49c3bed3f..244e65847 100755 --- a/xCAT/postscripts/setupscratch +++ b/xCAT/postscripts/setupscratch @@ -8,7 +8,11 @@ # #==================================================================== ME="setupscratch" - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi mydir="/scratch" umount $mydir @@ -17,13 +21,13 @@ then if grep sda1 /proc/partitions >/dev/null 2>&1 then echo Autodetected existing /dev/sda1 - logger -t xcat -p local4.info $ME Autodetected existing /dev/sda1 + logger -t $log_label -p local4.info $ME Autodetected existing /dev/sda1 echo Checking filesystem /dev/sda1 - logger -t xcat -p local4.info $ME Checking filesystem /dev/sda1 + logger -t $log_label -p local4.info $ME Checking filesystem /dev/sda1 fsck -y /dev/sda1 mkdir -p $mydir echo mounting existing /dev/sda1 to $mydir - logger -t xcat -p local4.info $ME mounting existing /dev/sda1 to $mydir + logger -t $log_label -p local4.info $ME mounting existing /dev/sda1 to $mydir if mount /dev/sda1 $mydir then echo @@ -32,14 +36,14 @@ then exit 0 else echo mounting /dev/sda1 to $mydir failed - logger -t xcat -p local4.warning $ME mounting /dev/sda1 to $mydir failed + logger -t $log_label -p local4.warning $ME mounting /dev/sda1 to $mydir failed fi fi fi echo Creating Partition -logger -t xcat -p local4.info $ME Creating Partition +logger -t $log_label -p local4.info $ME Creating Partition parted -s /dev/sda mklabel gpt parted -s -- /dev/sda mkpart primary ext3 0 -0 if grep sda1 /proc/partitions >/dev/null 2>&1 @@ -47,7 +51,7 @@ then sleep 5 else echo failed to create partition, exiting $ME - logger -t xcat -p local4.err $ME failed to create partition, exiting $ME + logger -t $log_label -p local4.err $ME failed to create partition, exiting $ME echo echo Failed! echo @@ -55,11 +59,11 @@ else fi echo Creating new ext3 filesystem: /dev/sda1 -logger -t xcat -p local4.info $ME Creating new ext3 filesystem: /dev/sda1 +logger -t $log_label -p local4.info $ME Creating new ext3 filesystem: /dev/sda1 mke2fs -j /dev/sda1 mkdir -p $mydir echo mounting new /dev/sda1 to $mydir -logger -t xcat -p local4.info $ME mounting new /dev/sda1 to $mydir +logger -t $log_label -p local4.info $ME mounting new /dev/sda1 to $mydir mount /dev/sda1 $mydir echo echo Done! diff --git a/xCAT/postscripts/sudoer b/xCAT/postscripts/sudoer index 03c873965..45f90b1bb 100755 --- a/xCAT/postscripts/sudoer +++ b/xCAT/postscripts/sudoer @@ -7,7 +7,11 @@ # #------------------------------------------------------------------------------ - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi if [ "$(uname -s|tr 'A-Z' 'a-z')" = "linux" ];then str_dir_name=`dirname $0` @@ -59,7 +63,7 @@ chown $SUDOER:users $HOME/.ssh/authorized_keys # Restart the SSHD for syncfiles postscript to do the sync work -logger -t xcat -p local4.info "Restarting SSHD" +logger -t $log_label -p local4.info "Restarting SSHD" #if [ -f "/etc/debian_version" ];then # service ssh restart #else diff --git a/xCAT/postscripts/syncfiles b/xCAT/postscripts/syncfiles index 4990d7a63..1ff4088f2 100755 --- a/xCAT/postscripts/syncfiles +++ b/xCAT/postscripts/syncfiles @@ -7,17 +7,23 @@ # ##################################################### +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi +bname=$(basename $0) #statelite does not support syncfiles if [ -d /.statelite ]; then echo "Statelite does not support syncfiles, nothing to do..." - logger -t xcat -p local4.info "Statelite does not support syncfiles, nothing to do..." + logger -t $log_label -p local4.info "Statelite does not support syncfiles, nothing to do..." exit 0 fi # do nothing when UPDATENODE=1 because it is done from the top down if [ -n "$UPDATENODE" ] && [ $UPDATENODE -eq 1 ]; then #echo " Did not sync any files. Use updatenode -F to sync the files." - logger -t xcat -p local4.err "$0: Did not sync any files. Use updatenode -F to sync the files." + logger -t $log_label -p local4.warning "$bname: Did not sync any files. Use updatenode -F to sync the files." exit 0 fi @@ -25,7 +31,7 @@ fi #do nothing id there is no sync file template for the node if [ -n "$NOSYNCFILES" ] && [ $NOSYNCFILES -eq 1 ]; then echo " Did not sync any files." - logger -t xcat -p local4.err "$0: there is no sync file template for the node" + logger -t $log_label -p local4.info "$bname: there is no sync file template for the node" exit 0 fi @@ -34,13 +40,13 @@ if [ ! -e "/usr/bin/rsync" ]; then [ -e "/usr/bin/scp" ] && RCP="/usr/bin/scp" fi -logger -t xcat -p local4.info "Performing syncfiles postscript" +logger -t $log_label -p local4.info "Performing syncfiles postscript" osname=`uname` # run the xdcp on the MN/SN xcatpostdir="/xcatpost" -logger -t xcat -p local4.info "$0: the OS name = $osname" +logger -t $log_label -p local4.info "$bname: the OS name = $osname" quit="no" count=5 returncode=0 @@ -70,9 +76,9 @@ done if [ $returncode -eq 0 ] then - logger -t xcat -p local4.info "$0: Perform Syncing File action successfully" + logger -t $log_label -p local4.info "$bname: Perform Syncing File action successfully" else - logger -t xcat -p local4.err "$0: Perform Syncing File action encountered error" + logger -t $log_label -p local4.err "$bname: Perform Syncing File action encountered error" fi [ $returncode -eq 0 ] diff --git a/xCAT/postscripts/syslog b/xCAT/postscripts/syslog index e0c964589..d9b971a3b 100755 --- a/xCAT/postscripts/syslog +++ b/xCAT/postscripts/syslog @@ -1,4 +1,4 @@ -#!/bin/bash +#!/bin/bash # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html #------------------------------------------------------------------------------- @@ -13,6 +13,12 @@ # OSVER: possible values are sles10, fedora8, redhat5, aix etc. #=cut #------------------------------------------------------------------------------- +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi + if [ "$SYSLOG" = "ignore" ]; then echo "The value of syslog is '$SYSLOG'." exit 0 @@ -303,7 +309,7 @@ if [ -e "/sbin/rsyslogd" -o -e "/usr/sbin/rsyslogd" ]; then if ( pmatch $SYSLOGPROD "*rsyslogd*" ) && ( pmatch $SYSLOGVER "8*" ); then config_rsyslog_V8 #keep a record - logger -t xcat -p local4.info "Install: rsyslog version 8 setup" + logger -t $log_label -p local4.info "Install: rsyslog version 8 setup" exit 0 fi fi @@ -527,5 +533,5 @@ else fi #keep a record -logger -t xcat -p local4.info "Install: syslog setup" +logger -t $log_label -p local4.info "Install: syslog setup" exit 0 diff --git a/xCAT/postscripts/umountpost b/xCAT/postscripts/umountpost index e7eb58671..e23e926b8 100755 --- a/xCAT/postscripts/umountpost +++ b/xCAT/postscripts/umountpost @@ -2,9 +2,13 @@ # IBM(c) 2007 EPL license http://www.eclipse.org/legal/epl-v10.html #(C)IBM Corp # - +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi result=`umount /post 2>&1` returncode=$? -logger -t xcat -p local4.info $result +logger -t $log_label -p local4.info $result exit $returncode diff --git a/xCAT/postscripts/unlocktftpdir.awk b/xCAT/postscripts/unlocktftpdir.awk index f5371d165..2057092b9 100755 --- a/xCAT/postscripts/unlocktftpdir.awk +++ b/xCAT/postscripts/unlocktftpdir.awk @@ -4,13 +4,16 @@ BEGIN { xcatdport = ARGV[2] ns = "/inet/tcp/0/" ARGV[1] "/" xcatdport - + log_label=ENVIRON["LOGLABEL"] + if(!log_label){ + log_label="xcat" + } while(1) { if((ns |& getline) > 0) - print $0 | "logger -t xcat -p local4.info " + print $0 | "logger -t "log_label" -p local4.info " else { print "Retrying unlock of tftp directory" - print "$0: Retrying unlock of tftp directory" | "logger -t xcat -p local4.info " + print "$0: Retrying unlock of tftp directory" | "logger -t "log_label" -p local4.info " close(ns) system("sleep 5") } diff --git a/xCAT/postscripts/xcatclient b/xCAT/postscripts/xcatclient index af699f7ff..7571f3777 100755 --- a/xCAT/postscripts/xcatclient +++ b/xCAT/postscripts/xcatclient @@ -8,18 +8,23 @@ # The -d flag was implemented when the call to the routine was moved # from the postscript table into the servicenode postscript. # +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi if [ ! $1 ]; then - logger -t xcat -p local4.err "xcatclient call without -d, doing nothing." + logger -t $log_label -p local4.err "xcatclient call without -d, doing nothing." exit 0 fi if [ $1 != "-d" ]; then - logger -t xcat -p local4.err "xcatclient call without -d, doing nothing." + logger -t $log_label -p local4.err "xcatclient call without -d, doing nothing." exit 0 fi -logger -t xcat -p local4.info "xcatclient call with -d. getting credentials and cfgloc " +logger -t $log_label -p local4.info "xcatclient call with -d. getting credentials and cfgloc " if [ ! -x /usr/bin/openssl ]; then #Unless we have openssl stup - logger -t xcat -p local4.err "$0: /usr/bin/openssl is not executable" + logger -t $log_label -p local4.err "$0: /usr/bin/openssl is not executable" exit -1 fi USEOPENSSLFORXCAT=1 #Declare 2.3 style SSL @@ -44,7 +49,7 @@ export USEOPENSSLFORXCAT done else ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /tmp/xcat_client_cred` - logger -t xcat -p local4.err xcat_client_cred Error: $ERR_MSG + logger -t $log_label -p local4.err xcat_client_cred Error: $ERR_MSG RETURNVAL=-1 fi rm /tmp/xcat_client_cred diff --git a/xCAT/postscripts/xcatdsklspost b/xCAT/postscripts/xcatdsklspost index 430fc367e..38ac8ca6a 100755 --- a/xCAT/postscripts/xcatdsklspost +++ b/xCAT/postscripts/xcatdsklspost @@ -68,11 +68,11 @@ echolog() echo "$msgstr" fi if [ "$XCATDEBUGMODE" = "1" ] || [ "$XCATDEBUGMODE" = "2" ]; then - msgutil_r "$MASTER_IP" "$msgtype" "$msgstr" "/var/log/xcat/xcat.log" "xcat.xcatdsklspost" + msgutil_r "$MASTER_IP" "$msgtype" "$msgstr" "/var/log/xcat/xcat.log" "$log_label" fi else echo "$msgstr" - msgutil_r "$MASTER_IP" "$msgtype" "$msgstr" "/var/log/xcat/xcat.log" "xcat.xcatdsklspost" + msgutil_r "$MASTER_IP" "$msgtype" "$msgstr" "/var/log/xcat/xcat.log" "$log_label" fi #reload the functions defined in./xcatlib.sh @@ -119,7 +119,6 @@ download_postscripts() INSTALLDIR="/install" fi fi - echolog "debug" "trying to download postscripts from http://$server$INSTALLDIR/postscripts/" max_retries=5 retry=0 @@ -211,11 +210,37 @@ pmatch () return 1 # non-zero return code means string not matched by pattern } + +#parse the http server ":" +#usgae: parsehttpserver(,) +parsehttpserver () +{ + rawserver=$1 + option=$2 + server=$(echo "$rawserver"|cut -d: -f1 -s 2>/dev/null) + port="80" + if [ -z "$server" ];then + server=$rawserver + else + port=$(echo "$rawserver"|cut -d: -f2 -s 2>/dev/null) + fi + + if [ "$option" = "server" ];then + echo "$server" + fi + + if [ "$option" = "port" ];then + echo "$port" + fi +} + # Main # parse the arguments +log_label="xcat.updatenode" ARGNUM=$#; if [ -z $1 ]; then NODE_DEPLOYMENT=1 + log_label="xcat.deployment" else NODE_DEPLOYMENT=0 case $1 in @@ -223,10 +248,14 @@ else MODE=$1 if [ $ARGNUM -gt 1 ]; then if [ $2 = "-m" ]; then - P_SIP=$3 + P_SVR=$3 + P_SIP=$(parsehttpserver "$P_SVR" 'server') + HTTPPORT=$(parsehttpserver "$P_SVR" 'port') else if [ $2 = "-M" ]; then - P_SIP=$3 + P_SVR=$3 + P_SIP=$(parsehttpserver "$P_SVR" 'server') + HTTPPORT=$(parsehttpserver "$P_SVR" 'port') new_ms=$P_SIP # -M means we will update xcatinfo file XCATSERVER fi fi @@ -268,9 +297,16 @@ else fi fi ;; - 3|4|6) MODE=$1;; + 4) + MODE=$1 + log_label="xcat.deployment" + ;; + 3|6) MODE=$1;; esac fi +if [ $NODE_DEPLOYMENT -ne 1 ] && [ $MODE -ne 4 ] ; then + echolog "info" "=============updatenode starting====================" +fi # set the default path for the xcatpost directory xcatpost="/xcatpost" # Check for debug mode and you have nodename available you can change the path for debug @@ -344,14 +380,22 @@ if [ "$MODE" = "4" ]; then # for statelite mode else echo "XCATSERVER=$XCATSERVER" >> /opt/xcat/xcatinfo fi - break + elif [ "$KEY" = "XCATHTTPPORT" ]; then + HTTPPORT=`echo $i | awk -F= '{print $2}'` + grep 'HTTPPORT' /opt/xcat/xcatinfo > /dev/null 2>&1 + if [ $? -eq 0 ]; then + sed -i "s/HTTPPORT=.*/HTTPPORT=$HTTPPORT/" /opt/xcat/xcatinfo + else + echo "HTTPPORT=$HTTPPORT" >> /opt/xcat/xcatinfo + fi fi done if [ -f /opt/xcat/xcatinfo ]; then SIP=`grep 'XCATSERVER' /opt/xcat/xcatinfo |cut -d= -f2` + HTTPPORT=`grep 'HTTPPORT' /opt/xcat/xcatinfo |cut -d= -f2` if [ -n "$SIP" ]; then - download_postscripts $SIP + download_postscripts $SIP:${HTTPPORT} if [ $? -eq 0 ]; then downloaded=1 fi @@ -392,8 +436,9 @@ else # for common mode MODE=1,2,3,5 (updatenode,moncfg,node deployment) # also update the XCATSERVER in the /etc/xcat/xcatinfo file with this # address if [ -n "$P_SIP" ]; then # passed in with updatenode on -M/-m - SIP=$P_SIP - download_postscripts $SIP + #SIP="${P_SIP}:${HTTPPORT}" + SIP=${P_SIP} + download_postscripts ${P_SIP}:${HTTPPORT} if [ $? -eq 0 ]; then downloaded=1 fi @@ -417,8 +462,10 @@ else # for common mode MODE=1,2,3,5 (updatenode,moncfg,node deployment) # if not updatenode, then look in xcatinfo for the xcatmaster if [ -f /opt/xcat/xcatinfo ]; then SIP=`grep 'XCATSERVER' /opt/xcat/xcatinfo |cut -d= -f2` + HTTPPORT=`grep 'HTTPPORT' /opt/xcat/xcatinfo |cut -d= -f2` + [ -z "$HTTPPORT" ] && HTTPPORT="80" if [ -n "$SIP" ]; then - download_postscripts $SIP + download_postscripts ${SIP}:${HTTPPORT} if [ $? -eq 0 ]; then downloaded=1 fi @@ -435,15 +482,20 @@ else # for common mode MODE=1,2,3,5 (updatenode,moncfg,node deployment) if [ "$KEY" = "XCAT" ]; then TMP=`echo $i | awk -F= '{print $2}'` SIP=`echo $TMP | cut -d: -f1` - if [ -n "$SIP" ]; then - download_postscripts $SIP - if [ $? -eq 0 ]; then - downloaded=1 - break - fi - fi - fi - done + + elif [ "$KEY" = "XCATHTTPPORT" ];then + HTTPPORT=$(echo $i | awk -F= '{print $2}') + [ -z "$HTTPPORT" ] && HTTPPORT="80" + fi + done + + if [ -n "$SIP" ]; then + download_postscripts "${SIP}:${HTTPPORT}" + if [ $? -eq 0 ]; then + downloaded=1 + break + fi + fi fi # download poscripts has not worked yet @@ -546,11 +598,11 @@ echolog "info" "trying to get mypostscript from $SIP..." max_retries=2 # try short hostname first if [ -n "$node_short" ]; then - download_mypostscript $SIP $node_short $max_retries $TFTPDIR + download_mypostscript "${SIP}:${HTTPPORT}" $node_short $max_retries $TFTPDIR if [ $? -ne 0 ]; then # try long hostname if [ "$node" != "$node_short" ]; then - download_mypostscript $SIP $node $postfix $max_retries $TFTPDIR + download_mypostscript "${SIP}:${HTTPPORT}" $node $postfix $max_retries $TFTPDIR fi fi fi @@ -658,6 +710,13 @@ if [ -n "$new_ms" ]; then else echo "XCATSERVER=$new_ms" >> /opt/xcat/xcatinfo fi + + grep 'HTTPPORT' /opt/xcat/xcatinfo > /dev/null 2>&1 + if [ $? -eq 0 ]; then + sed -i "s/HTTPPORT=.*/HTTPPORT=$HTTPPORT/" /opt/xcat/xcatinfo + else + echo "HTTPPORT=$HTTPPORT" >> /opt/xcat/xcatinfo + fi fi #save the USEFLOWCONTROL into the xcatinfo file @@ -885,18 +944,23 @@ run_ps () { if [ -z \"\$scriptype\" ]; then scriptype=\"postscript\" fi - + if [ \$UPDATENODE -eq 0 ]; then + log_label=\"xcat.deployment.\"\$scriptype + else + log_label=\"xcat.updatenode.\"\$scriptype + fi + export LOGLABEL=\$log_label if [ -f \$1 ]; then - echo \"Running \$scriptype: \$1\" - msgutil_r \"\$MASTER_IP\" \"info\" "\"Running \$scriptype: \$1\"" \"\$logfile\" \"xcat.mypostscript\" + echo \"\$scriptype start..: \$1\" + msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype start..: \$1\"" \"\$logfile\" \"\$log_label\" if [ \"\$XCATDEBUGMODE\" = \"1\" ] || [ \"\$XCATDEBUGMODE\" = \"2\" ]; then local compt=\$(file \$1) local reg=\"shell script\" if [[ \"\$compt\" =~ \$reg ]]; then - bash -x ./\$@ 2>&1 | tee -a \$logfile | tee >(logger -t xcat.mypostscript -p debug) + bash -x ./\$@ 2>&1 | tee -a \$logfile | tee >(logger -t \$log_label -p debug) ret_local=\${PIPESTATUS[0]} else - ./\$@ 2>&1 | tee -a \$logfile | tee >(logger -t xcat.mypostscript -p debug) + ./\$@ 2>&1 | tee -a \$logfile | tee >(logger -t \$log_label -p debug) ret_local=\${PIPESTATUS[0]} fi else @@ -907,11 +971,11 @@ run_ps () { if [ \"\$ret_local\" -ne \"0\" ]; then return_value=\$ret_local fi - echo \"\$scriptype: \$1 exited with code \$ret_local\" - msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype \$1 return with \$ret_local\"" \"\$logfile\" \"xcat.mypostscript\" + echo \"\$scriptype end....: \$1 exited with code \$ret_local\" + msgutil_r \"\$MASTER_IP\" \"info\" "\"\$scriptype end...:\$1 return with \$ret_local\"" \"\$logfile\" \"\$log_label\" else echo \"\`date\` \$scriptype \$1 does NOT exist.\" - msgutil_r \"\$MASTER_IP\" \"error\" "\"\$scriptype \$1 does NOT exist.\"" \"\$logfile\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"error\" "\"\$scriptype \$1 does NOT exist.\"" \"\$logfile\" \"\$log_label\" return_value=-1 fi @@ -937,23 +1001,23 @@ if [ $NODE_DEPLOYMENT -eq 1 ] || [ "$MODE" = "4" ] || [ "$MODE" = "6" ]; then if [ "$MODE" = "6" ]; then echo " if [ \"\$return_value\" -eq \"0\" ]; then - msgutil_r \$MASTER_IP \"debug\" \"node booted successfully, reporting status...\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"debug\" \"node booted successfully, reporting status...\" \"/var/log/xcat/xcat.log\" \"\$log_label\" updateflag.awk \$MASTER 3002 \"installstatus booted\" else - msgutil_r \$MASTER_IP \"debug\" \"node boot failed, reporting status...\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"debug\" \"node boot failed, reporting status...\" \"/var/log/xcat/xcat.log\" \"\$log_label\" updateflag.awk \$MASTER 3002 \"installstatus failed\" fi " >> /$xcatpost/mypostscript else echo " if [ \"\$return_value\" -eq \"0\" ]; then - msgutil_r \$MASTER_IP \"debug\" \"node booted successfully, reporting status...\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"debug\" \"node booted successfully, reporting status...\" \"/var/log/xcat/xcat.log\" \"\$log_label\" updateflag.awk \$MASTER 3002 \"installstatus booted\" - msgutil_r \$MASTER_IP \"info\" \"provision completed.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"info\" \"provision completed.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"\$log_label\" else - msgutil_r \$MASTER_IP \"debug\" \"node boot failed, reporting status...\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"debug\" \"node boot failed, reporting status...\" \"/var/log/xcat/xcat.log\" \"\$log_label\" updateflag.awk \$MASTER 3002 \"installstatus failed\" - msgutil_r \$MASTER_IP \"error\" \"provision completed with error.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"error\" \"provision completed with error.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"\$log_label\" fi " >> /$xcatpost/mypostscript fi @@ -986,7 +1050,12 @@ fi #tell user it is done when this is called by updatenode command if [ "$MODE" = "1" ] || [ "$MODE" = "2" ] || [ "$MODE" = "5" ]; then - echolog "info" "returned from postscript" + echo "returned from postscript" + echolog "info" "=============updatenode ending====================" +fi + +if [ $NODE_DEPLOYMENT -eq 1 ] || [ "$MODE" = "4" ] || [ "$MODE" = "6" ]; then + echolog "info" "=============deployment ending====================" fi exit $VRET_POST diff --git a/xCAT/postscripts/xcatinstallpost b/xCAT/postscripts/xcatinstallpost index 9e485818c..235c241d8 100755 --- a/xCAT/postscripts/xcatinstallpost +++ b/xCAT/postscripts/xcatinstallpost @@ -6,7 +6,7 @@ ################################################################# . /xcatpost/xcatlib.sh -log_label="xcat.xcatinstallpost" +log_label="xcat.deployment" if [ -f /xcatpost/mypostscript.post ]; then XCATDEBUGMODE=`grep 'XCATDEBUGMODE=' /xcatpost/mypostscript.post |cut -d= -f2 | tr -d \'\" | tr A-Z a-z ` MASTER_IP=`grep '^MASTER_IP=' /xcatpost/mypostscript.post |cut -d= -f2|sed s/\'//g` @@ -125,16 +125,16 @@ echo " if [ \"\$return_value\" -eq \"0\" ]; then if [ \"\$XCATDEBUGMODE\" = \"1\" ] || [ \"\$XCATDEBUGMODE\" = \"2\" ]; then - msgutil_r \"\$MASTER_IP\" \"debug\" \"node booted, reporting status...\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"debug\" \"node booted, reporting status...\" \"/var/log/xcat/xcat.log\" \"\$log_label\" fi updateflag.awk \$MASTER 3002 \"installstatus booted\" - msgutil_r \$MASTER_IP \"info\" \"provision completed.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"info\" \"provision completed.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"\$log_label\" else if [ \"\$XCATDEBUGMODE\" = \"1\" ] || [ \"\$XCATDEBUGMODE\" = \"2\" ]; then - msgutil_r \"\$MASTER_IP\" \"debug\" \"node boot failed, reporting status...\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \"\$MASTER_IP\" \"debug\" \"node boot failed, reporting status...\" \"/var/log/xcat/xcat.log\" \"\$log_label\" fi updateflag.awk \$MASTER 3002 \"installstatus failed\" - msgutil_r \$MASTER_IP \"error\" \"provision completed with error.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"xcat.mypostscript\" + msgutil_r \$MASTER_IP \"error\" \"provision completed with error.(\$NODE)\" \"/var/log/xcat/xcat.log\" \"\$log_label\" fi " >> /xcatpost/mypostscript.post fi @@ -145,4 +145,5 @@ if [ -x /xcatpost/mypostscript.post ];then msgutil_r "$MASTER_IP" "info" "Running /xcatpost/mypostscript.post" "/var/log/xcat/xcat.log" "$log_label" /xcatpost/mypostscript.post msgutil_r "$MASTER_IP" "info" "/xcatpost/mypostscript.post return" "/var/log/xcat/xcat.log" "$log_label" + msgutil_r "$MASTER_IP" "info" "=============deployment ending====================" "/var/log/xcat/xcat.log" "$log_label" fi diff --git a/xCAT/postscripts/xcatlib.sh b/xCAT/postscripts/xcatlib.sh index 554e00066..e1c688402 100755 --- a/xCAT/postscripts/xcatlib.sh +++ b/xCAT/postscripts/xcatlib.sh @@ -1,6 +1,6 @@ function hashencode(){ - local str_map="$1" - echo `echo $str_map | sed 's/\./xDOTx/g' | sed 's/:/xCOLONx/g' | sed 's/,/:xCOMMAx/g'` + local str_map="$1" + echo `echo $str_map | sed 's/\./xDOTx/g' | sed 's/:/xCOLONx/g' | sed 's/,/:xCOMMAx/g' | sed 's/-/xHYPHENx/g'` } function hashset(){ @@ -107,7 +107,7 @@ function v4prefix2mask(){ local num_index=1 local str_temp='' local str_mask='' - + [ ! $a ] && a=0 while [[ $num_index -le 4 ]] do if [ $a -ge 8 ];then @@ -733,7 +733,7 @@ function parse_nic_extra_params() { do token2="${params_temp[$k]}" array_extra_param_names[$k]=`echo "$token2" | cut -d'=' -f 1` - array_extra_param_values[$k]=`echo "$token2" | cut -d'=' -f 2` + array_extra_param_values[$k]=`echo "$token2" | cut -d'=' -f 2-` k=$((k+1)) done } diff --git a/xCAT/postscripts/xcatpostinit b/xCAT/postscripts/xcatpostinit index 2085cd5ef..7a61d4e98 100755 --- a/xCAT/postscripts/xcatpostinit +++ b/xCAT/postscripts/xcatpostinit @@ -19,8 +19,12 @@ if [ -x /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions fi - -logger -t xcat -p local4.info "$0: action is $1" +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat.deployment" +fi +logger -t $log_label -p local4.info "$0: action is $1" case $1 in restart) $0 stop @@ -28,11 +32,11 @@ restart) ;; status) echo -n "xcatpostinit runs only at boot, runs additional post scripts" - logger -t xcat -p local4.info "xcatpostinit runs only at boot, runs additional post scripts" + logger -t $log_label -p local4.info "xcatpostinit runs only at boot, runs additional post scripts" ;; stop) echo -n "nothing to stop " - logger -t xcat -p local4.info "nothing to stop" + logger -t $log_label -p local4.info "nothing to stop" ;; start) # Node is stateless by default @@ -59,10 +63,10 @@ start) # Run $SCRIPT according to node type if [ $STATELITE -ne 0 ]; then - logger -t xcat -p local4.info "Call $SCRIPT for statelite mode" + logger -t $log_label -p local4.info "Call $SCRIPT for statelite mode" "$SCRIPT" 4 else - logger -t xcat -p local4.info "Call $SCRIPT for stateless mode" + logger -t $log_label -p local4.info "Call $SCRIPT for stateless mode" "$SCRIPT" fi ;; diff --git a/xCAT/postscripts/xcatpostinit1.netboot b/xCAT/postscripts/xcatpostinit1.netboot index f21ba9c73..851e43da4 100755 --- a/xCAT/postscripts/xcatpostinit1.netboot +++ b/xCAT/postscripts/xcatpostinit1.netboot @@ -19,9 +19,15 @@ if [ -x /etc/rc.d/init.d/functions ]; then . /etc/rc.d/init.d/functions fi +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat.deployment" +fi + XCATSERVER=$(grep --only-matching "\" /proc/cmdline |cut -d= -f2 |cut -d: -f1 2>/dev/null) -logger -t xcat -p local4.info "$0: action is $1" +logger -t $log_label -p local4.info "$0: action is $1" case $1 in restart) $0 stop @@ -29,11 +35,11 @@ restart) ;; status) echo -n "xcatpostinit runs only at boot, runs additional post scripts" - logger -t xcat -p local4.info "xcatpostinit runs only at boot, runs additional post scripts" + logger -t $log_label -p local4.info "xcatpostinit runs only at boot, runs additional post scripts" ;; stop) echo -n "nothing to stop " - logger -t xcat -p local4.info "nothing to stop" + logger -t $log_label -p local4.info "nothing to stop" grep nonodestatus /proc/cmdline 2>/dev/null || [ -n "$XCATSERVER" ] && /xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus powering-off" ;; start) @@ -55,7 +61,7 @@ start) # Test for script existance if ! [ -x "$SCRIPT" ]; then - msg "can't locate executable $SCRIPT" + logger -t $log_label -p local4.info "Unable to locate script $SCRIPT." grep nonodestatus /proc/cmdline 2>/dev/null || [ -n "$XCATSERVER" ] && /xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus failed" exit -1 fi @@ -63,10 +69,10 @@ start) # Run $SCRIPT according to node type grep nonodestatus /proc/cmdline 2>/dev/null || [ -n "$XCATSERVER" ] && /xcatpost/updateflag.awk $XCATSERVER 3002 "installstatus postbooting" if [ $STATELITE -ne 0 ]; then - logger -t xcat -p local4.info "Call $SCRIPT for statelite mode" + logger -t $log_label -p local4.info "Call $SCRIPT for statelite mode" "$SCRIPT" 4 else - logger -t xcat -p local4.info "Call $SCRIPT for stateless mode" + logger -t $log_label -p local4.info "Call $SCRIPT for stateless mode" "$SCRIPT" fi ;; diff --git a/xCAT/postscripts/xcatpostinit1.service b/xCAT/postscripts/xcatpostinit1.service index 99ec0353f..9ad4407cf 100644 --- a/xCAT/postscripts/xcatpostinit1.service +++ b/xCAT/postscripts/xcatpostinit1.service @@ -6,6 +6,7 @@ After=network.target rsyslog.service Type=oneshot ExecStart=/opt/xcat/xcatpostinit1 start ExecStop=/opt/xcat/xcatpostinit1 stop +StandardOutput=null RemainAfterExit=yes [Install] diff --git a/xCAT/postscripts/xcatpostinit1.service.yast2 b/xCAT/postscripts/xcatpostinit1.service.yast2 index ca6494ac1..274444bcd 100644 --- a/xCAT/postscripts/xcatpostinit1.service.yast2 +++ b/xCAT/postscripts/xcatpostinit1.service.yast2 @@ -6,6 +6,7 @@ After=network.target rsyslog.service YaST2-Firstboot.service Type=oneshot ExecStart=/opt/xcat/xcatpostinit1 start ExecStop=/opt/xcat/xcatpostinit1 stop +StandardOutput=null RemainAfterExit=yes [Install] diff --git a/xCAT/postscripts/xcatserver b/xCAT/postscripts/xcatserver index 7f6deb300..5f0313307 100755 --- a/xCAT/postscripts/xcatserver +++ b/xCAT/postscripts/xcatserver @@ -7,24 +7,29 @@ # The -d flag was implemented when the call to the routine was moved # from the postscript table into the servicenode postscript. # +if [ -n "$LOGLABEL" ]; then + log_label=$LOGLABEL +else + log_label="xcat" +fi if [ ! $1 ]; then - logger -t xcat -p local4.err "xcatserver call without -d, doing nothing." + logger -t $log_label -p local4.err "xcatserver call without -d, doing nothing." #echo "xcatserver call without -d, doing nothing." #echo $1 exit 0 fi if [ $1 != "-d" ]; then - logger -t xcat -p local4.err "xcatserver call without -d, doing nothing." + logger -t $log_label -p local4.err "xcatserver call without -d, doing nothing." #echo "xcatserver call without -d, doing nothing." #echo $1 exit 0 fi -logger -t xcat -p local4.info "xcatserver call with -d. getting credentials and cfgloc " +logger -t $log_label -p local4.info "xcatserver call with -d. getting credentials and cfgloc " #echo "xcatserver call with -d, getting credentials and cfgloc." #echo $1 if [ ! -x /usr/bin/openssl ]; then - logger -t xcat -p local4.err "$0: /usr/bin/openssl is not executable" + logger -t $log_label -p local4.err "$0: /usr/bin/openssl is not executable" exit -1 fi USEOPENSSLFORXCAT=1 @@ -47,12 +52,12 @@ sleep 1 mkdir -p /etc/xcat/cert if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "xcatserver: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "xcatserver: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "xcatserver:xcatflowrequest received response return=$rc" + logger -t $log_label -p local4.info "xcatserver:xcatflowrequest received response return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi @@ -64,7 +69,7 @@ getcredentials.awk xcat_server_cred | grep -v '<'|sed -e 's/</' /etc/xcat/cert/server-cred.pem if [ $? -ne 0 ]; then #the message received is the data - logger -t xcat -p local4.info "xcatserver: getting server-cred.pem" + logger -t $log_label -p local4.info "xcatserver: getting server-cred.pem" MAX_RETRIES=10 RETRY=0 MYCONT=`cat /etc/xcat/cert/server-cred.pem` @@ -84,12 +89,12 @@ if [ $? -ne 0 ]; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "xcatserver: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "xcatserver: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "xcatserver:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "xcatserver:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -103,7 +108,7 @@ if [ $? -ne 0 ]; then else # error from first getcredential call #the message received is an error from credentials.pm, so parse it ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /etc/xcat/cert/server-cred.pem` - logger -t xcat -p local4.err xcatserver: $ERR_MSG + logger -t $log_label -p local4.err xcatserver: $ERR_MSG rm /etc/xcat/cert/server-cred.pem fi @@ -111,12 +116,12 @@ fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "xcatserver: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "xcatserver: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "xcatserver:xcatflowrequest received response return=$rc" + logger -t $log_label -p local4.info "xcatserver:xcatflowrequest received response return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi @@ -127,7 +132,7 @@ getcredentials.awk xcat_cfgloc | grep -v '<'|sed -e 's/<//' - grep -E '' /etc/xcat/cfgloc if [ $? -ne 0 ]; then #the message received is the data - logger -t xcat -p local4.info "xcatserver: getting cfgloc" + logger -t $log_label -p local4.info "xcatserver: getting cfgloc" MAX_RETRIES=10 RETRY=0 MYCONT=`cat /etc/xcat/cfgloc` @@ -147,12 +152,12 @@ if [ $? -ne 0 ]; then fi if [ $useflowcontrol = "1" ]; then #first contact daemon xcatflowrequest 3001 - logger -t xcat -p local4.info "xcatserver: sending xcatflowrequest $master 3001" + logger -t $log_label -p local4.info "xcatserver: sending xcatflowrequest $master 3001" /$xcatpost/xcatflowrequest $master 3001 rc=$? - logger -t xcat -p local4.info "xcatserver:xcatflowrequest return=$rc" + logger -t $log_label -p local4.info "xcatserver:xcatflowrequest return=$rc" if [ $rc -ne 0 ]; then - logger -t xcat -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" + logger -t $log_label -p local4.info "xcatserver: error from xcatflowrequest, will not use flow control" useflowcontrol=0 fi fi @@ -178,7 +183,7 @@ if [ $? -ne 0 ]; then else # error from first getcredentials call #the message received is an error from credentials.pm, so parse it ERR_MSG=`sed -n 's%.*\(.*\).*%\1%p' /etc/xcat/cfgloc` - logger -t xcat -p local4.err xcatserver: $ERR_MSG + logger -t $log_label -p local4.err xcatserver: $ERR_MSG rm /etc/xcat/cfgloc fi
eXtreme Cloud Administration Toolkit
xCAT