From eaf6b0eeb84cb238486f4bc670b8b39285d2803d Mon Sep 17 00:00:00 2001 From: Victor Hu Date: Thu, 8 Mar 2018 16:39:39 -0500 Subject: [PATCH] Adding documentation for installing xCAT-openbmc-py --- .../references/coral/cluster_mgmt/index.rst | 1 + .../coral/cluster_mgmt/scalability/index.rst | 7 ++++ .../cluster_mgmt/scalability/python/index.rst | 12 ++++++ .../scalability/python/install/disable.rst | 14 +++++++ .../scalability/python/install/index.rst | 12 ++++++ .../scalability/python/install/pip.rst | 22 ++++++++++ .../scalability/python/install/rpm.rst | 42 +++++++++++++++++++ .../scalability/python/performance.rst | 33 +++++++++++++++ 8 files changed, 143 insertions(+) create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/index.rst create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/python/index.rst create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/python/install/disable.rst create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/python/install/index.rst create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/python/install/pip.rst create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/python/install/rpm.rst create mode 100644 docs/source/references/coral/cluster_mgmt/scalability/python/performance.rst diff --git a/docs/source/references/coral/cluster_mgmt/index.rst b/docs/source/references/coral/cluster_mgmt/index.rst index 20b2bbcb8..acc9b2ea4 100644 --- a/docs/source/references/coral/cluster_mgmt/index.rst +++ b/docs/source/references/coral/cluster_mgmt/index.rst @@ -4,4 +4,5 @@ Cluster Management .. toctree:: :maxdepth: 2 + scalability/index.rst firmware/index.rst diff --git a/docs/source/references/coral/cluster_mgmt/scalability/index.rst b/docs/source/references/coral/cluster_mgmt/scalability/index.rst new file mode 100644 index 000000000..17c8d5edc --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/index.rst @@ -0,0 +1,7 @@ +Scalability +=========== + +.. toctree:: + :maxdepth: 2 + + python/index.rst diff --git a/docs/source/references/coral/cluster_mgmt/scalability/python/index.rst b/docs/source/references/coral/cluster_mgmt/scalability/python/index.rst new file mode 100644 index 000000000..8a5cdf551 --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/python/index.rst @@ -0,0 +1,12 @@ +Python framework +================ + +When testing the scale up of xCAT commands against OpenBMC REST API, it was evident that the Perl framework of xCAT did not scale well and was not sending commands to the BMCs in a true parallel fashion. + +The team investigated the possibility of using Python framework + +.. toctree:: + :maxdepth: 2 + + performance.rst + install/index.rst diff --git a/docs/source/references/coral/cluster_mgmt/scalability/python/install/disable.rst b/docs/source/references/coral/cluster_mgmt/scalability/python/install/disable.rst new file mode 100644 index 000000000..40c54c64b --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/python/install/disable.rst @@ -0,0 +1,14 @@ +Disable Python Framework +======================== + +By default, if ``xCAT-openbmc-py`` is installed and Python files are there, xCAT will default to running the Python framework. + +A site table attribute is created to allow the ability to control between Python and Perl. + +* To disable all Python code and revert to the Perl implementation: :: + + chdef -t site clustersite openbmcperl=ALL + +* To disable single commands, specify a command separated lists: :: + + chdef -t site clustersite openbmcperl="rpower,rbeacon" diff --git a/docs/source/references/coral/cluster_mgmt/scalability/python/install/index.rst b/docs/source/references/coral/cluster_mgmt/scalability/python/install/index.rst new file mode 100644 index 000000000..ec1f19ce7 --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/python/install/index.rst @@ -0,0 +1,12 @@ +Installation +============ + +A new RPM is created that contains the Python code: ``xCAT-openbmc-py``. The Python code requires additonal Python libraries that may not be available as an operating system provided package. The following will help resolve the dependencies. + + +.. toctree:: + :maxdepth: 2 + + rpm.rst + pip.rst + disable.rst diff --git a/docs/source/references/coral/cluster_mgmt/scalability/python/install/pip.rst b/docs/source/references/coral/cluster_mgmt/scalability/python/install/pip.rst new file mode 100644 index 000000000..344b7e7c4 --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/python/install/pip.rst @@ -0,0 +1,22 @@ +Using pip +========= + +A alternative method for installing the Python dependencies is using ``pip``. + +#. Download ``pip`` using one of the following methods: + + #. ``pip`` is provided in the EPEL repo as: ``python2-pip`` + + #. Follow the instructions to install from here: https://pip.pypa.io/en/stable/installing/ + +#. Use ``pip`` to install the following Python libraries: :: + + pip install gevent docopt requests paramiko scp + + +#. Install ``xCAT-openbmc-py`` using ``rpm`` with ``--nodeps``: :: + + cd xcat-core + rpm -ihv xCAT-openbmc-py*.rpm --nodeps + + diff --git a/docs/source/references/coral/cluster_mgmt/scalability/python/install/rpm.rst b/docs/source/references/coral/cluster_mgmt/scalability/python/install/rpm.rst new file mode 100644 index 000000000..32efaaa19 --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/python/install/rpm.rst @@ -0,0 +1,42 @@ +Using RPM (recommended) +======================= + +**Support is only for RHEL 7.5 for Power LE (Power 9)** + +The following repositories should be configured on your Management Node (and Service Nodes). + + * RHEL 7.5 OS Repository + * RHEL 7.5 Extras Repository + * RHEL 7 EPEL Repo (https://fedoraproject.org/wiki/EPEL) + * Fedora28 Repo (for ``gevent``, ``greenlet``) + +#. Configure the MN/SN to the RHEL 7.5 OS Repo + +#. Configure the MN/SN to the RHEL 7.5 Extras Repo + +#. Configure the MN/SN to the EPEL Repo (https://fedoraproject.org/wiki/EPEL) + +#. Create a local Fedora28 Repo and Configure the MN/SN to the FC28 Repo + + Here's an example to configure the Fedora 28 repo at ``/install/repos/fc28`` + + #. Make the target repo directory on the MN: :: + + mkdir -p /install/repos/fc28/ppc64le/Packages + + #. Download the rpms from the Internet: :: + + cd /install/repos/fc28/ppc64le/Packages + wget https://www.rpmfind.net/linux/fedora-secondary/development/rawhide/Everything/ppc64le/os/Packages/p/python2-gevent-1.2.2-2.fc28.ppc64le.rpm + wget https://www.rpmfind.net/linux/fedora-secondary/development/rawhide/Everything/ppc64le/os/Packages/p/python2-greenlet-0.4.13-2.fc28.ppc64le.rpm + + #. Create a yum repo in that directory: :: + + cd /install/repos/fc28/ppc64le/ + createrepo . + +#. Install ``xCAT-openbmc-py`` using ``yum``: :: + + yum install xCAT-openbmc-py + + **Note**: The install will fail if the dependencies cannot be met. diff --git a/docs/source/references/coral/cluster_mgmt/scalability/python/performance.rst b/docs/source/references/coral/cluster_mgmt/scalability/python/performance.rst new file mode 100644 index 000000000..43460961b --- /dev/null +++ b/docs/source/references/coral/cluster_mgmt/scalability/python/performance.rst @@ -0,0 +1,33 @@ +Performance +=========== + +Supported Commands +------------------ + +The following commands are currently supported: + ++----------------+-----------+-------------+----------------------------------+ +|Command |Support |Release |Notes | ++================+===========+=============+==================================+ +| rpower | Yes | 2.13.11 | | ++----------------+-----------+-------------+----------------------------------+ +| rinv | Yes | 2.13.11 | | ++----------------+-----------+-------------+----------------------------------+ +| rbeacon | Yes | 2.13.11 | | ++----------------+-----------+-------------+----------------------------------+ +| rspconfig | No | | | ++----------------+-----------+-------------+----------------------------------+ +| rsetboot | Yes | 2.13.11 | | ++----------------+-----------+-------------+----------------------------------+ +| rvitals | Yes | 2.13.11 | | ++----------------+-----------+-------------+----------------------------------+ +| rflash | No | | | ++----------------+-----------+-------------+----------------------------------+ +| reventlog | No | | | ++----------------+-----------+-------------+----------------------------------+ + + +Data +---- + +TBD