Remove DocBook XML files for Install Guide
Remove DocBook XML files and rename directory from install-guide-rst to install-guide. Adjust everything so that publishing works. Update README to remove DocBook XML Install Guide specific instructions. Implements: blueprint installguide-liberty Change-Id: If723c44c3c0383dc8ab8e53798d82e7f0ee2cc57
8
.gitignore
vendored
@ -7,10 +7,10 @@ target/
|
|||||||
/publish-docs/
|
/publish-docs/
|
||||||
/www/output/
|
/www/output/
|
||||||
/generated/
|
/generated/
|
||||||
/doc/install-guide-rst/build-rdo/
|
/doc/install-guide/build-rdo/
|
||||||
/doc/install-guide-rst/build-obs/
|
/doc/install-guide/build-obs/
|
||||||
/doc/install-guide-rst/build-ubuntu/
|
/doc/install-guide/build-ubuntu/
|
||||||
/doc/install-guide-rst/build-debian/
|
/doc/install-guide/build-debian/
|
||||||
.doctrees
|
.doctrees
|
||||||
build/
|
build/
|
||||||
/build-*.log.gz
|
/build-*.log.gz
|
||||||
|
@ -44,9 +44,9 @@ source_lang = en
|
|||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
[openstack-manuals-i18n.install-guide]
|
[openstack-manuals-i18n.install-guide]
|
||||||
file_filter = doc/install-guide/locale/<lang>.po
|
file_filter = doc/install-guide/source/locale/<lang>/LC_MESSAGES/install-guide.po
|
||||||
minimum_perc = 75
|
minimum_perc = 75
|
||||||
source_file = doc/install-guide/locale/install-guide.pot
|
source_file = doc/install-guide/source/locale/install-guide.pot
|
||||||
source_lang = en
|
source_lang = en
|
||||||
type = PO
|
type = PO
|
||||||
|
|
||||||
|
18
README.rst
@ -48,7 +48,7 @@ The different manuals are in subdirectories of the
|
|||||||
|
|
||||||
DocBook guides
|
DocBook guides
|
||||||
--------------
|
--------------
|
||||||
* Normal guides
|
|
||||||
For example, the root directory of the *OpenStack Virtual Machine Image Guide*
|
For example, the root directory of the *OpenStack Virtual Machine Image Guide*
|
||||||
is ``openstack-manuals/doc/image-guide``.
|
is ``openstack-manuals/doc/image-guide``.
|
||||||
|
|
||||||
@ -66,22 +66,6 @@ The root of the generated HTML documentation is::
|
|||||||
|
|
||||||
openstack-manuals/doc/image-guide/target/docbkx/webhelp/image-guide/content/index.html
|
openstack-manuals/doc/image-guide/target/docbkx/webhelp/image-guide/content/index.html
|
||||||
|
|
||||||
* Installation guides
|
|
||||||
The root directory of the *OpenStack Install Guides*
|
|
||||||
is ``openstack-manuals/doc/install-guide``, you can get different operating system's guides::
|
|
||||||
|
|
||||||
cd openstack-manuals/doc/install-guide/
|
|
||||||
mvn clean generate-sources -Dprofile.os="ubuntu" -Doperating.system="apt"
|
|
||||||
mvn clean generate-sources -Dprofile.os="rhel;centos;fedora" -Doperating.system="yum"
|
|
||||||
mvn clean generate-sources -Dprofile.os="opensuse" -Doperating.system="zypper"
|
|
||||||
|
|
||||||
The generated PDF documentation file is::
|
|
||||||
|
|
||||||
openstack-manuals/doc/install-guide/target/docbkx/webhelp/local/install-guide/install/${operating.system}/openstack-install-guide-${operating.system}-local.pdf
|
|
||||||
|
|
||||||
The root of the generated HTML documentation is::
|
|
||||||
|
|
||||||
openstack-manuals/doc/install-guide/target/docbkx/webhelp/local/install-guide/install/${operating.system}/content/index.html
|
|
||||||
|
|
||||||
RST guides
|
RST guides
|
||||||
----------
|
----------
|
||||||
|
@ -1,17 +1,15 @@
|
|||||||
# directories to be set up
|
# directories to be set up
|
||||||
declare -A DIRECTORIES=(
|
declare -A DIRECTORIES=(
|
||||||
["fr"]="common glossary image-guide"
|
["fr"]="common glossary image-guide"
|
||||||
["ja"]="common glossary image-guide install-guide"
|
["ja"]="common glossary image-guide"
|
||||||
["pt_BR"]="common install-guide"
|
["zh_CN"]="common glossary arch-design image-guide"
|
||||||
["zh_CN"]="common glossary arch-design image-guide install-guide"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# books to be built
|
# books to be built
|
||||||
declare -A BOOKS=(
|
declare -A BOOKS=(
|
||||||
["fr"]="image-guide"
|
["fr"]="image-guide"
|
||||||
["ja"]="image-guide install-guide user-guide user-guide-admin"
|
["ja"]="image-guide user-guide user-guide-admin"
|
||||||
["pt_BR"]="install-guide"
|
["zh_CN"]="arch-design image-guide"
|
||||||
["zh_CN"]="arch-design image-guide install-guide"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
# draft books
|
# draft books
|
||||||
@ -33,12 +31,12 @@ DOC_DIR="doc/"
|
|||||||
# Values need to match content in
|
# Values need to match content in
|
||||||
# project-config/jenkins/scripts/common_translation_update.sh
|
# project-config/jenkins/scripts/common_translation_update.sh
|
||||||
declare -A SPECIAL_BOOKS=(
|
declare -A SPECIAL_BOOKS=(
|
||||||
|
["install-guide"]="RST"
|
||||||
|
["networking-guide"]="RST"
|
||||||
["user-guide"]="RST"
|
["user-guide"]="RST"
|
||||||
["user-guide-admin"]="RST"
|
["user-guide-admin"]="RST"
|
||||||
["networking-guide"]="RST"
|
|
||||||
# In process of migration to RST
|
# In process of migration to RST
|
||||||
["admin-guide-cloud-rst"]="RST"
|
["admin-guide-cloud-rst"]="RST"
|
||||||
["install-guide-rst"]="RST"
|
|
||||||
# Skip guide while it's created
|
# Skip guide while it's created
|
||||||
["contributor-guide"]="skip"
|
["contributor-guide"]="skip"
|
||||||
# This needs special handling, handle it with the RST tools.
|
# This needs special handling, handle it with the RST tools.
|
||||||
|
@ -1,93 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<appendix 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="reserved_user_ids">
|
|
||||||
<title>Reserved user IDs</title>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
OpenStack reserves certain user IDs to run specific services and
|
|
||||||
own specific files. These user IDs are set up according to the
|
|
||||||
distribution packages. The following table gives an overview.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<note os="debian;opensuse;sles;ubuntu">
|
|
||||||
<para>Some OpenStack packages generate and assign user IDs
|
|
||||||
automatically during package installation. In these cases, the
|
|
||||||
user ID value is not important. The existence of the user ID is
|
|
||||||
what matters.
|
|
||||||
</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<table rules="all">
|
|
||||||
<caption>Reserved user IDs</caption>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Description</th>
|
|
||||||
<th>ID</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<!-- sorted by first column -->
|
|
||||||
<tr>
|
|
||||||
<td>ceilometer</td>
|
|
||||||
<td>OpenStack ceilometer daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">166</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>cinder</td>
|
|
||||||
<td>OpenStack cinder daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">165</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>glance</td>
|
|
||||||
<td>OpenStack glance daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">161</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>heat</td>
|
|
||||||
<td>OpenStack heat daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">187</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>keystone</td>
|
|
||||||
<td>OpenStack keystone daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">163</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>neutron</td>
|
|
||||||
<td>OpenStack neutron daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">164</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>nova</td>
|
|
||||||
<td>OpenStack nova daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">162</td>
|
|
||||||
<td os="opensuse;sles">96</td>
|
|
||||||
<td os="debian;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>swift</td>
|
|
||||||
<td>OpenStack swift daemons</td>
|
|
||||||
<td os="rhel;centos;fedora">160</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td>trove</td>
|
|
||||||
<td>OpenStack trove daemons</td>
|
|
||||||
<td os="debian;opensuse;sles;ubuntu;rhel;centos;fedora">Assigned during package installation</td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
<para>Each user belongs to a user group with the same name as the
|
|
||||||
user.
|
|
||||||
</para>
|
|
||||||
</appendix>
|
|
@ -1,105 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<book 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="openstack-install-manual"
|
|
||||||
status="draft">
|
|
||||||
<title>OpenStack Installation Guide for
|
|
||||||
<phrase os="rhel;centos;fedora">Red Hat Enterprise Linux 7, CentOS 7, and Fedora 21</phrase>
|
|
||||||
<phrase os="ubuntu">Ubuntu 14.04</phrase>
|
|
||||||
<phrase os="debian">Debian 7</phrase>
|
|
||||||
<phrase os="opensuse">openSUSE 13.2 and SUSE Linux Enterprise Server 12</phrase>
|
|
||||||
</title>
|
|
||||||
<?rax
|
|
||||||
status.bar.text.font.size="40px"
|
|
||||||
status.bar.text="Kilo"?>
|
|
||||||
<?rax subtitle.font.size="17px" title.font.size="32px"?>
|
|
||||||
<titleabbrev>OpenStack Installation Guide for
|
|
||||||
<phrase os="rhel;centos;fedora">Red Hat Enterprise Linux, CentOS, and Fedora</phrase>
|
|
||||||
<phrase os="ubuntu">Ubuntu 14.04</phrase>
|
|
||||||
<phrase os="opensuse">openSUSE and SUSE Linux Enterprise Server</phrase>
|
|
||||||
<phrase os="debian">Debian 7</phrase>
|
|
||||||
</titleabbrev>
|
|
||||||
<info>
|
|
||||||
<author>
|
|
||||||
<personname>
|
|
||||||
<firstname/>
|
|
||||||
<surname/>
|
|
||||||
</personname>
|
|
||||||
<affiliation>
|
|
||||||
<orgname>OpenStack</orgname>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
<copyright>
|
|
||||||
<year>2012</year>
|
|
||||||
<year>2013</year>
|
|
||||||
<year>2014</year>
|
|
||||||
<year>2015</year>
|
|
||||||
<holder>OpenStack Foundation</holder>
|
|
||||||
</copyright>
|
|
||||||
<releaseinfo>kilo</releaseinfo>
|
|
||||||
<productname>OpenStack Installation Guide</productname>
|
|
||||||
<pubdate/>
|
|
||||||
<legalnotice role="apache2">
|
|
||||||
<annotation>
|
|
||||||
<remark>Copyright details are filled in by the
|
|
||||||
template.</remark>
|
|
||||||
</annotation>
|
|
||||||
</legalnotice>
|
|
||||||
<abstract>
|
|
||||||
<para>The OpenStack® system consists of several key
|
|
||||||
projects that you install separately. These projects work
|
|
||||||
together depending on your cloud needs. These projects
|
|
||||||
include Compute, Identity Service, Networking, Image
|
|
||||||
Service, Block Storage, Object Storage, Telemetry,
|
|
||||||
Orchestration, and Database. You can install any of these
|
|
||||||
projects separately and configure them stand-alone or
|
|
||||||
as connected entities. <phrase
|
|
||||||
os="debian">This guide walks through an
|
|
||||||
installation by using packages available through
|
|
||||||
Debian 7 (code name: Wheezy).</phrase>
|
|
||||||
<phrase os="ubuntu">This guide walks through an
|
|
||||||
installation by using packages available through
|
|
||||||
Ubuntu 14.04.</phrase>
|
|
||||||
<phrase os="rhel;centos;fedora">This guide shows you
|
|
||||||
how to install OpenStack by using packages
|
|
||||||
available through Fedora 21 as well as on Red Hat
|
|
||||||
Enterprise Linux 7 and its derivatives through the
|
|
||||||
EPEL repository.</phrase>
|
|
||||||
<phrase os="opensuse;sles">This guide shows you how to
|
|
||||||
install OpenStack by using packages on openSUSE
|
|
||||||
13.2 and SUSE Linux Enterprise Server 12
|
|
||||||
through the Open Build Service Cloud
|
|
||||||
repository.</phrase> Explanations of configuration
|
|
||||||
options and sample configuration files are
|
|
||||||
included.</para>
|
|
||||||
</abstract>
|
|
||||||
</info>
|
|
||||||
|
|
||||||
<!-- Chapters are referred from the book file through these
|
|
||||||
include statements. You can add additional chapters using
|
|
||||||
these types of statements. -->
|
|
||||||
<xi:include href="../common/ch_preface.xml"/>
|
|
||||||
<xi:include href="ch_overview.xml"/>
|
|
||||||
<xi:include href="ch_basic_environment.xml"/>
|
|
||||||
<xi:include href="ch_debconf.xml"/>
|
|
||||||
<xi:include href="ch_keystone.xml"/>
|
|
||||||
<xi:include href="ch_glance.xml"/>
|
|
||||||
<xi:include href="ch_nova.xml"/>
|
|
||||||
<xi:include href="ch_networking.xml"/>
|
|
||||||
<xi:include href="ch_horizon.xml"/>
|
|
||||||
<xi:include href="ch_cinder.xml"/>
|
|
||||||
<xi:include href="ch_swift.xml"/>
|
|
||||||
<xi:include href="ch_heat.xml"/>
|
|
||||||
<xi:include href="ch_ceilometer.xml"/>
|
|
||||||
<!-- Chapter trove disabled on behalf. -->
|
|
||||||
<!-- <xi:include href="ch_trove.xml"/> -->
|
|
||||||
<!-- Chapter sahara disabled on behalf. -->
|
|
||||||
<!-- <xi:include href="ch_sahara.xml"/> -->
|
|
||||||
<xi:include href="ch_launch-instance.xml"/>
|
|
||||||
<xi:include href="app_reserved_uids.xml"/>
|
|
||||||
<xi:include href="../common/app_support.xml"/>
|
|
||||||
|
|
||||||
<glossary role="auto"/>
|
|
||||||
</book>
|
|
@ -1,54 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_basic_environment">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Basic environment</title>
|
|
||||||
|
|
||||||
<note>
|
|
||||||
<para>
|
|
||||||
The draft version of this guide focuses on the future Liberty
|
|
||||||
release and will not work for the current Kilo release. If
|
|
||||||
you want to install Kilo, you must use the <link
|
|
||||||
xlink:href="http://docs.openstack.org">Kilo version</link>
|
|
||||||
of this guide instead.
|
|
||||||
</para>
|
|
||||||
</note>
|
|
||||||
|
|
||||||
<para>This chapter explains how to configure each node in the
|
|
||||||
<link linkend="architecture_example-architectures">example architectures</link>
|
|
||||||
including the <link linkend="example-architecture-with-legacy-networking-hw">
|
|
||||||
two-node architecture with legacy networking</link> and
|
|
||||||
<link linkend="example-architecture-with-neutron-networking-hw">three-node
|
|
||||||
architecture with OpenStack Networking (neutron)</link>.</para>
|
|
||||||
<note>
|
|
||||||
<para>Although most environments include Identity, Image service,
|
|
||||||
Compute, at least one networking service, and the dashboard, the
|
|
||||||
Object Storage service can operate independently. If your use case
|
|
||||||
only involves Object Storage, you can skip to
|
|
||||||
<xref linkend="ch_swift"/> after configuring the appropriate nodes
|
|
||||||
for it. However, the dashboard requires at least
|
|
||||||
the Image service and Compute.</para>
|
|
||||||
</note>
|
|
||||||
<note>
|
|
||||||
<para>You must use an account with administrative privileges to configure
|
|
||||||
each node. Either run the commands as the <literal>root</literal> user
|
|
||||||
or configure the <literal>sudo</literal> utility.</para>
|
|
||||||
</note>
|
|
||||||
<note>
|
|
||||||
<para>
|
|
||||||
The <command>systemctl enable</command> call on openSUSE outputs
|
|
||||||
a warning message when the service uses SysV Init scripts
|
|
||||||
instead of native systemd files. This warning can be ignored.
|
|
||||||
</para>
|
|
||||||
</note>
|
|
||||||
<xi:include href="section_basics-prerequisites.xml"/>
|
|
||||||
<xi:include href="section_basics-security.xml"/>
|
|
||||||
<xi:include href="section_basics-networking.xml"/>
|
|
||||||
<xi:include href="section_basics-ntp.xml"/>
|
|
||||||
<xi:include href="section_basics-packages.xml"/>
|
|
||||||
<xi:include href="section_basics-database.xml"/>
|
|
||||||
<xi:include href="section_basics-queue.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,24 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_ceilometer">
|
|
||||||
<title>Add the Telemetry module</title>
|
|
||||||
<para>Telemetry provides a framework for monitoring and metering
|
|
||||||
the OpenStack cloud. It is also known as the ceilometer
|
|
||||||
project.</para>
|
|
||||||
<xi:include href="../common/section_getstart_telemetry.xml"/>
|
|
||||||
<xi:include href="section_ceilometer-controller.xml"/>
|
|
||||||
<xi:include href="section_ceilometer-nova.xml"/>
|
|
||||||
<xi:include href="section_ceilometer-glance.xml"/>
|
|
||||||
<xi:include href="section_ceilometer-cinder.xml"/>
|
|
||||||
<xi:include href="section_ceilometer-swift.xml"/>
|
|
||||||
<xi:include href="section_ceilometer-verify.xml"/>
|
|
||||||
<section xml:id="section_ceilometer_next_steps">
|
|
||||||
<title>Next steps</title>
|
|
||||||
<para>Your OpenStack environment now includes Telemetry. You can
|
|
||||||
<link linkend="launch-instance">launch an instance</link> or add more
|
|
||||||
services to your environment in the previous chapters.</para>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,33 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_cinder">
|
|
||||||
<title>Add the Block Storage service</title>
|
|
||||||
<para>The OpenStack Block Storage service provides block storage devices
|
|
||||||
to guest instances. The method in which the storage is provisioned and
|
|
||||||
consumed is determined by the Block Storage driver, or drivers
|
|
||||||
in the case of a multi-backend configuration. There are a variety of
|
|
||||||
drivers that are available: NAS/SAN, NFS, iSCSI, Ceph, and more.
|
|
||||||
The Block Storage API and scheduler services typically run on the controller
|
|
||||||
nodes. Depending upon the drivers used, the volume service can run
|
|
||||||
on controllers, compute nodes, or standalone storage nodes.
|
|
||||||
For more information, see the
|
|
||||||
<link xlink:href="http://docs.openstack.org/kilo/config-reference/content/section_volume-drivers.html">
|
|
||||||
<citetitle>Configuration Reference</citetitle></link>.</para>
|
|
||||||
<note>
|
|
||||||
<para>This chapter omits the backup manager because it depends on the
|
|
||||||
Object Storage service.</para>
|
|
||||||
</note>
|
|
||||||
<xi:include href="../common/section_getstart_block-storage.xml"/>
|
|
||||||
<xi:include href="section_cinder-controller-node.xml"/>
|
|
||||||
<xi:include href="section_cinder-storage-node.xml"/>
|
|
||||||
<xi:include href="section_cinder-verify.xml"/>
|
|
||||||
<section xml:id="section_cinder_next_steps">
|
|
||||||
<title>Next steps</title>
|
|
||||||
<para>Your OpenStack environment now includes Block Storage. You can
|
|
||||||
<link linkend="launch-instance">launch an instance</link> or add more
|
|
||||||
services to your environment in the following chapters.</para>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_debconf"
|
|
||||||
os="debian">
|
|
||||||
<title>Configure OpenStack with debconf</title>
|
|
||||||
<xi:include href="section_debconf-concepts.xml"/>
|
|
||||||
<xi:include href="section_debconf-dbconfig-common.xml"/>
|
|
||||||
<xi:include href="section_debconf-rabbitmq.xml"/>
|
|
||||||
<xi:include href="section_debconf-keystone_authtoken.xml"/>
|
|
||||||
<xi:include href="section_debconf-api-endpoints.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,31 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_glance">
|
|
||||||
<title>Add the Image service</title>
|
|
||||||
<para>The OpenStack Image service (glance) enables users to discover,
|
|
||||||
register, and retrieve virtual machine images. It offers a <glossterm
|
|
||||||
baseform="RESTful">REST</glossterm> API that enables you to
|
|
||||||
query virtual machine image metadata and retrieve an actual image.
|
|
||||||
You can store virtual machine images made available through the
|
|
||||||
Image service in a variety of locations, from simple file systems
|
|
||||||
to object-storage systems like OpenStack Object Storage.</para>
|
|
||||||
<important>
|
|
||||||
<para>For simplicity, this guide describes configuring the Image service to
|
|
||||||
use the <literal>file</literal> back end, which uploads and stores in a
|
|
||||||
directory on the controller node hosting the Image service. By
|
|
||||||
default, this directory is <filename>/var/lib/glance/images/</filename>.
|
|
||||||
</para>
|
|
||||||
<para>Before you proceed, ensure that the controller node has at least
|
|
||||||
several gigabytes of space available in this directory.</para>
|
|
||||||
<para>For information on requirements for other back ends, see <link
|
|
||||||
xlink:href="http://docs.openstack.org/trunk/config-reference/content/ch_configuring-openstack-image-service.html"
|
|
||||||
><citetitle>Configuration
|
|
||||||
Reference</citetitle></link>.</para>
|
|
||||||
</important>
|
|
||||||
<xi:include href="../common/section_getstart_image.xml"/>
|
|
||||||
<xi:include href="section_glance-install.xml"/>
|
|
||||||
<xi:include href="section_glance-verify.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,19 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_heat">
|
|
||||||
<title>Add the Orchestration module</title>
|
|
||||||
<para>The Orchestration module (heat) uses a heat orchestration template
|
|
||||||
(HOT) to create and manage cloud resources.</para>
|
|
||||||
<xi:include href="../common/section_getstart_orchestration.xml"/>
|
|
||||||
<xi:include href="section_heat-install.xml"/>
|
|
||||||
<xi:include href="section_heat-verify.xml"/>
|
|
||||||
<section xml:id="section_heat_next_steps">
|
|
||||||
<title>Next steps</title>
|
|
||||||
<para>Your OpenStack environment now includes Orchestration. You can
|
|
||||||
<link linkend="launch-instance">launch an instance</link> or add more
|
|
||||||
services to your environment in the following chapters.</para>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,60 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_horizon">
|
|
||||||
<title>Add the dashboard</title>
|
|
||||||
<para>The OpenStack dashboard, also known as <link
|
|
||||||
xlink:href="https://git.openstack.org/cgit/openstack/horizon"
|
|
||||||
>Horizon</link>, is a Web interface that enables cloud
|
|
||||||
administrators and users to manage various OpenStack resources and
|
|
||||||
services.</para>
|
|
||||||
<para>The dashboard enables web-based interactions with the
|
|
||||||
OpenStack Compute cloud controller through the OpenStack
|
|
||||||
APIs.</para>
|
|
||||||
<para>Horizon enables you to customize the brand of the dashboard.</para>
|
|
||||||
<para>Horizon provides a set of core classes and reusable templates and tools.</para>
|
|
||||||
<para>This example deployment uses an Apache web server.</para>
|
|
||||||
|
|
||||||
<xi:include href="section_dashboard-install.xml"/>
|
|
||||||
<xi:include href="section_dashboard-verify.xml"/>
|
|
||||||
<section xml:id="section_horizon_next_steps">
|
|
||||||
<title>Next steps</title>
|
|
||||||
<para>Your OpenStack environment now includes the dashboard. You can
|
|
||||||
<link linkend="launch-instance">launch an instance</link> or add
|
|
||||||
more services to your environment in the following chapters.</para>
|
|
||||||
<para>After you install and configure the dashboard, you can
|
|
||||||
complete the following tasks:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Provide users with a public IP address, a username, and a password
|
|
||||||
so they can access the dashboard through a web browser. In case of
|
|
||||||
any SSL certificate connection problems, point the server
|
|
||||||
IP address to a domain name, and give users access.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Customize your dashboard. See section <link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/ch_install-dashboard.html#dashboard-custom-brand"
|
|
||||||
>Customize the dashboard</link> in the <link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/"
|
|
||||||
><citetitle>OpenStack Cloud Administrator Guide</citetitle></link>
|
|
||||||
for information on setting up colors, logos, and site titles.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Set up session storage. See section <link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/dashboard-sessions.html#dashboard-sessions">Set up session storage for the dashboard</link>
|
|
||||||
in the <link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/"
|
|
||||||
><citetitle>OpenStack Cloud Administrator Guide</citetitle></link> for information on user
|
|
||||||
session data.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>To use the VNC client with the dashboard, the browser
|
|
||||||
must support HTML5 Canvas and HTML5 WebSockets.</para>
|
|
||||||
<para>For details about browsers that support noVNC, see <link
|
|
||||||
xlink:href="https://github.com/kanaka/noVNC/blob/master/README.md">
|
|
||||||
https://github.com/kanaka/noVNC/blob/master/README.md</link>,
|
|
||||||
and <link xlink:href="https://github.com/kanaka/noVNC/wiki/Browser-support">
|
|
||||||
https://github.com/kanaka/noVNC/wiki/Browser-support</link>,
|
|
||||||
respectively.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,14 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_keystone">
|
|
||||||
<title>Add the Identity service</title>
|
|
||||||
<xi:include href="../common/section_keystone-concepts.xml"/>
|
|
||||||
<xi:include href="section_keystone-install.xml"/>
|
|
||||||
<xi:include href="section_keystone-services.xml"/>
|
|
||||||
<xi:include href="section_keystone-users.xml"/>
|
|
||||||
<xi:include href="section_keystone-verify.xml"/>
|
|
||||||
<xi:include href="section_keystone-openrc.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,33 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="launch-instance">
|
|
||||||
<title>Launch an instance</title>
|
|
||||||
<para>An instance is a VM that OpenStack provisions on a compute node.
|
|
||||||
This guide shows you how to launch a minimal instance using the
|
|
||||||
<glossterm>CirrOS</glossterm> image that you added to your environment
|
|
||||||
in the <xref linkend="ch_glance"/> chapter. In these steps, you use the
|
|
||||||
command-line interface (CLI) on your controller node or any system with
|
|
||||||
the appropriate OpenStack client libraries. To use the dashboard, see the
|
|
||||||
<link
|
|
||||||
xlink:href="http://docs.openstack.org/user-guide/dashboard.html">
|
|
||||||
<citetitle>OpenStack User Guide</citetitle></link>.</para>
|
|
||||||
<para>Launch an instance using
|
|
||||||
<link linkend="launch-instance-neutron">OpenStack Networking (neutron)
|
|
||||||
</link> or
|
|
||||||
<link linkend="launch-instance-nova">legacy networking (nova-network)
|
|
||||||
</link>. For more
|
|
||||||
information, see the
|
|
||||||
<link
|
|
||||||
xlink:href="http://docs.openstack.org/user-guide/cli_launch_instances.html">
|
|
||||||
<citetitle>OpenStack User Guide</citetitle></link>.</para>
|
|
||||||
<note>
|
|
||||||
<para>These steps reference example components created in previous
|
|
||||||
chapters. You must adjust certain values such as IP addresses to
|
|
||||||
match your environment.</para>
|
|
||||||
</note>
|
|
||||||
<xi:include href="section_launch-instance-neutron.xml"/>
|
|
||||||
<xi:include href="section_launch-instance-nova.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,44 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_networking">
|
|
||||||
<title>Add a networking component</title>
|
|
||||||
<para>This chapter explains how to install and configure either
|
|
||||||
OpenStack Networking (neutron), or the legacy <systemitem
|
|
||||||
class="service">nova-network</systemitem> component.
|
|
||||||
The <systemitem class="service">nova-network</systemitem> service
|
|
||||||
enables you to deploy one network type per instance and is
|
|
||||||
suitable for basic network functionality. OpenStack Networking
|
|
||||||
enables you to deploy multiple network types per instance and
|
|
||||||
includes <glossterm baseform="plug-in">plug-ins</glossterm> for a
|
|
||||||
variety of products that support <glossterm>virtual
|
|
||||||
networking</glossterm>.</para>
|
|
||||||
<para>For more information, see the <link
|
|
||||||
xlink:href="http://docs.openstack.org/admin-guide-cloud/content/ch_networking.html"
|
|
||||||
>Networking</link> chapter of the <citetitle>OpenStack Cloud
|
|
||||||
Administrator Guide</citetitle>.</para>
|
|
||||||
<section xml:id="section_neutron-networking">
|
|
||||||
<title>OpenStack Networking (neutron)</title>
|
|
||||||
<xi:include parse="xml" href="../common/section_getstart_networking.xml"/>
|
|
||||||
<xi:include href="section_neutron-concepts.xml"/>
|
|
||||||
<xi:include href="section_neutron-controller-node.xml"/>
|
|
||||||
<xi:include href="section_neutron-network-node.xml"/>
|
|
||||||
<xi:include href="section_neutron-compute-node.xml"/>
|
|
||||||
<xi:include href="section_neutron-initial-networks.xml"/>
|
|
||||||
</section>
|
|
||||||
<section xml:id="section_nova-networking">
|
|
||||||
<title>Legacy networking (nova-network)</title>
|
|
||||||
<xi:include href="section_nova-networking-controller-node.xml"/>
|
|
||||||
<xi:include href="section_nova-networking-compute-node.xml"/>
|
|
||||||
<xi:include href="section_nova-networking-initial-network.xml"/>
|
|
||||||
</section>
|
|
||||||
<section xml:id="section_networking_next_steps">
|
|
||||||
<title>Next steps</title>
|
|
||||||
<para>Your OpenStack environment now includes the core components
|
|
||||||
necessary to launch a basic instance. You can <link
|
|
||||||
linkend="launch-instance">launch an instance</link> or add
|
|
||||||
more OpenStack services to your environment.</para>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,13 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_nova">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Add the Compute service</title>
|
|
||||||
<xi:include href="../common/section_getstart_compute.xml"/>
|
|
||||||
<xi:include href="section_nova-controller-install.xml"/>
|
|
||||||
<xi:include href="section_nova-compute-install.xml"/>
|
|
||||||
<xi:include href="section_nova-verify.xml"/>
|
|
||||||
</chapter>
|
|
@ -1,258 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE chapter [
|
|
||||||
<!ENTITY % openstack SYSTEM "../common/entities/openstack.ent">
|
|
||||||
%openstack;
|
|
||||||
]>
|
|
||||||
<chapter 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="ch_overview">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Architecture</title>
|
|
||||||
<section xml:id="architecture_overview">
|
|
||||||
<title>Overview</title>
|
|
||||||
<para>The <glossterm>OpenStack</glossterm> project is an open source cloud
|
|
||||||
computing platform that supports all types of cloud environments. The
|
|
||||||
project aims for simple implementation, massive scalability, and a rich
|
|
||||||
set of features. Cloud computing experts from around the world
|
|
||||||
contribute to the project.</para>
|
|
||||||
<para>OpenStack provides an Infrastructure-as-a-Service
|
|
||||||
(<glossterm>IaaS</glossterm>) solution through a variety of complemental
|
|
||||||
services. Each service offers an application programming interface
|
|
||||||
(<glossterm>API</glossterm>) that facilitates this integration. The
|
|
||||||
following table provides a list of OpenStack services:</para>
|
|
||||||
<xi:include href="../common/ch_getstart.xml"
|
|
||||||
xpointer="element(table1)"/>
|
|
||||||
<para>This guide describes how to deploy these services in a functional
|
|
||||||
test environment and, by example, teaches you how to build a production
|
|
||||||
environment. Realistically, you would use automation tools such as
|
|
||||||
Ansible, Chef, and Puppet to deploy and manage a production
|
|
||||||
environment.</para>
|
|
||||||
</section>
|
|
||||||
<section xml:id="architecture_conceptual-architecture">
|
|
||||||
<title>Conceptual architecture</title>
|
|
||||||
<para>Launching a virtual machine or instance involves many interactions
|
|
||||||
among several services. The following diagram provides the conceptual
|
|
||||||
architecture of a typical OpenStack environment.</para>
|
|
||||||
<figure xml:id="conceptual-architecture">
|
|
||||||
<title>Conceptual architecture</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/openstack_kilo_conceptual_arch.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="architecture_example-architectures">
|
|
||||||
<title>Example architectures</title>
|
|
||||||
<para>OpenStack is highly configurable to meet different needs with various
|
|
||||||
compute, networking, and storage options. This guide enables you to
|
|
||||||
choose your own OpenStack adventure using a combination of core and
|
|
||||||
optional services. This guide uses the following example
|
|
||||||
architectures:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Three-node architecture with OpenStack Networking
|
|
||||||
(neutron) and optional nodes for Block Storage and Object
|
|
||||||
Storage services.</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>The
|
|
||||||
<glossterm baseform="cloud controller node"
|
|
||||||
>controller node</glossterm> runs the Identity service, Image
|
|
||||||
Service, management portions of Compute and Networking,
|
|
||||||
Networking plug-in, and the dashboard. It also includes
|
|
||||||
supporting services such as a SQL database,
|
|
||||||
<glossterm>message queue</glossterm>, and
|
|
||||||
<glossterm>Network Time Protocol (NTP)</glossterm>.</para>
|
|
||||||
<para>Optionally, the controller node runs portions of
|
|
||||||
Block Storage, Object Storage, Orchestration, Telemetry,
|
|
||||||
Database, and Data processing services. These
|
|
||||||
components provide additional features for your
|
|
||||||
environment.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The network node runs the Networking plug-in and
|
|
||||||
several agents that provision tenant networks and provide
|
|
||||||
switching, routing,
|
|
||||||
<glossterm baseform="Network Address Translation (NAT)"
|
|
||||||
>NAT</glossterm>, and <glossterm>DHCP</glossterm> services.
|
|
||||||
This node also handles external (Internet) connectivity for
|
|
||||||
tenant virtual machine instances.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The <glossterm>compute node</glossterm> runs the
|
|
||||||
<glossterm>hypervisor</glossterm> portion of Compute
|
|
||||||
that operates <glossterm>tenant</glossterm>
|
|
||||||
<glossterm baseform="virtual machine (VM)">virtual machines</glossterm>
|
|
||||||
or instances. By default, Compute uses
|
|
||||||
<glossterm baseform="kernel-based VM (KVM)">KVM</glossterm>
|
|
||||||
as the <glossterm>hypervisor</glossterm>. The compute node
|
|
||||||
also runs the Networking plug-in and an agent that connect
|
|
||||||
tenant networks to instances and provide firewalling
|
|
||||||
(<glossterm baseform="security group"
|
|
||||||
>security groups</glossterm>) services. You can run more
|
|
||||||
than one compute node.</para>
|
|
||||||
<para>Optionally, the compute node runs a Telemetry
|
|
||||||
agent to collect meters. Also, it can contain a third
|
|
||||||
network interface on a separate storage network to improve
|
|
||||||
performance of storage services.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The optional Block Storage node contains the disks that
|
|
||||||
the Block Storage service provisions for tenant virtual machine
|
|
||||||
instances. You can run more than one of these nodes.</para>
|
|
||||||
<para>Optionally, the Block Storage node runs a Telemetry
|
|
||||||
agent to collect meters. Also, it can contain a second
|
|
||||||
network interface on a separate storage network to improve
|
|
||||||
performance of storage services.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The optional Object Storage nodes contain the disks that
|
|
||||||
the Object Storage service uses for storing accounts,
|
|
||||||
containers, and objects. You can run more than two of these
|
|
||||||
nodes. However, the minimal architecture example requires
|
|
||||||
two nodes.</para>
|
|
||||||
<para>Optionally, these nodes can contain a second network
|
|
||||||
interface on a separate storage network to improve
|
|
||||||
performance of storage services.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<note>
|
|
||||||
<para>When you implement this architecture, skip
|
|
||||||
<xref linkend="section_nova-networking" /> in
|
|
||||||
<xref linkend="ch_networking" />. Optional services might
|
|
||||||
require additional nodes or additional resources on existing
|
|
||||||
nodes.</para>
|
|
||||||
</note>
|
|
||||||
<figure xml:id="example-architecture-with-neutron-networking-hw">
|
|
||||||
<title>Minimal architecture example with OpenStack Networking
|
|
||||||
(neutron)—Hardware requirements</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-neutron-hw.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<figure xml:id="example-architecture-with-neutron-networking-networks">
|
|
||||||
<title>Minimal architecture example with OpenStack Networking
|
|
||||||
(neutron)—Network layout</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-neutron-networks.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<figure xml:id="example-architecture-with-neutron-networking-services">
|
|
||||||
<title>Minimal architecture example with OpenStack Networking
|
|
||||||
(neutron)—Service layout</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-neutron-services.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Two-node architecture with legacy networking
|
|
||||||
(nova-network) and optional nodes for Block Storage and
|
|
||||||
Object Storage services.</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>The
|
|
||||||
<glossterm baseform="cloud controller node"
|
|
||||||
>controller node</glossterm> runs the Identity service,
|
|
||||||
Image service, management portion of Compute, and the
|
|
||||||
dashboard. It also includes supporting services such as
|
|
||||||
a SQL database, <glossterm>message queue</glossterm>, and
|
|
||||||
<glossterm>Network Time Protocol (NTP)</glossterm>.</para>
|
|
||||||
<para>Optionally, the controller node runs portions of
|
|
||||||
Block Storage, Object Storage, Orchestration, Telemetry,
|
|
||||||
Database, and Data processing services. These
|
|
||||||
components provide additional features for your
|
|
||||||
environment.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The <glossterm>compute node</glossterm> runs the
|
|
||||||
<glossterm>hypervisor</glossterm> portion of Compute
|
|
||||||
that operates <glossterm>tenant</glossterm>
|
|
||||||
<glossterm baseform="virtual machine (VM)">virtual machines</glossterm>
|
|
||||||
or instances. By default, Compute uses
|
|
||||||
<glossterm baseform="kernel-based VM (KVM)">KVM</glossterm>
|
|
||||||
as the <glossterm>hypervisor</glossterm>. Compute also
|
|
||||||
provisions tenant networks and provides firewalling
|
|
||||||
(<glossterm baseform="security group"
|
|
||||||
>security groups</glossterm>) services. You can run more
|
|
||||||
than one compute node.</para>
|
|
||||||
<para>Optionally, the compute node runs a Telemetry
|
|
||||||
agent to collect meters. Also, it can contain a third
|
|
||||||
network interface on a separate storage network to improve
|
|
||||||
performance of storage services.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The optional Block Storage node contains the disks that
|
|
||||||
the Block Storage service provisions for tenant virtual machine
|
|
||||||
instances. You can run more than one of these nodes.</para>
|
|
||||||
<para>Optionally, the Block Storage node runs a Telemetry
|
|
||||||
agent to collect meters. Also, it can contain a second
|
|
||||||
network interface on a separate storage network to improve
|
|
||||||
performance of storage services.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>The optional Object Storage nodes contain the disks that
|
|
||||||
the Object Storage service uses for storing accounts,
|
|
||||||
containers, and objects. You can run more than two of these
|
|
||||||
nodes. However, the minimal architecture example requires
|
|
||||||
two nodes.</para>
|
|
||||||
<para>Optionally, these nodes can contain a second network
|
|
||||||
interface on a separate storage network to improve
|
|
||||||
performance of storage services.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<note>
|
|
||||||
<para>When you implement this architecture, skip
|
|
||||||
<xref linkend="section_neutron-networking" /> in
|
|
||||||
<xref linkend="ch_networking" />. To use optional services, you
|
|
||||||
might need to build additional nodes, as described in
|
|
||||||
subsequent chapters.</para>
|
|
||||||
</note>
|
|
||||||
<figure xml:id="example-architecture-with-legacy-networking-hw">
|
|
||||||
<title>Minimal architecture example with legacy networking
|
|
||||||
(nova-network)—Hardware requirements</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-nova-hw.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<figure xml:id="example-architecture-with-legacy-networking-networks">
|
|
||||||
<title>Minimal architecture example with legacy networking
|
|
||||||
(nova-network)—Network layout</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-nova-networks.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<figure xml:id="example-architecture-with-legacy-networking-services">
|
|
||||||
<title>Minimal architecture example with legacy networking
|
|
||||||
(nova-network)—Service layout</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-nova-services.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,19 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_sahara">
|
|
||||||
<title>Add the Data processing service</title>
|
|
||||||
<para>The Data processing service (sahara) enables users to provide a
|
|
||||||
scalable data processing stack and associated management interfaces.
|
|
||||||
This includes provisioning and operation of data processing clusters as
|
|
||||||
well as scheduling and operation of data processing jobs.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<warning><para>This chapter is a work in progress. It may contain
|
|
||||||
incorrect information, and will be updated frequently.</para></warning>
|
|
||||||
<xi:include href="../common/section_getstart_sahara.xml"/>
|
|
||||||
<xi:include href="section_sahara-install.xml" />
|
|
||||||
<xi:include href="section_sahara-verify.xml" />
|
|
||||||
</chapter>
|
|
@ -1,25 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_swift">
|
|
||||||
<title>Add Object Storage</title>
|
|
||||||
<para>The OpenStack Object Storage services (swift) work together to
|
|
||||||
provide object storage and retrieval through a
|
|
||||||
<glossterm baseform="RESTful">REST</glossterm> API. Your environment
|
|
||||||
must at least include the Identity service (keystone) prior to
|
|
||||||
deploying Object Storage.</para>
|
|
||||||
<xi:include href="../common/section_getstart_object-storage.xml"/>
|
|
||||||
<xi:include href="section_swift-controller-node.xml"/>
|
|
||||||
<xi:include href="section_swift-storage-node.xml"/>
|
|
||||||
<xi:include href="section_swift-initial-rings.xml"/>
|
|
||||||
<xi:include href="section_swift-finalize-installation.xml"/>
|
|
||||||
<xi:include href="section_swift-verify.xml"/>
|
|
||||||
<section xml:id="section_swift_next_steps">
|
|
||||||
<title>Next steps</title>
|
|
||||||
<para>Your OpenStack environment now includes Object Storage. You can
|
|
||||||
<link linkend="launch-instance">launch an instance</link> or add more
|
|
||||||
services to your environment in the following chapters.</para>
|
|
||||||
</section>
|
|
||||||
</chapter>
|
|
@ -1,16 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<chapter 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="ch_trove">
|
|
||||||
<title>Add the Database service</title>
|
|
||||||
<para>Use the <glossterm baseform="Database service">Database
|
|
||||||
service</glossterm> to create cloud database resources. The
|
|
||||||
integrated project name is <glossterm>trove</glossterm>.</para>
|
|
||||||
<warning><para>This chapter is a work in progress. It may contain
|
|
||||||
incorrect information, and will be updated frequently.</para></warning>
|
|
||||||
<xi:include href="../common/section_getstart_trove.xml"/>
|
|
||||||
<xi:include href="section_trove-install.xml" />
|
|
||||||
<xi:include href="section_trove-verify.xml" />
|
|
||||||
</chapter>
|
|
Before Width: | Height: | Size: 504 KiB |
Before Width: | Height: | Size: 205 KiB |
Before Width: | Height: | Size: 63 KiB |
Before Width: | Height: | Size: 629 KiB |
Before Width: | Height: | Size: 33 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 28 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 6.4 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 37 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 9.8 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 49 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 8.3 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 58 KiB |
@ -1,995 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="680"
|
|
||||||
height="530.00006"
|
|
||||||
id="svg4396"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.48.4 r9939"
|
|
||||||
sodipodi:docname="installguide_arch-neutron.svg">
|
|
||||||
<defs
|
|
||||||
id="defs4398" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
inkscape:document-units="mm"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1"
|
|
||||||
inkscape:cx="469.99999"
|
|
||||||
inkscape:cy="269.75908"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
id="namedview4400"
|
|
||||||
showgrid="true"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:bbox-nodes="true"
|
|
||||||
units="mm"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0"
|
|
||||||
inkscape:window-width="1366"
|
|
||||||
inkscape:window-height="746"
|
|
||||||
inkscape:window-x="-8"
|
|
||||||
inkscape:window-y="-8"
|
|
||||||
inkscape:window-maximized="1">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid4405"
|
|
||||||
empspacing="5"
|
|
||||||
visible="true"
|
|
||||||
enabled="true"
|
|
||||||
snapvisiblegridlinesonly="true"
|
|
||||||
originx="-20.000007px"
|
|
||||||
originy="-399.98715px"
|
|
||||||
dotted="false" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata4402">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(-9.9999943,-14.09445)">
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3657">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="323.34317"
|
|
||||||
x="530.98096"
|
|
||||||
height="528.03802"
|
|
||||||
width="158.03801"
|
|
||||||
id="rect7705-0-8"
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96199989;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-5"
|
|
||||||
y="342.36218"
|
|
||||||
x="610"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
|
||||||
y="342.36218"
|
|
||||||
x="610"
|
|
||||||
id="tspan7741-9-9"
|
|
||||||
sodipodi:role="line">Compute Node</tspan><tspan
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-4"
|
|
||||||
y="360.73312"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">compute1</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3602">
|
|
||||||
<rect
|
|
||||||
ry="4.9999986"
|
|
||||||
rx="5"
|
|
||||||
y="323.34314"
|
|
||||||
x="350.98099"
|
|
||||||
height="528.03796"
|
|
||||||
width="158.03801"
|
|
||||||
id="rect7705-0"
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96199977;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1"
|
|
||||||
y="342.36215"
|
|
||||||
x="429.99997"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
|
||||||
y="342.36215"
|
|
||||||
x="429.99997"
|
|
||||||
id="tspan7741-9"
|
|
||||||
sodipodi:role="line">Network Node</tspan><tspan
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5"
|
|
||||||
y="360.73309"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line">network</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3548">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="323.34317"
|
|
||||||
x="10.980982"
|
|
||||||
height="528.03802"
|
|
||||||
width="318.03802"
|
|
||||||
id="rect7705"
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739"
|
|
||||||
y="342.36218"
|
|
||||||
x="170"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
|
||||||
y="342.36218"
|
|
||||||
x="170"
|
|
||||||
id="tspan7741"
|
|
||||||
sodipodi:role="line">Controller Node</tspan><tspan
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743"
|
|
||||||
y="360.73312"
|
|
||||||
x="170"
|
|
||||||
sodipodi:role="line">controller</tspan></text>
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7939-2"
|
|
||||||
width="138.03801"
|
|
||||||
height="268.03799"
|
|
||||||
x="182.146"
|
|
||||||
y="155.0755"
|
|
||||||
rx="5"
|
|
||||||
ry="4.999999" />
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3554">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="373.34317"
|
|
||||||
x="20.980988"
|
|
||||||
height="68.025177"
|
|
||||||
width="298.03802"
|
|
||||||
id="rect9004"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="392.94467"
|
|
||||||
x="30.582485"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-5"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-7"
|
|
||||||
y="412.36218"
|
|
||||||
x="89.999985"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="412.36218"
|
|
||||||
x="89.999985"
|
|
||||||
id="tspan7729-1-3-4"
|
|
||||||
sodipodi:role="line">Database</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-7"
|
|
||||||
y="428.22711"
|
|
||||||
x="89.999985"
|
|
||||||
sodipodi:role="line">MySQL or MariaDB</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="392.94467"
|
|
||||||
x="190.58249"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-5-3"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-7-4"
|
|
||||||
y="412.36218"
|
|
||||||
x="249.99997"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px;font-style:normal;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-7-8"
|
|
||||||
y="412.36218"
|
|
||||||
x="249.99997"
|
|
||||||
sodipodi:role="line">Message Broker</tspan><tspan
|
|
||||||
id="tspan9002"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="428.22711"
|
|
||||||
x="249.99997"
|
|
||||||
sodipodi:role="line">RabbitMQ or Qpid</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text9036"
|
|
||||||
y="386.50281"
|
|
||||||
x="98.292946"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="386.50281"
|
|
||||||
x="98.292946"
|
|
||||||
id="tspan9038"
|
|
||||||
sodipodi:role="line">Supporting Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3567">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="462.17822"
|
|
||||||
x="20.980995"
|
|
||||||
height="289.203"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect7939"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="581.77966"
|
|
||||||
x="30.582497"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4"
|
|
||||||
y="602.36218"
|
|
||||||
x="89.999985"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="602.36218"
|
|
||||||
x="89.999985"
|
|
||||||
id="tspan7729-1-9"
|
|
||||||
sodipodi:role="line">Compute</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4"
|
|
||||||
y="618.22711"
|
|
||||||
x="89.999985"
|
|
||||||
sodipodi:role="line">Nova Management</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="631.77972"
|
|
||||||
x="30.582497"
|
|
||||||
height="58.834942"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3"
|
|
||||||
y="652.36224"
|
|
||||||
x="89.999985"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="652.36224"
|
|
||||||
x="89.999985"
|
|
||||||
id="tspan7729-1-9-6"
|
|
||||||
sodipodi:role="line">Networking</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2"
|
|
||||||
y="668.22717"
|
|
||||||
x="89.999985"
|
|
||||||
sodipodi:role="line">Neutron Server</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="683.22717"
|
|
||||||
x="89.999985"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8066">ML2 Plug-In</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="531.77966"
|
|
||||||
x="30.582497"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7"
|
|
||||||
y="552.36218"
|
|
||||||
x="89.999985"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="552.36218"
|
|
||||||
x="89.999985"
|
|
||||||
id="tspan7729-1"
|
|
||||||
sodipodi:role="line">Image Service</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2"
|
|
||||||
y="568.22711"
|
|
||||||
x="89.999985"
|
|
||||||
sodipodi:role="line">Glance</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="481.77966"
|
|
||||||
x="30.582497"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2"
|
|
||||||
y="502.34937"
|
|
||||||
x="89.999977"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="502.34937"
|
|
||||||
x="89.999977"
|
|
||||||
id="tspan7729-1-3"
|
|
||||||
sodipodi:role="line">Identity</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8"
|
|
||||||
y="518.21429"
|
|
||||||
x="89.999977"
|
|
||||||
sodipodi:role="line">Keystone</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="701.19714"
|
|
||||||
x="30.582497"
|
|
||||||
height="40"
|
|
||||||
width="118.83499"
|
|
||||||
id="rect7725-7-0-0-5-2"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-7"
|
|
||||||
y="721.77966"
|
|
||||||
x="89.417488"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="721.77966"
|
|
||||||
x="89.417488"
|
|
||||||
id="tspan7729-1-9-6-8-5"
|
|
||||||
sodipodi:role="line">Dashboard</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-7"
|
|
||||||
y="737.64459"
|
|
||||||
x="89.417488"
|
|
||||||
sodipodi:role="line">Horizon</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8032"
|
|
||||||
y="478.08875"
|
|
||||||
x="37.222656"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="478.08875"
|
|
||||||
x="37.222656"
|
|
||||||
id="tspan8034"
|
|
||||||
sodipodi:role="line">Basic Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="187.18752"
|
|
||||||
y="168.33278"
|
|
||||||
id="text8032-9"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan8034-2"
|
|
||||||
x="187.18752"
|
|
||||||
y="168.33278"
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1">Optional Services</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-6-2"
|
|
||||||
width="118.835"
|
|
||||||
height="40"
|
|
||||||
x="191.74751"
|
|
||||||
y="173.51198"
|
|
||||||
rx="5"
|
|
||||||
ry="5" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="250.00002"
|
|
||||||
y="194.0945"
|
|
||||||
id="text7727-7-2-0"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7729-1-3-5"
|
|
||||||
x="250.00002"
|
|
||||||
y="194.0945"
|
|
||||||
style="font-size:14px">Block Storage</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="250.00002"
|
|
||||||
y="209.95941"
|
|
||||||
id="tspan7731-2-8-5"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique">Cinder Management</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-6-2-7"
|
|
||||||
width="118.835"
|
|
||||||
height="40"
|
|
||||||
x="191.74751"
|
|
||||||
y="223.51198"
|
|
||||||
rx="5"
|
|
||||||
ry="5" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="249.99998"
|
|
||||||
y="244.0945"
|
|
||||||
id="text7727-7-2-0-6"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7729-1-3-5-7"
|
|
||||||
x="249.99998"
|
|
||||||
y="244.0945"
|
|
||||||
style="font-size:14px">Object Storage</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="249.99998"
|
|
||||||
y="259.95941"
|
|
||||||
id="tspan7731-2-8-5-8"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique">Swift Proxy</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-2-2"
|
|
||||||
width="118.835"
|
|
||||||
height="40"
|
|
||||||
x="191.74751"
|
|
||||||
y="323.51199"
|
|
||||||
rx="5"
|
|
||||||
ry="5" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="251.16502"
|
|
||||||
y="344.09451"
|
|
||||||
id="text7727-7-4-3-8-7-7"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7729-1-9-6-8-5-8"
|
|
||||||
x="251.16502"
|
|
||||||
y="344.09451"
|
|
||||||
style="font-size:14px">Orchestration</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="251.16502"
|
|
||||||
y="359.95944"
|
|
||||||
id="tspan7731-2-4-2-1-7-0"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique">Heat</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-2-2-8"
|
|
||||||
width="118.835"
|
|
||||||
height="40"
|
|
||||||
x="191.74751"
|
|
||||||
y="374.67703"
|
|
||||||
rx="5"
|
|
||||||
ry="5" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="251.16502"
|
|
||||||
y="395.25955"
|
|
||||||
id="text7727-7-4-3-8-7-7-1"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7729-1-9-6-8-5-8-6"
|
|
||||||
x="251.16502"
|
|
||||||
y="395.25955"
|
|
||||||
style="font-size:14px">Telemetry</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="251.16502"
|
|
||||||
y="411.12448"
|
|
||||||
id="tspan7731-2-4-2-1-7-0-0"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique">Ceilometer Core</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-2-2-5"
|
|
||||||
width="118.83501"
|
|
||||||
height="40"
|
|
||||||
x="191.74751"
|
|
||||||
y="274.67697"
|
|
||||||
rx="5"
|
|
||||||
ry="5" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="251.16502"
|
|
||||||
y="295.25955"
|
|
||||||
id="text7727-7-4-3-8-7-7-8"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7729-1-9-6-8-5-8-9"
|
|
||||||
x="251.16502"
|
|
||||||
y="295.25955"
|
|
||||||
style="font-size:14px">Database Service</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="251.16502"
|
|
||||||
y="311.12448"
|
|
||||||
id="tspan7731-2-4-2-1-7-0-00"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique">Trove Management</tspan></text>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3593">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="773.3432"
|
|
||||||
x="100.981"
|
|
||||||
height="68.037994"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect8524"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="791.77966"
|
|
||||||
x="110.5825"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1"
|
|
||||||
style="fill:#c00000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4"
|
|
||||||
y="812.36218"
|
|
||||||
x="170"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8"
|
|
||||||
y="812.36218"
|
|
||||||
x="171.94141"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3127"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff">1: Management </tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="828.22711"
|
|
||||||
x="170"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3129">10.0.0.11/24</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8526"
|
|
||||||
y="788.09265"
|
|
||||||
x="102.98046"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="788.09265"
|
|
||||||
x="102.98046"
|
|
||||||
id="tspan8528"
|
|
||||||
sodipodi:role="line">Network Interfaces</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3608">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="373.34317"
|
|
||||||
x="360.98099"
|
|
||||||
height="119.20304"
|
|
||||||
width="138.03801"
|
|
||||||
id="rect7939-2-2"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="394.10971"
|
|
||||||
x="370.58249"
|
|
||||||
height="91.165047"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-2"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-0-1"
|
|
||||||
y="412.36218"
|
|
||||||
x="428.83493"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="412.36218"
|
|
||||||
x="428.83493"
|
|
||||||
id="tspan7729-1-3-5-4"
|
|
||||||
sodipodi:role="line">Networking</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-5-86"
|
|
||||||
y="428.22711"
|
|
||||||
x="428.83493"
|
|
||||||
sodipodi:role="line">ML2 Plug-In</tspan><tspan
|
|
||||||
id="tspan8860"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="443.22711"
|
|
||||||
x="428.83493"
|
|
||||||
sodipodi:role="line">Layer 2 Agent (OVS)</tspan><tspan
|
|
||||||
id="tspan8862"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="458.22711"
|
|
||||||
x="428.83493"
|
|
||||||
sodipodi:role="line">Layer 3 Agent</tspan><tspan
|
|
||||||
id="tspan8864"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="473.22711"
|
|
||||||
x="428.83493"
|
|
||||||
sodipodi:role="line">DHCP Agent</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-31"
|
|
||||||
y="388.08875"
|
|
||||||
x="429.72266"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;font-style:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-8"
|
|
||||||
y="388.08875"
|
|
||||||
x="429.72266"
|
|
||||||
sodipodi:role="line">Basic Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3634">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="671.38116"
|
|
||||||
x="360.98099"
|
|
||||||
height="169.99995"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect8524-1"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="691.7796"
|
|
||||||
x="370.58249"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4"
|
|
||||||
style="fill:#c00000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9"
|
|
||||||
y="712.36212"
|
|
||||||
x="429.99997"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0"
|
|
||||||
y="712.36212"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3131"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff">1: Management</tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="728.22705"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3133">10.0.0.21/24</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8526-3"
|
|
||||||
y="688.09259"
|
|
||||||
x="362.98044"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="688.09259"
|
|
||||||
x="362.98044"
|
|
||||||
id="tspan8528-0"
|
|
||||||
sodipodi:role="line">Network Interfaces</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="741.7796"
|
|
||||||
x="370.58249"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7"
|
|
||||||
style="fill:#00c000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="791.7796"
|
|
||||||
x="370.58249"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-6"
|
|
||||||
style="fill:#0000c0;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9-6"
|
|
||||||
y="812.36212"
|
|
||||||
x="429.99997"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-4"
|
|
||||||
y="812.36212"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3139"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff;fill-opacity:1">3: External</tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="828.22705"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3141">(unnumbered)</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9-7"
|
|
||||||
y="762.36212"
|
|
||||||
x="429.99997"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:13px;font-style:normal;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-3"
|
|
||||||
y="762.36212"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line">2: Instance Tunnels</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="778.22705"
|
|
||||||
x="429.99997"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3137">10.0.1.21/24</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3678">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="553.3432"
|
|
||||||
x="540.98096"
|
|
||||||
height="68.037971"
|
|
||||||
width="138.03801"
|
|
||||||
id="rect7939-2-2-7"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-31-2"
|
|
||||||
y="568.08875"
|
|
||||||
x="609.72266"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;font-style:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-8-6"
|
|
||||||
y="568.08875"
|
|
||||||
x="609.72266"
|
|
||||||
sodipodi:role="line">Optional Services</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="572.9447"
|
|
||||||
x="550.58252"
|
|
||||||
height="38.834995"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-2-1"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7352"
|
|
||||||
y="592.36218"
|
|
||||||
x="610"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px;text-align:center;text-anchor:middle"
|
|
||||||
y="592.36218"
|
|
||||||
x="610"
|
|
||||||
id="tspan7354"
|
|
||||||
sodipodi:role="line">Telemetry</tspan><tspan
|
|
||||||
style="font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7356"
|
|
||||||
y="608.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">Ceilometer Agent</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3687">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="721.38123"
|
|
||||||
x="540.98096"
|
|
||||||
height="119.99995"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect8524-1-9"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="741.77966"
|
|
||||||
x="550.58252"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4-3"
|
|
||||||
style="fill:#c00000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9-1"
|
|
||||||
y="762.36218"
|
|
||||||
x="610"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-9"
|
|
||||||
y="762.36218"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3143"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff">1: Management</tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="778.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3145">10.0.0.31/24</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="791.77966"
|
|
||||||
x="550.58252"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-5"
|
|
||||||
style="fill:#00c000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9-7-5"
|
|
||||||
y="812.36218"
|
|
||||||
x="610"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:13px;font-style:normal;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-3-0"
|
|
||||||
y="812.36218"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">2: Instance Tunnels</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="828.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3149">10.0.1.31/24</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8526-3-9"
|
|
||||||
y="738.09265"
|
|
||||||
x="542.98047"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="738.09265"
|
|
||||||
x="542.98047"
|
|
||||||
id="tspan8528-0-5"
|
|
||||||
sodipodi:role="line">Network Interfaces</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(1.2516975e-5,-308.26769)"
|
|
||||||
id="g3663">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="373.34317"
|
|
||||||
x="540.98096"
|
|
||||||
height="159.20305"
|
|
||||||
width="138.03801"
|
|
||||||
id="rect7939-2-2-1"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="392.94467"
|
|
||||||
x="550.58252"
|
|
||||||
height="61.165047"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-2-5"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-0-1-2"
|
|
||||||
y="412.36218"
|
|
||||||
x="610"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="412.36218"
|
|
||||||
x="610"
|
|
||||||
id="tspan7729-1-3-5-4-3"
|
|
||||||
sodipodi:role="line">Compute</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-5-86-2"
|
|
||||||
y="428.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">Nova Hypervisor</tspan><tspan
|
|
||||||
id="tspan8864-6"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="443.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">KVM or QEMU</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="462.94467"
|
|
||||||
x="550.58252"
|
|
||||||
height="61.165047"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-2-6"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-0-1-2-2"
|
|
||||||
y="482.36218"
|
|
||||||
x="610"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="482.36218"
|
|
||||||
x="610"
|
|
||||||
id="tspan7729-1-3-5-4-3-9"
|
|
||||||
sodipodi:role="line">Networking</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-5-86-2-0"
|
|
||||||
y="498.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">ML2 Plug-In</tspan><tspan
|
|
||||||
id="tspan8864-6-4"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="513.22711"
|
|
||||||
x="610"
|
|
||||||
sodipodi:role="line">Layer 2 Agent (OVS)</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-31-8"
|
|
||||||
y="388.08875"
|
|
||||||
x="609.72266"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;font-style:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-8-2"
|
|
||||||
y="388.08875"
|
|
||||||
x="609.72266"
|
|
||||||
sodipodi:role="line">Basic Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 42 KiB |
@ -1,737 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="500.00003"
|
|
||||||
height="530"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.48.4 r9939"
|
|
||||||
sodipodi:docname="installguide_arch-nova.svg">
|
|
||||||
<defs
|
|
||||||
id="defs4" />
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1.01"
|
|
||||||
inkscape:cx="292.46304"
|
|
||||||
inkscape:cy="269.03294"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="true"
|
|
||||||
inkscape:snap-global="true"
|
|
||||||
showguides="true"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:snap-bbox-midpoints="false"
|
|
||||||
inkscape:window-width="1366"
|
|
||||||
inkscape:window-height="746"
|
|
||||||
inkscape:window-x="-8"
|
|
||||||
inkscape:window-y="-8"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
inkscape:snap-nodes="false"
|
|
||||||
inkscape:bbox-nodes="true"
|
|
||||||
inkscape:bbox-paths="true"
|
|
||||||
inkscape:snap-bbox-edge-midpoints="false"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid3755"
|
|
||||||
empspacing="5"
|
|
||||||
visible="true"
|
|
||||||
enabled="true"
|
|
||||||
snapvisiblegridlinesonly="true"
|
|
||||||
dotted="false"
|
|
||||||
originx="-9.9999837px"
|
|
||||||
originy="-198.83497px" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata7">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(-9.9999837,-323.52718)">
|
|
||||||
<g
|
|
||||||
id="g3781">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="324.50818"
|
|
||||||
x="350.98102"
|
|
||||||
height="528.03802"
|
|
||||||
width="158.03801"
|
|
||||||
id="rect7705-0-8"
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96199989;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-5"
|
|
||||||
y="343.52719"
|
|
||||||
x="430"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
|
||||||
y="343.52719"
|
|
||||||
x="430"
|
|
||||||
id="tspan7741-9-9"
|
|
||||||
sodipodi:role="line">Compute Node</tspan><tspan
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-4"
|
|
||||||
y="361.89813"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line">compute1</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3706">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="324.50818"
|
|
||||||
x="10.980984"
|
|
||||||
height="528.03802"
|
|
||||||
width="318.03802"
|
|
||||||
id="rect7705"
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
</g>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="170"
|
|
||||||
y="343.52719"
|
|
||||||
id="text7739"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7741"
|
|
||||||
x="170"
|
|
||||||
y="343.52719"
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle">Controller Node</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="170"
|
|
||||||
y="361.89813"
|
|
||||||
id="tspan7743"
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique">controller</tspan></text>
|
|
||||||
<g
|
|
||||||
id="g3237">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="374.50818"
|
|
||||||
x="360.98102"
|
|
||||||
height="98.038002"
|
|
||||||
width="138.03801"
|
|
||||||
id="rect7939-2-2-1"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="394.10968"
|
|
||||||
x="370.58252"
|
|
||||||
height="68.834999"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-2-5"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-0-1-2"
|
|
||||||
y="413.52719"
|
|
||||||
x="430"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="413.52719"
|
|
||||||
x="430"
|
|
||||||
id="tspan7729-1-3-5-4-3"
|
|
||||||
sodipodi:role="line">Compute</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-5-86-2"
|
|
||||||
y="429.39212"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line">Nova Hypervisor</tspan><tspan
|
|
||||||
id="tspan3925"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="444.39212"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line">KVM or QEMU</tspan><tspan
|
|
||||||
id="tspan8864-6"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="459.39212"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line">Nova Networking</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-31-8"
|
|
||||||
y="388.08871"
|
|
||||||
x="429.72266"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;font-style:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-8-2"
|
|
||||||
y="388.08871"
|
|
||||||
x="429.72266"
|
|
||||||
sodipodi:role="line">Basic Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3228">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="494.50818"
|
|
||||||
x="360.98099"
|
|
||||||
height="68.037971"
|
|
||||||
width="138.03801"
|
|
||||||
id="rect7939-2-2-7"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="514.10968"
|
|
||||||
x="370.58249"
|
|
||||||
height="38.834995"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-2-1"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7352"
|
|
||||||
y="533.52716"
|
|
||||||
x="430"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px;text-align:center;text-anchor:middle"
|
|
||||||
y="533.52716"
|
|
||||||
x="430"
|
|
||||||
id="tspan7354"
|
|
||||||
sodipodi:role="line">Telemetry</tspan><tspan
|
|
||||||
style="font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7356"
|
|
||||||
y="549.39209"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line">Ceilometer Agent</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7739-1-31-2"
|
|
||||||
y="509.25372"
|
|
||||||
x="429.72266"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;font-style:normal;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-8-6"
|
|
||||||
y="509.25372"
|
|
||||||
x="429.72266"
|
|
||||||
sodipodi:role="line">Optional Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3215">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="722.5462"
|
|
||||||
x="360.98102"
|
|
||||||
height="119.99995"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect8524-1-9"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="742.94464"
|
|
||||||
x="370.58252"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4-3"
|
|
||||||
style="fill:#c00000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9-1"
|
|
||||||
y="763.52716"
|
|
||||||
x="430"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-9"
|
|
||||||
y="763.52716"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3207"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff">1: Management</tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="779.39209"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3209">10.0.0.31/24</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="792.94464"
|
|
||||||
x="370.58252"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-5"
|
|
||||||
style="fill:#0000c0;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4-9-7-5"
|
|
||||||
y="813.52716"
|
|
||||||
x="430"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-3-0"
|
|
||||||
y="813.52716"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3199"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff;fill-opacity:1">2: External</tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="829.39209"
|
|
||||||
x="430"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3201">(unnumbered)</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8526-3-9"
|
|
||||||
y="739.25763"
|
|
||||||
x="362.98047"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="739.25763"
|
|
||||||
x="362.98047"
|
|
||||||
id="tspan8528-0-5"
|
|
||||||
sodipodi:role="line">Network Interfaces</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3722">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="463.34323"
|
|
||||||
x="20.980999"
|
|
||||||
height="218.03793"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect7939"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="582.9447"
|
|
||||||
x="30.5825"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="532.9447"
|
|
||||||
x="30.5825"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="482.94467"
|
|
||||||
x="30.5825"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="631.77966"
|
|
||||||
x="30.582508"
|
|
||||||
height="40"
|
|
||||||
width="118.83499"
|
|
||||||
id="rect7725-7-0-0-5-2"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4"
|
|
||||||
y="603.52722"
|
|
||||||
x="89.999992"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="603.52722"
|
|
||||||
x="89.999992"
|
|
||||||
id="tspan7729-1-9"
|
|
||||||
sodipodi:role="line">Compute</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4"
|
|
||||||
y="619.39215"
|
|
||||||
x="89.999992"
|
|
||||||
sodipodi:role="line">Nova Management</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7"
|
|
||||||
y="553.52722"
|
|
||||||
x="89.999992"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="553.52722"
|
|
||||||
x="89.999992"
|
|
||||||
id="tspan7729-1"
|
|
||||||
sodipodi:role="line">Image Service</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2"
|
|
||||||
y="569.39215"
|
|
||||||
x="89.999992"
|
|
||||||
sodipodi:role="line">Glance</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2"
|
|
||||||
y="502.36215"
|
|
||||||
x="90"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="502.36215"
|
|
||||||
x="90"
|
|
||||||
id="tspan7729-1-3"
|
|
||||||
sodipodi:role="line">Identity</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8"
|
|
||||||
y="518.22705"
|
|
||||||
x="90"
|
|
||||||
sodipodi:role="line">Keystone</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-7"
|
|
||||||
y="652.36218"
|
|
||||||
x="90"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="652.36218"
|
|
||||||
x="90"
|
|
||||||
id="tspan7729-1-9-6-8-5"
|
|
||||||
sodipodi:role="line">Dashboard</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-7"
|
|
||||||
y="668.22711"
|
|
||||||
x="90"
|
|
||||||
sodipodi:role="line">Horizon</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8032"
|
|
||||||
y="478.08871"
|
|
||||||
x="37.222656"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="478.08871"
|
|
||||||
x="37.222656"
|
|
||||||
id="tspan8034"
|
|
||||||
sodipodi:role="line">Basic Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3743">
|
|
||||||
<rect
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
y="464.50818"
|
|
||||||
x="182.146"
|
|
||||||
height="266.87299"
|
|
||||||
width="138.03801"
|
|
||||||
id="rect7939-2"
|
|
||||||
style="fill:#606060;fill-opacity:1;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="482.94467"
|
|
||||||
x="191.7475"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="532.9447"
|
|
||||||
x="191.7475"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-2-7"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="632.9447"
|
|
||||||
x="191.7475"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-2-2"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="682.9447"
|
|
||||||
x="190.5825"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-2-2-8"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="582.9447"
|
|
||||||
x="190.58249"
|
|
||||||
height="40"
|
|
||||||
width="118.83501"
|
|
||||||
id="rect7725-7-0-0-5-2-2-5"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-0"
|
|
||||||
y="503.52719"
|
|
||||||
x="250"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="503.52719"
|
|
||||||
x="250"
|
|
||||||
id="tspan7729-1-3-5"
|
|
||||||
sodipodi:role="line">Block Storage</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-5"
|
|
||||||
y="519.39209"
|
|
||||||
x="250"
|
|
||||||
sodipodi:role="line">Cinder Management</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-0-6"
|
|
||||||
y="553.52722"
|
|
||||||
x="249.99998"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="553.52722"
|
|
||||||
x="249.99998"
|
|
||||||
id="tspan7729-1-3-5-7"
|
|
||||||
sodipodi:role="line">Object Storage</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-5-8"
|
|
||||||
y="569.39215"
|
|
||||||
x="249.99998"
|
|
||||||
sodipodi:role="line">Swift Proxy</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-7-7"
|
|
||||||
y="653.52722"
|
|
||||||
x="251.16501"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="653.52722"
|
|
||||||
x="251.16501"
|
|
||||||
id="tspan7729-1-9-6-8-5-8"
|
|
||||||
sodipodi:role="line">Orchestration</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-7-0"
|
|
||||||
y="669.39215"
|
|
||||||
x="251.16501"
|
|
||||||
sodipodi:role="line">Heat</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-7-7-1"
|
|
||||||
y="704.69226"
|
|
||||||
x="251.16501"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="704.69226"
|
|
||||||
x="251.16501"
|
|
||||||
id="tspan7729-1-9-6-8-5-8-6"
|
|
||||||
sodipodi:role="line">Telemetry</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-7-0-0"
|
|
||||||
y="720.55719"
|
|
||||||
x="251.16501"
|
|
||||||
sodipodi:role="line">Ceilometer Core</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-7-7-8"
|
|
||||||
y="602.36218"
|
|
||||||
x="250"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="602.36218"
|
|
||||||
x="250"
|
|
||||||
id="tspan7729-1-9-6-8-5-8-9"
|
|
||||||
sodipodi:role="line">Database Service</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-7-0-00"
|
|
||||||
y="618.22711"
|
|
||||||
x="250"
|
|
||||||
sodipodi:role="line">Trove Management</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8032-9"
|
|
||||||
y="477.76547"
|
|
||||||
x="188.35251"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="477.76547"
|
|
||||||
x="188.35251"
|
|
||||||
id="tspan8034-2"
|
|
||||||
sodipodi:role="line">Optional Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3709">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="374.50815"
|
|
||||||
x="20.980988"
|
|
||||||
height="66.873001"
|
|
||||||
width="298.03802"
|
|
||||||
id="rect9004"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="392.94467"
|
|
||||||
x="30.582487"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-5"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-7"
|
|
||||||
y="413.52719"
|
|
||||||
x="89.999985"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px"
|
|
||||||
y="413.52719"
|
|
||||||
x="89.999985"
|
|
||||||
id="tspan7729-1-3-4"
|
|
||||||
sodipodi:role="line">Database</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-7"
|
|
||||||
y="429.39212"
|
|
||||||
x="89.999985"
|
|
||||||
sodipodi:role="line">MySQL or MariaDB</tspan></text>
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5.0000005"
|
|
||||||
y="394.10968"
|
|
||||||
x="190.58249"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-6-5-3"
|
|
||||||
style="fill:#ffffff;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-2-7-4"
|
|
||||||
y="413.52719"
|
|
||||||
x="249.99998"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:14px;font-style:normal;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-8-7-8"
|
|
||||||
y="413.52719"
|
|
||||||
x="249.99998"
|
|
||||||
sodipodi:role="line">Message Broker</tspan><tspan
|
|
||||||
id="tspan9002"
|
|
||||||
style="font-size:12px;font-style:oblique;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="429.39212"
|
|
||||||
x="249.99998"
|
|
||||||
sodipodi:role="line">RabbitMQ or Qpid</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text9036"
|
|
||||||
y="386.50281"
|
|
||||||
x="98.292969"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="386.50281"
|
|
||||||
x="98.292969"
|
|
||||||
id="tspan9038"
|
|
||||||
sodipodi:role="line">Supporting Services</tspan></text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g3768">
|
|
||||||
<rect
|
|
||||||
ry="4.9999995"
|
|
||||||
rx="5"
|
|
||||||
y="774.50824"
|
|
||||||
x="100.981"
|
|
||||||
height="68.037994"
|
|
||||||
width="138.03799"
|
|
||||||
id="rect8524"
|
|
||||||
style="fill:#606060;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1.96200013;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<rect
|
|
||||||
ry="5"
|
|
||||||
rx="5"
|
|
||||||
y="792.9447"
|
|
||||||
x="110.5825"
|
|
||||||
height="40"
|
|
||||||
width="118.835"
|
|
||||||
id="rect7725-7-0-0-5-1"
|
|
||||||
style="fill:#c00000;fill-opacity:1;stroke:#000000;stroke-width:1.16499996;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text7727-7-4-3-8-4"
|
|
||||||
y="813.52722"
|
|
||||||
x="170"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8"
|
|
||||||
y="813.52722"
|
|
||||||
x="170"
|
|
||||||
sodipodi:role="line"><tspan
|
|
||||||
id="tspan3203"
|
|
||||||
style="font-size:14px;font-style:normal;fill:#ffffff">1: Management</tspan></tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
y="829.39215"
|
|
||||||
x="170"
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3205">10.0.0.11/24</tspan></text>
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
id="text8526"
|
|
||||||
y="789.25769"
|
|
||||||
x="102.98046"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
y="789.25769"
|
|
||||||
x="102.98046"
|
|
||||||
id="tspan8528"
|
|
||||||
sodipodi:role="line">Network Interfaces</tspan></text>
|
|
||||||
</g>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 48 KiB |
@ -1,622 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
|
||||||
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
width="340"
|
|
||||||
height="896.8075"
|
|
||||||
id="svg2"
|
|
||||||
version="1.1"
|
|
||||||
inkscape:version="0.48.4 r9939"
|
|
||||||
sodipodi:docname="installguide_neutron-initial-networks.svg">
|
|
||||||
<defs
|
|
||||||
id="defs4">
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow1Mend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow1Mend"
|
|
||||||
style="overflow:visible">
|
|
||||||
<path
|
|
||||||
id="path7091"
|
|
||||||
d="M 0,0 5,-5 -12.5,0 5,5 0,0 z"
|
|
||||||
style="fill-rule:evenodd;stroke:#000000;stroke-width:1pt"
|
|
||||||
transform="matrix(-0.4,0,0,-0.4,-4,0)"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow2Mend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow2Mend"
|
|
||||||
style="overflow:visible">
|
|
||||||
<path
|
|
||||||
id="path7109"
|
|
||||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
|
||||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
||||||
transform="scale(-0.6,-0.6)"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
inkscape:stockid="Arrow2Lend"
|
|
||||||
orient="auto"
|
|
||||||
refY="0"
|
|
||||||
refX="0"
|
|
||||||
id="Arrow2Lend"
|
|
||||||
style="overflow:visible">
|
|
||||||
<path
|
|
||||||
id="path7103"
|
|
||||||
style="fill-rule:evenodd;stroke-width:0.625;stroke-linejoin:round"
|
|
||||||
d="M 8.7185878,4.0337352 -2.2072895,0.01601326 8.7185884,-4.0017078 c -1.7454984,2.3720609 -1.7354408,5.6174519 -6e-7,8.035443 z"
|
|
||||||
transform="matrix(-1.1,0,0,-1.1,-1.1,0)"
|
|
||||||
inkscape:connector-curvature="0" />
|
|
||||||
</marker>
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient6753">
|
|
||||||
<stop
|
|
||||||
id="stop6761"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#80ff00;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#0080ff;stop-opacity:1;"
|
|
||||||
offset="1"
|
|
||||||
id="stop6757" />
|
|
||||||
</linearGradient>
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient6753"
|
|
||||||
id="linearGradient6759"
|
|
||||||
x1="157.56857"
|
|
||||||
y1="529.86218"
|
|
||||||
x2="253.43143"
|
|
||||||
y2="529.86218"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="matrix(1,0,0,0.95000001,2.9780565,364.63374)" />
|
|
||||||
<linearGradient
|
|
||||||
inkscape:collect="always"
|
|
||||||
xlink:href="#linearGradient6753-8"
|
|
||||||
id="linearGradient6759-1"
|
|
||||||
x1="157.56857"
|
|
||||||
y1="529.86218"
|
|
||||||
x2="253.43143"
|
|
||||||
y2="529.86218"
|
|
||||||
gradientUnits="userSpaceOnUse"
|
|
||||||
gradientTransform="translate(0,175)" />
|
|
||||||
<linearGradient
|
|
||||||
id="linearGradient6753-8">
|
|
||||||
<stop
|
|
||||||
id="stop6761-9"
|
|
||||||
offset="0"
|
|
||||||
style="stop-color:#80ff00;stop-opacity:1;" />
|
|
||||||
<stop
|
|
||||||
style="stop-color:#0080ff;stop-opacity:1;"
|
|
||||||
offset="1"
|
|
||||||
id="stop6757-2" />
|
|
||||||
</linearGradient>
|
|
||||||
</defs>
|
|
||||||
<sodipodi:namedview
|
|
||||||
id="base"
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1.0"
|
|
||||||
inkscape:pageopacity="0.0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:zoom="1.16"
|
|
||||||
inkscape:cx="132.16466"
|
|
||||||
inkscape:cy="507.88406"
|
|
||||||
inkscape:document-units="px"
|
|
||||||
inkscape:current-layer="layer1"
|
|
||||||
showgrid="true"
|
|
||||||
inkscape:snap-bbox="true"
|
|
||||||
inkscape:snap-bbox-midpoints="false"
|
|
||||||
inkscape:snap-bbox-edge-midpoints="false"
|
|
||||||
inkscape:bbox-paths="false"
|
|
||||||
inkscape:bbox-nodes="false"
|
|
||||||
inkscape:snap-nodes="false"
|
|
||||||
inkscape:snap-global="true"
|
|
||||||
inkscape:window-width="1366"
|
|
||||||
inkscape:window-height="746"
|
|
||||||
inkscape:window-x="-8"
|
|
||||||
inkscape:window-y="-8"
|
|
||||||
inkscape:window-maximized="1"
|
|
||||||
fit-margin-top="0"
|
|
||||||
fit-margin-left="0"
|
|
||||||
fit-margin-right="0"
|
|
||||||
fit-margin-bottom="0">
|
|
||||||
<inkscape:grid
|
|
||||||
type="xygrid"
|
|
||||||
id="grid2985"
|
|
||||||
empspacing="5"
|
|
||||||
visible="true"
|
|
||||||
enabled="true"
|
|
||||||
snapvisiblegridlinesonly="true"
|
|
||||||
units="px"
|
|
||||||
spacingx="1px"
|
|
||||||
spacingy="1px"
|
|
||||||
originx="-29.999991px"
|
|
||||||
originy="-432.53907px"
|
|
||||||
dotted="false" />
|
|
||||||
</sodipodi:namedview>
|
|
||||||
<metadata
|
|
||||||
id="metadata7">
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
<dc:title></dc:title>
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<g
|
|
||||||
inkscape:label="Layer 1"
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer1"
|
|
||||||
transform="translate(-10,-11.375)">
|
|
||||||
<text
|
|
||||||
sodipodi:linespacing="125%"
|
|
||||||
x="515.35541"
|
|
||||||
y="458.09265"
|
|
||||||
id="text8526"
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"><tspan
|
|
||||||
x="515.35541"
|
|
||||||
y="458.09265"
|
|
||||||
id="tspan8528"
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1">Network Interfaces</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96199918;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7705-0"
|
|
||||||
y="233.34317"
|
|
||||||
x="10.980995"
|
|
||||||
ry="4.999999"
|
|
||||||
rx="4.9999976"
|
|
||||||
height="398.03802"
|
|
||||||
width="338.03793" />
|
|
||||||
<text
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="text7739-1"
|
|
||||||
y="248.82126"
|
|
||||||
x="179.72656"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
|
||||||
id="tspan7741-9"
|
|
||||||
y="248.82126"
|
|
||||||
x="179.72656">Network Node</tspan><tspan
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5"
|
|
||||||
y="267.19217"
|
|
||||||
x="179.72656">network</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#0000c0;fill-opacity:1;stroke:#000000;stroke-width:1.16499984;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-6"
|
|
||||||
y="572.9447"
|
|
||||||
x="90.582497"
|
|
||||||
ry="5"
|
|
||||||
rx="5.000001"
|
|
||||||
height="38.83498"
|
|
||||||
width="178.83501" />
|
|
||||||
<text
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="text7727-7-4-3-8-4-9-6"
|
|
||||||
y="588.26318"
|
|
||||||
x="179.74023"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
style="font-size:14px;fill:#ffffff;fill-opacity:1"
|
|
||||||
id="tspan7729-1-9-6-8-9-9-4"
|
|
||||||
y="588.26318"
|
|
||||||
x="179.74023">External Network Interface</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-4"
|
|
||||||
y="604.12817"
|
|
||||||
x="179.74023">(unnumbered)</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;stroke:#000000;stroke-width:1.96199977;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7705-0-8"
|
|
||||||
y="12.343173"
|
|
||||||
x="10.980999"
|
|
||||||
ry="4.999999"
|
|
||||||
rx="5"
|
|
||||||
height="179.03801"
|
|
||||||
width="338.03799" />
|
|
||||||
<text
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="text7739-1-5"
|
|
||||||
y="27.609818"
|
|
||||||
x="179.9375"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle"
|
|
||||||
id="tspan7741-9-9"
|
|
||||||
y="27.609818"
|
|
||||||
x="179.9375">Compute Node</tspan><tspan
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7743-5-4"
|
|
||||||
y="45.980759"
|
|
||||||
x="179.9375">compute1</tspan></text>
|
|
||||||
<flowRoot
|
|
||||||
xml:space="preserve"
|
|
||||||
id="flowRoot6249"
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
transform="translate(0,308.2677)"><flowRegion
|
|
||||||
id="flowRegion6251"><rect
|
|
||||||
id="rect6253"
|
|
||||||
width="6"
|
|
||||||
height="88"
|
|
||||||
x="249"
|
|
||||||
y="367.09448" /></flowRegion><flowPara
|
|
||||||
id="flowPara6255" /></flowRoot> <rect
|
|
||||||
style="fill:#80ff00;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect6380"
|
|
||||||
width="319"
|
|
||||||
height="60.499996"
|
|
||||||
x="21"
|
|
||||||
y="351.36218"
|
|
||||||
rx="5"
|
|
||||||
ry="4.999999" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="180"
|
|
||||||
y="370.36218"
|
|
||||||
id="text6376"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="180"
|
|
||||||
y="370.36218"
|
|
||||||
id="tspan6382"
|
|
||||||
style="text-align:center;text-anchor:middle">Tenant Virtual Network (demo-net)</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="180"
|
|
||||||
y="386.22711"
|
|
||||||
id="tspan6386"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique">Subnet: 192.168.1.0/24 (demo-subnet)</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="181.66406"
|
|
||||||
y="401.22711"
|
|
||||||
id="tspan6388"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique">Gateway: 192.168.1.1 </tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#0080ff;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect6380-8"
|
|
||||||
width="319"
|
|
||||||
height="61"
|
|
||||||
x="20.5"
|
|
||||||
y="490.86218"
|
|
||||||
rx="5"
|
|
||||||
ry="4.999999" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="179.70605"
|
|
||||||
y="508.76324"
|
|
||||||
id="text6376-8"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.70605"
|
|
||||||
y="508.76324"
|
|
||||||
style="font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan6722"><tspan
|
|
||||||
id="tspan6724"
|
|
||||||
style="font-style:normal;text-align:center;text-anchor:middle">External Virtual Network (ext-net)</tspan></tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.70605"
|
|
||||||
y="524.62817"
|
|
||||||
id="tspan6386-4"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique">Subnet: 203.0.113.0/24 (ext-subnet)</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.70605"
|
|
||||||
y="539.62817"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan6441">Gateway: 203.0.113.1</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.70605"
|
|
||||||
y="554.62817"
|
|
||||||
id="tspan6388-5"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique" /></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#00c000;fill-opacity:1;stroke:#000000;stroke-width:1.16499984;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-5"
|
|
||||||
y="290.94467"
|
|
||||||
x="90.582497"
|
|
||||||
ry="5"
|
|
||||||
rx="4.9999995"
|
|
||||||
height="40.835011"
|
|
||||||
width="178.83499" />
|
|
||||||
<text
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="text7727-7-4-3-8-4-9-7-5"
|
|
||||||
y="307.45267"
|
|
||||||
x="179.64111"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
style="font-size:14px;fill:#ffffff"
|
|
||||||
id="tspan7729-1-9-6-8-9-9-8-6"
|
|
||||||
y="307.45267"
|
|
||||||
x="179.64111">Instance Tunnels Interface</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-3-0"
|
|
||||||
y="323.3176"
|
|
||||||
x="179.64111">10.0.1.21/24</tspan></text>
|
|
||||||
<text
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="text8526-3-9"
|
|
||||||
y="458.09265"
|
|
||||||
x="592.98047"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
style="font-size:16px;fill:#ffffff;fill-opacity:1"
|
|
||||||
id="tspan8528-0-5"
|
|
||||||
y="458.09265"
|
|
||||||
x="592.98047">Network Interfaces</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#e0e0e0;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect6380-8-1"
|
|
||||||
width="338"
|
|
||||||
height="178.00024"
|
|
||||||
x="11"
|
|
||||||
y="673.36206"
|
|
||||||
rx="5.0000005"
|
|
||||||
ry="4.9999995" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="179.6748"
|
|
||||||
y="692.69537"
|
|
||||||
id="text6376-8-5"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.6748"
|
|
||||||
y="692.69537"
|
|
||||||
id="tspan6382-2-2"
|
|
||||||
style="font-size:16px;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1">External Physical Network</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.6748"
|
|
||||||
y="711.06628"
|
|
||||||
id="tspan6388-5-1"
|
|
||||||
style="font-size:14px;font-style:oblique;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;-inkscape-font-specification:Sans Oblique">Subnet: 203.0.113.0/24</tspan></text>
|
|
||||||
<path
|
|
||||||
sodipodi:type="arc"
|
|
||||||
style="fill:url(#linearGradient6759);fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.84100455;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="path6671"
|
|
||||||
sodipodi:cx="205.5"
|
|
||||||
sodipodi:cy="529.86218"
|
|
||||||
sodipodi:rx="47.5"
|
|
||||||
sodipodi:ry="47.5"
|
|
||||||
d="m 253,529.86218 c 0,26.23353 -21.26647,47.5 -47.5,47.5 -26.23353,0 -47.5,-21.26647 -47.5,-47.5 0,-26.23352 21.26647,-47.5 47.5,-47.5 26.23353,0 47.5,21.26648 47.5,47.5 z"
|
|
||||||
transform="matrix(3.3578947,0,0,0.42105263,-510.04736,228.76232)" />
|
|
||||||
<rect
|
|
||||||
style="fill:#00c000;fill-opacity:1;stroke:#000000;stroke-width:1.16499984;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-5-4"
|
|
||||||
y="132.94469"
|
|
||||||
x="90.582497"
|
|
||||||
ry="5"
|
|
||||||
rx="4.9999995"
|
|
||||||
height="40"
|
|
||||||
width="178.83499" />
|
|
||||||
<text
|
|
||||||
style="font-size:12px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;letter-spacing:0px;word-spacing:0px;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
xml:space="preserve"
|
|
||||||
id="text7727-7-4-3-8-4-9-7-5-2"
|
|
||||||
y="149.45267"
|
|
||||||
x="179.64111"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
style="font-size:14px;fill:#ffffff"
|
|
||||||
id="tspan7729-1-9-6-8-9-9-8-6-3"
|
|
||||||
y="149.45267"
|
|
||||||
x="179.64111">Instance Tunnels Interface</tspan><tspan
|
|
||||||
style="font-size:12px;font-style:oblique;fill:#ffffff;-inkscape-font-specification:Sans Oblique"
|
|
||||||
id="tspan7731-2-4-2-1-8-0-3-0-2"
|
|
||||||
y="165.3176"
|
|
||||||
x="179.64111">10.0.1.31/24</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="68.724609"
|
|
||||||
y="453.98523"
|
|
||||||
id="text6714"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan6716"
|
|
||||||
x="68.724609"
|
|
||||||
y="453.98523">Tenant Virtual Router (demo-router)</tspan></text>
|
|
||||||
<rect
|
|
||||||
style="fill:#80ff00;fill-opacity:1;stroke:#000000;stroke-width:1.16499984;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-5-4-2"
|
|
||||||
y="72.362183"
|
|
||||||
x="70.582497"
|
|
||||||
ry="5"
|
|
||||||
rx="4.999999"
|
|
||||||
height="40"
|
|
||||||
width="218.83501" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="180"
|
|
||||||
y="92.362183"
|
|
||||||
id="text6793"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan6795"
|
|
||||||
x="180"
|
|
||||||
y="92.362183"
|
|
||||||
style="text-align:center;text-anchor:middle">Instance (demo1)</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="180"
|
|
||||||
y="108.2271"
|
|
||||||
id="tspan6797"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;-inkscape-font-specification:Sans Oblique">Subnet: 192.168.1.0/24 (demo-subnet)</tspan></text>
|
|
||||||
<path
|
|
||||||
sodipodi:type="arc"
|
|
||||||
style="fill:#0000c0;fill-opacity:1;fill-rule:nonzero;stroke:#000000;stroke-width:0.85723114;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="path6671-7"
|
|
||||||
sodipodi:cx="205.5"
|
|
||||||
sodipodi:cy="529.86218"
|
|
||||||
sodipodi:rx="47.5"
|
|
||||||
sodipodi:ry="47.5"
|
|
||||||
d="m 253,529.86218 c 0,26.23353 -21.26647,47.5 -47.5,47.5 -26.23353,0 -47.5,-21.26647 -47.5,-47.5 0,-26.23352 21.26647,-47.5 47.5,-47.5 26.23353,0 47.5,21.26648 47.5,47.5 z"
|
|
||||||
transform="matrix(3.3578947,0,0,0.40526322,-510.04736,597.87852)" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:14px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="179.35742"
|
|
||||||
y="809.36432"
|
|
||||||
id="text6620"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan6622"
|
|
||||||
x="179.35742"
|
|
||||||
y="809.36432"
|
|
||||||
style="text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">External Physical Router</tspan><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
x="179.35742"
|
|
||||||
y="825.22925"
|
|
||||||
id="tspan6624"
|
|
||||||
style="font-size:12px;font-style:oblique;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1;-inkscape-font-specification:Sans Oblique">IP Address: 203.0.113.1</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-start:none"
|
|
||||||
d="m 180,112.36218 -1e-5,20.58251"
|
|
||||||
id="path6841"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#rect7725-7-0-0-5-1-4-7-5-4-2"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#rect7725-7-0-0-5-1-4-7-5-4"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="m 179.99999,311.36218 0,0"
|
|
||||||
id="path7029"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="20"
|
|
||||||
inkscape:connection-start="#rect7725-7-0-0-5-1-4-7-5"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#rect7725-7-0-0-5-1-4-7-5"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 180.14531,331.77968 0.13938,19.5825"
|
|
||||||
id="path7037"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="20"
|
|
||||||
inkscape:connection-start="#rect7725-7-0-0-5-1-4-7-5"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#rect6380"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 180.2847,411.86218 -0.14235,20.00001"
|
|
||||||
id="path7039"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#rect6380"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#path6671"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 180,471.86219 0,18.99999"
|
|
||||||
id="path7041"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#path6671"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#rect6380-8"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 180,551.86218 0,21.08252"
|
|
||||||
id="path7043"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#rect6380-8"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#rect7725-7-0-0-5-1-4-7-6"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<rect
|
|
||||||
style="fill:#0000c0;fill-opacity:1;stroke:#000000;stroke-width:1.16499984;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
|
|
||||||
id="rect7725-7-0-0-5-1-4-7-6-9"
|
|
||||||
y="732.9447"
|
|
||||||
x="90.582497"
|
|
||||||
ry="5.0000005"
|
|
||||||
rx="5.000001"
|
|
||||||
height="38.834999"
|
|
||||||
width="178.83501" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 180,771.7797 0,21.58247"
|
|
||||||
id="path7074"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#rect7725-7-0-0-5-1-4-7-6-9"
|
|
||||||
inkscape:connection-start-point="d4"
|
|
||||||
inkscape:connection-end="#path6671-7"
|
|
||||||
inkscape:connection-end-point="d4" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker-end:url(#Arrow1Mend);display:inline"
|
|
||||||
d="m 180,831.86218 0,60.5"
|
|
||||||
id="path7076"
|
|
||||||
inkscape:connector-type="polyline"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
inkscape:connection-start="#path6671-7"
|
|
||||||
inkscape:connection-start-point="d4" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="150.49506"
|
|
||||||
y="913.74829"
|
|
||||||
id="text7896"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7898"
|
|
||||||
x="150.49506"
|
|
||||||
y="913.74829" /></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="152.16797"
|
|
||||||
y="907.995"
|
|
||||||
id="text7900"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7902"
|
|
||||||
x="152.16797"
|
|
||||||
y="907.995">Internet</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 270.39755,591.56673 c 79.43842,33.98981 78.43974,142.67834 0,164.20454"
|
|
||||||
id="path7904"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
sodipodi:nodetypes="cc" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:3;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
|
|
||||||
d="m 270.39755,150.25991 c 79.43842,33.98981 78.43974,142.67834 0,164.20454"
|
|
||||||
id="path7904-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
sodipodi:nodetypes="cc" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:16px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="103.62207"
|
|
||||||
y="755.98523"
|
|
||||||
id="text7928"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan7930"
|
|
||||||
x="103.62207"
|
|
||||||
y="755.98523"
|
|
||||||
style="font-size:14px;fill:#ffffff;fill-opacity:1">External Physical Switch</tspan></text>
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 51 KiB |
@ -1,790 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
||||||
<svg
|
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
|
||||||
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
|
||||||
xmlns:svg="http://www.w3.org/2000/svg"
|
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
|
||||||
version="1.1"
|
|
||||||
viewBox="-12 -7 582 380"
|
|
||||||
width="582pt"
|
|
||||||
height="380pt"
|
|
||||||
id="svg2"
|
|
||||||
inkscape:version="0.48.2 r9819"
|
|
||||||
sodipodi:docname="networking-interactions-swift.svg">
|
|
||||||
<sodipodi:namedview
|
|
||||||
pagecolor="#ffffff"
|
|
||||||
bordercolor="#666666"
|
|
||||||
borderopacity="1"
|
|
||||||
objecttolerance="10"
|
|
||||||
gridtolerance="10"
|
|
||||||
guidetolerance="10"
|
|
||||||
inkscape:pageopacity="0"
|
|
||||||
inkscape:pageshadow="2"
|
|
||||||
inkscape:window-width="1593"
|
|
||||||
inkscape:window-height="944"
|
|
||||||
id="namedview250"
|
|
||||||
showgrid="false"
|
|
||||||
inkscape:zoom="1.2518949"
|
|
||||||
inkscape:cx="514.23319"
|
|
||||||
inkscape:cy="180.69728"
|
|
||||||
inkscape:window-x="65"
|
|
||||||
inkscape:window-y="38"
|
|
||||||
inkscape:window-maximized="0"
|
|
||||||
inkscape:current-layer="g39" />
|
|
||||||
<metadata
|
|
||||||
id="metadata4">
|
|
||||||
<dc:date>2014-03-28 03:35Z</dc:date>
|
|
||||||
<!-- Produced by OmniGraffle Professional 5.4.4 -->
|
|
||||||
<rdf:RDF>
|
|
||||||
<cc:Work
|
|
||||||
rdf:about="">
|
|
||||||
<dc:format>image/svg+xml</dc:format>
|
|
||||||
<dc:type
|
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
|
||||||
</cc:Work>
|
|
||||||
</rdf:RDF>
|
|
||||||
</metadata>
|
|
||||||
<defs
|
|
||||||
id="defs6">
|
|
||||||
<filter
|
|
||||||
id="Shadow"
|
|
||||||
filterUnits="userSpaceOnUse">
|
|
||||||
<feGaussianBlur
|
|
||||||
in="SourceAlpha"
|
|
||||||
result="blur"
|
|
||||||
stdDeviation="3.488"
|
|
||||||
id="feGaussianBlur9" />
|
|
||||||
<feOffset
|
|
||||||
in="blur"
|
|
||||||
result="offset"
|
|
||||||
dx="0"
|
|
||||||
dy="4"
|
|
||||||
id="feOffset11" />
|
|
||||||
<feFlood
|
|
||||||
flood-color="black"
|
|
||||||
flood-opacity=".75"
|
|
||||||
result="flood"
|
|
||||||
id="feFlood13" />
|
|
||||||
<feComposite
|
|
||||||
in="flood"
|
|
||||||
in2="offset"
|
|
||||||
operator="in"
|
|
||||||
id="feComposite15" />
|
|
||||||
</filter>
|
|
||||||
<font-face
|
|
||||||
font-family="Helvetica"
|
|
||||||
font-size="12"
|
|
||||||
units-per-em="1000"
|
|
||||||
underline-position="-75.683594"
|
|
||||||
underline-thickness="49.316406"
|
|
||||||
slope="0"
|
|
||||||
x-height="522.94922"
|
|
||||||
cap-height="717.28516"
|
|
||||||
ascent="770.01953"
|
|
||||||
descent="-229.98047"
|
|
||||||
font-weight="500"
|
|
||||||
id="font-face17">
|
|
||||||
<font-face-src
|
|
||||||
id="font-face-src19">
|
|
||||||
<font-face-name
|
|
||||||
name="Helvetica"
|
|
||||||
id="font-face-name21" />
|
|
||||||
</font-face-src>
|
|
||||||
</font-face>
|
|
||||||
<font-face
|
|
||||||
font-family="Helvetica"
|
|
||||||
font-size="14"
|
|
||||||
units-per-em="1000"
|
|
||||||
underline-position="-75.683594"
|
|
||||||
underline-thickness="49.316406"
|
|
||||||
slope="0"
|
|
||||||
x-height="522.94922"
|
|
||||||
cap-height="717.28516"
|
|
||||||
ascent="770.01953"
|
|
||||||
descent="-229.98047"
|
|
||||||
font-weight="500"
|
|
||||||
id="font-face23">
|
|
||||||
<font-face-src
|
|
||||||
id="font-face-src25">
|
|
||||||
<font-face-name
|
|
||||||
name="Helvetica"
|
|
||||||
id="font-face-name27" />
|
|
||||||
</font-face-src>
|
|
||||||
</font-face>
|
|
||||||
<marker
|
|
||||||
orient="auto"
|
|
||||||
overflow="visible"
|
|
||||||
markerUnits="strokeWidth"
|
|
||||||
id="FilledArrow_Marker"
|
|
||||||
viewBox="-9 -4 10 8"
|
|
||||||
markerWidth="10"
|
|
||||||
markerHeight="8"
|
|
||||||
color="black">
|
|
||||||
<g
|
|
||||||
id="g30">
|
|
||||||
<path
|
|
||||||
d="M -8 0 L 0 3 L 0 -3 Z"
|
|
||||||
fill="currentColor"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="1"
|
|
||||||
id="path32" />
|
|
||||||
</g>
|
|
||||||
</marker>
|
|
||||||
<marker
|
|
||||||
orient="auto"
|
|
||||||
overflow="visible"
|
|
||||||
markerUnits="strokeWidth"
|
|
||||||
id="FilledArrow_Marker_2"
|
|
||||||
viewBox="-1 -4 10 8"
|
|
||||||
markerWidth="10"
|
|
||||||
markerHeight="8"
|
|
||||||
color="black">
|
|
||||||
<g
|
|
||||||
id="g35">
|
|
||||||
<path
|
|
||||||
d="M 8 0 L 0 -3 L 0 3 Z"
|
|
||||||
fill="currentColor"
|
|
||||||
stroke="currentColor"
|
|
||||||
stroke-width="1"
|
|
||||||
id="path37" />
|
|
||||||
</g>
|
|
||||||
</marker>
|
|
||||||
</defs>
|
|
||||||
<g
|
|
||||||
stroke="none"
|
|
||||||
stroke-opacity="1"
|
|
||||||
stroke-dasharray="none"
|
|
||||||
fill="none"
|
|
||||||
fill-opacity="1"
|
|
||||||
id="g39">
|
|
||||||
<title
|
|
||||||
id="title41">Canvas 1</title>
|
|
||||||
<g
|
|
||||||
id="g49"
|
|
||||||
transform="translate(-5.7512816,-0.63903128)">
|
|
||||||
<g
|
|
||||||
transform="translate(-5.7512816,-0.63903128)"
|
|
||||||
id="use51"
|
|
||||||
style="filter:url(#Shadow)">
|
|
||||||
<rect
|
|
||||||
x="47.454109"
|
|
||||||
y="113.5"
|
|
||||||
width="140"
|
|
||||||
height="155"
|
|
||||||
id="rect3745"
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(-5.7512816,-0.63903128)"
|
|
||||||
id="use53"
|
|
||||||
style="filter:url(#Shadow)">
|
|
||||||
<rect
|
|
||||||
x="56.454109"
|
|
||||||
y="120.5"
|
|
||||||
width="140"
|
|
||||||
height="155"
|
|
||||||
id="rect3741"
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(-5.7512816,-0.63903128)"
|
|
||||||
id="use55"
|
|
||||||
style="filter:url(#Shadow)">
|
|
||||||
<rect
|
|
||||||
x="83"
|
|
||||||
y="145"
|
|
||||||
width="140"
|
|
||||||
height="155"
|
|
||||||
id="rect3753"
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(-5.7512816,-0.63903128)"
|
|
||||||
id="use57"
|
|
||||||
style="filter:url(#Shadow)">
|
|
||||||
<rect
|
|
||||||
x="74"
|
|
||||||
y="136"
|
|
||||||
width="140"
|
|
||||||
height="155"
|
|
||||||
id="rect3757"
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(-5.7512816,-0.63903128)"
|
|
||||||
id="use59"
|
|
||||||
style="filter:url(#Shadow)">
|
|
||||||
<rect
|
|
||||||
x="74"
|
|
||||||
y="136"
|
|
||||||
width="140"
|
|
||||||
height="155"
|
|
||||||
id="rect3749"
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
transform="translate(-5.7512816,-0.63903128)"
|
|
||||||
id="use61"
|
|
||||||
style="filter:url(#Shadow)">
|
|
||||||
<rect
|
|
||||||
x="65"
|
|
||||||
y="127"
|
|
||||||
width="140"
|
|
||||||
height="155"
|
|
||||||
id="rect3737"
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round" />
|
|
||||||
</g>
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use63"
|
|
||||||
xlink:href="#id2959_Graphic"
|
|
||||||
transform="translate(-0.63903128,-30.03447)" />
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use65"
|
|
||||||
xlink:href="#id2961_Graphic"
|
|
||||||
transform="translate(-0.63903128,-30.03447)" />
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use67"
|
|
||||||
xlink:href="#id2998_Graphic" />
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use69"
|
|
||||||
xlink:href="#id2991_Graphic"
|
|
||||||
transform="translate(-0.63903128,-30.03447)" />
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use71"
|
|
||||||
xlink:href="#id2992_Graphic"
|
|
||||||
transform="translate(-0.63903128,-30.03447)" />
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use73"
|
|
||||||
xlink:href="#id3007_Graphic"
|
|
||||||
transform="translate(-0.63903128,-0.31951564)" />
|
|
||||||
<use
|
|
||||||
height="380"
|
|
||||||
width="582"
|
|
||||||
y="0"
|
|
||||||
x="0"
|
|
||||||
style="filter:url(#Shadow)"
|
|
||||||
id="use75"
|
|
||||||
xlink:href="#id3008_Graphic"
|
|
||||||
transform="translate(-0.63903128,-30.03447)" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="id2959_Graphic"
|
|
||||||
transform="translate(-5.1122503,29.395439)">
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect96"
|
|
||||||
height="189"
|
|
||||||
width="142"
|
|
||||||
y="45"
|
|
||||||
x="8" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="id2961_Graphic"
|
|
||||||
transform="translate(-5.1122503,29.395439)">
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect99"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="75"
|
|
||||||
x="22.091818" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect101"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="75"
|
|
||||||
x="22.091818" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text103"
|
|
||||||
x="25.174723"
|
|
||||||
y="74.914536">
|
|
||||||
<tspan
|
|
||||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan105"
|
|
||||||
textLength="102.07617"
|
|
||||||
y="85.914536"
|
|
||||||
x="27.590729"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">swift-container-server</tspan>
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text107"
|
|
||||||
x="27.841843"
|
|
||||||
y="85.395439">
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan109"
|
|
||||||
textLength="91.06836"
|
|
||||||
y="99.395439"
|
|
||||||
x="27.841843"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Storage nodes</tspan>
|
|
||||||
</text>
|
|
||||||
<line
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="line111"
|
|
||||||
y2="267.4903"
|
|
||||||
x2="394.80969"
|
|
||||||
y1="267.4903"
|
|
||||||
x1="351.60968" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text113"
|
|
||||||
x="418.24872"
|
|
||||||
y="258.36099">
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan115"
|
|
||||||
textLength="38.13086"
|
|
||||||
y="272.36099"
|
|
||||||
x="418.24872"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Public</tspan>
|
|
||||||
</text>
|
|
||||||
<line
|
|
||||||
style="stroke:#ff0000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8, 4, 1, 4"
|
|
||||||
id="line117"
|
|
||||||
y2="315.86096"
|
|
||||||
x2="395.44873"
|
|
||||||
y1="315.86096"
|
|
||||||
x1="352.24872" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text119"
|
|
||||||
x="418.24872"
|
|
||||||
y="307.86099">
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan121"
|
|
||||||
textLength="131.5166"
|
|
||||||
y="321.86099"
|
|
||||||
x="418.24872"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Replication (optional)</tspan>
|
|
||||||
</text>
|
|
||||||
<line
|
|
||||||
style="stroke:#0033cc;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8, 5"
|
|
||||||
id="line123"
|
|
||||||
y2="287.86096"
|
|
||||||
x2="396.44873"
|
|
||||||
y1="287.86096"
|
|
||||||
x1="351.24875" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text125"
|
|
||||||
x="418.24872"
|
|
||||||
y="279.36102">
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan127"
|
|
||||||
textLength="104.268555"
|
|
||||||
y="293.36102"
|
|
||||||
x="418.24872"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Storage Network</tspan>
|
|
||||||
</text>
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect129"
|
|
||||||
height="40"
|
|
||||||
width="116.90818"
|
|
||||||
y="8.3609686"
|
|
||||||
x="199.99873" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect131"
|
|
||||||
height="40"
|
|
||||||
width="116.90818"
|
|
||||||
y="8.3609686"
|
|
||||||
x="199.99873" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text133"
|
|
||||||
x="204.99873"
|
|
||||||
y="14.360969">
|
|
||||||
<tspan
|
|
||||||
style="font-size:12px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan135"
|
|
||||||
textLength="62.701172"
|
|
||||||
y="25.36097"
|
|
||||||
x="228.76923"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">OpenStack</tspan>
|
|
||||||
<tspan
|
|
||||||
style="font-size:12px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan137"
|
|
||||||
textLength="58.705078"
|
|
||||||
y="39.36097"
|
|
||||||
x="229.10028"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">Dashboard</tspan>
|
|
||||||
</text>
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect141"
|
|
||||||
height="23.746155"
|
|
||||||
width="116.90818"
|
|
||||||
y="157.85469"
|
|
||||||
x="400.01553" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text143"
|
|
||||||
x="401.50085"
|
|
||||||
y="161.77165">
|
|
||||||
<tspan
|
|
||||||
style="font-size:11.19999981px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan145"
|
|
||||||
textLength="101.390625"
|
|
||||||
y="172.77165"
|
|
||||||
x="404.25964"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">OpenStack Identity</tspan>
|
|
||||||
</text>
|
|
||||||
<g
|
|
||||||
id="id2998_Graphic"
|
|
||||||
transform="translate(-5.7512816,-0.63903128)">
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect148"
|
|
||||||
height="41"
|
|
||||||
width="116.90818"
|
|
||||||
y="308"
|
|
||||||
x="136.09181" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect150"
|
|
||||||
height="41"
|
|
||||||
width="116.90818"
|
|
||||||
y="308"
|
|
||||||
x="136.09181" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text152"
|
|
||||||
transform="translate(141.09181,321.5)">
|
|
||||||
<tspan
|
|
||||||
style="font-size:12px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan154"
|
|
||||||
textLength="91.39453"
|
|
||||||
y="11"
|
|
||||||
x="7.7568254"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">all storage nodes</tspan>
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text156"
|
|
||||||
x="348.24872"
|
|
||||||
y="236.86099">
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan158"
|
|
||||||
textLength="58.344727"
|
|
||||||
y="250.86099"
|
|
||||||
x="348.24872"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Networks</tspan>
|
|
||||||
</text>
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect160"
|
|
||||||
height="155"
|
|
||||||
width="140"
|
|
||||||
y="32.86097"
|
|
||||||
x="388.24872" />
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect162"
|
|
||||||
height="27"
|
|
||||||
width="116.90818"
|
|
||||||
y="93.36097"
|
|
||||||
x="400.74869" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect164"
|
|
||||||
height="27"
|
|
||||||
width="116.90818"
|
|
||||||
y="93.36097"
|
|
||||||
x="400.74869" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text166"
|
|
||||||
x="402.55353"
|
|
||||||
y="100.18049">
|
|
||||||
<tspan
|
|
||||||
style="font-size:11.19999981px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan168"
|
|
||||||
textLength="98.683594"
|
|
||||||
y="111.18049"
|
|
||||||
x="406.66583"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">swift-proxy-server</tspan>
|
|
||||||
</text>
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text170"
|
|
||||||
x="402.01978"
|
|
||||||
y="48.985329">
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan172"
|
|
||||||
textLength="101.9375"
|
|
||||||
y="62.985329"
|
|
||||||
x="402.01978"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Cloud controller/</tspan>
|
|
||||||
<tspan
|
|
||||||
style="font-size:14px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan174"
|
|
||||||
textLength="78.572266"
|
|
||||||
y="79.985329"
|
|
||||||
x="402.01978"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="14">Proxy server</tspan>
|
|
||||||
</text>
|
|
||||||
<text
|
|
||||||
style="fill:#ff0000"
|
|
||||||
id="text176"
|
|
||||||
x="151.24872"
|
|
||||||
y="218.36098">
|
|
||||||
<tspan
|
|
||||||
style="font-size:12px;font-weight:500;fill:#ff0000;font-family:Helvetica"
|
|
||||||
id="tspan178"
|
|
||||||
textLength="90.697266"
|
|
||||||
y="229.36098"
|
|
||||||
x="151.40009"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">Networking inter-</tspan>
|
|
||||||
<tspan
|
|
||||||
style="font-size:12px;font-weight:500;fill:#ff0000;font-family:Helvetica"
|
|
||||||
id="tspan180"
|
|
||||||
textLength="86.70117"
|
|
||||||
y="243.36098"
|
|
||||||
x="153.39813"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">communications</tspan>
|
|
||||||
</text>
|
|
||||||
<g
|
|
||||||
id="id2991_Graphic"
|
|
||||||
transform="translate(-5.1122503,29.395439)">
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect205"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="110"
|
|
||||||
x="22.091818" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect207"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="110"
|
|
||||||
x="22.091818" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text209"
|
|
||||||
x="22.618599"
|
|
||||||
y="86.909409">
|
|
||||||
<tspan
|
|
||||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan211"
|
|
||||||
textLength="94.740234"
|
|
||||||
y="97.909409"
|
|
||||||
x="28.702574"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">swift-account-server</tspan>
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="id2992_Graphic"
|
|
||||||
transform="translate(-5.1122503,29.395439)">
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect214"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="145.5"
|
|
||||||
x="22.091818" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect216"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="145.5"
|
|
||||||
x="22.091818" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text218"
|
|
||||||
x="0.25250414"
|
|
||||||
y="153.72192">
|
|
||||||
<tspan
|
|
||||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan220"
|
|
||||||
textLength="38.021484"
|
|
||||||
y="164.72192"
|
|
||||||
x="34.695854"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">swift-object-server</tspan>
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
<line
|
|
||||||
style="stroke:#0033cc;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:7.99999999, 4.99999999"
|
|
||||||
id="line222"
|
|
||||||
y2="74.395447"
|
|
||||||
x2="144.80484"
|
|
||||||
y1="36.477646"
|
|
||||||
x1="199.5034" />
|
|
||||||
<line
|
|
||||||
style="stroke:#0033cc;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8.0000001, 5.00000007"
|
|
||||||
id="line226"
|
|
||||||
y2="25.970657"
|
|
||||||
x2="318.05356"
|
|
||||||
y1="70.259567"
|
|
||||||
x1="387.81421" />
|
|
||||||
<g
|
|
||||||
id="id3007_Graphic"
|
|
||||||
transform="translate(-5.1122503,-0.31951564)">
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect231"
|
|
||||||
height="27"
|
|
||||||
width="116.90818"
|
|
||||||
y="127"
|
|
||||||
x="405.5459" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect233"
|
|
||||||
height="27"
|
|
||||||
width="116.90818"
|
|
||||||
y="127"
|
|
||||||
x="405.5459" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text235"
|
|
||||||
x="407.35074"
|
|
||||||
y="133.5">
|
|
||||||
<tspan
|
|
||||||
style="font-size:11.19999981px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan237"
|
|
||||||
textLength="106.70508"
|
|
||||||
y="144.5"
|
|
||||||
x="407.4523"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">memcached service</tspan>
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="id3008_Graphic"
|
|
||||||
transform="translate(-5.1122503,29.395439)">
|
|
||||||
<rect
|
|
||||||
style="fill:#ffffff"
|
|
||||||
id="rect240"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="181"
|
|
||||||
x="22.091818" />
|
|
||||||
<rect
|
|
||||||
style="stroke:#000000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round"
|
|
||||||
id="rect242"
|
|
||||||
height="33"
|
|
||||||
width="116.90818"
|
|
||||||
y="181"
|
|
||||||
x="22.091818" />
|
|
||||||
<text
|
|
||||||
style="fill:#000000"
|
|
||||||
id="text244"
|
|
||||||
transform="translate(27.091818,190.5)">
|
|
||||||
<tspan
|
|
||||||
style="font-size:9.60000038px;font-weight:500;font-family:Helvetica"
|
|
||||||
id="tspan246"
|
|
||||||
textLength="28.669922"
|
|
||||||
y="11"
|
|
||||||
x="39.119129"
|
|
||||||
font-weight="500"
|
|
||||||
font-size="12">rsync</tspan>
|
|
||||||
</text>
|
|
||||||
</g>
|
|
||||||
<line
|
|
||||||
style="stroke:#ff0000;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:8, 4, 1, 4"
|
|
||||||
id="line248"
|
|
||||||
y2="233.78802"
|
|
||||||
x2="131.04532"
|
|
||||||
y1="315.36096"
|
|
||||||
x1="180.71121" />
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="230.19286"
|
|
||||||
y="67.543045"
|
|
||||||
id="text3701"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3703"
|
|
||||||
x="230.19286"
|
|
||||||
y="67.543045"
|
|
||||||
style="font-size:11.19999981px">Tenant API</tspan></text>
|
|
||||||
<text
|
|
||||||
xml:space="preserve"
|
|
||||||
style="font-size:32px;font-style:normal;font-weight:normal;line-height:125%;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;font-family:Sans"
|
|
||||||
x="54.459255"
|
|
||||||
y="159.56354"
|
|
||||||
id="text3731"
|
|
||||||
sodipodi:linespacing="125%"><tspan
|
|
||||||
sodipodi:role="line"
|
|
||||||
id="tspan3733"
|
|
||||||
x="54.459255"
|
|
||||||
y="159.56354"
|
|
||||||
style="font-size:10.39999962px">SQLite</tspan></text>
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="M 410.5776,68.416345 499.24319,145.1001"
|
|
||||||
id="path3781"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
transform="matrix(0.8,0,0,0.8,-12,-7)" />
|
|
||||||
<path
|
|
||||||
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
|
|
||||||
d="M 264.39919,69.215135 196.50212,145.89889"
|
|
||||||
id="path3783"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
transform="matrix(0.8,0,0,0.8,-12,-7)" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
|
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 112 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 54 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 75 KiB |
Before Width: | Height: | Size: 602 KiB |
@ -1,84 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
|
||||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
||||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
|
||||||
<parent>
|
|
||||||
<groupId>org.openstack.docs</groupId>
|
|
||||||
<artifactId>parent-pom</artifactId>
|
|
||||||
<version>1.0.0-SNAPSHOT</version>
|
|
||||||
<relativePath>../pom.xml</relativePath>
|
|
||||||
</parent>
|
|
||||||
<modelVersion>4.0.0</modelVersion>
|
|
||||||
<artifactId>openstack-install-guide</artifactId>
|
|
||||||
<packaging>jar</packaging>
|
|
||||||
<name>OpenStack Installation Guide</name>
|
|
||||||
<properties>
|
|
||||||
<!-- This is set by Jenkins according to the branch. -->
|
|
||||||
<release.path.name>local</release.path.name>
|
|
||||||
<comments.enabled>1</comments.enabled>
|
|
||||||
<operating.system>apt</operating.system>
|
|
||||||
<!-- This is set by Jenkins to run twice for each similar operating system group -->
|
|
||||||
<profile.os>ubuntu</profile.os>
|
|
||||||
</properties>
|
|
||||||
<!-- ################################################ -->
|
|
||||||
<!-- USE "mvn clean generate-sources" to run this POM -->
|
|
||||||
<!-- ################################################ -->
|
|
||||||
<build>
|
|
||||||
<plugins>
|
|
||||||
<plugin>
|
|
||||||
<groupId>com.rackspace.cloud.api</groupId>
|
|
||||||
<artifactId>clouddocs-maven-plugin</artifactId>
|
|
||||||
<!-- version is set in ../pom.xml file -->
|
|
||||||
<executions>
|
|
||||||
<execution>
|
|
||||||
<id>generate-webhelp</id>
|
|
||||||
<goals>
|
|
||||||
<goal>generate-webhelp</goal>
|
|
||||||
</goals>
|
|
||||||
<phase>generate-sources</phase>
|
|
||||||
<configuration>
|
|
||||||
<!-- These parameters only apply to webhelp -->
|
|
||||||
<enableDisqus>${comments.enabled}</enableDisqus>
|
|
||||||
<disqusShortname>os-install-${operating.system}</disqusShortname>
|
|
||||||
<enableGoogleAnalytics>1</enableGoogleAnalytics>
|
|
||||||
<googleAnalyticsId>UA-17511903-1</googleAnalyticsId>
|
|
||||||
<generateToc>
|
|
||||||
appendix toc,title
|
|
||||||
article/appendix nop
|
|
||||||
article toc,title
|
|
||||||
book toc,title,figure,table,example,equation
|
|
||||||
chapter toc,title
|
|
||||||
section toc
|
|
||||||
part toc,title
|
|
||||||
qandadiv toc
|
|
||||||
qandaset toc
|
|
||||||
reference toc,title
|
|
||||||
set toc,title
|
|
||||||
</generateToc>
|
|
||||||
<chapterAutolabel>1</chapterAutolabel>
|
|
||||||
<sectionAutolabel>0</sectionAutolabel>
|
|
||||||
<tocSectionDepth>1</tocSectionDepth>
|
|
||||||
<formalProcedures>0</formalProcedures>
|
|
||||||
<webhelpDirname>${release.path.name}/install-guide/install/${operating.system}</webhelpDirname>
|
|
||||||
<includeDateInPdfFilename>0</includeDateInPdfFilename>
|
|
||||||
<pdfFilenameBase>openstack-install-guide-${operating.system}-${release.path.name}</pdfFilenameBase>
|
|
||||||
</configuration>
|
|
||||||
</execution>
|
|
||||||
</executions>
|
|
||||||
<configuration>
|
|
||||||
<glossaryCollection>${basedir}/../glossary/glossary-terms.xml</glossaryCollection>
|
|
||||||
<!-- These parameters apply to pdf and webhelp -->
|
|
||||||
<profileAudience>installer</profileAudience>
|
|
||||||
<xincludeSupported>true</xincludeSupported>
|
|
||||||
<sourceDirectory>.</sourceDirectory>
|
|
||||||
<includes>
|
|
||||||
bk-openstack-install-guide.xml
|
|
||||||
</includes>
|
|
||||||
<canonicalUrlBase>http://docs.openstack.org/${release.path.name}/install-guide/install/${operating.system}/content</canonicalUrlBase>
|
|
||||||
<branding>openstack</branding>
|
|
||||||
<profileOs>${profile.os}</profileOs>
|
|
||||||
</configuration>
|
|
||||||
</plugin>
|
|
||||||
</plugins>
|
|
||||||
</build>
|
|
||||||
</project>
|
|
@ -1,33 +0,0 @@
|
|||||||
Roadmap for Install Guides
|
|
||||||
--------------------------
|
|
||||||
|
|
||||||
This file is stored with the source to offer ideas for what to work on.
|
|
||||||
Put your name next to a task if you want to work on it and put a WIP
|
|
||||||
review up on review.openstack.org.
|
|
||||||
|
|
||||||
May 20, 2014
|
|
||||||
|
|
||||||
This guide has an overall blueprint with spec at:
|
|
||||||
https://wiki.openstack.org/wiki/Documentation/InstallationGuideImprovements
|
|
||||||
|
|
||||||
To do tasks:
|
|
||||||
|
|
||||||
- Unify chapter and section names (such as Overview)
|
|
||||||
- Add sample output of each command and highlight important parts
|
|
||||||
- Mention project as standard but tenant must be used for CLI params
|
|
||||||
- Refer to generic SQL database and update for MariaDB (RHEL), MySQL,
|
|
||||||
and PostgreSQL
|
|
||||||
- Provide sample configuration files for each node
|
|
||||||
- Compute and network nodes should reference server on controller node
|
|
||||||
- Update password list
|
|
||||||
- Add audience information; who is this book intended for
|
|
||||||
|
|
||||||
Ongoing tasks:
|
|
||||||
|
|
||||||
- Ensure it meets conventions and standards
|
|
||||||
- Continually update with latest release information relevant to install
|
|
||||||
|
|
||||||
Wishlist tasks:
|
|
||||||
|
|
||||||
- Replace all individual client commands (like keystone, nova) with
|
|
||||||
openstack client commands
|
|
@ -1,143 +0,0 @@
|
|||||||
<?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="basics-database">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>SQL database</title>
|
|
||||||
<para>Most OpenStack services use an SQL database to store information.
|
|
||||||
The database typically runs on the controller node. The procedures in
|
|
||||||
this guide use <application>MariaDB</application> or
|
|
||||||
<application>MySQL</application> depending on the distribution.
|
|
||||||
OpenStack services also support other SQL databases including
|
|
||||||
<link xlink:href="http://www.postgresql.org/">PostgreSQL</link>.</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To install and configure the database server</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<note os="ubuntu;rhel;centos;fedora;opensuse">
|
|
||||||
<para>The Python MySQL library is compatible with MariaDB.</para>
|
|
||||||
</note>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install mariadb-server python-mysqldb</userinput></screen>
|
|
||||||
<screen os="debian"><prompt>#</prompt> <userinput>apt-get install mysql-server python-mysqldb</userinput></screen>
|
|
||||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install mariadb mariadb-server MySQL-python</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install mariadb-client mariadb python-mysql</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Choose a suitable password for the database root account.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para os="ubuntu;debian">Create and edit the
|
|
||||||
<filename>/etc/mysql/conf.d/mysqld_openstack.cnf</filename> file and
|
|
||||||
complete the following actions:</para>
|
|
||||||
<para os="opensuse;sles;rhel;centos;fedora">Create and edit the
|
|
||||||
<filename>/etc/my.cnf.d/mariadb_openstack.cnf</filename> file and
|
|
||||||
complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[mysqld]</literal> section, set the
|
|
||||||
<literal>bind-address</literal> key to the management IP
|
|
||||||
address of the controller node to enable access by other
|
|
||||||
nodes via the management network:</para>
|
|
||||||
<programlisting language="ini">[mysqld]
|
|
||||||
...
|
|
||||||
bind-address = 10.0.0.11</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[mysqld]</literal> section, set the
|
|
||||||
following keys to enable useful options and the UTF-8
|
|
||||||
character set:</para>
|
|
||||||
<programlisting language="ini">[mysqld]
|
|
||||||
...
|
|
||||||
default-storage-engine = innodb
|
|
||||||
innodb_file_per_table
|
|
||||||
collation-server = utf8_general_ci
|
|
||||||
init-connect = 'SET NAMES utf8'
|
|
||||||
character-set-server = utf8</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the database service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service mysql restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the database service and configure it to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl enable mariadb.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start mariadb.service</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>systemctl enable mysql.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start mysql.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para os="ubuntu;debian">Secure the database service:</para>
|
|
||||||
<para os="rhel;centos;fedora;sles;opensuse">Secure the database
|
|
||||||
service including choosing a suitable password for the root
|
|
||||||
account:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>mysql_secure_installation</userinput>
|
|
||||||
<computeroutput>NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
|
|
||||||
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
|
|
||||||
|
|
||||||
In order to log into MariaDB to secure it, we'll need the current
|
|
||||||
password for the root user. If you've just installed MariaDB, and
|
|
||||||
you haven't set the root password yet, the password will be blank,
|
|
||||||
so you should just press enter here.
|
|
||||||
|
|
||||||
Enter current password for root (enter for none):
|
|
||||||
OK, successfully used password, moving on...
|
|
||||||
|
|
||||||
Setting the root password ensures that nobody can log into the MariaDB
|
|
||||||
root user without the proper authorisation.
|
|
||||||
|
|
||||||
Set root password? [Y/n] Y
|
|
||||||
New password:
|
|
||||||
Re-enter new password:
|
|
||||||
Password updated successfully!
|
|
||||||
Reloading privilege tables..
|
|
||||||
... Success!
|
|
||||||
|
|
||||||
|
|
||||||
By default, a MariaDB installation has an anonymous user, allowing anyone
|
|
||||||
to log into MariaDB without having to have a user account created for
|
|
||||||
them. This is intended only for testing, and to make the installation
|
|
||||||
go a bit smoother. You should remove them before moving into a
|
|
||||||
production environment.
|
|
||||||
|
|
||||||
Remove anonymous users? [Y/n] Y
|
|
||||||
... Success!
|
|
||||||
|
|
||||||
Normally, root should only be allowed to connect from 'localhost'. This
|
|
||||||
ensures that someone cannot guess at the root password from the network.
|
|
||||||
|
|
||||||
Disallow root login remotely? [Y/n] Y
|
|
||||||
... Success!
|
|
||||||
|
|
||||||
By default, MariaDB comes with a database named 'test' that anyone can
|
|
||||||
access. This is also intended only for testing, and should be removed
|
|
||||||
before moving into a production environment.
|
|
||||||
|
|
||||||
Remove test database and access to it? [Y/n] Y
|
|
||||||
- Dropping test database...
|
|
||||||
... Success!
|
|
||||||
- Removing privileges on test database...
|
|
||||||
... Success!
|
|
||||||
|
|
||||||
Reloading the privilege tables will ensure that all changes made so far
|
|
||||||
will take effect immediately.
|
|
||||||
|
|
||||||
Reload privilege tables now? [Y/n] Y
|
|
||||||
... Success!
|
|
||||||
|
|
||||||
Cleaning up...
|
|
||||||
|
|
||||||
All done! If you've completed all of the above steps, your MariaDB
|
|
||||||
installation should now be secure.
|
|
||||||
|
|
||||||
Thanks for using MariaDB!</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,406 +0,0 @@
|
|||||||
<?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="basics-networking-neutron">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>OpenStack Networking (neutron)</title>
|
|
||||||
<para>The example architecture with OpenStack Networking (neutron) requires
|
|
||||||
one controller node, one network node, and at least one compute node.
|
|
||||||
The controller node contains one network interface on the
|
|
||||||
<glossterm>management network</glossterm>. The network node contains
|
|
||||||
one network interface on the management network, one on the
|
|
||||||
<glossterm>instance tunnels network</glossterm>, and one on the
|
|
||||||
<glossterm>external network</glossterm>. The compute node contains
|
|
||||||
one network interface on the management network and one on the
|
|
||||||
instance tunnels network.</para>
|
|
||||||
<para>The example architecture assumes use of the following networks:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Management on 10.0.0.0/24 with gateway 10.0.0.1</para>
|
|
||||||
<note>
|
|
||||||
<para>This network requires a gateway to provide Internet
|
|
||||||
access to all nodes for administrative purposes such as
|
|
||||||
package installation, security updates,
|
|
||||||
<glossterm>DNS</glossterm>, and
|
|
||||||
<glossterm baseform="Network Time Protocol (NTP)"
|
|
||||||
>NTP</glossterm>.</para>
|
|
||||||
</note>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Instance tunnels on 10.0.1.0/24 without a gateway</para>
|
|
||||||
<note>
|
|
||||||
<para>This network does not require a gateway because communication
|
|
||||||
only occurs among network and compute nodes in your OpenStack
|
|
||||||
environment.</para>
|
|
||||||
</note>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>External on 203.0.113.0/24 with gateway 203.0.113.1</para>
|
|
||||||
<note>
|
|
||||||
<para>This network requires a gateway to provide Internet
|
|
||||||
access to instances in your OpenStack environment.</para>
|
|
||||||
</note>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>You can modify these ranges and gateways to work with your
|
|
||||||
particular network infrastructure.</para>
|
|
||||||
<note>
|
|
||||||
<para>Network interface names vary by distribution. Traditionally,
|
|
||||||
interfaces use "eth" followed by a sequential number. To cover all
|
|
||||||
variations, this guide simply refers to the first interface as the
|
|
||||||
interface with the lowest number, the second interface as the
|
|
||||||
interface with the middle number, and the third interface as the
|
|
||||||
interface with the highest number.</para>
|
|
||||||
</note>
|
|
||||||
<figure>
|
|
||||||
<title>Minimal architecture example with OpenStack Networking
|
|
||||||
(neutron)—Network layout</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-neutron-networks.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<para>Unless you intend to use the exact configuration provided in this
|
|
||||||
example architecture, you must modify the networks in this procedure to
|
|
||||||
match your environment. Also, each node must resolve the other nodes
|
|
||||||
by name in addition to IP address. For example, the
|
|
||||||
<replaceable>controller</replaceable> name must resolve to
|
|
||||||
<literal>10.0.0.11</literal>, the IP address of the management
|
|
||||||
interface on the controller node.</para>
|
|
||||||
<warning>
|
|
||||||
<para>Reconfiguring network interfaces will interrupt network
|
|
||||||
connectivity. We recommend using a local terminal session for these
|
|
||||||
procedures.</para>
|
|
||||||
</warning>
|
|
||||||
<section xml:id="basics-neutron-networking-controller-node">
|
|
||||||
<title>Controller node</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure networking:</title>
|
|
||||||
<step>
|
|
||||||
<para>Configure the first interface as the management interface:</para>
|
|
||||||
<para>IP address: 10.0.0.11</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<para>Default gateway: 10.0.0.1</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Reboot the system to activate the changes.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure name resolution:</title>
|
|
||||||
<step>
|
|
||||||
<para>Set the hostname of the node to
|
|
||||||
<code><replaceable>controller</replaceable></code>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/hosts</filename> file to contain the
|
|
||||||
following:</para>
|
|
||||||
<programlisting># controller
|
|
||||||
10.0.0.11 controller
|
|
||||||
|
|
||||||
# network
|
|
||||||
10.0.0.21 network
|
|
||||||
|
|
||||||
# compute1
|
|
||||||
10.0.0.31 compute1</programlisting>
|
|
||||||
<warning>
|
|
||||||
<para>Some distributions add an extraneous entry in the
|
|
||||||
<filename>/etc/hosts</filename> file that resolves the actual
|
|
||||||
hostname to another loopback IP address such as
|
|
||||||
<literal>127.0.1.1</literal>. Note it's
|
|
||||||
<literal>127.0.1.1</literal>, do not remove the required
|
|
||||||
<literal>127.0.0.1</literal> entry. You must comment out
|
|
||||||
or remove this entry to prevent name resolution
|
|
||||||
problems.</para>
|
|
||||||
</warning>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-neutron-networking-network-node">
|
|
||||||
<title>Network node</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure networking:</title>
|
|
||||||
<step>
|
|
||||||
<para>Configure the first interface as the management interface:</para>
|
|
||||||
<para>IP address: 10.0.0.21</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<para>Default gateway: 10.0.0.1</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Configure the second interface as the instance tunnels
|
|
||||||
interface:</para>
|
|
||||||
<para>IP address: 10.0.1.21</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>The external interface uses a special configuration without an
|
|
||||||
IP address assigned to it. Configure the third interface as the
|
|
||||||
external interface:</para>
|
|
||||||
<para>Replace <replaceable>INTERFACE_NAME</replaceable> with the
|
|
||||||
actual interface name. For example, <emphasis>eth2</emphasis> or
|
|
||||||
<emphasis>ens256</emphasis>.</para>
|
|
||||||
<substeps>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Edit the <filename>/etc/network/interfaces</filename> file
|
|
||||||
to contain the following:</para>
|
|
||||||
<programlisting># The external network interface
|
|
||||||
auto <replaceable>INTERFACE_NAME</replaceable>
|
|
||||||
iface <replaceable>INTERFACE_NAME</replaceable> inet manual
|
|
||||||
up ip link set dev $IFACE up
|
|
||||||
down ip link set dev $IFACE down</programlisting>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>Edit the
|
|
||||||
<filename>/etc/sysconfig/network-scripts/ifcfg-<replaceable>INTERFACE_NAME</replaceable></filename>
|
|
||||||
file to contain the following:</para>
|
|
||||||
<para>Do not change the <literal>HWADDR</literal> and
|
|
||||||
<literal>UUID</literal> keys.</para>
|
|
||||||
<programlisting>DEVICE=<replaceable>INTERFACE_NAME</replaceable>
|
|
||||||
TYPE=Ethernet
|
|
||||||
ONBOOT="yes"
|
|
||||||
BOOTPROTO="none"</programlisting>
|
|
||||||
</step>
|
|
||||||
<step os="sles;opensuse">
|
|
||||||
<para>Edit the
|
|
||||||
<filename>/etc/sysconfig/network/ifcfg-<replaceable>INTERFACE_NAME</replaceable></filename> file to
|
|
||||||
contain the following:</para>
|
|
||||||
<programlisting>STARTMODE='auto'
|
|
||||||
BOOTPROTO='static'</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Reboot the system to activate the changes.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure name resolution:</title>
|
|
||||||
<step>
|
|
||||||
<para>Set the hostname of the node to <code>network</code>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/hosts</filename> file to contain the
|
|
||||||
following:</para>
|
|
||||||
<programlisting># network
|
|
||||||
10.0.0.21 network
|
|
||||||
|
|
||||||
# controller
|
|
||||||
10.0.0.11 controller
|
|
||||||
|
|
||||||
# compute1
|
|
||||||
10.0.0.31 compute1</programlisting>
|
|
||||||
<warning>
|
|
||||||
<para>Some distributions add an extraneous entry in the
|
|
||||||
<filename>/etc/hosts</filename> file that resolves the actual
|
|
||||||
hostname to another loopback IP address such as
|
|
||||||
<literal>127.0.1.1</literal>. Note it's
|
|
||||||
<literal>127.0.1.1</literal>, do not remove the required
|
|
||||||
<literal>127.0.0.1</literal> entry. You must comment out
|
|
||||||
or remove this entry to prevent name resolution
|
|
||||||
problems.</para>
|
|
||||||
</warning>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-neutron-networking-compute-node">
|
|
||||||
<title>Compute node</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure networking:</title>
|
|
||||||
<step>
|
|
||||||
<para>Configure the first interface as the management interface:</para>
|
|
||||||
<para>IP address: 10.0.0.31</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<para>Default gateway: 10.0.0.1</para>
|
|
||||||
<note>
|
|
||||||
<para>Additional compute nodes should use 10.0.0.32, 10.0.0.33,
|
|
||||||
and so on.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Configure the second interface as the instance tunnels
|
|
||||||
interface:</para>
|
|
||||||
<para>IP address: 10.0.1.31</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<note>
|
|
||||||
<para>Additional compute nodes should use 10.0.1.32, 10.0.1.33,
|
|
||||||
and so on.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Reboot the system to activate the changes.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure name resolution:</title>
|
|
||||||
<step>
|
|
||||||
<para>Set the hostname of the node to <code>compute1</code>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/hosts</filename> file to contain the
|
|
||||||
following:</para>
|
|
||||||
<programlisting># compute1
|
|
||||||
10.0.0.31 compute1
|
|
||||||
|
|
||||||
# controller
|
|
||||||
10.0.0.11 controller
|
|
||||||
|
|
||||||
# network
|
|
||||||
10.0.0.21 network</programlisting>
|
|
||||||
<warning>
|
|
||||||
<para>Some distributions add an extraneous entry in the
|
|
||||||
<filename>/etc/hosts</filename> file that resolves the actual
|
|
||||||
hostname to another loopback IP address such as
|
|
||||||
<literal>127.0.1.1</literal>. You must comment out or remove
|
|
||||||
this entry to prevent name resolution problems.</para>
|
|
||||||
</warning>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-neutron-networking-verify">
|
|
||||||
<title>Verify connectivity</title>
|
|
||||||
<para>We recommend that you verify network connectivity to the Internet
|
|
||||||
and among the nodes before proceeding further.</para>
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>controller</emphasis> node,
|
|
||||||
<command>ping</command> a site on the Internet:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 openstack.org</userinput>
|
|
||||||
<computeroutput>PING openstack.org (174.143.194.225) 56(84) bytes of data.
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms
|
|
||||||
|
|
||||||
--- openstack.org ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3022ms
|
|
||||||
rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>controller</emphasis> node,
|
|
||||||
<command>ping</command> the management interface on the
|
|
||||||
<emphasis>network</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 <replaceable>network</replaceable></userinput>
|
|
||||||
<computeroutput>PING network (10.0.0.21) 56(84) bytes of data.
|
|
||||||
64 bytes from network (10.0.0.21): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from network (10.0.0.21): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from network (10.0.0.21): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from network (10.0.0.21): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- network ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>controller</emphasis> node,
|
|
||||||
<command>ping</command> the management interface on the
|
|
||||||
<emphasis>compute</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 <replaceable>compute1</replaceable></userinput>
|
|
||||||
<computeroutput>PING compute1 (10.0.0.31) 56(84) bytes of data.
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- network ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>network</emphasis> node,
|
|
||||||
<command>ping</command> a site on the Internet:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 openstack.org</userinput>
|
|
||||||
<computeroutput>PING openstack.org (174.143.194.225) 56(84) bytes of data.
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms
|
|
||||||
|
|
||||||
--- openstack.org ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3022ms
|
|
||||||
rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>network</emphasis> node,
|
|
||||||
<command>ping</command> the management interface on the
|
|
||||||
<emphasis>controller</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 <replaceable>controller</replaceable></userinput>
|
|
||||||
<computeroutput>PING controller (10.0.0.11) 56(84) bytes of data.
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- controller ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>network</emphasis> node,
|
|
||||||
<command>ping</command> the instance tunnels interface on the
|
|
||||||
<emphasis>compute</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 10.0.1.31</userinput>
|
|
||||||
<computeroutput>PING 10.0.1.31 (10.0.1.31) 56(84) bytes of data.
|
|
||||||
64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from 10.0.1.31 (10.0.1.31): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- 10.0.1.31 ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>compute</emphasis> node,
|
|
||||||
<command>ping</command> a site on the Internet:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 openstack.org</userinput>
|
|
||||||
<computeroutput>PING openstack.org (174.143.194.225) 56(84) bytes of data.
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms
|
|
||||||
|
|
||||||
--- openstack.org ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3022ms
|
|
||||||
rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>compute</emphasis> node,
|
|
||||||
<command>ping</command> the management interface on the
|
|
||||||
<emphasis>controller</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 <replaceable>controller</replaceable></userinput>
|
|
||||||
<computeroutput>PING controller (10.0.0.11) 56(84) bytes of data.
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- controller ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>compute</emphasis> node,
|
|
||||||
<command>ping</command> the instance tunnels interface on the
|
|
||||||
<emphasis>network</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 10.0.1.21</userinput>
|
|
||||||
<computeroutput>PING 10.0.1.21 (10.0.1.21) 56(84) bytes of data.
|
|
||||||
64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from 10.0.1.21 (10.0.1.21): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- 10.0.1.21 ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,258 +0,0 @@
|
|||||||
<?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="basics-networking-nova">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Legacy networking (nova-network)</title>
|
|
||||||
<para>The example architecture with legacy networking (nova-network)
|
|
||||||
requires a controller node and at least one compute node. The controller
|
|
||||||
node contains one network interface on the
|
|
||||||
<glossterm>management network</glossterm>. The compute node contains
|
|
||||||
one network interface on the management network and one on the
|
|
||||||
<glossterm>external network</glossterm>.</para>
|
|
||||||
<para>The example architecture assumes use of the following networks:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Management on 10.0.0.0/24 with gateway 10.0.0.1</para>
|
|
||||||
<note>
|
|
||||||
<para>This network requires a gateway to provide Internet
|
|
||||||
access to all nodes for administrative purposes such as
|
|
||||||
package installation, security updates,
|
|
||||||
<glossterm>DNS</glossterm>, and
|
|
||||||
<glossterm baseform="Network Time Protocol (NTP)"
|
|
||||||
>NTP</glossterm>.</para>
|
|
||||||
</note>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>External on 203.0.113.0/24 with gateway 203.0.113.1</para>
|
|
||||||
<note>
|
|
||||||
<para>This network requires a gateway to provide Internet
|
|
||||||
access to instances in your OpenStack environment.</para>
|
|
||||||
</note>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>You can modify these ranges and gateways to work with your
|
|
||||||
particular network infrastructure.</para>
|
|
||||||
<note>
|
|
||||||
<para>Network interface names vary by distribution. Traditionally,
|
|
||||||
interfaces use "eth" followed by a sequential number. To cover all
|
|
||||||
variations, this guide simply refers to the first interface as the
|
|
||||||
interface with the lowest number and the second interface as the
|
|
||||||
interface with the highest number.</para>
|
|
||||||
</note>
|
|
||||||
<figure>
|
|
||||||
<title>Minimal architecture example with legacy networking
|
|
||||||
(nova-network)—Network layout</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject>
|
|
||||||
<imagedata contentwidth="6in"
|
|
||||||
fileref="../common/figures/installguidearch-nova-networks.png"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
<para>Unless you intend to use the exact configuration provided in this
|
|
||||||
example architecture, you must modify the networks in this procedure to
|
|
||||||
match your environment. Also, each node must resolve the other nodes
|
|
||||||
by name in addition to IP address. For example, the
|
|
||||||
<replaceable>controller</replaceable> name must resolve to
|
|
||||||
<literal>10.0.0.11</literal>, the IP address of the management
|
|
||||||
interface on the controller node.</para>
|
|
||||||
<warning>
|
|
||||||
<para>Reconfiguring network interfaces will interrupt network
|
|
||||||
connectivity. We recommend using a local terminal session for these
|
|
||||||
procedures.</para>
|
|
||||||
</warning>
|
|
||||||
<section xml:id="basics-networking-nova-controller-node">
|
|
||||||
<title>Controller node</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure networking:</title>
|
|
||||||
<step>
|
|
||||||
<para>Configure the first interface as the management interface:</para>
|
|
||||||
<para>IP address: 10.0.0.11</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<para>Default gateway: 10.0.0.1</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Reboot the system to activate the changes.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure name resolution:</title>
|
|
||||||
<step>
|
|
||||||
<para>Set the hostname of the node to
|
|
||||||
<code><replaceable>controller</replaceable></code>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/hosts</filename> file to contain the
|
|
||||||
following:</para>
|
|
||||||
<programlisting># controller
|
|
||||||
10.0.0.11 controller
|
|
||||||
|
|
||||||
# compute1
|
|
||||||
10.0.0.31 compute1</programlisting>
|
|
||||||
<warning>
|
|
||||||
<para>Some distributions add an extraneous entry in the
|
|
||||||
<filename>/etc/hosts</filename> file that resolves the actual
|
|
||||||
hostname to another loopback IP address such as
|
|
||||||
<literal>127.0.1.1</literal>. Note it's
|
|
||||||
<literal>127.0.1.1</literal>, do not remove the required
|
|
||||||
<literal>127.0.0.1</literal> entry. You must comment out
|
|
||||||
or remove this entry to prevent name resolution
|
|
||||||
problems.</para>
|
|
||||||
</warning>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-networking-node-compute-node">
|
|
||||||
<title>Compute node</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure networking:</title>
|
|
||||||
<step>
|
|
||||||
<para>Configure the first interface as the management interface:</para>
|
|
||||||
<para>IP address: 10.0.0.31</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<para>Default gateway: 10.0.0.1</para>
|
|
||||||
<note>
|
|
||||||
<para>Additional compute nodes should use 10.0.0.32, 10.0.0.33,
|
|
||||||
and so on.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>The external interface uses a special configuration without an
|
|
||||||
IP address assigned to it. Configure the second interface as the
|
|
||||||
external interface:</para>
|
|
||||||
<para>Replace <replaceable>INTERFACE_NAME</replaceable> with the
|
|
||||||
actual interface name. For example, <emphasis>eth1</emphasis> or
|
|
||||||
<emphasis>ens224</emphasis>.</para>
|
|
||||||
<substeps>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Edit the <filename>/etc/network/interfaces</filename> file
|
|
||||||
to contain the following:</para>
|
|
||||||
<programlisting># The external network interface
|
|
||||||
auto <replaceable>INTERFACE_NAME</replaceable>
|
|
||||||
iface <replaceable>INTERFACE_NAME</replaceable> inet manual
|
|
||||||
up ip link set dev $IFACE up
|
|
||||||
down ip link set dev $IFACE down</programlisting>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>Edit the
|
|
||||||
<filename>/etc/sysconfig/network-scripts/ifcfg-<replaceable>INTERFACE_NAME</replaceable></filename>
|
|
||||||
file to contain the following:</para>
|
|
||||||
<para>Do not change the <literal>HWADDR</literal> and
|
|
||||||
<literal>UUID</literal> keys.</para>
|
|
||||||
<programlisting>DEVICE=<replaceable>INTERFACE_NAME</replaceable>
|
|
||||||
TYPE=Ethernet
|
|
||||||
ONBOOT="yes"
|
|
||||||
BOOTPROTO="none"</programlisting>
|
|
||||||
</step>
|
|
||||||
<step os="sles;opensuse">
|
|
||||||
<para>Edit the
|
|
||||||
<filename>/etc/sysconfig/network/ifcfg-<replaceable>INTERFACE_NAME</replaceable></filename>
|
|
||||||
file to contain the following:</para>
|
|
||||||
<programlisting>STARTMODE='auto'
|
|
||||||
BOOTPROTO='static'</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Reboot the system to activate the changes.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure name resolution:</title>
|
|
||||||
<step>
|
|
||||||
<para>Set the hostname of the node to <code>compute1</code>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/hosts</filename> file to contain the
|
|
||||||
following:</para>
|
|
||||||
<programlisting># compute1
|
|
||||||
10.0.0.31 compute1
|
|
||||||
|
|
||||||
# controller
|
|
||||||
10.0.0.11 controller</programlisting>
|
|
||||||
<warning>
|
|
||||||
<para>Some distributions add an extraneous entry in the
|
|
||||||
<filename>/etc/hosts</filename> file that resolves the actual
|
|
||||||
hostname to another loopback IP address such as
|
|
||||||
<literal>127.0.1.1</literal>. Note it's
|
|
||||||
<literal>127.0.1.1</literal>, do not remove the required
|
|
||||||
<literal>127.0.0.1</literal> entry. You must comment out
|
|
||||||
or remove this entry to prevent name resolution
|
|
||||||
problems.</para>
|
|
||||||
</warning>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-networking-nova-verify">
|
|
||||||
<title>Verify connectivity</title>
|
|
||||||
<para>We recommend that you verify network connectivity to the Internet
|
|
||||||
and among the nodes before proceeding further.</para>
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>controller</emphasis> node,
|
|
||||||
<command>ping</command> a site on the Internet:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 openstack.org</userinput>
|
|
||||||
<computeroutput>PING openstack.org (174.143.194.225) 56(84) bytes of data.
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms
|
|
||||||
|
|
||||||
--- openstack.org ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3022ms
|
|
||||||
rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>controller</emphasis> node,
|
|
||||||
<command>ping</command> the management interface on the
|
|
||||||
<emphasis>compute</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 <replaceable>compute1</replaceable></userinput>
|
|
||||||
<computeroutput>PING compute1 (10.0.0.31) 56(84) bytes of data.
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from compute1 (10.0.0.31): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- compute1 ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>compute</emphasis> node,
|
|
||||||
<command>ping</command> a site on the Internet:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 openstack.org</userinput>
|
|
||||||
<computeroutput>PING openstack.org (174.143.194.225) 56(84) bytes of data.
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=1 ttl=54 time=18.3 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=2 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=3 ttl=54 time=17.5 ms
|
|
||||||
64 bytes from 174.143.194.225: icmp_seq=4 ttl=54 time=17.4 ms
|
|
||||||
|
|
||||||
--- openstack.org ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3022ms
|
|
||||||
rtt min/avg/max/mdev = 17.489/17.715/18.346/0.364 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>From the <emphasis>compute</emphasis> node,
|
|
||||||
<command>ping</command> the management interface on the
|
|
||||||
<emphasis>controller</emphasis> node:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ping -c 4 <replaceable>controller</replaceable></userinput>
|
|
||||||
<computeroutput>PING controller (10.0.0.11) 56(84) bytes of data.
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=1 ttl=64 time=0.263 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=2 ttl=64 time=0.202 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=3 ttl=64 time=0.203 ms
|
|
||||||
64 bytes from controller (10.0.0.11): icmp_seq=4 ttl=64 time=0.202 ms
|
|
||||||
|
|
||||||
--- controller ping statistics ---
|
|
||||||
4 packets transmitted, 4 received, 0% packet loss, time 3000ms
|
|
||||||
rtt min/avg/max/mdev = 0.202/0.217/0.263/0.030 ms</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,84 +0,0 @@
|
|||||||
<?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="basics-networking">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Networking</title>
|
|
||||||
<para>After installing the operating system on each node for the
|
|
||||||
architecture that you choose to deploy, you must configure the network
|
|
||||||
interfaces. We recommend that you disable any automated network
|
|
||||||
management tools and manually edit the appropriate configuration files
|
|
||||||
for your distribution. For more information on how to configure networking
|
|
||||||
on your distribution, see the
|
|
||||||
<link os="ubuntu"
|
|
||||||
xlink:href="https://help.ubuntu.com/lts/serverguide/network-configuration.html"
|
|
||||||
>documentation.</link>
|
|
||||||
<link os="debian"
|
|
||||||
xlink:href="https://wiki.debian.org/NetworkConfiguration"
|
|
||||||
>documentation.</link>
|
|
||||||
<link os="rhel;centos;fedora"
|
|
||||||
xlink:href="https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/s1-networkscripts-interfaces.html"
|
|
||||||
>documentation.</link>
|
|
||||||
<link os="sles;opensuse"
|
|
||||||
xlink:href="https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_basicnet_manconf.html"
|
|
||||||
>SLES 12</link>
|
|
||||||
<phrase os="sles;opensuse"> or </phrase>
|
|
||||||
<link os="sles;opensuse"
|
|
||||||
xlink:href="http://activedoc.opensuse.org/book/opensuse-reference/chapter-13-basic-networking"
|
|
||||||
>openSUSE documentation.</link></para>
|
|
||||||
<para>All nodes require Internet access for administrative purposes
|
|
||||||
such as package installation, security updates,
|
|
||||||
<glossterm>DNS</glossterm>, and
|
|
||||||
<glossterm baseform="Network Time Protocol (NTP)"
|
|
||||||
>NTP</glossterm>. In most cases, nodes should obtain Internet
|
|
||||||
access through the management network interface. To highlight
|
|
||||||
the importance of network separation, the example architectures
|
|
||||||
use <link xlink:href="https://tools.ietf.org/html/rfc1918"
|
|
||||||
>private address space</link> for the management network and assume
|
|
||||||
that network infrastructure provides Internet access via
|
|
||||||
<glossterm baseform="Network Address Translation (NAT)"
|
|
||||||
>NAT</glossterm>. To illustrate the flexibility of
|
|
||||||
<glossterm>IaaS</glossterm>, the example architectures use public
|
|
||||||
IP address space for the external network and assume that network
|
|
||||||
infrastructure provides direct Internet access to instances in
|
|
||||||
your OpenStack environment. In environments with only one block
|
|
||||||
of public IP address space, both the management and external networks
|
|
||||||
must ultimately obtain Internet access using it. For simplicity, the
|
|
||||||
diagrams in this guide only show Internet access for OpenStack
|
|
||||||
services.</para>
|
|
||||||
<procedure os="sles;opensuse">
|
|
||||||
<title>To disable Network Manager</title>
|
|
||||||
<step>
|
|
||||||
<para>Use the YaST network module:</para>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>yast2 network</userinput></screen>
|
|
||||||
<para>For more information, see the
|
|
||||||
<link xlink:href="https://www.suse.com/documentation/sles-12/book_sle_admin/data/sec_nm_activate.html">SLES </link> or
|
|
||||||
the
|
|
||||||
<link xlink:href="http://activedoc.opensuse.org/book/opensuse-reference/chapter-13-basic-networking#sec.basicnet.yast.netcard.global">
|
|
||||||
openSUSE documentation</link>.
|
|
||||||
</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<note>
|
|
||||||
<para os="rhel;centos;fedora;sles;opensuse">Your distribution enables
|
|
||||||
a restrictive <glossterm>firewall</glossterm> by default. During the
|
|
||||||
installation process, certain steps will fail unless you alter or
|
|
||||||
disable the firewall. For more information about securing your
|
|
||||||
environment, refer to the
|
|
||||||
<link xlink:href="http://docs.openstack.org/sec/">OpenStack
|
|
||||||
Security Guide</link>.</para>
|
|
||||||
<para os="ubuntu;debian">Your distribution does not enable a
|
|
||||||
restrictive <glossterm>firewall</glossterm> by default. For more
|
|
||||||
information about securing your environment, refer to the
|
|
||||||
<link xlink:href="http://docs.openstack.org/sec/">OpenStack
|
|
||||||
Security Guide</link>.</para>
|
|
||||||
</note>
|
|
||||||
<para>Proceed to network configuration for the example
|
|
||||||
<link linkend="basics-networking-neutron">OpenStack Networking (neutron)
|
|
||||||
</link> or <link linkend="basics-networking-nova">legacy
|
|
||||||
networking (nova-network)</link> architecture.</para>
|
|
||||||
<xi:include href="section_basics-networking-neutron.xml"/>
|
|
||||||
<xi:include href="section_basics-networking-nova.xml"/>
|
|
||||||
</section>
|
|
@ -1,156 +0,0 @@
|
|||||||
<?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="basics-ntp">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Network Time Protocol (NTP)</title>
|
|
||||||
<para>You must install
|
|
||||||
<glossterm baseform="Network Time Protocol (NTP)">NTP</glossterm> to
|
|
||||||
properly synchronize services among nodes. We recommend that you configure
|
|
||||||
the controller node to reference more accurate (lower stratum) servers and
|
|
||||||
other nodes to reference the controller node.</para>
|
|
||||||
<section xml:id="basics-ntp-controller-node">
|
|
||||||
<title>Controller node</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To install the NTP service</title>
|
|
||||||
<step>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install ntp</userinput></screen>
|
|
||||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install ntp</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install ntp</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure the NTP service</title>
|
|
||||||
<para>By default, the controller node synchronizes the time via a pool
|
|
||||||
of public servers. However, you can optionally edit the
|
|
||||||
<filename>/etc/ntp.conf</filename> file to configure alternative
|
|
||||||
servers such as those provided by your organization.</para>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/ntp.conf</filename> file and add,
|
|
||||||
change, or remove the following keys as necessary for your
|
|
||||||
environment:</para>
|
|
||||||
<programlisting language="ini">server <replaceable>NTP_SERVER</replaceable> iburst
|
|
||||||
restrict -4 default kod notrap nomodify
|
|
||||||
restrict -6 default kod notrap nomodify</programlisting>
|
|
||||||
<para>Replace <replaceable>NTP_SERVER</replaceable> with the
|
|
||||||
hostname or IP address of a suitable more accurate (lower stratum)
|
|
||||||
NTP server. The configuration supports multiple
|
|
||||||
<literal>server</literal> keys.</para>
|
|
||||||
<note>
|
|
||||||
<para>For the <literal>restrict</literal> keys, you essentially
|
|
||||||
remove the <literal>nopeer</literal> and <literal>noquery</literal>
|
|
||||||
options.</para>
|
|
||||||
</note>
|
|
||||||
<note os="ubuntu;debian">
|
|
||||||
<para>Remove the <filename>/var/lib/ntp/ntp.conf.dhcp</filename> file
|
|
||||||
if it exists.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the NTP service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service ntp restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the NTP service and configure it to start when the system
|
|
||||||
boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable ntpd.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start ntpd.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-ntp-other-nodes">
|
|
||||||
<title>Other nodes</title>
|
|
||||||
<procedure>
|
|
||||||
<title>To install the NTP service</title>
|
|
||||||
<step>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install ntp</userinput></screen>
|
|
||||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install ntp</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install ntp</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure the NTP service</title>
|
|
||||||
<para>Configure the network and compute nodes to reference the
|
|
||||||
controller node.</para>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/ntp.conf</filename> file:</para>
|
|
||||||
<para>Comment out or remove all but one <literal>server</literal>
|
|
||||||
key and change it to reference the controller node.</para>
|
|
||||||
<programlisting language="ini">server <replaceable>controller</replaceable> iburst</programlisting>
|
|
||||||
<note os="ubuntu;debian">
|
|
||||||
<para>Remove the <filename>/var/lib/ntp/ntp.conf.dhcp</filename> file
|
|
||||||
if it exists.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the NTP service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service ntp restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the NTP service and configure it to start when the system
|
|
||||||
boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable ntpd.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start ntpd.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="basics-ntp-verify">
|
|
||||||
<title>Verify operation</title>
|
|
||||||
<para>We recommend that you verify NTP synchronization before proceeding
|
|
||||||
further. Some nodes, particularly those that reference the controller
|
|
||||||
node, can take several minutes to synchronize.</para>
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>Run this command on the <emphasis>controller</emphasis> node:
|
|
||||||
</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ntpq -c peers</userinput>
|
|
||||||
<computeroutput> remote refid st t when poll reach delay offset jitter
|
|
||||||
==============================================================================
|
|
||||||
*ntp-server1 192.0.2.11 2 u 169 1024 377 1.901 -0.611 5.483
|
|
||||||
+ntp-server2 192.0.2.12 2 u 887 1024 377 0.922 -0.246 2.864</computeroutput></screen>
|
|
||||||
<para>Contents in the <emphasis>remote</emphasis> column should
|
|
||||||
indicate the hostname or IP address of one or more NTP servers.</para>
|
|
||||||
<note>
|
|
||||||
<para>Contents in the <emphasis>refid</emphasis> column typically
|
|
||||||
reference IP addresses of upstream servers.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Run this command on the <emphasis>controller</emphasis> node:
|
|
||||||
</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ntpq -c assoc</userinput>
|
|
||||||
<computeroutput>ind assid status conf reach auth condition last_event cnt
|
|
||||||
===========================================================
|
|
||||||
1 20487 961a yes yes none sys.peer sys_peer 1
|
|
||||||
2 20488 941a yes yes none candidate sys_peer 1</computeroutput></screen>
|
|
||||||
<para>Contents in the <emphasis>condition</emphasis> column should
|
|
||||||
indicate <literal>sys.peer</literal> for at least one server.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Run this command on <emphasis>all other</emphasis> nodes:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ntpq -c peers</userinput>
|
|
||||||
<computeroutput> remote refid st t when poll reach delay offset jitter
|
|
||||||
==============================================================================
|
|
||||||
*controller 192.0.2.21 3 u 47 64 37 0.308 -0.251 0.079</computeroutput></screen>
|
|
||||||
<para>Contents in the <emphasis>remote</emphasis> column should
|
|
||||||
indicate the hostname of the controller node.</para>
|
|
||||||
<note>
|
|
||||||
<para>Contents in the <emphasis>refid</emphasis> column typically
|
|
||||||
reference IP addresses of upstream servers.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Run this command on <emphasis>all other</emphasis> nodes:
|
|
||||||
</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>ntpq -c assoc</userinput>
|
|
||||||
<computeroutput>ind assid status conf reach auth condition last_event cnt
|
|
||||||
===========================================================
|
|
||||||
1 21181 963a yes yes none sys.peer sys_peer 3</computeroutput></screen>
|
|
||||||
<para>Contents in the <emphasis>condition</emphasis> column should
|
|
||||||
indicate <literal>sys.peer</literal>.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
@ -1,173 +0,0 @@
|
|||||||
<?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="basics-packages">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>OpenStack packages</title>
|
|
||||||
<para>Distributions release OpenStack packages as part of the distribution
|
|
||||||
or using other methods because of differing release schedules. Perform
|
|
||||||
these procedures on all nodes.</para>
|
|
||||||
<note>
|
|
||||||
<para>Disable or remove any automatic update services because they can
|
|
||||||
impact your OpenStack environment.</para>
|
|
||||||
</note>
|
|
||||||
<procedure os="ubuntu">
|
|
||||||
<title>To enable the OpenStack repository</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the Ubuntu Cloud archive keyring and repository:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install ubuntu-cloud-keyring</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" \
|
|
||||||
"trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="rhel;centos;fedora">
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<step>
|
|
||||||
<para>On RHEL and CentOS, enable the
|
|
||||||
<link
|
|
||||||
xlink:href="https://fedoraproject.org/wiki/EPEL">EPEL</link> repository:</para>
|
|
||||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>Fedora does not require this repository.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>On RHEL, enable additional repositories using the subscription
|
|
||||||
manager:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>subscription-manager repos --enable=rhel-7-server-optional-rpms</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>subscription-manager repos --enable=rhel-7-server-extras-rpms</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>CentOS and Fedora do not require these repositories.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="rhel;centos;fedora">
|
|
||||||
<title>To enable the OpenStack repository</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the <package>rdo-release-kilo</package> package to enable
|
|
||||||
the RDO repository:</para>
|
|
||||||
<screen os="fedora;centos;rhel"><prompt>#</prompt> <userinput>yum install http://rdo.fedorapeople.org/openstack-kilo/rdo-release-kilo.rpm</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="sles;opensuse">
|
|
||||||
<title>To enable the OpenStack repository</title>
|
|
||||||
<step>
|
|
||||||
<para>Enable the Open Build Service repositories based on your openSUSE
|
|
||||||
or SLES version:</para>
|
|
||||||
<para>On openSUSE 13.2:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>zypper addrepo -f obs://Cloud:OpenStack:Kilo/openSUSE_13.2 Kilo</userinput></screen>
|
|
||||||
<para>The openSUSE distribution uses the concept of patterns to represent
|
|
||||||
collections of packages. If you selected 'Minimal Server Selection (Text Mode)'
|
|
||||||
during initial installation, you may be presented with a dependency conflict when you
|
|
||||||
attempt to install the OpenStack packages. To avoid this, remove the minimal_base-conflicts package:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>zypper rm patterns-openSUSE-minimal_base-conflicts</userinput></screen>
|
|
||||||
<para>On SLES 12:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>zypper addrepo -f obs://Cloud:OpenStack:Kilo/SLE_12 Kilo</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>The packages are signed by GPG key 893A90DAD85F9316. You should
|
|
||||||
verify the fingerprint of the imported GPG key before using
|
|
||||||
it.</para>
|
|
||||||
<programlisting>Key ID: 893A90DAD85F9316
|
|
||||||
Key Name: Cloud:OpenStack OBS Project <Cloud:OpenStack@build.opensuse.org>
|
|
||||||
Key Fingerprint: 35B34E18ABC1076D66D5A86B893A90DAD85F9316
|
|
||||||
Key Created: Tue Oct 8 13:34:21 2013
|
|
||||||
Key Expires: Thu Dec 17 13:34:21 2015</programlisting>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="debian">
|
|
||||||
<title>To use the Debian Wheezy backports archive for
|
|
||||||
Juno</title>
|
|
||||||
<para>The <glossterm>Juno</glossterm> release is available
|
|
||||||
only in Debian Experimental (otherwise called rc-buggy),
|
|
||||||
as Jessie is frozen soon, and will contain Icehouse.
|
|
||||||
However, the Debian maintainers
|
|
||||||
of OpenStack also maintain a non-official Debian repository
|
|
||||||
for OpenStack containing Wheezy backports.</para>
|
|
||||||
<step>
|
|
||||||
<para>On all nodes, install the Debian Wheezy backport repository
|
|
||||||
Juno:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>echo "deb http://archive.gplhost.com/debian juno-backports main" >>/etc/apt/sources.list</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Install the Debian Wheezy OpenStack repository for
|
|
||||||
Juno:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>echo "deb http://archive.gplhost.com/debian juno main" >>/etc/apt/sources.list</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Update the repository database and install the key:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get update && apt-get install gplhost-archive-keyring</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Update the package database, upgrade your system, and reboot
|
|
||||||
for all changes to take effect:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get update && apt-get dist-upgrade</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>reboot</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<para os="debian">Numerous archive.gplhost.com mirrors are
|
|
||||||
available around the world. All are available with both FTP and
|
|
||||||
HTTP protocols (you should use the closest mirror). The list of
|
|
||||||
mirrors is available at <link
|
|
||||||
xlink:href="http://archive.gplhost.com/readme.mirrors"
|
|
||||||
>http://archive.gplhost.com/readme.mirrors</link>.</para>
|
|
||||||
<procedure xml:id="basics-argparse" os="debian">
|
|
||||||
<title>Manually install python-argparse</title>
|
|
||||||
<para>The Debian OpenStack packages are maintained on Debian Sid
|
|
||||||
(also known as Debian Unstable) - the current development
|
|
||||||
version. Backported packages run correctly on Debian Wheezy with
|
|
||||||
one caveat:</para>
|
|
||||||
<para>All OpenStack packages are written in Python. All packages
|
|
||||||
support version 2.7; porting to Python version 3 is ongoing.
|
|
||||||
Note that Debian Wheezy uses
|
|
||||||
Python 2.6 and 2.7, with Python 2.7 as the default interpreter;
|
|
||||||
Sid has only Python 2.7. There is one packaging change between
|
|
||||||
these two. In Python 2.6, you installed the
|
|
||||||
<package>python-argparse</package> package separately. In
|
|
||||||
Python 2.7, this package is installed by default. Unfortunately,
|
|
||||||
in Python 2.7, this package does not include <code>Provides:
|
|
||||||
python-argparse</code> directive.</para>
|
|
||||||
<step>
|
|
||||||
<para>Because the packages are maintained in Sid where the
|
|
||||||
<code>Provides: python-argparse</code> directive causes an
|
|
||||||
error, and the Debian OpenStack maintainer wants to maintain one
|
|
||||||
version of the OpenStack packages, you must manually install the
|
|
||||||
<package>python-argparse</package> on each OpenStack system
|
|
||||||
that runs Debian Wheezy before you install the other OpenStack
|
|
||||||
packages. Use the following command to install the
|
|
||||||
package:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install python-argparse</userinput></screen>
|
|
||||||
<para>This caveat applies to most OpenStack packages in
|
|
||||||
Wheezy.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step>
|
|
||||||
<para>Upgrade the packages on your system:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get update && apt-get dist-upgrade</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum upgrade</userinput></screen>
|
|
||||||
<screen os="sles;opensuse"><prompt>#</prompt> <userinput>zypper refresh && zypper dist-upgrade</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>If the upgrade process includes a new kernel, reboot your system
|
|
||||||
to activate it.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos">
|
|
||||||
<para>RHEL and CentOS enable <glossterm>SELinux</glossterm> by
|
|
||||||
default. Install the <package>openstack-selinux</package> package
|
|
||||||
to automatically manage security policies for OpenStack
|
|
||||||
services:</para>
|
|
||||||
<screen os="rhel;centos"><prompt>#</prompt> <userinput>yum install openstack-selinux</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>Fedora does not require this package.</para>
|
|
||||||
</note>
|
|
||||||
<note>
|
|
||||||
<para>The installation process for this package can take a
|
|
||||||
while.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,70 +0,0 @@
|
|||||||
<?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="basics-prerequisites">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Before you begin</title>
|
|
||||||
<para>For best performance, we recommend that your environment meets or
|
|
||||||
exceeds the hardware requirements in
|
|
||||||
<xref linkend="example-architecture-with-neutron-networking-hw"/> or
|
|
||||||
<xref linkend="example-architecture-with-legacy-networking-hw"/>. However,
|
|
||||||
OpenStack does not require a significant amount of resources and the
|
|
||||||
following minimum requirements should support a proof-of-concept
|
|
||||||
environment with core services and several
|
|
||||||
<glossterm>CirrOS</glossterm> instances:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Controller Node: 1 processor, 2 GB memory, and 5 GB
|
|
||||||
storage</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Network Node: 1 processor, 512 MB memory, and 5 GB
|
|
||||||
storage</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Compute Node: 1 processor, 2 GB memory, and 10 GB
|
|
||||||
storage</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>To minimize clutter and provide more resources for OpenStack, we
|
|
||||||
recommend a minimal installation of your Linux distribution. Also, we
|
|
||||||
strongly recommend that you install a 64-bit version of your distribution
|
|
||||||
on at least the compute node. If you install a 32-bit version of your
|
|
||||||
distribution on the compute node, attempting to start an instance using
|
|
||||||
a 64-bit image will fail.</para>
|
|
||||||
<note>
|
|
||||||
<para>A single disk partition on each node works for most basic
|
|
||||||
installations. However, you should consider
|
|
||||||
<glossterm>Logical Volume Manager (LVM)</glossterm> for installations
|
|
||||||
with optional services such as Block Storage.</para>
|
|
||||||
</note>
|
|
||||||
<para>Many users build their test environments on
|
|
||||||
<glossterm baseform="virtual machine (VM)">virtual machines
|
|
||||||
(VMs)</glossterm>. The primary benefits of VMs include the
|
|
||||||
following:</para>
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>One physical server can support multiple nodes, each with almost
|
|
||||||
any number of network interfaces.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Ability to take periodic "snap shots" throughout the installation
|
|
||||||
process and "roll back" to a working configuration in the event of
|
|
||||||
a problem.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
<para>However, VMs will reduce performance of your instances, particularly
|
|
||||||
if your hypervisor and/or processor lacks support for hardware
|
|
||||||
acceleration of nested VMs.</para>
|
|
||||||
<note>
|
|
||||||
<para>If you choose to install on VMs, make sure your hypervisor
|
|
||||||
permits <glossterm>promiscuous mode</glossterm> and disables MAC
|
|
||||||
address filtering on the
|
|
||||||
<glossterm>external network</glossterm>.</para>
|
|
||||||
</note>
|
|
||||||
<para>For more information about system requirements, see the <link
|
|
||||||
xlink:href="http://docs.openstack.org/ops/">OpenStack Operations
|
|
||||||
Guide</link>.</para>
|
|
||||||
</section>
|
|
@ -1,58 +0,0 @@
|
|||||||
<?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="basics-message-queue">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Message queue</title>
|
|
||||||
<para>OpenStack uses a <glossterm>message queue</glossterm> to coordinate
|
|
||||||
operations and status information among services. The message queue
|
|
||||||
service typically runs on the controller node. OpenStack supports several
|
|
||||||
message queue services including
|
|
||||||
<link xlink:href="http://www.rabbitmq.com">RabbitMQ</link>,
|
|
||||||
<link xlink:href="http://qpid.apache.org">Qpid</link>, and
|
|
||||||
<link xlink:href="http://zeromq.org">ZeroMQ</link>.
|
|
||||||
However, most distributions that package OpenStack support a particular
|
|
||||||
message queue service. This guide implements the RabbitMQ message queue
|
|
||||||
service because most distributions support it. If you prefer to implement
|
|
||||||
a different message queue service, consult the documentation associated
|
|
||||||
with it.</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To install the message queue service</title>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Install the package:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install rabbitmq-server</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<screen><prompt>#</prompt> <userinput>yum install rabbitmq-server</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="sles;opensuse">
|
|
||||||
<screen><prompt>#</prompt> <userinput>zypper install rabbitmq-server</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure the message queue service</title>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the message queue service and configure it to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen os="rhel;centos;fedora;sles;opensuse"><prompt>#</prompt> <userinput>systemctl enable rabbitmq-server.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start rabbitmq-server.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Add the <literal>openstack</literal> user:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>rabbitmqctl add_user openstack <replaceable>RABBIT_PASS</replaceable></userinput>
|
|
||||||
<computeroutput>Creating user "openstack" ...
|
|
||||||
...done.</computeroutput></screen>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with a suitable
|
|
||||||
password.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Permit configuration, write, and read access for the
|
|
||||||
<literal>openstack</literal> user:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>rabbitmqctl set_permissions openstack ".*" ".*" ".*"</userinput>
|
|
||||||
<computeroutput>Setting permissions for user "openstack" in vhost "/" ...
|
|
||||||
...done.</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,145 +0,0 @@
|
|||||||
<?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="basics-security">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Security</title>
|
|
||||||
<para>OpenStack services support various security methods
|
|
||||||
including password, policy, and encryption. Additionally,
|
|
||||||
supporting services including the database server and
|
|
||||||
message broker support at least password security.</para>
|
|
||||||
<para>To ease the installation process, this guide only
|
|
||||||
covers password security where applicable. You can create
|
|
||||||
secure passwords manually, generate them using a tool such as
|
|
||||||
<link xlink:href="http://sourceforge.net/projects/pwgen/">pwgen</link>,
|
|
||||||
or by running the following command:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openssl rand -hex 10</userinput></screen>
|
|
||||||
<para>For OpenStack services, this guide uses
|
|
||||||
<replaceable>SERVICE_PASS</replaceable> to reference
|
|
||||||
service account passwords and
|
|
||||||
<replaceable>SERVICE_DBPASS</replaceable> to reference
|
|
||||||
database passwords.</para>
|
|
||||||
<para>The following table provides a list of services that require
|
|
||||||
passwords and their associated references in the guide:
|
|
||||||
<table rules="all">
|
|
||||||
<caption>Passwords</caption>
|
|
||||||
<thead>
|
|
||||||
<tr>
|
|
||||||
<th>Password name</th>
|
|
||||||
<th>Description</th>
|
|
||||||
</tr>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td>Database password (no variable used)</td>
|
|
||||||
<td>Root password for the database</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>ADMIN_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of user <literal>admin</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>CEILOMETER_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for the Telemetry service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>CEILOMETER_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Telemetry service user <literal>ceilometer</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>CINDER_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for the Block Storage service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>CINDER_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Block Storage service user <literal>cinder</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>DASH_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for the dashboard</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>DEMO_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of user <literal>demo</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>GLANCE_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for Image service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>GLANCE_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Image service user <literal>glance</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>HEAT_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for the Orchestration service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>HEAT_DOMAIN_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Orchestration domain</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>HEAT_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Orchestration service user <literal>heat</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>KEYSTONE_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password of Identity service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>NEUTRON_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for the Networking service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>NEUTRON_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Networking service user <literal>neutron</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>NOVA_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password for Compute service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>NOVA_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Compute service user <literal>nova</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>RABBIT_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of user guest of RabbitMQ</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>SAHARA_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password of Data processing service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>SWIFT_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Object Storage service user <literal>swift</literal></td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>TROVE_DBPASS</replaceable></literal></td>
|
|
||||||
<td>Database password of Database service</td>
|
|
||||||
</tr>
|
|
||||||
<tr>
|
|
||||||
<td><literal><replaceable>TROVE_PASS</replaceable></literal></td>
|
|
||||||
<td>Password of Database service user <literal>trove</literal></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
</para>
|
|
||||||
<para>OpenStack and supporting services require administrative
|
|
||||||
privileges during installation and operation. In some cases,
|
|
||||||
services perform modifications to the host that can interfere
|
|
||||||
with deployment automation tools such as Ansible, Chef, and
|
|
||||||
Puppet. For example, some OpenStack services add a root
|
|
||||||
wrapper to <literal>sudo</literal> that can interfere with
|
|
||||||
security policies. See the
|
|
||||||
<link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/root-wrap-reference.html">Cloud Administrator Guide</link>
|
|
||||||
for more information. Also, the Networking service assumes
|
|
||||||
default values for kernel network parameters and modifies
|
|
||||||
firewall rules. To avoid most issues during your initial
|
|
||||||
installation, we recommend using a stock deployment of a
|
|
||||||
supported distribution on your hosts. However, if you choose
|
|
||||||
to automate deployment of your hosts, review the configuration
|
|
||||||
and policies applied to them before proceeding further.</para>
|
|
||||||
</section>
|
|
@ -1,43 +0,0 @@
|
|||||||
<?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="ceilometer-cinder">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Configure the Block Storage service</title>
|
|
||||||
<para>To retrieve volume-oriented events and samples, you must
|
|
||||||
configure the Block Storage service to send notifications to the
|
|
||||||
message bus. Perform these steps on the controller and storage
|
|
||||||
nodes.</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<para>Edit the <filename>/etc/cinder/cinder.conf</filename> file
|
|
||||||
and complete the following actions:</para>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> section, configure
|
|
||||||
notifications:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
control_exchange = cinder
|
|
||||||
notification_driver = messagingv2</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Restart the Block Storage services on the controller node:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service cinder-api restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service cinder-scheduler restart</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>systemctl restart openstack-cinder-api.service openstack-cinder-scheduler.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Restart the Block Storage services on the storage nodes:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service cinder-volume restart</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>systemctl restart openstack-cinder-volume.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Use the <command>cinder-volume-usage-audit</command> command to
|
|
||||||
retrieve meters on demand. For more information, see
|
|
||||||
<link xlink:href="http://docs.openstack.org/admin-guide-cloud/content/section_telemetry-cinder-audit-script.html"
|
|
||||||
><citetitle>Block Storage audit script setup to get notifications</citetitle></link>.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,435 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
|
||||||
<!DOCTYPE chapter [
|
|
||||||
<!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="ceilometer-controller-install">
|
|
||||||
<title>Install and configure controller node</title>
|
|
||||||
<para>This section describes how to install and configure the Telemetry
|
|
||||||
module, code-named ceilometer, on the controller node. The Telemetry
|
|
||||||
module uses separate agents to collect measurements from each OpenStack
|
|
||||||
service in your environment.</para>
|
|
||||||
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<para>Before you install and configure Telemetry, you must install
|
|
||||||
<application>MongoDB</application>, create a MongoDB database,
|
|
||||||
service credentials, and API endpoint.</para>
|
|
||||||
<step os="opensuse;sles">
|
|
||||||
<para>Enable the Open Build Service repositories for MongoDB based on
|
|
||||||
your openSUSE or SLES version:</para>
|
|
||||||
<para>On openSUSE:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>zypper addrepo -f obs://server:database/openSUSE_13.2 Database</userinput></screen>
|
|
||||||
<para>On SLES:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>zypper addrepo -f obs://server:database/SLE_12 Database</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>The packages are signed by GPG key
|
|
||||||
<literal>562111AC05905EA8</literal>. You should
|
|
||||||
verify the fingerprint of the imported GPG key before using
|
|
||||||
it.</para>
|
|
||||||
<programlisting>Key Name: server:database OBS Project <server:database@build.opensuse.org>
|
|
||||||
Key Fingerprint: 116EB86331583E47E63CDF4D562111AC05905EA8
|
|
||||||
Key Created: Thu Oct 11 20:08:39 2012
|
|
||||||
Key Expires: Sat Dec 20 20:08:39 2014</programlisting>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Install the MongoDB package:</para>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install mongodb-server mongodb</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install mongodb</userinput></screen>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install mongodb-server mongodb-clients python-pymongo</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename os="opensuse;sles;ubuntu">/etc/mongodb.conf</filename>
|
|
||||||
<filename os="rhel;centos;fedora">/etc/mongod.conf</filename> file and
|
|
||||||
complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Configure the <literal>bind_ip</literal> key to use the
|
|
||||||
management interface IP address of the controller node.</para>
|
|
||||||
<programlisting language="ini">bind_ip = 10.0.0.11</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>By default, MongoDB creates several 1 GB journal files
|
|
||||||
in the <filename>/var/lib/mongodb/journal</filename>
|
|
||||||
directory. If you want to reduce the size of each journal file
|
|
||||||
to 128 MB and limit total journal space consumption to
|
|
||||||
512 MB, assert the <literal>smallfiles</literal> key:</para>
|
|
||||||
<programlisting language="ini">smallfiles = true</programlisting>
|
|
||||||
<para os="ubuntu">If you change the journaling configuration,
|
|
||||||
stop the MongoDB service, remove the initial journal files, and
|
|
||||||
start the service:</para>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>service mongodb stop</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>rm /var/lib/mongodb/journal/prealloc.*</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service mongodb start</userinput></screen>
|
|
||||||
<para>You can also disable journaling. For more information, see
|
|
||||||
the <link xlink:href="http://docs.mongodb.org/manual/"
|
|
||||||
>MongoDB manual</link>.</para>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu">
|
|
||||||
<para>Restart the MongoDB service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service mongodb restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="centos;fedora;opensuse;rhel;sles">
|
|
||||||
<para>Start the MongoDB services and configure them to start when
|
|
||||||
the system boots:</para>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>systemctl enable mongodb.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start mongodb.service</userinput></screen>
|
|
||||||
<!-- NB: The use of mongod, and not mongodb, in the below screen is
|
|
||||||
intentional. -->
|
|
||||||
<screen os="centos;fedora;rhel"><prompt>#</prompt> <userinput>systemctl enable mongod.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start mongod.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the <literal>ceilometer</literal> database:</para>
|
|
||||||
<screen os="centos;fedora;rhel"><prompt>#</prompt> <userinput>mongo --host <replaceable>controller</replaceable> --eval '
|
|
||||||
db = db.getSiblingDB("ceilometer");
|
|
||||||
db.createUser({user: "ceilometer",
|
|
||||||
pwd: "<replaceable>CEILOMETER_DBPASS</replaceable>",
|
|
||||||
roles: [ "readWrite", "dbAdmin" ]})'</userinput>
|
|
||||||
|
|
||||||
<computeroutput>MongoDB shell version: 2.6.x
|
|
||||||
connecting to: controller:27017/test
|
|
||||||
Successfully added user: { "user" : "ceilometer", "roles" : [ "readWrite", "dbAdmin" ] }</computeroutput></screen>
|
|
||||||
<screen os="ubuntu;opensuse;sles"><prompt>#</prompt> <userinput>mongo --host <replaceable>controller</replaceable> --eval '
|
|
||||||
db = db.getSiblingDB("ceilometer");
|
|
||||||
db.addUser({user: "ceilometer",
|
|
||||||
pwd: "<replaceable>CEILOMETER_DBPASS</replaceable>",
|
|
||||||
roles: [ "readWrite", "dbAdmin" ]})'</userinput>
|
|
||||||
|
|
||||||
<computeroutput>MongoDB shell version: 2.4.x
|
|
||||||
connecting to: controller:27017/test
|
|
||||||
{
|
|
||||||
"user" : "ceilometer",
|
|
||||||
"pwd" : "72f25aeee7ad4be52437d7cd3fc60f6f",
|
|
||||||
"roles" : [
|
|
||||||
"readWrite",
|
|
||||||
"dbAdmin"
|
|
||||||
],
|
|
||||||
"_id" : ObjectId("5489c22270d7fad1ba631dc3")
|
|
||||||
}</computeroutput></screen>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_DBPASS</replaceable> with a
|
|
||||||
suitable password.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Source the <literal>admin</literal> credentials to gain access
|
|
||||||
to admin-only CLI commands:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>To create the service credentials, complete these steps:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Create the <literal>ceilometer</literal> user:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack user create --password-prompt ceilometer</userinput>
|
|
||||||
<computeroutput>User Password:
|
|
||||||
Repeat User Password:
|
|
||||||
+----------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+----------+----------------------------------+
|
|
||||||
| email | None |
|
|
||||||
| enabled | True |
|
|
||||||
| id | b7657c9ea07a4556aef5d34cf70713a3 |
|
|
||||||
| name | ceilometer |
|
|
||||||
| username | ceilometer |
|
|
||||||
+----------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Add the <literal>admin</literal> role to the
|
|
||||||
<literal>ceilometer</literal> user.</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack role add --project service --user ceilometer admin</userinput>
|
|
||||||
<computeroutput>+-------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------+----------------------------------+
|
|
||||||
| id | cd2cb9a39e874ea69e5d4b896eb16128 |
|
|
||||||
| name | admin |
|
|
||||||
+-------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the <literal>ceilometer</literal> service
|
|
||||||
entity:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack service create --name ceilometer \
|
|
||||||
--description "Telemetry" metering</userinput>
|
|
||||||
<computeroutput>+-------------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------------+----------------------------------+
|
|
||||||
| description | Telemetry |
|
|
||||||
| enabled | True |
|
|
||||||
| id | 3405453b14da441ebb258edfeba96d83 |
|
|
||||||
| name | ceilometer |
|
|
||||||
| type | metering |
|
|
||||||
+-------------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the Telemetry module API endpoint:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack endpoint create \
|
|
||||||
--publicurl http://<replaceable>controller</replaceable>:8777 \
|
|
||||||
--internalurl http://<replaceable>controller</replaceable>:8777 \
|
|
||||||
--adminurl http://<replaceable>controller</replaceable>:8777 \
|
|
||||||
--region RegionOne \
|
|
||||||
metering</userinput>
|
|
||||||
<computeroutput>+--------------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+--------------+----------------------------------+
|
|
||||||
| adminurl | http://controller:8777 |
|
|
||||||
| id | d3716d85b10d4e60a67a52c6af0068cd |
|
|
||||||
| internalurl | http://controller:8777 |
|
|
||||||
| publicurl | http://controller:8777 |
|
|
||||||
| region | RegionOne |
|
|
||||||
| service_id | 3405453b14da441ebb258edfeba96d83 |
|
|
||||||
| service_name | ceilometer |
|
|
||||||
| service_type | metering |
|
|
||||||
+--------------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="debian">
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<para>Before you install and configure Telemetry, you must install
|
|
||||||
<application>MongoDB</application>.</para>
|
|
||||||
<step>
|
|
||||||
<para>Install the MongoDB package:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install mongodb-server</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/mongodb.conf</filename> file and
|
|
||||||
complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Configure the <literal>bind_ip</literal> key to use the
|
|
||||||
management interface IP address of the controller node.</para>
|
|
||||||
<programlisting language="ini">bind_ip = 10.0.0.11</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>By default, MongoDB creates several 1 GB journal files
|
|
||||||
in the <filename>/var/lib/mongodb/journal</filename>
|
|
||||||
directory. If you want to reduce the size of each journal file
|
|
||||||
to 128 MB and limit total journal space consumption to
|
|
||||||
512 MB, assert the <literal>smallfiles</literal> key:</para>
|
|
||||||
<programlisting language="ini">smallfiles = true</programlisting>
|
|
||||||
<para>If you change the journaling configuration, stop the MongoDB
|
|
||||||
service, remove the initial journal files, and start the
|
|
||||||
service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service mongodb stop</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>rm /var/lib/mongodb/journal/prealloc.*</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service mongodb start</userinput></screen>
|
|
||||||
<para>You can also disable journaling. For more information, see
|
|
||||||
the <link xlink:href="http://docs.mongodb.org/manual/"
|
|
||||||
>MongoDB manual</link>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Restart the MongoDB service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service mongodb restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
|
|
||||||
<title>To install and configure the Telemetry module components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central \
|
|
||||||
ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier \
|
|
||||||
python-ceilometerclient</userinput></screen>
|
|
||||||
<screen os="centos;fedora;rhel"><prompt>#</prompt> <userinput>yum install openstack-ceilometer-api openstack-ceilometer-collector \
|
|
||||||
openstack-ceilometer-notification openstack-ceilometer-central openstack-ceilometer-alarm \
|
|
||||||
python-ceilometerclient</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-ceilometer-api openstack-ceilometer-collector \
|
|
||||||
openstack-ceilometer-agent-notification openstack-ceilometer-agent-central python-ceilometerclient \
|
|
||||||
openstack-ceilometer-alarm-evaluator openstack-ceilometer-alarm-notifier</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Generate a random value to use as the telemetry secret:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openssl rand -hex 10</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/ceilometer/ceilometer.conf</filename> file
|
|
||||||
and complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[database]</literal> section,
|
|
||||||
configure database access:</para>
|
|
||||||
<programlisting language="ini">[database]
|
|
||||||
...
|
|
||||||
connection = mongodb://ceilometer:<replaceable>CEILOMETER_DBPASS</replaceable>@<replaceable>controller</replaceable>:27017/ceilometer</programlisting>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_DBPASS</replaceable> with
|
|
||||||
the password you chose for the Telemetry module database. You
|
|
||||||
must escape special characters such as ':', '/', '+', and '@'
|
|
||||||
in the connection string in accordance with RFC2396.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[oslo_messaging_rabbit]</literal> sections, configure
|
|
||||||
<application>RabbitMQ</application> message queue access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
rpc_backend = rabbit
|
|
||||||
|
|
||||||
[oslo_messaging_rabbit]
|
|
||||||
...
|
|
||||||
rabbit_host = <replaceable>controller</replaceable>
|
|
||||||
rabbit_userid = openstack
|
|
||||||
rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>openstack</literal> account in
|
|
||||||
<application>RabbitMQ</application>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[keystone_authtoken]</literal> sections, configure
|
|
||||||
Identity service access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
auth_strategy = keystone
|
|
||||||
|
|
||||||
[keystone_authtoken]
|
|
||||||
...
|
|
||||||
auth_uri = http://<replaceable>controller</replaceable>:5000/v2.0
|
|
||||||
identity_uri = http://<replaceable>controller</replaceable>:35357
|
|
||||||
admin_tenant_name = service
|
|
||||||
admin_user = ceilometer
|
|
||||||
admin_password = <replaceable>CEILOMETER_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>ceilometer</literal>
|
|
||||||
user in the Identity service.</para>
|
|
||||||
<note>
|
|
||||||
<para>Comment out any <literal>auth_host</literal>,
|
|
||||||
<literal>auth_port</literal>, and
|
|
||||||
<literal>auth_protocol</literal> options because the
|
|
||||||
<literal>identity_uri</literal> option replaces them.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[service_credentials]</literal>
|
|
||||||
section, configure service credentials:</para>
|
|
||||||
<programlisting language="ini">[service_credentials]
|
|
||||||
...
|
|
||||||
os_auth_url = http://<replaceable>controller</replaceable>:5000/v2.0
|
|
||||||
os_username = ceilometer
|
|
||||||
os_tenant_name = service
|
|
||||||
os_password = <replaceable>CEILOMETER_PASS</replaceable>
|
|
||||||
os_endpoint_type = internalURL
|
|
||||||
os_region_name = RegionOne</programlisting>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_PASS</replaceable> with
|
|
||||||
the password you chose for the <literal>ceilometer</literal>
|
|
||||||
user in the Identity service.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[publisher]</literal> section, configure
|
|
||||||
the telemetry secret:</para>
|
|
||||||
<programlisting language="ini">[publisher]
|
|
||||||
...
|
|
||||||
telemetry_secret = <replaceable>TELEMETRY_SECRET</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>TELEMETRY_SECRET</replaceable> with the
|
|
||||||
telemetry secret that you generated in a previous step.</para>
|
|
||||||
</step>
|
|
||||||
<step os="opensuse;sles">
|
|
||||||
<para>In the <literal>[collector]</literal> section, configure the
|
|
||||||
dispatcher:</para>
|
|
||||||
<!-- should this be 'dispatcher = database' ? -->
|
|
||||||
<programlisting language="ini">[collector]
|
|
||||||
...
|
|
||||||
dispatcher = database</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>(Optional) To assist with troubleshooting,
|
|
||||||
enable verbose logging in the <literal>[DEFAULT]</literal>
|
|
||||||
section:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
verbose = True</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
|
|
||||||
<procedure os="debian">
|
|
||||||
<title>To install and configure the Telemetry module components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install ceilometer-api ceilometer-collector ceilometer-agent-central \
|
|
||||||
ceilometer-agent-notification ceilometer-alarm-evaluator ceilometer-alarm-notifier \
|
|
||||||
python-ceilometerclient</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Respond to prompts for
|
|
||||||
<link linkend="debconf-dbconfig-common">database management</link>,
|
|
||||||
<link linkend="debconf-keystone_authtoken">Identity service
|
|
||||||
credentials</link>,
|
|
||||||
<link linkend="debconf-api-endpoints">service endpoint
|
|
||||||
registration</link>, and
|
|
||||||
<link linkend="debconf-rabbitmq">message broker
|
|
||||||
credentials</link>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Generate a random value to use as the telemetry secret:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openssl rand -hex 10</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/ceilometer/ceilometer.conf</filename> file
|
|
||||||
and complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[publisher]</literal> section, configure
|
|
||||||
the telemetry secret:</para>
|
|
||||||
<programlisting language="ini">[publisher]
|
|
||||||
...
|
|
||||||
telemetry_secret = <replaceable>TELEMETRY_SECRET</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>TELEMETRY_SECRET</replaceable> with the
|
|
||||||
telemetry secret that you generated in a previous step.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[service_credentials]</literal>
|
|
||||||
section, configure service credentials:</para>
|
|
||||||
<programlisting language="ini">[service_credentials]
|
|
||||||
...
|
|
||||||
os_auth_url = http://<replaceable>controller</replaceable>:5000/v2.0
|
|
||||||
os_username = ceilometer
|
|
||||||
os_tenant_name = service
|
|
||||||
os_password = <replaceable>CEILOMETER_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_PASS</replaceable> with
|
|
||||||
the password you chose for the <literal>ceilometer</literal>
|
|
||||||
user in the Identity service.</para>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the Telemetry services:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service ceilometer-agent-central restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service ceilometer-agent-notification restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service ceilometer-api restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service ceilometer-collector restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service ceilometer-alarm-evaluator restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service ceilometer-alarm-notifier restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="sles;opensuse">
|
|
||||||
<para>Start the Telemetry services and configure them to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable openstack-ceilometer-api.service openstack-ceilometer-agent-notification.service \
|
|
||||||
openstack-ceilometer-agent-central.service openstack-ceilometer-collector.service \
|
|
||||||
openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-ceilometer-api.service openstack-ceilometer-agent-notification.service \
|
|
||||||
openstack-ceilometer-agent-central.service openstack-ceilometer-collector.service \
|
|
||||||
openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>Start the Telemetry services and configure them to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable openstack-ceilometer-api.service openstack-ceilometer-notification.service \
|
|
||||||
openstack-ceilometer-central.service openstack-ceilometer-collector.service \
|
|
||||||
openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-ceilometer-api.service openstack-ceilometer-notification.service \
|
|
||||||
openstack-ceilometer-central.service openstack-ceilometer-collector.service \
|
|
||||||
openstack-ceilometer-alarm-evaluator.service openstack-ceilometer-alarm-notifier.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,36 +0,0 @@
|
|||||||
<?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="ceilometer-glance">
|
|
||||||
<title>Configure the Image service</title>
|
|
||||||
<para>To retrieve image-oriented events and samples, configure
|
|
||||||
the Image service to send notifications to the message bus.
|
|
||||||
Perform these steps on the controller node.</para>
|
|
||||||
<procedure>
|
|
||||||
<para>Edit the <filename>/etc/glance/glance-api.conf</filename>
|
|
||||||
and <filename>/etc/glance/glance-registry.conf</filename> files and
|
|
||||||
complete the following actions:</para>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> section, configure
|
|
||||||
notifications and RabbitMQ message broker access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
notification_driver = messagingv2
|
|
||||||
rpc_backend = rabbit
|
|
||||||
rabbit_host = <replaceable>controller</replaceable>
|
|
||||||
rabbit_userid = openstack
|
|
||||||
rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>openstack</literal> account in
|
|
||||||
<application>RabbitMQ</application>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Restart the Image service:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service glance-registry restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service glance-api restart</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>systemctl restart openstack-glance-api.service openstack-glance-registry.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,134 +0,0 @@
|
|||||||
<?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="ceilometer-nova">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Configure the Compute service</title>
|
|
||||||
<para>Telemetry uses a combination of notifications and an agent to
|
|
||||||
collect Compute meters. Perform these steps on each compute node.</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To install and configure the agent</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install ceilometer-agent-compute</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-ceilometer-compute python-ceilometerclient python-pecan</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>zypper install openstack-ceilometer-agent-compute</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/ceilometer/ceilometer.conf</filename>
|
|
||||||
file and complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[publisher]</literal> section, configure the
|
|
||||||
telemetry secret:</para>
|
|
||||||
<programlisting language="ini">[publisher]
|
|
||||||
...
|
|
||||||
telemetry_secret = <replaceable>TELEMETRY_SECRET</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>TELEMETRY_SECRET</replaceable> with
|
|
||||||
the telemetry secret you chose for the Telemetry module.</para>
|
|
||||||
</step>
|
|
||||||
<step os="centos;fedora;opensuse;rhel;sles;ubuntu">
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[oslo_messaging_rabbit]</literal> sections, configure
|
|
||||||
<application>RabbitMQ</application> message queue access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
rpc_backend = rabbit
|
|
||||||
|
|
||||||
[oslo_messaging_rabbit]
|
|
||||||
...
|
|
||||||
rabbit_host = <replaceable>controller</replaceable>
|
|
||||||
rabbit_userid = openstack
|
|
||||||
rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>openstack</literal> account in
|
|
||||||
<application>RabbitMQ</application>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[keystone_authtoken]</literal> section,
|
|
||||||
configure Identity service access:</para>
|
|
||||||
<programlisting language="ini">[keystone_authtoken]
|
|
||||||
...
|
|
||||||
auth_uri = http://<replaceable>controller</replaceable>:5000/v2.0
|
|
||||||
identity_uri = http://<replaceable>controller</replaceable>:35357
|
|
||||||
admin_tenant_name = service
|
|
||||||
admin_user = ceilometer
|
|
||||||
admin_password = <replaceable>CEILOMETER_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_PASS</replaceable> with the
|
|
||||||
password you chose for the Telemetry module database.</para>
|
|
||||||
<note>
|
|
||||||
<para>Comment out any <literal>auth_host</literal>,
|
|
||||||
<literal>auth_port</literal>, and
|
|
||||||
<literal>auth_protocol</literal> options because the
|
|
||||||
<literal>identity_uri</literal> option replaces them.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[service_credentials]</literal> section,
|
|
||||||
configure service credentials:</para>
|
|
||||||
<programlisting language="ini">[service_credentials]
|
|
||||||
...
|
|
||||||
os_auth_url = http://<replaceable>controller</replaceable>:5000/v2.0
|
|
||||||
os_username = ceilometer
|
|
||||||
os_tenant_name = service
|
|
||||||
os_password = <replaceable>CEILOMETER_PASS</replaceable>
|
|
||||||
os_endpoint_type = internalURL
|
|
||||||
os_region_name = RegionOne</programlisting>
|
|
||||||
<para>Replace <replaceable>CEILOMETER_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>ceilometer</literal> user in
|
|
||||||
the Identity service.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>(Optional) To assist with troubleshooting,
|
|
||||||
enable verbose logging in the <literal>[DEFAULT]</literal>
|
|
||||||
section:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
verbose = True</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure notifications</title>
|
|
||||||
<para>Configure the Compute service to send notifications to the
|
|
||||||
message bus.</para>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/nova/nova.conf</filename> file and
|
|
||||||
configure notifications in the <literal>[DEFAULT]</literal>
|
|
||||||
section:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
instance_usage_audit = True
|
|
||||||
instance_usage_audit_period = hour
|
|
||||||
notify_on_state_change = vm_and_task_state
|
|
||||||
notification_driver = messagingv2</programlisting>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the agent:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service ceilometer-agent-compute restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="sles;opensuse">
|
|
||||||
<para>Start the Telemetry agent and configure it to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable openstack-ceilometer-agent-compute.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-ceilometer-agent-compute.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>Start the Telemetry agent and configure it to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable openstack-ceilometer-compute.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-ceilometer-compute.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Restart the Compute service:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service nova-compute restart</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>systemctl restart openstack-nova-compute.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,99 +0,0 @@
|
|||||||
<?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="ceilometer-swift">
|
|
||||||
<title>Configure the Object Storage service</title>
|
|
||||||
<para>To retrieve storage-oriented events and samples, configure the
|
|
||||||
Object Storage service to send notifications to the message bus.</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<para>The Telemetry service requires access to the Object Storage
|
|
||||||
service using the <literal>ResellerAdmin</literal> role. Perform
|
|
||||||
these steps on the controller node.</para>
|
|
||||||
<step>
|
|
||||||
<para>Source the <literal>admin</literal> credentials to gain
|
|
||||||
access to admin-only CLI commands.</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the <literal>ResellerAdmin</literal> role:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack role create ResellerAdmin</userinput>
|
|
||||||
<computeroutput>+-------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------+----------------------------------+
|
|
||||||
| id | 462fa46c13fd4798a95a3bfbe27b5e54 |
|
|
||||||
| name | ResellerAdmin |
|
|
||||||
+-------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Add the <literal>ResellerAdmin</literal> role to the
|
|
||||||
<literal>service</literal> tenant and <literal>ceilometer</literal>
|
|
||||||
user:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack role add --project service --user ceilometer ResellerAdmin</userinput>
|
|
||||||
<computeroutput>+-------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------+----------------------------------+
|
|
||||||
| id | 462fa46c13fd4798a95a3bfbe27b5e54 |
|
|
||||||
| name | ResellerAdmin |
|
|
||||||
+-------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure notifications</title>
|
|
||||||
<para>Perform these steps on the controller and any other nodes that
|
|
||||||
run the Object Storage proxy service.</para>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/swift/proxy-server.conf</filename> file
|
|
||||||
and complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[filter:keystoneauth]</literal> section,
|
|
||||||
add the <literal>ResellerAdmin</literal> role:</para>
|
|
||||||
<programlisting language="ini">[filter:keystoneauth]
|
|
||||||
...
|
|
||||||
operator_roles = admin,user,ResellerAdmin</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[pipeline:main]</literal> section, add
|
|
||||||
<literal>ceilometer</literal>:</para>
|
|
||||||
<programlisting language="ini">[pipeline:main]
|
|
||||||
...
|
|
||||||
pipeline = authtoken cache healthcheck keystoneauth proxy-logging ceilometer proxy-server</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[filter:ceilometer]</literal> section, configure
|
|
||||||
notifications:</para>
|
|
||||||
<programlisting language="ini">[filter:ceilometer]
|
|
||||||
...
|
|
||||||
paste.filter_factory = ceilometermiddleware.swift:filter_factory
|
|
||||||
control_exchange = swift
|
|
||||||
url = rabbit://openstack:<replaceable>RABBIT_PASS</replaceable>@<replaceable>controller</replaceable>:5672/
|
|
||||||
driver = messagingv2
|
|
||||||
topic = notifications
|
|
||||||
log_level = WARN</programlisting>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>openstack</literal> account in
|
|
||||||
<application>RabbitMQ</application>.</para>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Add the <literal>swift</literal> system user to the
|
|
||||||
<literal>ceilometer</literal> system group to permit access to the
|
|
||||||
Telemetry configuration files by the Object Storage service:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>usermod -a -G ceilometer swift</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="fedora;centos;rhel">
|
|
||||||
<!-- Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1214928. -->
|
|
||||||
<para>Install the <package>ceilometermiddleware</package> package:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>pip install ceilometermiddleware</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Restart the Object Storage proxy service:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>service swift-proxy restart</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora;opensuse;sles"><prompt>#</prompt> <userinput>systemctl restart openstack-swift-proxy.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,67 +0,0 @@
|
|||||||
<?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="ceilometer-verify">
|
|
||||||
<title>Verify the Telemetry installation</title>
|
|
||||||
<para>This section describes how to verify operation of the Telemetry
|
|
||||||
module.</para>
|
|
||||||
<procedure>
|
|
||||||
<note>
|
|
||||||
<para>Perform these steps on the controller node.</para>
|
|
||||||
</note>
|
|
||||||
<step>
|
|
||||||
<para>Source the <literal>admin</literal> credentials to gain access to
|
|
||||||
admin-only CLI commands:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>List available meters:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>ceilometer meter-list</userinput>
|
|
||||||
<computeroutput>+--------------+-------+-------+--------------------------------------+---------+----------------------------------+
|
|
||||||
| Name | Type | Unit | Resource ID | User ID | Project ID |
|
|
||||||
+--------------+-------+-------+--------------------------------------+---------+----------------------------------+
|
|
||||||
| image | gauge | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.size | gauge | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.update | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.upload | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
+--------------+-------+-------+--------------------------------------+---------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Download an image from the Image service:</para>
|
|
||||||
<screen>
|
|
||||||
<prompt>$</prompt> <userinput>IMAGE_ID=$(glance image-list | grep 'cirros-0.3.4-x86_64' | awk '{ print $2 }')</userinput>
|
|
||||||
<prompt>$</prompt> <userinput>glance image-download $IMAGE_ID > /tmp/cirros.img</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>List available meters again to validate detection of the image
|
|
||||||
download:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>ceilometer meter-list</userinput>
|
|
||||||
<computeroutput>+----------------+-------+-------+--------------------------------------+---------+----------------------------------+
|
|
||||||
| Name | Type | Unit | Resource ID | User ID | Project ID |
|
|
||||||
+----------------+-------+-------+--------------------------------------+---------+----------------------------------+
|
|
||||||
| image | gauge | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.download | delta | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.serve | delta | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.size | gauge | B | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.update | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
| image.upload | delta | image | acafc7c0-40aa-4026-9673-b879898e1fc2 | None | cf12a15c5ea84b019aec3dc45580896b |
|
|
||||||
+----------------+-------+-------+--------------------------------------+---------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Retrieve usage statistics from the <literal>image.download</literal>
|
|
||||||
meter:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>ceilometer statistics -m image.download -p 60</userinput>
|
|
||||||
<computeroutput>+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+
|
|
||||||
| Period | Period Start | Period End | Max | Min | Avg | Sum | Count | Duration | Duration Start | Duration End |
|
|
||||||
+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+
|
|
||||||
| 60 | 2015-04-21T12:21:45 | 2015-04-21T12:22:45 | 13200896.0 | 13200896.0 | 13200896.0 | 13200896.0 | 1 | 0.0 | 2015-04-21T12:22:12.983000 | 2015-04-21T12:22:12.983000 |
|
|
||||||
+--------+---------------------+---------------------+------------+------------+------------+------------+-------+----------+----------------------------+----------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Remove the previously downloaded image file <filename>/tmp/cirros.img</filename>:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>rm /tmp/cirros.img</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,286 +0,0 @@
|
|||||||
<?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="cinder-install-controller-node">
|
|
||||||
<title>Install and configure controller node</title>
|
|
||||||
<para>This section describes how to install and configure the Block
|
|
||||||
Storage service, code-named cinder, on the controller node. This
|
|
||||||
service requires at least one additional storage node that provides
|
|
||||||
volumes to instances.</para>
|
|
||||||
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<para>Before you install and configure the Block Storage service, you
|
|
||||||
must create a database, service credentials, and API endpoint.</para>
|
|
||||||
<step>
|
|
||||||
<para>To create the database, complete these steps:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Use the database access client to connect to the database
|
|
||||||
server as the <literal>root</literal> user:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>mysql -u root -p</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the <literal>cinder</literal> database:</para>
|
|
||||||
<screen><userinput>CREATE DATABASE cinder;</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Grant proper access to the <literal>cinder</literal>
|
|
||||||
database:</para>
|
|
||||||
<screen><userinput>GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \
|
|
||||||
IDENTIFIED BY '<replaceable>CINDER_DBPASS</replaceable>';</userinput>
|
|
||||||
<userinput>GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \
|
|
||||||
IDENTIFIED BY '<replaceable>CINDER_DBPASS</replaceable>';</userinput></screen>
|
|
||||||
<para>Replace <replaceable>CINDER_DBPASS</replaceable> with
|
|
||||||
a suitable password.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Exit the database access client.</para>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Source the <literal>admin</literal> credentials to gain access to
|
|
||||||
admin-only CLI commands:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>To create the service credentials, complete these steps:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Create a <literal>cinder</literal> user:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack user create --password-prompt cinder</userinput>
|
|
||||||
<computeroutput>User Password:
|
|
||||||
Repeat User Password:
|
|
||||||
+----------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+----------+----------------------------------+
|
|
||||||
| email | None |
|
|
||||||
| enabled | True |
|
|
||||||
| id | 881ab2de4f7941e79504a759a83308be |
|
|
||||||
| name | cinder |
|
|
||||||
| username | cinder |
|
|
||||||
+----------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Add the <literal>admin</literal> role to the
|
|
||||||
<literal>cinder</literal> user:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack role add --project service --user cinder admin</userinput>
|
|
||||||
<computeroutput>+-------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------+----------------------------------+
|
|
||||||
| id | cd2cb9a39e874ea69e5d4b896eb16128 |
|
|
||||||
| name | admin |
|
|
||||||
+-------+----------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the <literal>cinder</literal> service entities:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack service create --name cinder \
|
|
||||||
--description "OpenStack Block Storage" volume</userinput>
|
|
||||||
<computeroutput>+-------------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------------+----------------------------------+
|
|
||||||
| description | OpenStack Block Storage |
|
|
||||||
| enabled | True |
|
|
||||||
| id | 1e494c3e22a24baaafcaf777d4d467eb |
|
|
||||||
| name | cinder |
|
|
||||||
| type | volume |
|
|
||||||
+-------------+----------------------------------+</computeroutput></screen>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack service create --name cinderv2 \
|
|
||||||
--description "OpenStack Block Storage" volumev2</userinput>
|
|
||||||
<computeroutput>+-------------+----------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+-------------+----------------------------------+
|
|
||||||
| description | OpenStack Block Storage |
|
|
||||||
| enabled | True |
|
|
||||||
| id | 16e038e449c94b40868277f1d801edb5 |
|
|
||||||
| name | cinderv2 |
|
|
||||||
| type | volumev2 |
|
|
||||||
+-------------+----------------------------------+</computeroutput></screen>
|
|
||||||
<note>
|
|
||||||
<para>The Block Storage service requires both the
|
|
||||||
<literal>volume</literal> and <literal>volumev2</literal>
|
|
||||||
services. However, both services use the same API
|
|
||||||
endpoint that references the Block Storage version 2 API.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the Block Storage service API endpoints:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack endpoint create \
|
|
||||||
--publicurl http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
|
|
||||||
--internalurl http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
|
|
||||||
--adminurl http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
|
|
||||||
--region RegionOne \
|
|
||||||
volume</userinput>
|
|
||||||
<computeroutput>+--------------+-----------------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+--------------+-----------------------------------------+
|
|
||||||
| adminurl | http://controller:8776/v2/%(tenant_id)s |
|
|
||||||
| id | d1b7291a2d794e26963b322c7f2a55a4 |
|
|
||||||
| internalurl | http://controller:8776/v2/%(tenant_id)s |
|
|
||||||
| publicurl | http://controller:8776/v2/%(tenant_id)s |
|
|
||||||
| region | RegionOne |
|
|
||||||
| service_id | 1e494c3e22a24baaafcaf777d4d467eb |
|
|
||||||
| service_name | cinder |
|
|
||||||
| service_type | volume |
|
|
||||||
+--------------+-----------------------------------------+</computeroutput></screen>
|
|
||||||
<screen><prompt>$</prompt> <userinput>openstack endpoint create \
|
|
||||||
--publicurl http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
|
|
||||||
--internalurl http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
|
|
||||||
--adminurl http://<replaceable>controller</replaceable>:8776/v2/%\(tenant_id\)s \
|
|
||||||
--region RegionOne \
|
|
||||||
volumev2</userinput>
|
|
||||||
<computeroutput>+--------------+-----------------------------------------+
|
|
||||||
| Field | Value |
|
|
||||||
+--------------+-----------------------------------------+
|
|
||||||
| adminurl | http://controller:8776/v2/%(tenant_id)s |
|
|
||||||
| id | 097b4a6fc8ba44b4b10d4822d2d9e076 |
|
|
||||||
| internalurl | http://controller:8776/v2/%(tenant_id)s |
|
|
||||||
| publicurl | http://controller:8776/v2/%(tenant_id)s |
|
|
||||||
| region | RegionOne |
|
|
||||||
| service_id | 16e038e449c94b40868277f1d801edb5 |
|
|
||||||
| service_name | cinderv2 |
|
|
||||||
| service_type | volumev2 |
|
|
||||||
+--------------+-----------------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
|
|
||||||
<title>To install and configure Block Storage controller components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install cinder-api cinder-scheduler python-cinderclient</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-cinder python-cinderclient python-oslo-db</userinput></screen>
|
|
||||||
<screen os="sles;opensuse"><prompt>#</prompt> <userinput>zypper install openstack-cinder-api openstack-cinder-scheduler python-cinderclient</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<!-- Workaround for https://bugzilla.redhat.com/show_bug.cgi?id=1212900. -->
|
|
||||||
<para os="rhel;centos;fedora">Copy the <filename>/usr/share/cinder/cinder-dist.conf</filename> file
|
|
||||||
to <filename>/etc/cinder/cinder.conf</filename>.</para>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>cp /usr/share/cinder/cinder-dist.conf /etc/cinder/cinder.conf</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>chown -R cinder:cinder /etc/cinder/cinder.conf</userinput></screen>
|
|
||||||
<para>Edit the <filename>/etc/cinder/cinder.conf</filename> file and
|
|
||||||
complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[database]</literal> section, configure
|
|
||||||
database access:</para>
|
|
||||||
<programlisting language="ini">[database]
|
|
||||||
...
|
|
||||||
connection = mysql://cinder:<replaceable>CINDER_DBPASS</replaceable>@controller/cinder</programlisting>
|
|
||||||
<para>Replace <replaceable>CINDER_DBPASS</replaceable> with the
|
|
||||||
password you chose for the Block Storage database.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[oslo_messaging_rabbit]</literal> sections, configure
|
|
||||||
<application>RabbitMQ</application> message queue access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
rpc_backend = rabbit
|
|
||||||
|
|
||||||
[oslo_messaging_rabbit]
|
|
||||||
...
|
|
||||||
rabbit_host = <replaceable>controller</replaceable>
|
|
||||||
rabbit_userid = openstack
|
|
||||||
rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>openstack</literal> account in
|
|
||||||
<application>RabbitMQ</application>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[keystone_authtoken]</literal> sections,
|
|
||||||
configure Identity service access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
auth_strategy = keystone
|
|
||||||
|
|
||||||
[keystone_authtoken]
|
|
||||||
...
|
|
||||||
auth_uri = http://<replaceable>controller</replaceable>:5000
|
|
||||||
auth_url = http://<replaceable>controller</replaceable>:35357
|
|
||||||
auth_plugin = password
|
|
||||||
project_domain_id = default
|
|
||||||
user_domain_id = default
|
|
||||||
project_name = service
|
|
||||||
username = cinder
|
|
||||||
password = <replaceable>CINDER_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>CINDER_PASS</replaceable> with the password
|
|
||||||
you chose for the <literal>cinder</literal> user in the Identity
|
|
||||||
service.</para>
|
|
||||||
<note>
|
|
||||||
<para>Comment out or remove any other options in the
|
|
||||||
<literal>[keystone_authtoken]</literal> section.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> section, configure the
|
|
||||||
<literal>my_ip</literal> option to use the management interface IP
|
|
||||||
address of the controller node:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
my_ip = 10.0.0.11</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[oslo_concurrency]</literal> section,
|
|
||||||
configure the lock path:</para>
|
|
||||||
<programlisting language="ini">[oslo_concurrency]
|
|
||||||
...
|
|
||||||
lock_path = /var/lock/cinder</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>(Optional) To assist with troubleshooting,
|
|
||||||
enable verbose logging in the <literal>[DEFAULT]</literal>
|
|
||||||
section:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
verbose = True</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Populate the Block Storage database:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>su -s /bin/sh -c "cinder-manage db sync" cinder</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="debian">
|
|
||||||
<title>To install and configure Block Storage controller components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install cinder-api cinder-scheduler python-cinderclient</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Respond to the prompts for
|
|
||||||
<link linkend="debconf-dbconfig-common">database management</link>,
|
|
||||||
<link linkend="debconf-keystone_authtoken">Identity service
|
|
||||||
credentials</link>,
|
|
||||||
<link linkend="debconf-api-endpoints">service endpoint
|
|
||||||
registration</link>, and
|
|
||||||
<link linkend="debconf-rabbitmq">message broker
|
|
||||||
credentials</link>.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the Block Storage services:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service cinder-scheduler restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service cinder-api restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the Block Storage services and configure them to start when
|
|
||||||
the system boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu">
|
|
||||||
<para>By default, the Ubuntu packages create an SQLite database.</para>
|
|
||||||
<para>Because this configuration uses a SQL database server, you can
|
|
||||||
remove the SQLite database file:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>rm -f /var/lib/cinder/cinder.sqlite</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,317 +0,0 @@
|
|||||||
<?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="cinder-install-storage-node">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Install and configure a storage node</title>
|
|
||||||
<para>This section describes how to install and configure storage nodes
|
|
||||||
for the Block Storage service. For simplicity, this configuration
|
|
||||||
references one storage node with an empty local block storage device
|
|
||||||
<literal>/dev/sdb</literal> that contains a suitable partition table with
|
|
||||||
one partition <literal>/dev/sdb1</literal> occupying the entire device.
|
|
||||||
The service provisions logical volumes on this device using the
|
|
||||||
<glossterm>LVM</glossterm> driver and provides them to instances via
|
|
||||||
<glossterm baseform="Internet Small Computer Systems Interface (iSCSI)"
|
|
||||||
>iSCSI</glossterm> transport. You can follow these instructions with
|
|
||||||
minor modifications to horizontally scale your environment with
|
|
||||||
additional storage nodes.</para>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure prerequisites</title>
|
|
||||||
<para>You must configure the storage node before you install and
|
|
||||||
configure the volume service on it. Similar to the controller node,
|
|
||||||
the storage node contains one network interface on the
|
|
||||||
<glossterm>management network</glossterm>. The storage node also
|
|
||||||
needs an empty block storage device of suitable size for your
|
|
||||||
environment. For more information, see
|
|
||||||
<xref linkend="ch_basic_environment"/>.</para>
|
|
||||||
<step>
|
|
||||||
<para>Configure the management interface:</para>
|
|
||||||
<para>IP address: 10.0.0.41</para>
|
|
||||||
<para>Network mask: 255.255.255.0 (or /24)</para>
|
|
||||||
<para>Default gateway: 10.0.0.1</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Set the hostname of the node to
|
|
||||||
<replaceable>block1</replaceable>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Copy the contents of the <filename>/etc/hosts</filename> file from
|
|
||||||
the controller node to the storage node and add the following
|
|
||||||
to it:</para>
|
|
||||||
<programlisting language="ini"># block1
|
|
||||||
10.0.0.41 block1</programlisting>
|
|
||||||
<para>Also add this content to the <filename>/etc/hosts</filename> file
|
|
||||||
on all other nodes in your environment.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Install and configure
|
|
||||||
<glossterm baseform="Network Time Protocol (NTP)">NTP</glossterm>
|
|
||||||
using the instructions in
|
|
||||||
<xref linkend="basics-ntp-other-nodes"/>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>If you intend to use non-raw image types such as QCOW2 and VMDK,
|
|
||||||
install the QEMU support package:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install qemu</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install qemu</userinput></screen>
|
|
||||||
<screen os="sles;opensuse"><prompt>#</prompt> <userinput>zypper install qemu</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Install the LVM packages:</para>
|
|
||||||
<screen os="ubuntu;debian"><prompt>#</prompt> <userinput>apt-get install lvm2</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install lvm2</userinput></screen>
|
|
||||||
<note>
|
|
||||||
<para>Some distributions include LVM by default.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>Start the LVM metadata service and configure it to start when the
|
|
||||||
system boots:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>systemctl enable lvm2-lvmetad.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start lvm2-lvmetad.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the LVM physical volume <literal>/dev/sdb1</literal>:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>pvcreate /dev/sdb1</userinput>
|
|
||||||
<computeroutput> Physical volume "/dev/sdb1" successfully created</computeroutput></screen>
|
|
||||||
<note>
|
|
||||||
<para>If your system uses a different device name, adjust these
|
|
||||||
steps accordingly.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create the LVM volume group
|
|
||||||
<literal>cinder-volumes</literal>:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>vgcreate cinder-volumes /dev/sdb1</userinput>
|
|
||||||
<computeroutput> Volume group "cinder-volumes" successfully created</computeroutput></screen>
|
|
||||||
<para>The Block Storage service creates logical volumes in this
|
|
||||||
volume group.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Only instances can access Block Storage volumes. However, the
|
|
||||||
underlying operating system manages the devices associated with
|
|
||||||
the volumes. By default, the LVM volume scanning tool scans the
|
|
||||||
<literal>/dev</literal> directory for block storage devices that
|
|
||||||
contain volumes. If projects use LVM on their volumes, the scanning
|
|
||||||
tool detects these volumes and attempts to cache them which can cause
|
|
||||||
a variety of problems with both the underlying operating system
|
|
||||||
and project volumes. You must reconfigure LVM to scan only the devices
|
|
||||||
that contain the <literal>cinder-volume</literal> volume group. Edit
|
|
||||||
the <filename>/etc/lvm/lvm.conf</filename> file and complete the
|
|
||||||
following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>devices</literal> section, add a filter
|
|
||||||
that accepts the <literal>/dev/sdb</literal> device and rejects
|
|
||||||
all other devices:</para>
|
|
||||||
<programlisting language="ini">devices {
|
|
||||||
...
|
|
||||||
filter = [ "a/sdb/", "r/.*/"]</programlisting>
|
|
||||||
<para>Each item in the filter array begins with <literal>a</literal>
|
|
||||||
for <emphasis>accept</emphasis> or <literal>r</literal> for
|
|
||||||
<emphasis>reject</emphasis> and includes a regular expression
|
|
||||||
for the device name. The array must end with
|
|
||||||
<literal>r/.*/</literal> to reject any remaining
|
|
||||||
devices. You can use the <command>vgs -vvvv</command>
|
|
||||||
command to test filters.</para>
|
|
||||||
<warning>
|
|
||||||
<para>If your storage nodes use LVM on the operating system disk,
|
|
||||||
you must also add the associated device to the filter. For
|
|
||||||
example, if the <literal>/dev/sda</literal> device contains
|
|
||||||
the operating system:</para>
|
|
||||||
<programlisting language="ini">filter = [ "a/sda/", "a/sdb/", "r/.*/"]</programlisting>
|
|
||||||
<para>Similarly, if your compute nodes use LVM on the operating
|
|
||||||
system disk, you must also modify the filter in the
|
|
||||||
<literal>/etc/lvm/lvm.conf</literal> file on those nodes to
|
|
||||||
include only the operating system disk. For example, if the
|
|
||||||
<literal>/dev/sda</literal> device contains the operating
|
|
||||||
system:</para>
|
|
||||||
<programlisting language="ini">filter = [ "a/sda/", "r/.*/"]</programlisting>
|
|
||||||
</warning>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
|
|
||||||
<title>Install and configure Block Storage volume components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install cinder-volume python-mysqldb</userinput></screen>
|
|
||||||
<!-- Temporary workaround for bug:
|
|
||||||
https://bugzilla.redhat.com/show_bug.cgi?id=1212899 -->
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-cinder targetcli python-oslo-db python-oslo-log MySQL-python</userinput></screen>
|
|
||||||
<screen os="sles;opensuse"><prompt>#</prompt> <userinput>zypper install openstack-cinder-volume tgt python-mysql</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Edit the <filename>/etc/cinder/cinder.conf</filename> file
|
|
||||||
and complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[database]</literal> section, configure
|
|
||||||
database access:</para>
|
|
||||||
<programlisting language="ini">[database]
|
|
||||||
...
|
|
||||||
connection = mysql://cinder:<replaceable>CINDER_DBPASS</replaceable>@<replaceable>controller</replaceable>/cinder</programlisting>
|
|
||||||
<para>Replace <replaceable>CINDER_DBPASS</replaceable> with
|
|
||||||
the password you chose for the Block Storage database.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[oslo_messaging_rabbit]</literal> sections, configure
|
|
||||||
<application>RabbitMQ</application> message queue access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
rpc_backend = rabbit
|
|
||||||
|
|
||||||
[oslo_messaging_rabbit]
|
|
||||||
...
|
|
||||||
rabbit_host = <replaceable>controller</replaceable>
|
|
||||||
rabbit_userid = openstack
|
|
||||||
rabbit_password = <replaceable>RABBIT_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>RABBIT_PASS</replaceable> with the
|
|
||||||
password you chose for the <literal>openstack</literal> account in
|
|
||||||
<application>RabbitMQ</application>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> and
|
|
||||||
<literal>[keystone_authtoken]</literal> sections,
|
|
||||||
configure Identity service access:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
auth_strategy = keystone
|
|
||||||
|
|
||||||
[keystone_authtoken]
|
|
||||||
...
|
|
||||||
auth_uri = http://<replaceable>controller</replaceable>:5000
|
|
||||||
auth_url = http://<replaceable>controller</replaceable>:35357
|
|
||||||
auth_plugin = password
|
|
||||||
project_domain_id = default
|
|
||||||
user_domain_id = default
|
|
||||||
project_name = service
|
|
||||||
username = cinder
|
|
||||||
password = <replaceable>CINDER_PASS</replaceable></programlisting>
|
|
||||||
<para>Replace <replaceable>CINDER_PASS</replaceable> with the password
|
|
||||||
you chose for the <literal>cinder</literal> user in the Identity
|
|
||||||
service.</para>
|
|
||||||
<note>
|
|
||||||
<para>Comment out or remove any other options in the
|
|
||||||
<literal>[keystone_authtoken]</literal> section.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> section, configure the
|
|
||||||
<literal>my_ip</literal> option:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
my_ip = <replaceable>MANAGEMENT_INTERFACE_IP_ADDRESS</replaceable></programlisting>
|
|
||||||
<para>Replace
|
|
||||||
<replaceable>MANAGEMENT_INTERFACE_IP_ADDRESS</replaceable> with
|
|
||||||
the IP address of the management network interface on your
|
|
||||||
storage node, typically 10.0.0.41 for the first node in the
|
|
||||||
<link linkend="architecture_example-architectures">example
|
|
||||||
architecture</link>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[lvm]</literal> section, configure the LVM
|
|
||||||
back end with the LVM driver, <literal>cinder-volumes</literal>
|
|
||||||
volume group, iSCSI protocol, and appropriate iSCSI
|
|
||||||
service:</para>
|
|
||||||
<programlisting os="ubuntu;sles;opensuse" language="ini">[lvm]
|
|
||||||
...
|
|
||||||
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
|
|
||||||
volume_group = cinder-volumes
|
|
||||||
iscsi_protocol = iscsi
|
|
||||||
iscsi_helper = tgtadm</programlisting>
|
|
||||||
<programlisting os="rhel;centos;fedora" language="ini">[lvm]
|
|
||||||
...
|
|
||||||
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
|
|
||||||
volume_group = cinder-volumes
|
|
||||||
iscsi_protocol = iscsi
|
|
||||||
iscsi_helper = lioadm</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> section, enable the LVM
|
|
||||||
back end:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
enabled_backends = lvm</programlisting>
|
|
||||||
<note>
|
|
||||||
<para>Back-end names are arbitrary. As an example, this guide
|
|
||||||
uses the name of the driver as the name of the back end.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[DEFAULT]</literal> section, configure the
|
|
||||||
location of the Image service:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
glance_host = <replaceable>controller</replaceable></programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>In the <literal>[oslo_concurrency]</literal> section,
|
|
||||||
configure the lock path:</para>
|
|
||||||
<programlisting language="ini">[oslo_concurrency]
|
|
||||||
...
|
|
||||||
lock_path = /var/lock/cinder</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>(Optional) To assist with troubleshooting,
|
|
||||||
enable verbose logging in the <literal>[DEFAULT]</literal>
|
|
||||||
section:</para>
|
|
||||||
<programlisting language="ini">[DEFAULT]
|
|
||||||
...
|
|
||||||
verbose = True</programlisting>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="debian">
|
|
||||||
<title>Install and configure Block Storage volume components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install cinder-volume python-mysqldb</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Respond to the prompts for
|
|
||||||
<link linkend="debconf-dbconfig-common">database management</link>,
|
|
||||||
<link linkend="debconf-keystone_authtoken">Identity service
|
|
||||||
credentials</link>,
|
|
||||||
<link linkend="debconf-api-endpoints">service endpoint
|
|
||||||
registration</link>, and
|
|
||||||
<link linkend="debconf-rabbitmq">message broker
|
|
||||||
credentials.</link>.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Respond to prompts for the volume group to associate with the
|
|
||||||
Block Storage service. The script scans for volume groups and
|
|
||||||
attempts to use the first one. If your system only contains the
|
|
||||||
<literal>cinder-volumes</literal> volume group, the script should
|
|
||||||
automatically choose it.</para>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Restart the Block Storage volume service including its
|
|
||||||
dependencies:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service tgt restart</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>service cinder-volume restart</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the Block Storage volume service including its dependencies
|
|
||||||
and configure them to start when the system boots:</para>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl enable openstack-cinder-volume.service target.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-cinder-volume.service target.service</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>systemctl enable openstack-cinder-volume.service tgtd.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start openstack-cinder-volume.service tgtd.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu">
|
|
||||||
<para>By default, the Ubuntu packages create an SQLite database.
|
|
||||||
Because this configuration uses a SQL database server, remove
|
|
||||||
the SQLite database file:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>rm -f /var/lib/cinder/cinder.sqlite</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,91 +0,0 @@
|
|||||||
<?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="cinder-verify">
|
|
||||||
<title>Verify operation</title>
|
|
||||||
<para>This section describes how to verify operation of the Block Storage
|
|
||||||
service by creating a volume.</para>
|
|
||||||
<para>For more information about how to manage volumes, see the <link
|
|
||||||
xlink:href="http://docs.openstack.org/user-guide/index.html"
|
|
||||||
><citetitle>OpenStack User Guide</citetitle></link>.</para>
|
|
||||||
<note>
|
|
||||||
<para>Perform these commands on the controller node.</para>
|
|
||||||
</note>
|
|
||||||
<procedure>
|
|
||||||
<step>
|
|
||||||
<para>In each client environment script, configure the Block Storage
|
|
||||||
client to use API version 2.0:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>echo "export OS_VOLUME_API_VERSION=2" | tee -a admin-openrc.sh demo-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Source the <literal>admin</literal> credentials to gain access to
|
|
||||||
admin-only CLI commands:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>source admin-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>List service components to verify successful launch of each
|
|
||||||
process:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>cinder service-list</userinput>
|
|
||||||
<computeroutput>+------------------+------------+------+---------+-------+----------------------------+-----------------+
|
|
||||||
| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
|
|
||||||
+------------------+------------+------+---------+-------+----------------------------+-----------------+
|
|
||||||
| cinder-scheduler | controller | nova | enabled | up | 2014-10-18T01:30:54.000000 | None |
|
|
||||||
| cinder-volume | block1@lvm | nova | enabled | up | 2014-10-18T01:30:57.000000 | None |
|
|
||||||
+------------------+------------+------+---------+-------+----------------------------+-----------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Source the <literal>demo</literal> credentials to perform
|
|
||||||
the following steps as a non-administrative project:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>source demo-openrc.sh</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Create a 1 GB volume:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>cinder create --name demo-volume1 1</userinput>
|
|
||||||
<computeroutput>+---------------------------------------+--------------------------------------+
|
|
||||||
| Property | Value |
|
|
||||||
+---------------------------------------+--------------------------------------+
|
|
||||||
| attachments | [] |
|
|
||||||
| availability_zone | nova |
|
|
||||||
| bootable | false |
|
|
||||||
| consistencygroup_id | None |
|
|
||||||
| created_at | 2015-04-21T23:46:08.000000 |
|
|
||||||
| description | None |
|
|
||||||
| encrypted | False |
|
|
||||||
| id | 6c7a3d28-e1ef-42a0-b1f7-8d6ce9218412 |
|
|
||||||
| metadata | {} |
|
|
||||||
| multiattach | False |
|
|
||||||
| name | demo-volume1 |
|
|
||||||
| os-vol-tenant-attr:tenant_id | ab8ea576c0574b6092bb99150449b2d3 |
|
|
||||||
| os-volume-replication:driver_data | None |
|
|
||||||
| os-volume-replication:extended_status | None |
|
|
||||||
| replication_status | disabled |
|
|
||||||
| size | 1 |
|
|
||||||
| snapshot_id | None |
|
|
||||||
| source_volid | None |
|
|
||||||
| status | creating |
|
|
||||||
| user_id | 3a81e6c8103b46709ef8d141308d4c72 |
|
|
||||||
| volume_type | None |
|
|
||||||
+---------------------------------------+--------------------------------------+</computeroutput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Verify creation and availability of the volume:</para>
|
|
||||||
<screen><prompt>$</prompt> <userinput>cinder list</userinput>
|
|
||||||
<computeroutput>+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
|
|
||||||
| ID | Status | Name | Size | Volume Type | Bootable | Attached to |
|
|
||||||
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
|
|
||||||
| 6c7a3d28-e1ef-42a0-b1f7-8d6ce9218412 | available | demo-volume1 | 1 | None | false | |
|
|
||||||
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+</computeroutput></screen>
|
|
||||||
<para>If the status does not indicate <literal>available</literal>,
|
|
||||||
check the logs in the <filename>/var/log/cinder</filename> directory
|
|
||||||
on the controller and volume nodes for more information.</para>
|
|
||||||
<note>
|
|
||||||
<para>The
|
|
||||||
<link linkend="launch-instance">launch an instance</link>
|
|
||||||
chapter includes instructions for attaching this volume to an
|
|
||||||
instance.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|
@ -1,142 +0,0 @@
|
|||||||
<?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="install_dashboard">
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<title>Install and configure</title>
|
|
||||||
<para>This section describes how to install and configure the dashboard
|
|
||||||
on the controller node.</para>
|
|
||||||
<para>The dashboard relies on functional core services including
|
|
||||||
Identity, Image service, Compute, and either Networking (neutron)
|
|
||||||
or legacy networking (nova-network). Environments with
|
|
||||||
stand-alone services such as Object Storage cannot use the
|
|
||||||
dashboard. For more information, see the
|
|
||||||
<link xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html">developer documentation</link>.</para>
|
|
||||||
<para>This section assumes proper installation, configuration, and
|
|
||||||
operation of the Identity service using the Apache HTTP server and
|
|
||||||
Memcached as described in <xref linkend="keystone-install"/>.</para>
|
|
||||||
<procedure os="ubuntu;rhel;centos;fedora;sles;opensuse">
|
|
||||||
<title>To install the dashboard components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install openstack-dashboard</userinput></screen>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install openstack-dashboard httpd mod_wsgi memcached python-memcached</userinput></screen>
|
|
||||||
<screen os="sles;opensuse"><prompt>#</prompt> <userinput>zypper install openstack-dashboard apache2-mod_wsgi memcached python-python-memcached</userinput></screen>
|
|
||||||
<note os="ubuntu">
|
|
||||||
<para>Ubuntu installs the
|
|
||||||
<package>openstack-dashboard-ubuntu-theme</package> package
|
|
||||||
as a dependency. Some users reported issues with this theme in
|
|
||||||
previous releases. If you encounter issues, remove this package
|
|
||||||
to restore the original OpenStack theme.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure os="debian">
|
|
||||||
<title>To install the dashboard components</title>
|
|
||||||
<step>
|
|
||||||
<para>Install the packages:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>apt-get install openstack-dashboard-apache</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Respond to prompts for web server configuration.</para>
|
|
||||||
<note>
|
|
||||||
<para>The automatic configuration process generates a self-signed
|
|
||||||
SSL certificate. Consider obtaining an official certificate for
|
|
||||||
production environments.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To configure the dashboard</title>
|
|
||||||
<step os="sles;opensuse">
|
|
||||||
<para>Configure the web server:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>cp /etc/apache2/conf.d/openstack-dashboard.conf.sample \
|
|
||||||
/etc/apache2/conf.d/openstack-dashboard.conf</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>a2enmod rewrite;a2enmod ssl;a2enmod wsgi</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para os="ubuntu;debian">Edit the
|
|
||||||
<filename>/etc/openstack-dashboard/local_settings.py</filename>
|
|
||||||
file and complete the following actions:</para>
|
|
||||||
<para os="rhel;centos;fedora">Edit the
|
|
||||||
<filename>/etc/openstack-dashboard/local_settings</filename>
|
|
||||||
file and complete the following actions:</para>
|
|
||||||
<para os="sles;opensuse">Edit the
|
|
||||||
<filename>/srv/www/openstack-dashboard/openstack_dashboard/local/local_settings.py</filename>
|
|
||||||
file and complete the following actions:</para>
|
|
||||||
<substeps>
|
|
||||||
<step>
|
|
||||||
<para>Configure the dashboard to use OpenStack services on the
|
|
||||||
<literal>controller</literal> node:</para>
|
|
||||||
<programlisting language="python">OPENSTACK_HOST = "<replaceable>controller</replaceable>"</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Allow all hosts to access the dashboard:</para>
|
|
||||||
<programlisting language="python">ALLOWED_HOSTS = '*'</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Configure the <application>memcached</application> session
|
|
||||||
storage service:</para>
|
|
||||||
<programlisting language="python">CACHES = {
|
|
||||||
'default': {
|
|
||||||
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
|
|
||||||
'LOCATION': '127.0.0.1:11211',
|
|
||||||
}
|
|
||||||
}</programlisting>
|
|
||||||
<note>
|
|
||||||
<para>Comment out any other session storage configuration.</para>
|
|
||||||
</note>
|
|
||||||
<note os="sles;opensuse">
|
|
||||||
<para>By default, SLES and openSUSE use a SQL database for session
|
|
||||||
storage. For simplicity, we recommend changing the configuration
|
|
||||||
to use <application>memcached</application> for session
|
|
||||||
storage.</para>
|
|
||||||
</note>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Configure <literal>user</literal> as the default role for
|
|
||||||
users that you create via the dashboard:</para>
|
|
||||||
<programlisting language="python">OPENSTACK_KEYSTONE_DEFAULT_ROLE = "user"</programlisting>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Optionally, configure the time zone:</para>
|
|
||||||
<programlisting language="python">TIME_ZONE = "<replaceable>TIME_ZONE</replaceable>"</programlisting>
|
|
||||||
<para>Replace <replaceable>TIME_ZONE</replaceable> with an
|
|
||||||
appropriate time zone identifier. For more information, see the
|
|
||||||
<link xlink:href="http://en.wikipedia.org/wiki/List_of_tz_database_time_zones"
|
|
||||||
>list of time zones</link>.</para>
|
|
||||||
</step>
|
|
||||||
</substeps>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
<procedure>
|
|
||||||
<title>To finalize installation</title>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>On RHEL and CentOS, configure SELinux to permit the web server
|
|
||||||
to connect to OpenStack services:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>setsebool -P httpd_can_network_connect on</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora">
|
|
||||||
<para>Due to a packaging bug, the dashboard CSS fails to load properly.
|
|
||||||
Run the following command to resolve this issue:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>chown -R apache:apache /usr/share/openstack-dashboard/static</userinput></screen>
|
|
||||||
<para>For more information, see the
|
|
||||||
<link xlink:href="https://bugzilla.redhat.com/show_bug.cgi?id=1150678"
|
|
||||||
>bug report</link>.</para>
|
|
||||||
</step>
|
|
||||||
<step os="ubuntu;debian">
|
|
||||||
<para>Reload the web server configuration:</para>
|
|
||||||
<screen><prompt>#</prompt> <userinput>service apache2 reload</userinput></screen>
|
|
||||||
</step>
|
|
||||||
<step os="rhel;centos;fedora;sles;opensuse">
|
|
||||||
<para>Start the web server and session storage service and configure
|
|
||||||
them to start when the system boots:</para>
|
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>systemctl enable httpd.service memcached.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start httpd.service memcached.service</userinput></screen>
|
|
||||||
<screen os="opensuse;sles"><prompt>#</prompt> <userinput>systemctl enable apache2.service memcached.service</userinput>
|
|
||||||
<prompt>#</prompt> <userinput>systemctl start apache2.service memcached.service</userinput></screen>
|
|
||||||
</step>
|
|
||||||
</procedure>
|
|
||||||
</section>
|
|