From 4b3de823a6dc7ae9bf69705c1c9edf0c3f04f300 Mon Sep 17 00:00:00 2001 From: Lucas Alvares Gomes Date: Tue, 4 Aug 2015 18:12:26 +0100 Subject: [PATCH] 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 --- doc/source/deploy/install-guide.rst | 117 ++++++++++++++++++++++++---- doc/source/drivers/ilo.rst | 31 +------- doc/source/drivers/seamicro.rst | 6 +- 3 files changed, 108 insertions(+), 46 deletions(-) diff --git a/doc/source/deploy/install-guide.rst b/doc/source/deploy/install-guide.rst index 8dec80b506..88a4873c16 100644 --- a/doc/source/deploy/install-guide.rst +++ b/doc/source/deploy/install-guide.rst @@ -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: `_] 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 `_ +* `CoreOS deploy kernel `_ + +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 diff --git a/doc/source/drivers/ilo.rst b/doc/source/drivers/ilo.rst index 387e9ee7a7..693c1fbc21 100644 --- a/doc/source/drivers/ilo.rst +++ b/doc/source/drivers/ilo.rst @@ -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 - ./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 - $ 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 - ./bin/ramdisk-image-create -o deploy-ramdisk ubuntu deploy-ironic +1. Build a deploy image, see :ref:`BuildingDibBasedDeployRamdisk` 2. Upload this image to Glance.:: diff --git a/doc/source/drivers/seamicro.rst b/doc/source/drivers/seamicro.rst index 4ea7cdf71d..c6f1b40a63 100644 --- a/doc/source/drivers/seamicro.rst +++ b/doc/source/drivers/seamicro.rst @@ -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:: - - /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::