openstack-manuals/doc/arch-design/specialized/section_openstack_on_openstack_specialized.xml
kallimachos 993ce73bf3 Remove passive voice from Chap 9 Arch guide
Change-Id: I46a72221528b656d153a630e4053fb70fe563168
Closes-Bug: #1442451
2015-04-12 16:29:16 +10:00

80 lines
3.8 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE section [
<!ENTITY % openstack SYSTEM "../../common/entities/openstack.ent">
%openstack;
]>
<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="arch-guide-openstack-on-openstack">
<?dbhtml stop-chunking?>
<title>OpenStack on OpenStack</title>
<para>In some cases it is necessary to run OpenStack nested on top
of another OpenStack cloud. This scenario enables you to manage
and provision complete OpenStack cloud environments on
instances running on hypervisors and servers that the underlying
OpenStack cloud controls. Public cloud providers can use
this technique to manage the upgrade and
maintenance process on complete OpenStack-based clouds.
Developers and those testing OpenStack can also use this
guidance to provision their own OpenStack environments on
available OpenStack Compute resources, whether public or
private.</para>
<section xml:id="challenges-for-nested-cloud">
<title>Challenges</title>
<para>The network aspect of deploying a nested cloud is the most
complicated aspect of this architecture. You must expose VLANs
to the physical ports on which the underlying cloud runs,
as the bare metal cloud owns all the
hardware, but you must also expose them to the nested
levels as well. Alternatively, you can use the network overlay
technologies on the OpenStack cloud running on OpenStack to provide
the required software defined networking for the deployment.</para>
</section>
<section xml:id="hypervisor-nested-cloud">
<title>Hypervisor</title>
<para>A key question to address in this scenario is which
approach you should take to provide a nested
hypervisor in OpenStack. This decision influences which
operating systems you use for the deployment of the nested
OpenStack deployments.</para>
</section>
<section xml:id="possible-solutions-nested-cloud-deployment">
<title>Possible solutions: deployment</title>
<para>Deployment of a full stack can be challenging but you can mitigate
this difficulty by creating a Heat template to deploy the
entire stack or a configuration management system. After creating
the Heat template, you can automate the deployment of additional stacks.</para>
<para>The OpenStack-on-OpenStack project (<glossterm>TripleO</glossterm>)
addresses this issue. Currently, however, the project does
not completely cover nested stacks. For more information, see
<link xlink:href="https://wiki.openstack.org/wiki/TripleO">
https://wiki.openstack.org/wiki/TripleO</link>.</para>
</section>
<section xml:id="possible-solutions-nested-cloud-hypervisor">
<title>Possible solutions: hypervisor</title>
<para>In the case of running TripleO, the underlying OpenStack
cloud deploys the Compute nodes as bare-metal. You then deploy
OpenStack on these Compute bare-metal servers with the
appropriate hypervisor, such as KVM.</para>
<para>In the case of running smaller OpenStack clouds for testing
purposes, where performance is not a critical factor, you can use
QEMU instead. It is also possible to run a KVM hypervisor in an instance
(see <link xlink:href="http://davejingtian.org/2014/03/30/nested-kvm-just-for-fun/">
http://davejingtian.org/2014/03/30/nested-kvm-just-for-fun/</link>),
though this is not a supported configuration, and could be a
complex solution for such a use case.</para>
</section>
<section xml:id="nested-cloud-diagram">
<title>Diagram</title>
<para>
<mediaobject>
<imageobject>
<imagedata contentwidth="4in" fileref="../figures/Specialized_OOO.png"/>
</imageobject>
</mediaobject>
</para>
</section>
</section>