Update the documentation to use IPA as deploy ramdisk

This patch adds a section about creating a deploy ramdisk with IPA
instead of the bash ramdisk and also update the driver specific
documentations to point to it when creating a deploy image.

Implements: blueprint deprecate-bash-ramdisk
Change-Id: Id9d86cafc35efdbec2d53b7c956a94d39f205e41
This commit is contained in:
Lucas Alvares Gomes 2015-08-04 18:12:26 +01:00
parent 8f62743c58
commit 4b3de823a6
3 changed files with 108 additions and 46 deletions

View File

@ -542,16 +542,8 @@ them to Glance service:
*my-image.vmlinuz* and *my-image.initrd* are used for booting after
deploying the bare metal with my-image.qcow2.
- Build the deploy image::
ramdisk-image-create ubuntu deploy-ironic \
-o my-deploy-ramdisk
The above command creates *my-deploy-ramdisk.kernel* and
*my-deploy-ramdisk.initramfs* files which are used initially for
preparing the server (creating disk partitions) before the actual
OS deploy. If you want to use a Fedora image, replace *ubuntu* with
*fedora* in the above command.
- To build the deploy image take a look at the `Building or
downloading a deploy ramdisk image`_ section.
2. Add the user images to glance
@ -1215,10 +1207,6 @@ without it. The following sections will describe both methods.
with diskimage-builder_ **version >= 0.1.42** or ironic-python-agent_
in the kilo-era.
.. _diskimage-builder: https://github.com/openstack/diskimage-builder
.. _ironic-python-agent: https://github.com/openstack/ironic-python-agent
Enabling local boot with Nova
-----------------------------
@ -1822,6 +1810,103 @@ but in order to use it we should follow some rules:
<http://docs.openstack.org/developer/diskimage-builder/elements/cloud-init-datasources/README.html>`_]
for more information.
.. _BuildingDeployRamdisk:
Building or downloading a deploy ramdisk image
==============================================
Ironic depends on having an image with the ironic-python-agent_ (IPA)
service running on it for controlling and deploying bare metal nodes.
You can download a pre-built version of the deploy ramdisk built with
the `CoreOS tools`_ at:
* `CoreOS deploy ramdisk <http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe.vmlinuz>`_
* `CoreOS deploy kernel <http://tarballs.openstack.org/ironic-python-agent/coreos/files/coreos_production_pxe_image-oem.cpio.gz>`_
Building from source
--------------------
There are two known methods for creating the deployment image with the
IPA service:
.. _BuildingCoreOSDeployRamdisk:
CoreOS tools
~~~~~~~~~~~~
#. Clone the ironic-python-agent_ project::
git clone https://github.com/openstack/ironic-python-agent
#. Install the requirements::
Fedora 21 or lower/RHEL/CentOS:
sudo yum install docker gzip util-linux cpio findutils grep gpg
Fedora 22 or higher:
sudo dnf install docker gzip util-linux cpio findutils grep gpg
Ubuntu 14.04 (trusty) or higher:
sudo apt-get install docker gzip uuid-runtime cpio findutils grep gpg
#. Change directory to ``imagebuild/coreos``::
cd ironic-python-agent/imagebuild/coreos
#. Start the docker daemon::
Fedora/RHEL/CentOS:
sudo systemctl start docker
Ubuntu:
sudo service docker.io start
#. Create the image::
sudo make
#. Or, create an ISO image to boot with virtual media::
sudo make iso
.. note::
Once built the deploy ramdisk and kernel will appear inside of a
directory called ``UPLOAD``.
.. _BuildingDibBasedDeployRamdisk:
disk-image-builder
~~~~~~~~~~~~~~~~~~
#. Install disk-image-builder_ from pip or from your distro's packages::
sudo pip install diskimage-builder
#. Create the image::
disk-image-create ironic-agent fedora -o ironic-deploy
The above command creates the deploy ramdisk and kernel named
``ironic-deploy.vmlinuz`` and ``ironic-deploy.initramfs`` in your
current directory.
#. Or, create an ISO image to boot with virtual media::
disk-image-create ironic-agent fedora iso -o ironic-deploy
The above command creates the deploy ISO named ``ironic-deploy.iso``
in your current directory.
.. note::
Fedora was used as an example for the base operational system. Please
check the `diskimage-builder documentation`_ for other supported
operational systems.
.. _`diskimage-builder documentation`: http://docs.openstack.org/developer/diskimage-builder
Troubleshooting
===============
@ -1939,3 +2024,7 @@ following command.
::
$ ironic node-set-maintenance $NODE_UUID off
.. _diskimage-builder: https://github.com/openstack/diskimage-builder
.. _ironic-python-agent: https://github.com/openstack/ironic-python-agent

View File

@ -148,17 +148,8 @@ Deploy Process
Configuring and Enabling the driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Prepare an ISO deploy ramdisk image from ``diskimage-builder`` [3]_. This
can be done by adding the ``iso`` element to the ``ramdisk-image-create``
command. This command creates the deploy kernel/ramdisk as well as a
bootable ISO image containing the deploy kernel and ramdisk.
The below command creates files named ``deploy-ramdisk.kernel``,
``deploy-ramdisk.initramfs`` and ``deploy-ramdisk.iso`` in the current
working directory.::
cd <path-to-diskimage-builder>
./bin/ramdisk-image-create -o deploy-ramdisk ubuntu deploy-ironic iso
1. Build a deploy ISO image, see :ref:`BuildingDibBasedDeployRamdisk`
2. Upload this image to Glance.::
@ -340,18 +331,8 @@ Deploy Process
Configuring and Enabling the driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Prepare an ISO deploy Ironic Python Agent image containing the agent [5]_.
This can be done by using the iso-image-create script found within
the agent. The below set of commands will create a file ``ipa-ramdisk.iso``
in the below directory ``UPLOAD``::
$ cd <directory-containing-ironic-python-agent>
$ cd ./imagebuild/coreos
$ make iso
$ cd UPLOAD
$ ls
$ coreos_production_pxe_image-oem.cpio.gz coreos_production_pxe.vmlinuz ipa-coreos.iso
1. Build a deploy ISO image, see :ref:`BuildingCoreOSDeployRamdisk`.
2. Upload the IPA ramdisk image to Glance.::
@ -359,6 +340,7 @@ Configuring and Enabling the driver
3. Configure Glance image service with its storage backend as Swift. See
[4]_ for configuration instructions.
4. Set a temp-url key for Glance user in Swift. For example, if you have
configured Glance with user ``glance-swift`` and tenant as ``service``,
then run the below command::
@ -501,13 +483,8 @@ None.
Configuring and Enabling the driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Prepare an ISO deploy ramdisk image from ``diskimage-builder`` [3]_.
The below command creates a file named ``deploy-ramdisk.kernel`` and
``deploy-ramdisk.initramfs`` in the current working directory::
cd <path-to-diskimage-builder>
./bin/ramdisk-image-create -o deploy-ramdisk ubuntu deploy-ironic
1. Build a deploy image, see :ref:`BuildingDibBasedDeployRamdisk`
2. Upload this image to Glance.::

View File

@ -52,12 +52,8 @@ None.
Configuring and Enabling the driver
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Prepare an ISO deploy ramdisk image from ``diskimage-builder`` [2]_.
The below command creates files named ``deploy-ramdisk.kernel`` and
``deploy-ramdisk.initramfs`` in the current working directory::
<path_to_diskimage_builder>/bin/ramdisk-image-create -o deploy-ramdisk ubuntu deploy-ironic
1. Build or download a deploy image, see :ref:`BuildingDeployRamdisk`
2. Upload these images to Glance::