============ 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 `_ 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 `_ tool. #. Follow `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 `_ section to retrieve it. #. Install docker using your distribution packages or the docker `procedure `_ (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 `_ 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