Jump to: navigation, search

Ironic

Revision as of 15:30, 12 September 2013 by Nobodycam (talk | contribs) (adding dib section)
Source code
Code review board
Bug tracker
Blueprints
Developer docs
Weekly meetings

Ironic: Bare Metal provisioning for OpenStack

Ironic is under rapid initial development, forked from Nova's Baremetal driver. If you're looking for something that works today, go there :)

If you'd like to join the development, start by reading the developer docs here, and then join us in the #openstack-ironic on irc.freenode.net!

Building Documentation Locally

If you want to build the ironic docs for yourself locally, follow these steps:

create a vm

 #using vagrant 1.2.2 with a virtualbox backend
 vagrant init precise32
 #enable networking with the host
   vi Vagrantfile
   add
     config.vm.network :forwarded_port, guest: 80, host: 4567
 vagrant up

shell into the vm

 vagrant ssh

install dependencies

 sudo apt-get update
 sudo apt-get install -y git apache2 python-pip python-dev swig libssl-dev python-pip libmysqlclient-dev libxml2-dev libxslt-dev libxslt1-dev python-mysqldb
 sudo pip install virtualenv setuptools-git flake8 tox
 sudo easy_install nose

get the ironic repo

 cd ~
 git clone git://github.com/openstack/ironic.git

create a file enabling ironic.localhost in apache

 sudo vi /etc/apache2/sites-enabled/100-ironic
 # contents
 <VirtualHost *:80>
     ServerName ironic.localhost
     DocumentRoot /opt/source/ironic/doc/build/html
   
         <Directory /opt/source/ironic/doc/build/html>
                 Options Indexes FollowSymLinks MultiViews
                 AllowOverride None
                 Order allow,deny
                 allow from all
         </Directory>
 </VirtualHost>
 # change the DocumentRoot and the Directory to point the the ironic repo, if you are using
 # vagrant and the ironic repo is the the vagrant user's home directory the code is fine

create a venv inside the ironic repo

 cd ironic
 tox -evenv -- echo 'done'

activate the newly created venv

 source .tox/venv/bin/activate

from inside the venv

 python setup.py build_sphinx
 # as I run this I get 20 warnings, ignore the warnings

exit the venv

 deactivate

restart apache

 sudo service apache2 restart

on your host:

 add ironic.localhost to /etc/hosts with:
 sudo sed -i 's/\(127.0.0.1\s*localhost\)/\1 ironic.localhost/' /etc/hosts

point your browser to http://ironic.localhost:4567

You should be reading your newly build documentation.

Try it on Devstack

To install Ironic using Devstack follow the following steps:

1. Obtain the latest copy of Devstack:

 git clone git://github.com/openstack-dev/devstack.git

2. Go to the Devstack source tree and create a localrc file with at least the following options:

 # Enable Ironic API and Ironic Conductor
 enable_service ir-api
 enable_service ir-cond
 
 # Enable Neutron which is required by Ironic and disable nova-network.
 disable_service n-net
 enable_service q-svc
 enable_service q-agt
 enable_service q-dhcp
 enable_service q-l3
 enable_service q-meta
 enable_service neutron
 
 # You can replace "password" with your own one.
 ADMIN_PASSWORD=password
 MYSQL_PASSWORD=password
 RABBIT_PASSWORD=password
 SERVICE_PASSWORD=password

3. Run installation of Devstack:

 ./stack.sh

4. Wait until everything gets installed.

5. Ironic API service is listening on http://YOUR_IP:6385

Using Disk Image Builder