openstack-manuals/doc/arch-design/specialized/section_openstack_on_openstack_specialized.xml
Andreas Jaeger 589069caff Add glossary entries for Arch Design
Add new entries: north-south traffic, east-west traffic and TripleO.

Add entries for these terms to the Arch Design Guide. Use consistent
spelling for these entries.
Include some edits for improved wording.

Change-Id: Ic241664a44c0e41e3961206b626eef2acb0c5b31
2014-08-14 21:14:43 +02:00

86 lines
4.0 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 allows for complete
OpenStack cloud environments to be managed and provisioned on
instances running on hypervisors and servers controlled by the
underlying OpenStack cloud. Public cloud providers can use
this technique to effectively manage the upgrade and
maintenance process on complete OpenStack-based clouds.
Developers and those testing OpenStack can also use the
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. When using VLANs,
these will need to be exposed to the physical ports on which
the undercloud runs, as the bare metal cloud owns all the
hardware, but they also need to be exposed to the nested
levels as well. Alternatively, network overlay technologies
can be used on the overcloud (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 the decision
about which approach should be taken to provide a nested
hypervisor in OpenStack. This decision influences which
operating systems can be used 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 this
difficulty can be readily be mitigated by creating a Heat
template to deploy the entire stack or a configuration
management system. Once the Heat template is created,
deploying additional stacks will be a trivial thing and can be
performed in an automated fashion.</para>
<para>The OpenStack-on-OpenStack project (<glossterm>TripleO</glossterm>)
addresses this issue&mdash;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. OpenStack would
then be deployed 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, and performance would not be a critical factor, QEMU
can be utilized 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="../images/Specialized_OOO.png"/>
</imageobject>
</mediaobject>
</para>
</section>
</section>