256 lines
6.9 KiB
ReStructuredText
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
|
|
|