python-redfish/doc/source/installation.rst
2016-04-07 15:26:35 +02:00

256 lines
6.9 KiB
ReStructuredText

============
Installation
============
The following instructions are ordered by ease of use, and our project recommendations.
Using rpm packages
------------------
There is currently no official Linux distribution packages.
The upstream project provides packages for a limited set of Linux distributions.
There are available at ftp://ftp.project-builder.org
As an example for Fedora 23 use the following:
1. As root get the repo file::
cd /etc/yum.repos.d && wget ftp://ftp.project-builder.org/fedora/23/x86_64/python-redfish.repo
2. Install using dnf::
dnf install python-redfish
..
Using deb package
-----------------
This installation in not yet possible due to missing deb package dependencies. We are working on it.
In the meantime we recommend to use `Using pip`_ or `Using pip and virtualenv`_.
Using pip and virtualenv
------------------------
1. Install virtualenv and virtualenvwrapper:
Fedora 22::
dnf install python-virtualenv python-virtualenvwrapper
Ubuntu 15.04::
apt-get install python-virtualenv virtualenvwrapper
2. Source virtualenvwrapper.sh::
. /usr/bin/virtualenvwrapper.sh
or::
. /usr/share/virtualenvwrapper/virtualenvwrapper.sh
3. Create a redfish virtual environement::
mkvirtualenv redfish
4. Install using pip::
pip install python-redfish
All files are installed under your virtualenv.
Using pip
---------
Use::
sudo pip install python-redfish
Pip will install :
1. The library and all dependencies into prefix/lib/pythonX.Y/site-packages directory
2. redfish-client conf file into prefix/etc/redfish-client.conf.
If prefix = '/usr' then force the configuration file to be in /etc
3. Data files (templates) into prefix/share/redfish-client/templates
Point 2 and 3 above need root access to your system. If you don't have root
access on your system, please follow `Using pip and virtualenv`_ section.
Using source code
-----------------
#. Follow `get the source code <http://pythonhosted.org/python-redfish/readme.html#get-the-source-code>`_ section to retrieve it.
#. Install from the source code using::
python setup.py install --prefix="/usr/local"
Building your own rpm packages
------------------------------
Inside the project tree there is a mechanism to build rpm packages for distributions.
The mechanism is based on `project builder <http://www.project-builder.org/>`_ tool.
#. Follow `get the source code <http://pythonhosted.org/python-redfish/readme.html#get-the-source-code>`_ section to retrieve it.
#. Download project builder for your distribution from ftp://ftp.project-builder.org.
#. Clone the project to your own github account.
#. Create a .pbrc with the following content, replace "/workspace/python/redfish" and "uggla" with your own directory and account::
$ cat .pbrc
pbdefdir python-redfish = $ENV{'HOME'}/workspace
pbconfdir python-redfish = $ENV{'HOME'}/workspace/python-redfish/pbconf
pbconfurl python-redfish = git+ssh://git@github.com:uggla/python-redfish.git
pburl python-redfish = git+ssh://git@github.com:uggla/python-redfish.git
#. Build the project::
pb -p python-redfish sbx2pkg
or::
pb -p python-redfish sbx2pkg2ins
#. All packages (srpm/rpm) should be available into the build directory, then install the package using rpm::
rpm -Uvh python-redfish/build/RPMS/python-redfish-devel20160213182552.rpm
============================
Inventory file configuration
============================
#. Verify redfish-client is working correclty::
redfish-client -h
#. Create a default entry to use the mockup::
redfish-client config add default default http://localhost:8000/redfish/v1
#. Verify the entry is correctly registered::
redfish-client config showall
Note: The inventory file is created in $HOME/.redfish
===================
Mockup installation
===================
#. Follow `get the source code <http://pythonhosted.org/python-redfish/readme.html#get-the-source-code>`_ section to retrieve it.
#. Install docker using your distribution packages or the docker `procedure <https://docs.docker.com/engine/installation/>`_ (docker provides more recent packages):
As an example for Fedora 23 use the following::
dnf install docker
systemctl enable docker.service
systemctl start docker.service
systemctl status docker.service
#. Jump into the dmtf directory.
#. Run ./buildImage.sh and ./run-redfish-simulator.sh
#. Check that a container is running and listening on port 8000::
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9943ff1d4d93 redfish-simulator:latest "/bin/sh -c /tmp/redf" 3 weeks ago Up 2 days 0.0.0.0:8000->80/tcp redfish-simulator
#. Try to connect using a navigator to http://localhost:8000 the following screen should apear.
.. image:: images/simulator.jpg
Note : in the above screenshot, firefox JSON-handle extension is used. If you want the same presentation install the extension and refresh the page.
==========================
Testing against the mockup
==========================
#. Follow `Inventory file configuration`_ and `Mockup installation`_ section.
#. Run the following command::
redfish-client manager getinfo
The result should be like this::
$ redfish-client manager getinfo
Gathering data from manager, please wait...
Redfish API version : 1.00
Root Service
Managers information :
======================
Manager id 1:
UUID : 00000000-0000-0000-0000-000000000000
Type : BMC
Firmware version : 1.00
State : Enabled
Ethernet Interface :
This manager has no ethernet interface
Managed Chassis :
1
Managed System :
1
----------------------------
Manager id 2:
UUID : 00000000-0000-0000-0000-000000000000
Type : EnclosureManager
Firmware version : Not available
State : Enabled
Ethernet Interface :
This manager has no ethernet interface
Managed Chassis :
Enc1
Managed System :
2
----------------------------
Manager id 3:
UUID : 00000000-0000-0000-0000-000000000000
Type : EnclosureManager
Firmware version : Not available
State : Enabled
Ethernet Interface :
This manager has no ethernet interface
Managed Chassis :
Enc1
Managed System :
2
----------------------------
============================
Building local documentation
============================
Building the html documentation locally.
#. Follow `get the source code <http://pythonhosted.org/python-redfish/readme.html#get-the-source-code>`_ section to retrieve it.
#. Jump in the doc directory::
cd doc
#. Build the html documentation::
make html
If you want to build the documentation in pdf.
#. Get texlive full distribution, e.g. on Fedora 23::
dnf install texlive-scheme-full
#. Build the documentation::
make latexpdf