64b6c9261e
Current folder name New folder name Book title ---------------------------------------------------------- basic-install DELETE cli-guide DELETE common common NEW admin-guide-cloud Cloud Administrators Guide docbkx-example DELETE openstack-block-storage-admin DELETE openstack-compute-admin DELETE openstack-config config-reference OpenStack Configuration Reference openstack-ha high-availability-guide OpenStack High Availabilty Guide openstack-image image-guide OpenStack Virtual Machine Image Guide openstack-install install-guide OpenStack Installation Guide openstack-network-connectivity-admin admin-guide-network OpenStack Networking Administration Guide openstack-object-storage-admin DELETE openstack-security security-guide OpenStack Security Guide openstack-training training-guide OpenStack Training Guide openstack-user user-guide OpenStack End User Guide openstack-user-admin user-guide-admin OpenStack Admin User Guide glossary NEW OpenStack Glossary bug: #1220407 Change-Id: Id5ffc774b966ba7b9a591743a877aa10ab3094c7 author: diane fleming
86 lines
5.2 KiB
XML
86 lines
5.2 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<section xmlns="http://docbook.org/ns/docbook"
|
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
|
xml:id="xapi-install-plugins">
|
|
<?dbhtml stop-chunking?>
|
|
<title>Installing the XenAPI Plugins</title>
|
|
<para>When using Xen as the hypervisor for OpenStack Compute, you
|
|
can install a Python script (usually, but it can be any
|
|
executable) on the host side, and then call that through the
|
|
XenAPI. These scripts are called plugins. The XenAPI plugins
|
|
live in the nova code repository. These plugins have to be
|
|
copied to the hypervisor's Dom0, to the appropriate directory,
|
|
where xapi can find them. There are several options for the
|
|
installation. The important thing is to ensure that the
|
|
version of the plugins are in line with the nova installation
|
|
by only installing plugins from a matching nova
|
|
repository.</para>
|
|
<section xml:id="manual_install"> <title>Manual Installation</title>
|
|
<procedure><title>To manually install</title>
|
|
<step><para>Create temporary files/directories:
|
|
<screen><prompt>$</prompt> <userinput>NOVA_ZIPBALL=$(mktemp)</userinput>
|
|
<prompt>$</prompt> <userinput>NOVA_SOURCES=$(mktemp -d)</userinput></screen></para></step>
|
|
<step><para>Get the source from github. The example assumes the master
|
|
branch is used. Amend the URL to match the version
|
|
being used:
|
|
<screen><prompt>$</prompt> <userinput>wget -qO "$NOVA_ZIPBALL" https://github.com/openstack/nova/archive/master.zip</userinput>
|
|
<prompt>$</prompt> <userinput>unzip "$NOVA_ZIPBALL" -d "$NOVA_SOURCES"</userinput></screen>(Alternatively)
|
|
Should you wish to use the official Ubuntu
|
|
packages, use the following commands to get the
|
|
nova code base:
|
|
<screen><prompt>$</prompt> <userinput>( cd $NOVA_SOURCES && apt-get source python-nova --download-only )</userinput>
|
|
<prompt>$</prompt> <userinput>( cd $NOVA_SOURCES && for ARCHIVE in *.tar.gz; do tar -xzf $ARCHIVE; done )</userinput></screen></para></step>
|
|
<step><para>Copy the plugins to the hypervisor:
|
|
<screen><prompt>$</prompt> <userinput>PLUGINPATH=$(find $NOVA_SOURCES -path '*/xapi.d/plugins' -type d -print)</userinput>
|
|
<prompt>$</prompt> <userinput>tar -czf - -C "$PLUGINPATH" ./ | ssh root@xenserver tar -xozf - -C /etc/xapi.d/plugins/</userinput></screen></para></step>
|
|
<step><para>Remove the temporary files/directories:
|
|
<screen><prompt>$</prompt> <userinput>rm "$NOVA_ZIPBALL"</userinput>
|
|
<prompt>$</prompt> <userinput>rm -rf "$NOVA_SOURCES"</userinput> </screen></para></step>
|
|
</procedure>
|
|
</section>
|
|
<section xml:id="packaged_install">
|
|
|
|
<title>Packaged Installation</title>
|
|
|
|
<para>Follow these steps to produce a supplemental
|
|
pack from the nova sources, and package it as a XenServer
|
|
supplemental pack.</para>
|
|
<procedure><title>To package a XenServer supplemental pack</title>
|
|
<step>
|
|
<para>Create RPM packages. Given you have
|
|
the nova sources (use one of the methods mentioned
|
|
at Manual Installation):
|
|
<screen><prompt>$</prompt> <userinput>cd nova/plugins/xenserver/xenapi/contrib</userinput>
|
|
<prompt>$</prompt> <userinput>./build-rpm.sh</userinput></screen>These
|
|
commands leave an <literal>.rpm</literal> file in
|
|
the <literal>rpmbuild/RPMS/noarch/</literal>
|
|
directory.</para>
|
|
</step>
|
|
<step>
|
|
<para>Pack the RPM packages to a
|
|
Supplemental Pack, using the XenServer DDK (the
|
|
following command should be issued on the
|
|
XenServer DDK virtual appliance, after the
|
|
produced rpm file has been copied over):
|
|
<screen><prompt>$</prompt> <userinput>/usr/bin/build-supplemental-pack.sh \</userinput>
|
|
<prompt>></prompt> <userinput>--output=output_directory \</userinput>
|
|
<prompt>></prompt> <userinput>--vendor-code=novaplugin \</userinput>
|
|
<prompt>></prompt> <userinput>--vendor-name=openstack \</userinput>
|
|
<prompt>></prompt> <userinput>--label=novaplugins \</userinput>
|
|
<prompt>></prompt> <userinput>--text="nova plugins" \</userinput>
|
|
<prompt>></prompt> <userinput>--version=0 \</userinput>
|
|
<prompt>></prompt> <userinput>full_path_to_rpmfile</userinput></screen>This
|
|
command produces an <literal>.iso</literal> file
|
|
in the output directory specified. Copy that file
|
|
to the hypervisor.</para>
|
|
</step>
|
|
<step>
|
|
<para>Install the Supplemental Pack. Log
|
|
in to the hypervisor, and issue:
|
|
<screen><prompt>#</prompt> <userinput>xe-install-supplemental-pack path_to_isofile</userinput></screen></para>
|
|
</step>
|
|
</procedure>
|
|
</section>
|
|
</section>
|