deb-sahara/doc/source/userdoc/cdh_imagebuilder.rst
Michael Ionkin d0e47dbdb2 [DOC] update doc about CDH image builder
Change-Id: Ic81f98243828eafebe5f1d0c3e425c029fb19c95
2016-09-14 08:52:32 +00:00

90 lines
3.6 KiB
ReStructuredText

.. _cdh_diskimage-builder-label:
Building Images for Cloudera Plugin
===================================
In this document you will find instructions on how to build Ubuntu and CentOS
images with Cloudera Express (now only versions {5.0.0, 5.3.0 5.4.0, 5.5.0,
5.7.x} are supported).
To simplify the task of building such images we use
`Disk Image Builder <https://github.com/openstack/diskimage-builder>`_.
`Disk Image Builder` builds disk images using elements. An element is a
particular set of code that alters how the image is built, or runs within the
chroot to prepare the image.
Elements for building Cloudera images are stored in
`Sahara extra repository <https://github.com/openstack/sahara-image-elements>`_
.. note::
Sahara requires images with cloud-init package installed:
* `For CentOS 6 <http://mirror.centos.org/centos/6/extras/x86_64/Packages/cloud-init-0.7.5-10.el6.centos.2.x86_64.rpm>`_
* `For CentOS 7 <http://mirror.centos.org/centos/7/extras/x86_64/Packages/cloud-init-0.7.5-10.el7.centos.1.x86_64.rpm>`_
* `For Ubuntu 14 <http://packages.ubuntu.com/trusty/cloud-init>`_
To create cloudera images follow these steps:
1. Clone repository "https://github.com/openstack/sahara-image-elements" locally.
2. Use tox to build images.
You can run "tox -e venv -- sahara-image-create" command in
sahara-image-elements directory to build images. By default this script will
attempt to create cloud images for all versions of supported plugins and all
operating systems (subset of Ubuntu, Fedora, and CentOS depending on
plugin). To only create Cloudera images, you should use the "-p cloudera"
parameter in the command line. If you want to create the image only for a
specific operating system, you should use the "-i ubuntu|centos|centos7"
parameter to assign the operating system (the cloudera plugin only supports
Ubuntu and Centos). If you want to create the image only for a specific
Cloudera version, you should use the "-v 5.0|5.3|5.4|5.5|5.7" parameter to
assign the version. Note that Centos 7 can only be used with CDH 5.5 and
CDH 5.7. Below is an example to create Cloudera images for both Ubuntu and
CentOS with Cloudera Express 5.5.0 version.
.. sourcecode:: console
tox -e venv -- sahara-image-create -p cloudera -v 5.5
If you want to create only an Ubuntu image, you may use following example
for that:
.. sourcecode:: console
tox -e venv -- sahara-image-create -p cloudera -i ubuntu -v 5.5
For CDH 5.7 we support minor versions. If you want to build a minor version
just export DIB_CDH_MINOR_VERSION before sahara-image-create launch, e.g.:
.. sourcecode:: console
export DIB_CDH_MINOR_VERSION=5.7.1
NOTE: If you don't want to use default values, you should explicitly set the
values of your required parameters.
The script will create required cloud images using image elements that
install all the necessary packages and configure them. You will find the
created images in the parent directory.
.. note::
Disk Image Builder will generate QCOW2 images, used with the default
OpenStack Qemu/KVM hypervisors. If your OpenStack uses a different
hypervisor, the generated image should be converted to an appropriate
format.
The VMware Nova backend requires the VMDK image format. You may use
qemu-img utility to convert a QCOW2 image to VMDK.
.. sourcecode:: console
qemu-img convert -O vmdk <original_image>.qcow2 <converted_image>.vmdk
For finer control of diskimage-create.sh see the `official documentation
<https://github.com/openstack/sahara-image-elements/blob/master/diskimage-create/README.rst>`_