More changes to the User Guide, including changes to common files
bug: #1110146 Change-Id: Ifb3e3f464baa611a99cc6a5b62907cdfe52856ad author: diane fleming
@ -19,11 +19,10 @@
|
|||||||
of the cloud except actually hosting virtual machines
|
of the cloud except actually hosting virtual machines
|
||||||
or providing network services. See the "Compute Node"
|
or providing network services. See the "Compute Node"
|
||||||
and "Network Controller" for details about those
|
and "Network Controller" for details about those
|
||||||
roles. This server will host the OpenStack Image
|
roles. This server hosts the OpenStack Image
|
||||||
Service, the OpenStack Block Storage Service, the
|
Service, Block Storage Service, Identity Service, and the
|
||||||
OpenStack Identity Service, and the OpenStack
|
dashboard. It also runs portions of the OpenStack
|
||||||
Dashboard. It will also run portions of the OpenStack
|
Compute service, such as the API server, the scheduler,
|
||||||
Compute service such as the API server, the scheduler,
|
|
||||||
conductor, console authenticator, and VNC service.
|
conductor, console authenticator, and VNC service.
|
||||||
Finally, it hosts the API endpoint for the OpenStack
|
Finally, it hosts the API endpoint for the OpenStack
|
||||||
Network service. </para>
|
Network service. </para>
|
||||||
@ -41,7 +40,7 @@
|
|||||||
Network service agent (in this case, the Open vSwitch
|
Network service agent (in this case, the Open vSwitch
|
||||||
plugin agent). This server also manages an
|
plugin agent). This server also manages an
|
||||||
OpenStack-compatible hypervisor such as KVM or Xen.
|
OpenStack-compatible hypervisor such as KVM or Xen.
|
||||||
This server will host the actual virtual machines
|
This server hosts the actual virtual machines
|
||||||
(instances). </para>
|
(instances). </para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
@ -56,8 +55,7 @@
|
|||||||
Network setup can have up to four distinct physical data
|
Network setup can have up to four distinct physical data
|
||||||
center networks. Note that these networks can be combined and
|
center networks. Note that these networks can be combined and
|
||||||
re-used. For example, the Management, Data, and API networks
|
re-used. For example, the Management, Data, and API networks
|
||||||
are commonly the same network. For simplicity, this will be
|
are commonly the same network. For simplicity, this guide shows this configuration.</para>
|
||||||
done in this guide.</para>
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis role="bold">Management
|
<para><emphasis role="bold">Management
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
<para>Packages: <emphasis role="bold">OpenSSH-Server</emphasis></para>
|
<para>Packages: <emphasis role="bold">OpenSSH-Server</emphasis></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist></para>
|
</itemizedlist></para>
|
||||||
<para>Once installation has finished, the server will reboot.</para>
|
<para>Once installation has finished, the server reboots.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para os="ubuntu">Since the default OpenStack release in Ubuntu 12.04 LTS is older,
|
<para os="ubuntu">Since the default OpenStack release in Ubuntu 12.04 LTS is older,
|
||||||
@ -40,8 +40,8 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Configure the network:</para>
|
<para>Configure the network:</para>
|
||||||
<note>
|
<note>
|
||||||
<para>This will change later on in the guide
|
<para>Later in this guide, this changes
|
||||||
when Open vSwitch is configured</para>
|
when Open vSwitch is configured.</para>
|
||||||
</note>
|
</note>
|
||||||
<para os="ubuntu">
|
<para os="ubuntu">
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
xml:id="basic-install_compute-intro">
|
xml:id="basic-install_compute-intro">
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
<para>The Compute node will provide :
|
<para>The Compute node provides:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Hypervisor (KVM)</para>
|
<para>Hypervisor (KVM)</para>
|
||||||
|
@ -33,7 +33,7 @@
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
Once installation has finished, the server will reboot.
|
Once installation has finished, the server reboots.
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -163,8 +163,8 @@ ONBOOT=yes
|
|||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Install NTP. NTP will ensure that the server has the correct time. This is important because if an OpenStack server's time is
|
<para>Install NTP. NTP ensures that the server has the correct time. This is important because if an OpenStack server's time is
|
||||||
not correct, it will be removed from the rest of the cloud.<itemizedlist>
|
not correct, it is removed from the rest of the cloud.<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>
|
<para>
|
||||||
<screen os="ubuntu;deb"><prompt>#</prompt> <userinput>apt-get install ntp</userinput></screen>
|
<screen os="ubuntu;deb"><prompt>#</prompt> <userinput>apt-get install ntp</userinput></screen>
|
||||||
@ -187,14 +187,14 @@ ONBOOT=yes
|
|||||||
<para>Install the packages: <screen os="ubuntu;deb"><prompt>#</prompt> <userinput>apt-get install python-mysqldb mysql-server</userinput></screen>
|
<para>Install the packages: <screen os="ubuntu;deb"><prompt>#</prompt> <userinput>apt-get install python-mysqldb mysql-server</userinput></screen>
|
||||||
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install mysql mysql-server MySQL-python</userinput></screen>
|
<screen os="rhel;fedora;centos"><prompt>#</prompt> <userinput>yum install mysql mysql-server MySQL-python</userinput></screen>
|
||||||
<note os="ubuntu;deb">
|
<note os="ubuntu;deb">
|
||||||
<para><literal>apt-get</literal> will
|
<para><literal>apt-get</literal>
|
||||||
prompt you to set the MySQL root
|
prompts you to set the MySQL root
|
||||||
password.</para>
|
password.</para>
|
||||||
</note>
|
</note>
|
||||||
</para>
|
</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>By default, MySQL will only accept
|
<para>By default, MySQL only accepts
|
||||||
connections from localhost. This needs changed
|
connections from localhost. This needs changed
|
||||||
so that the compute nodes can access the
|
so that the compute nodes can access the
|
||||||
OpenStack Networking service. Database
|
OpenStack Networking service. Database
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
xml:id="basic-install_controller-glance">
|
xml:id="basic-install_controller-glance">
|
||||||
<title>OpenStack Image Service</title>
|
<title>OpenStack Image Service</title>
|
||||||
<para>The Image Service provides the cloud environment with a catalog of virtual machine "templates". These templates are used as the basis
|
<para>The Image Service provides the cloud environment with a catalog of virtual machine "templates". These templates are used as the basis
|
||||||
of instances. For example, if the catalog contains an image for an Ubuntu 12.04 distribution, the users of the cloud will be able
|
of instances. For example, if the catalog contains an image for an Ubuntu 12.04 distribution, cloud users can
|
||||||
to launch Ubuntu 12.04 instances.
|
launch Ubuntu 12.04 instances.
|
||||||
<orderedlist>
|
<orderedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Install the Glance packages:
|
<para>Install the Glance packages:
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
xml:id="basic-install_controller-intro">
|
xml:id="basic-install_controller-intro">
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
<para>The Controller node will provide :
|
<para>The Controller node provides:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Databases (with MySQL)</para>
|
<para>Databases (with MySQL)</para>
|
||||||
|
@ -46,7 +46,7 @@ connection = mysql://keystone:password@localhost/keystone</programlisting></para
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Create a file called <emphasis role="bold">~/openrc</emphasis>. This
|
<para>Create a file called <emphasis role="bold">~/openrc</emphasis>. This
|
||||||
file contains the OpenStack admin credentials that will be used when interacting with the OpenStack
|
file contains the OpenStack admin credentials that are used when interacting with the OpenStack
|
||||||
environment on the command line.
|
environment on the command line.
|
||||||
<programlisting>export OS_TENANT_NAME=admin
|
<programlisting>export OS_TENANT_NAME=admin
|
||||||
export OS_USERNAME=admin
|
export OS_USERNAME=admin
|
||||||
@ -70,7 +70,7 @@ export SERVICE_TOKEN=password</programlisting></para>
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The following bash script will populate Keystone with some initial data:
|
<para>The following bash script populates Keystone with some initial data:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem><para>Projects: admin and services</para></listitem>
|
<listitem><para>Projects: admin and services</para></listitem>
|
||||||
<listitem><para>Roles: admin, Member</para></listitem>
|
<listitem><para>Roles: admin, Member</para></listitem>
|
||||||
|
@ -41,7 +41,7 @@ auth_version = v2.0</programlisting>
|
|||||||
<para>Add the following to the <emphasis role="bold">/etc/nova/nova.conf</emphasis> file. This file is
|
<para>Add the following to the <emphasis role="bold">/etc/nova/nova.conf</emphasis> file. This file is
|
||||||
the main configuration file of Nova. There is a large amount of configuration options
|
the main configuration file of Nova. There is a large amount of configuration options
|
||||||
that can go in this file. This guide illustrates the minimum needed for a simple environment.
|
that can go in this file. This guide illustrates the minimum needed for a simple environment.
|
||||||
Note that the nova.conf file supplied by your distribution will have some options already set. Leave
|
Note that the nova.conf file supplied by your distribution has some options already set. Leave
|
||||||
them as-is.
|
them as-is.
|
||||||
<programlisting os="ubuntu">[DEFAULT]
|
<programlisting os="ubuntu">[DEFAULT]
|
||||||
|
|
||||||
|
@ -58,7 +58,7 @@ firewall_driver = quantum.agent.linux.iptables_firewall.OVSHybridIptablesFirewal
|
|||||||
<emphasis role="bold">tunnel mode</emphasis> since you don't
|
<emphasis role="bold">tunnel mode</emphasis> since you don't
|
||||||
have to configure your physical
|
have to configure your physical
|
||||||
switches for VLANs.</para>
|
switches for VLANs.</para>
|
||||||
<para os="centos;rhel;fedora">The Fedora kernel module for OpenVSwitch has been compiled without support for tunnels. To use gre tunnels the module will have to be recompiled.</para>
|
<para os="centos;rhel;fedora">The Fedora kernel module for OpenVSwitch has been compiled without support for tunnels. To use gre tunnels, the module must be recompiled.</para>
|
||||||
</note>
|
</note>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem os="centos;rhel;fedora">
|
<listitem os="centos;rhel;fedora">
|
||||||
|
@ -25,8 +25,7 @@
|
|||||||
<para>The OpenStack configuration files contain several commented
|
<para>The OpenStack configuration files contain several commented
|
||||||
options. These options specify the default setting. You only
|
options. These options specify the default setting. You only
|
||||||
need to uncomment these lines if you are changing the setting
|
need to uncomment these lines if you are changing the setting
|
||||||
to a non-default value. Additionally, the only options that
|
to a non-default value. Additionally, this guide only shows options that are being
|
||||||
will be shown throughout this guide are options that are being
|
|
||||||
modified from their default value. </para>
|
modified from their default value. </para>
|
||||||
<para>Finally, please be aware that the use of <literal>password</literal>
|
<para>Finally, please be aware that the use of <literal>password</literal>
|
||||||
as a password throughout this guide is for simplicity and
|
as a password throughout this guide is for simplicity and
|
||||||
|
@ -20,7 +20,7 @@
|
|||||||
<para>Packages: <emphasis role="bold">OpenSSH-Server</emphasis></para>
|
<para>Packages: <emphasis role="bold">OpenSSH-Server</emphasis></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist></para>
|
</itemizedlist></para>
|
||||||
<para>Once installation has finished, the server will reboot.</para>
|
<para>Once installation has finished, the server reboots.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para os="ubuntu">Since the default OpenStack release
|
<para os="ubuntu">Since the default OpenStack release
|
||||||
@ -44,8 +44,7 @@
|
|||||||
<listitem>
|
<listitem>
|
||||||
<para>Edit <emphasis role="bold">/etc/network/interfaces</emphasis>:
|
<para>Edit <emphasis role="bold">/etc/network/interfaces</emphasis>:
|
||||||
<note>
|
<note>
|
||||||
<para>This will change later on in
|
<para>Later in this guide, this changes when Open vSwitch is
|
||||||
the guide when Open vSwitch is
|
|
||||||
configured.</para>
|
configured.</para>
|
||||||
</note>
|
</note>
|
||||||
<programlisting># Internal Network
|
<programlisting># Internal Network
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
xml:id="basic-install_network-intro">
|
xml:id="basic-install_network-intro">
|
||||||
<title>Introduction</title>
|
<title>Introduction</title>
|
||||||
<para>The Network node will provide:
|
<para>The Network node provides:
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Virtual Bridging (Open-vSwitch + Quantum Agent) with tunneling</para>
|
<para>Virtual Bridging (Open-vSwitch + Quantum Agent) with tunneling</para>
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Create a file called <emphasis role="bold">~/openrc</emphasis>. This
|
<para>Create a file called <emphasis role="bold">~/openrc</emphasis>. This
|
||||||
file contains the OpenStack admin credentials that will be used when interacting with the OpenStack
|
file contains the OpenStack admin credentials that are used when interacting with the OpenStack
|
||||||
environment on the command line.
|
environment on the command line.
|
||||||
<programlisting>export OS_TENANT_NAME=admin
|
<programlisting>export OS_TENANT_NAME=admin
|
||||||
export OS_USERNAME=admin
|
export OS_USERNAME=admin
|
||||||
@ -38,7 +38,7 @@ export SERVICE_TOKEN=password</programlisting></para>
|
|||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>The following bash script will create an internal network for the "demo" project.
|
<para>The following bash script creates an internal network for the "demo" project.
|
||||||
<programlisting>#!/bin/bash
|
<programlisting>#!/bin/bash
|
||||||
TENANT_NAME="demo"
|
TENANT_NAME="demo"
|
||||||
TENANT_NETWORK_NAME="demo-net"
|
TENANT_NETWORK_NAME="demo-net"
|
||||||
@ -58,11 +58,11 @@ quantum router-interface-add $ROUTER_ID $TENANT_SUBNET_ID</programlisting></para
|
|||||||
<section xml:id="configure-l3">
|
<section xml:id="configure-l3">
|
||||||
<title>L3 Configuration</title>
|
<title>L3 Configuration</title>
|
||||||
<para>The Quantum L3 service enables instances to have external network access. If this service is not configured, your instances
|
<para>The Quantum L3 service enables instances to have external network access. If this service is not configured, your instances
|
||||||
will only be able to communicate with each other. Please note that this configuration is highly dependant on your environment.
|
can only communicate with each other. Note that this configuration is highly dependant on your environment.
|
||||||
For example, make note of the <literal>subnet-create</literal> command below. You will need to verify your own network settings
|
For example, make note of the <literal>subnet-create</literal> command below. You must verify your own network settings
|
||||||
for the external subnet (<literal>10.0.0.0/24</literal> in this case) as well as an allocation pool. The allocation pool
|
for the external subnet (<literal>10.0.0.0/24</literal> in this case) as well as an allocation pool. The allocation pool
|
||||||
is used to provide each Project with an IP address to access the external network. The pool consists of 50 IPs and therefore
|
is used to provide each Project with an IP address to access the external network. The pool consists of 50 IPs and therefore
|
||||||
only 50 projects will be able to get a gateway IP.</para>
|
only 50 projects can get a gateway IP.</para>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Create an external network:
|
<para>Create an external network:
|
||||||
|
@ -53,7 +53,7 @@
|
|||||||
|
|
||||||
<webhelpDirname>cli-guide</webhelpDirname>
|
<webhelpDirname>cli-guide</webhelpDirname>
|
||||||
<includeDateInPdfFilename>0</includeDateInPdfFilename>
|
<includeDateInPdfFilename>0</includeDateInPdfFilename>
|
||||||
<pdfFilenameBase>cli-guide.pdf</pdfFilenameBase>
|
<pdfFilenameBase>cli-guide</pdfFilenameBase>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
<execution>
|
<execution>
|
||||||
|
@ -2,22 +2,57 @@
|
|||||||
<section xmlns="http://docbook.org/ns/docbook"
|
<section xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
xml:id="about-the-dashboard">
|
xml:id="about-dashboard">
|
||||||
<title>About the Dashboard</title>
|
<title>About the OpenStack dashboard</title>
|
||||||
<!--<?dbhtml stop-chunking?>-->
|
<para>To install the OpenStack dashboard, complete the
|
||||||
<para>The OpenStack dashboard, also known as <link
|
following high-level steps: </para>
|
||||||
xlink:href="https://github.com/openstack/horizon/"
|
<orderedlist>
|
||||||
>horizon</link>, is a Web interface that allows cloud
|
<listitem>
|
||||||
administrators and users to manage various OpenStack resources
|
<para>Meet the system requirements for accessing the
|
||||||
and services. The dashboard enables web-based interactions
|
dashboard. See <xref
|
||||||
with the OpenStack Compute cloud controller through the
|
linkend="dashboard-system-requirements"
|
||||||
OpenStack APIs. The following instructions show you an example
|
/>.</para>
|
||||||
deployment that is configured with an Apache web server. </para>
|
</listitem>
|
||||||
<xi:include href="../common/dashboard-system-reqs.xml"/>
|
<listitem>
|
||||||
<xi:include href="../common/dashboard-install.xml"/>
|
<para>Install the OpenStack Dashboard framework,
|
||||||
<xi:include href="../common/dashboard-configure.xml"/>
|
including Apache and related modules. See <xref
|
||||||
<xi:include href="../common/dashboard-verify.xml"/>
|
linkend="installing-openstack-dashboard"
|
||||||
<xi:include href="../common/dashboard_customizing.xml"/>
|
/>.</para>
|
||||||
<xi:include href="../common/dashboard_sessions.xml"/>
|
</listitem>
|
||||||
<xi:include href="../common/dashboardlaunchinginstances.xml"/>
|
<listitem>
|
||||||
</section>
|
<para>Configure the dashboard.</para>
|
||||||
|
<para>Then, restart and run the Apache server.</para>
|
||||||
|
<para>See <xref linkend="configure-dashboard"
|
||||||
|
/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Verify your installation. See <xref
|
||||||
|
linkend="verify-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<simplesect>
|
||||||
|
<title>Next steps:</title>
|
||||||
|
<para>After you install the dashboard, you can complete the following tasks:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>To customize your dashboard, see <xref
|
||||||
|
linkend="dashboard-custom-brand"/>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To set up session storage for the dashboard,
|
||||||
|
see <xref linkend="dashboard-sessions"
|
||||||
|
/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To deploy the
|
||||||
|
dashboard, see <link
|
||||||
|
xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html"
|
||||||
|
>Deploying Horizon</link>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem xml:id="launch_instances">
|
||||||
|
<para>To launch instances with the dashboard, see the
|
||||||
|
<citetitle>OpenStack User Guide</citetitle>.</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</simplesect>
|
||||||
|
</section>
|
||||||
|
@ -1,51 +1,69 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||||
version="5.0"
|
|
||||||
xml:id="ch_install-dashboard">
|
xml:id="ch_install-dashboard">
|
||||||
<title>Installing the OpenStack Dashboard</title>
|
<title>Install the OpenStack dashboard</title>
|
||||||
<para>OpenStack has components that provide a view of the
|
<para xmlns:raxm="http://docs.rackspace.com/api/metadata">The
|
||||||
OpenStack installation such as a Django-built website that
|
OpenStack dashboard, also known as <link
|
||||||
serves as a dashboard. </para>
|
xlink:href="https://github.com/openstack/horizon/"
|
||||||
<para>You can use a dashboard interface with an OpenStack
|
>horizon</link>, is a Web interface that allows cloud
|
||||||
Compute installation with a web-based console provided by
|
administrators and users to manage various OpenStack resources
|
||||||
the Openstack-Dashboard project. It provides web-based
|
and services. </para>
|
||||||
interactions with the OpenStack Compute cloud controller
|
<para>The dashboard enables web-based interactions with the
|
||||||
through the OpenStack APIs. For more information about the
|
OpenStack Compute cloud controller through the OpenStack APIs. </para>
|
||||||
Openstack-Dashboard project, please visit: <link
|
<para>The following instructions show an example deployment
|
||||||
xlink:href="https://github.com/openstack/horizon/"
|
configured with an Apache web server. </para>
|
||||||
>https://github.com/openstack/horizon/</link>. These
|
<!-- <para>To install the OpenStack dashboard, complete the following
|
||||||
instructions are for an example deployment configured with
|
high-level steps: </para>
|
||||||
an Apache web server. </para>
|
<orderedlist>
|
||||||
<section xml:id="task_flow"><title>Dashboard Installation Task Flow</title>
|
<listitem>
|
||||||
<para>To install the OpenStack Dashboard, complete the
|
<para>Meet the system requirements for accessing the
|
||||||
following high-level steps: </para>
|
dashboard. See <xref
|
||||||
<orderedlist>
|
linkend="dashboard-system-requirements"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Install the OpenStack Dashboard framework, including
|
||||||
|
Apache and related modules. See <xref
|
||||||
|
linkend="installing-openstack-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Configure the dashboard.</para>
|
||||||
|
<para>Then, restart and run the Apache server.</para>
|
||||||
|
<para>See <xref linkend="configure-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Verify your installation. See <xref
|
||||||
|
linkend="verify-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist> -->
|
||||||
|
<para>After you install the dashboard, you can complete the
|
||||||
|
following tasks:</para> <itemizedlist>
|
||||||
|
<title>Next steps:</title>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Meet the system requirements for the dashboard.</para>
|
<para>To customize your dashboard, see <xref
|
||||||
|
linkend="dashboard-custom-brand"/>. </para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Install the OpenStack Dashboard framework,
|
<para>To set up session storage for the dashboard, see
|
||||||
including Apache and related modules.</para>
|
<xref linkend="dashboard-sessions"/>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Configure the dashboard.</para>
|
<para>To deploy the dashboard, see <link
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Restart and run the Apache server.</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Deploy the dashboard. See <link
|
|
||||||
xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html"
|
xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html"
|
||||||
>Deploying Horizon</link>.</para>
|
>Deploying Horizon</link>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</orderedlist></section>
|
<listitem xml:id="launch_instances">
|
||||||
<xi:include href="../common/dashboard-system-reqs.xml"/>
|
<para>To launch instances with the dashboard, see the
|
||||||
<xi:include href="../common/dashboard-install.xml"/>
|
<citetitle>OpenStack User
|
||||||
<xi:include href="../common/dashboard-configure.xml"/>
|
Guide</citetitle>.</para>
|
||||||
<xi:include href="../common/dashboard-verify.xml"/>
|
</listitem>
|
||||||
<xi:include href="../common/dashboard_customizing.xml" />
|
</itemizedlist>
|
||||||
<xi:include href="../common/dashboard_sessions.xml" />
|
<!-- <xi:include href="dashboard-system-reqs.xml"/> -->
|
||||||
<xi:include href="../common/compute-vnc-console.xml"/>
|
<xi:include href="dashboard-install.xml"/>
|
||||||
|
<xi:include href="dashboard-configure.xml"/>
|
||||||
|
<xi:include href="dashboard-verify.xml"/>
|
||||||
|
<xi:include href="dashboard_customizing.xml"/>
|
||||||
|
<xi:include href="dashboard_sessions.xml"/>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -245,7 +245,7 @@
|
|||||||
<section xml:id="faq-about-vnc">
|
<section xml:id="faq-about-vnc">
|
||||||
<info>
|
<info>
|
||||||
<title>Frequently asked questions about VNC access to
|
<title>Frequently asked questions about VNC access to
|
||||||
VMs</title>
|
virtual machines</title>
|
||||||
</info>
|
</info>
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -3,57 +3,69 @@
|
|||||||
xmlns="http://docbook.org/ns/docbook"
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<title>Configure the Dashboard</title>
|
<title>Configure the dashboard</title>
|
||||||
<para>You can configure the dashboard for a simple HTTP deployment or a secured HTTPS deployment. While the standard installation uses a non-encrypted
|
<?dbhtml stop-chunking?>
|
||||||
HTTP channel, you can enable SSL support for the
|
<para>You can configure the dashboard for a simple HTTP deployment
|
||||||
dashboard. </para>
|
or a secured HTTPS deployment. While the standard installation
|
||||||
<section xml:id="dashboard-config-http"><title>Configure the Dashboard for HTTP</title><procedure><title>To configure the dashboard for HTTP:</title>
|
uses a non-encrypted HTTP channel, you can enable SSL support
|
||||||
<step>
|
for the dashboard. </para>
|
||||||
<para>Specify the host for your OpenStack Identity Service
|
<section xml:id="dashboard-config-http">
|
||||||
endpoint in the
|
<title>Configure the dashboard for HTTP</title>
|
||||||
<filename>/etc/openstack-dashboard/local_settings.py</filename>
|
<procedure>
|
||||||
file with the <literal>OPENSTACK_HOST</literal>
|
<title>To configure the dashboard for HTTP:</title>
|
||||||
setting. </para>
|
<step>
|
||||||
<para>The following example shows this setting: </para>
|
<para>Specify the host for your OpenStack Identity
|
||||||
<programlisting><xi:include parse="text" href="samples/local_settings.py"/></programlisting>
|
Service endpoint in the
|
||||||
<para>The <literal>HORIZON_CONFIG</literal> dictionary
|
<filename>/etc/openstack-dashboard/local_settings.py</filename>
|
||||||
contains all the settings for the dashboard. Whether
|
file with the <literal>OPENSTACK_HOST</literal>
|
||||||
or not a service is in the Dashboard depends on the
|
setting. </para>
|
||||||
Service Catalog configuration in the Identity service.
|
<para>The following example shows this setting: </para>
|
||||||
For the full listing, see <link
|
<programlisting language="python"><?db-font-size 65%?><xi:include parse="text" href="samples/local_settings.py"/></programlisting>
|
||||||
xlink:href="http://docs.openstack.org/developer/horizon/topics/settings.html"
|
<para>The <literal>HORIZON_CONFIG</literal> dictionary
|
||||||
>Horizon Settings and Configuration</link>.</para>
|
contains all the settings for the dashboard.
|
||||||
</step></procedure></section>
|
Whether or not a service is in the Dashboard
|
||||||
<section xml:id="dashboard-config-https"><title>Configure the Dashboard for HTTPS</title><procedure><title>To configure the dashboard for HTTPS:</title>
|
depends on the Service Catalog configuration in
|
||||||
<para>The following example uses the domain,
|
the Identity service. For the full listing, see
|
||||||
"http://openstack.example.com." Use a domain that fits
|
<link
|
||||||
your current setup.</para>
|
xlink:href="http://docs.openstack.org/developer/horizon/topics/settings.html"
|
||||||
<step>
|
>Horizon Settings and
|
||||||
|
Configuration</link>.</para>
|
||||||
|
</step>
|
||||||
<para> In<filename>/etc/openstack-dashboard/local_settings.py</filename> update
|
</procedure>
|
||||||
the following
|
</section>
|
||||||
directive:<programlisting>USE_SSL = True</programlisting></para>
|
<section xml:id="dashboard-config-https">
|
||||||
</step>
|
<title>Configure the dashboard for HTTPS</title>
|
||||||
<step>
|
<procedure>
|
||||||
<para> Edit <filename>/etc/apache2/ports.conf</filename> and add the following
|
<title>To configure the dashboard for HTTPS:</title>
|
||||||
line: <programlisting>NameVirtualHost *:443</programlisting></para>
|
<para>The following example uses the domain,
|
||||||
</step>
|
"http://openstack.example.com." Use a domain that fits
|
||||||
<step>
|
your current setup.</para>
|
||||||
<para>
|
<step>
|
||||||
Edit <filename>/etc/apache2/conf.d/openstack-dashboard.conf:</filename></para>
|
<para>In<filename>/etc/openstack-dashboard/local_settings.py</filename>
|
||||||
|
update the following
|
||||||
<para> Before:
|
directive:<programlisting>USE_SSL = True</programlisting></para>
|
||||||
<programlisting>WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Edit
|
||||||
|
<filename>/etc/apache2/ports.conf</filename>
|
||||||
|
and add the following line:</para>
|
||||||
|
<programlisting>NameVirtualHost *:443</programlisting>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Edit
|
||||||
|
<filename>/etc/apache2/conf.d/openstack-dashboard.conf:</filename></para>
|
||||||
|
|
||||||
|
<para>Before:</para>
|
||||||
|
<programlisting><?db-font-size 65%?>WSGIScriptAlias / /usr/share/openstack-dashboard/openstack_dashboard/wsgi/django.wsgi
|
||||||
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
|
WSGIDaemonProcess horizon user=www-data group=www-data processes=3 threads=10
|
||||||
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
|
Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
|
||||||
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
|
<Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi>
|
||||||
Order allow,deny
|
Order allow,deny
|
||||||
Allow from all
|
Allow from all
|
||||||
</Directory> </programlisting></para>
|
</Directory></programlisting>
|
||||||
|
|
||||||
<para> After:
|
<para>After:</para>
|
||||||
<programlisting><VirtualHost *:80>
|
<programlisting><?db-font-size 65%?><VirtualHost *:80>
|
||||||
ServerName openstack.example.com
|
ServerName openstack.example.com
|
||||||
RedirectPermanent / https://openstack.example.com
|
RedirectPermanent / https://openstack.example.com
|
||||||
</VirtualHost>
|
</VirtualHost>
|
||||||
@ -73,20 +85,21 @@ Alias /static /usr/share/openstack-dashboard/openstack_dashboard/static/
|
|||||||
Order allow,deny
|
Order allow,deny
|
||||||
Allow from all
|
Allow from all
|
||||||
</Directory>
|
</Directory>
|
||||||
</VirtualHost> </programlisting></para>
|
</VirtualHost></programlisting>
|
||||||
<para>In this configuration, Apache listens on the port 443
|
<para>In this configuration, Apache listens on the
|
||||||
and redirects all the hits to the HTTPS protocol
|
port 443 and redirects all the hits to the HTTPS
|
||||||
for all the non-secured requests. In the secured
|
protocol for all the non-secured requests. In the
|
||||||
section, the private key, public key, and
|
secured section, the private key, public key, and
|
||||||
certificate to use are defined.</para>
|
certificate to use are defined.</para>
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>Restart Apache and memcached:</para>
|
<para>Restart Apache and memcached:</para>
|
||||||
<screen><prompt>#</prompt> <userinput>service apache2 restart</userinput>
|
<screen><prompt>#</prompt> <userinput>service apache2 restart</userinput>
|
||||||
<prompt>#</prompt> <userinput>service memcached restart</userinput></screen>
|
<prompt>#</prompt> <userinput>service memcached restart</userinput></screen>
|
||||||
<para>If you call the HTTP version of the dashboard
|
<para>If you call the HTTP version of the dashboard
|
||||||
through your browser, you are redirected to the HTTPS
|
through your browser, you are redirected to the
|
||||||
page.</para>
|
HTTPS page.</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure></section>
|
</procedure>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,44 +1,119 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<section xml:id="installing-openstack-dashboard" 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">
|
<section xml:id="installing-openstack-dashboard"
|
||||||
<title>Install the OpenStack Dashboard</title>
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
<procedure><title>To install the OpenStack Dashboard:</title><step><para>Install the OpenStack Dashboard as root:</para>
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>apt-get install -y memcached libapache2-mod-wsgi openstack-dashboard</userinput></screen>
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<screen os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install -y memcached python-memcached mod_wsgi openstack-dashboard</userinput></screen></step>
|
<title>Install and configure the dashboard</title>
|
||||||
<step><para>Modify the <literal>CACHE_BACKEND</literal> environment variable
|
<para>Before you can install and configure the dashboard, meet the
|
||||||
in <filename os="ubuntu"
|
following system requirements:</para>
|
||||||
|
<itemizedlist role="compact">
|
||||||
|
<title>Dashboard system requirements:</title>
|
||||||
|
<listitem>
|
||||||
|
<para>OpenStack Compute installation. The cloud operator must set up an OpenStack Compute
|
||||||
|
installation and enable the Identity Service for user
|
||||||
|
and project management. </para>
|
||||||
|
<para><emphasis role="bold">User:</emphasis> Note the URLs
|
||||||
|
of the Identity Service and Compute endpoints.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Identity Service user with sudo privileges. Because Apache does not serve content from a root
|
||||||
|
user, the cloud operator must set up an Identity
|
||||||
|
Service user with sudo privileges. </para>
|
||||||
|
<para><emphasis role="bold">User:</emphasis> Note the
|
||||||
|
credentials of this user.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>git. Install <emphasis role="bold">git</emphasis> by
|
||||||
|
running the following command:</para>
|
||||||
|
<programlisting language="bash" linenumbering="unnumbered"><prompt>$</prompt> sudo apt-get install git-core</programlisting>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Python 2.6 or 2.7. The Python version must support Django. These
|
||||||
|
instructions were tested with Ubuntu 10.10. </para>
|
||||||
|
<para>The Python version should run on any system,
|
||||||
|
including Mac OS X. </para>
|
||||||
|
<para>The installation prerequisites might differ by
|
||||||
|
platform. </para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<procedure>
|
||||||
|
<title>To install the dashboard:</title>
|
||||||
|
<step>
|
||||||
|
<para>Install the dashboard on the node that can contact
|
||||||
|
the Identity Service as root:</para>
|
||||||
|
<programlisting language="bash" linenumbering="unnumbered" os="ubuntu"><prompt>#</prompt> <userinput>apt-get install -y memcached libapache2-mod-wsgi openstack-dashboard</userinput></programlisting>
|
||||||
|
<programlisting language="bash" linenumbering="unnumbered" os="rhel;centos;fedora"><prompt>#</prompt> <userinput>yum install -y memcached python-memcached mod_wsgi openstack-dashboard</userinput></programlisting>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Modify the <literal>CACHE_BACKEND</literal>
|
||||||
|
environment variable in <filename os="ubuntu"
|
||||||
>/etc/openstack-dashboard/local_settings.py</filename><filename
|
>/etc/openstack-dashboard/local_settings.py</filename><filename
|
||||||
os="centos;fedora;rhel"
|
os="centos;fedora;rhel"
|
||||||
>/etc/openstack-dashboard/local_settings</filename>
|
>/etc/openstack-dashboard/local_settings</filename>
|
||||||
to match the ones set in <filename os="ubuntu"
|
to match the ones set in <filename os="ubuntu"
|
||||||
>/etc/memcached.conf</filename><filename
|
>/etc/memcached.conf</filename><filename
|
||||||
os="centos;fedora;rhel"
|
os="centos;fedora;rhel"
|
||||||
>/etc/sysconfig/memcached.conf</filename>.</para><para>Open
|
>/etc/sysconfig/memcached.conf</filename>.</para>
|
||||||
<filename os="ubuntu"
|
<para>Open <filename os="ubuntu"
|
||||||
>/etc/openstack-dashboard/local_settings.py</filename><filename
|
>/etc/openstack-dashboard/local_settings.py</filename><filename
|
||||||
os="centos;fedora;rhel"
|
os="centos;fedora;rhel"
|
||||||
>/etc/openstack-dashboard/local_settings</filename>
|
>/etc/openstack-dashboard/local_settings</filename>
|
||||||
and look for this line:</para>
|
and look for this line: <code>CACHE_BACKEND =
|
||||||
<programlisting>CACHE_BACKEND = 'memcached://127.0.0.1:11211/'</programlisting>
|
'memcached://127.0.0.1:11211/'</code></para>
|
||||||
<note><para>The address and port must match the ones set in <filename
|
<note xlink:href="#installing-openstack-dashboard"
|
||||||
os="ubuntu"
|
xlink:title="Notes">
|
||||||
>/etc/memcached.conf</filename><filename
|
<title>Notes</title>
|
||||||
os="centos;fedora;rhel"
|
<itemizedlist>
|
||||||
>/etc/sysconfig/memcached</filename>.</para>
|
<listitem>
|
||||||
<para>If you change the memcached settings, you must restart the Apache web
|
<para>The address and port must match the ones
|
||||||
server for the changes to take effect.</para></note>
|
set in <filename os="ubuntu"
|
||||||
<note><para>In this example, memcached is the session store for the OpenStack Dashboard. You can use other options. Each
|
>/etc/memcached.conf</filename><filename
|
||||||
option has benefits and drawbacks. You can use any available session back-end by setting the SESSION_ENGINE option.</para></note>
|
os="centos;fedora;rhel"
|
||||||
<para>
|
>/etc/sysconfig/memcached</filename>.</para>
|
||||||
<note>
|
<para>If you change the memcached settings,
|
||||||
<para>To change the timezone, use the dashboard or edit
|
you must restart the Apache web server for
|
||||||
the <filename os="centos;fedora;rhel"
|
the changes to take effect.</para>
|
||||||
>/etc/openstack-dashboard/local_settings</filename><filename
|
</listitem>
|
||||||
os="ubuntu"
|
<listitem>
|
||||||
>/etc/openstack-dashboard/local_settings.py</filename>
|
<para>You can use options other than memcached
|
||||||
file. </para>
|
option for session storage. Set the
|
||||||
<para>Change the following parameter:
|
session back-end through the
|
||||||
<programlisting>TIME_ZONE = "UTC"</programlisting>
|
<parameter>SESSION_ENGINE</parameter>
|
||||||
</para>
|
option.</para>
|
||||||
</note>
|
</listitem>
|
||||||
</para></step></procedure>
|
<listitem>
|
||||||
|
<para>To change the timezone, use the
|
||||||
|
dashboard or edit the <filename
|
||||||
|
os="centos;fedora;rhel"
|
||||||
|
>/etc/openstack-dashboard/local_settings</filename><filename
|
||||||
|
os="ubuntu"
|
||||||
|
>/etc/openstack-dashboard/local_settings.py</filename>
|
||||||
|
file. </para>
|
||||||
|
<para>Change the following parameter:
|
||||||
|
<code>TIME_ZONE = "UTC"</code>
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
</itemizedlist>
|
||||||
|
</note>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Make sure that the web browser on your local machine
|
||||||
|
supports HTML5. </para>
|
||||||
|
<para>Enable cookies and JavaScript. </para>
|
||||||
|
<note>
|
||||||
|
<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>
|
||||||
|
</note>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
</section>
|
</section>
|
||||||
|
@ -4,66 +4,87 @@
|
|||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<title>System requirements</title>
|
<title>System requirements</title>
|
||||||
<para>You must meet the following system requirements to access
|
<para>Meet the following system requirements to access the
|
||||||
the OpenStack dashboard: </para><itemizedlist>
|
OpenStack dashboard:</para>
|
||||||
<listitem>
|
<table rules="all">
|
||||||
<para>The cloud operator has set up an <emphasis
|
<caption>Dashboard system requirements</caption>
|
||||||
role="bold">OpenStack Compute
|
<thead>
|
||||||
installation</emphasis> with the Identity
|
<tr>
|
||||||
Service enabled for identity management. Note the
|
<th>Requirement</th>
|
||||||
URLs of your Identity Service and Compute
|
<th>Who?</th>
|
||||||
endpoints. </para>
|
<th>Description</th>
|
||||||
</listitem>
|
</tr>
|
||||||
|
</thead>
|
||||||
<listitem>
|
<tbody>
|
||||||
<para>The cloud operator has set up an <emphasis
|
<tr>
|
||||||
role="bold">Identity Service user with sudo
|
<td>OpenStack Compute installation</td>
|
||||||
privileges</emphasis>. Because Apache does not
|
<td>Cloud operator</td>
|
||||||
serve content from a root user, you must run the
|
<td>
|
||||||
dashboard as an Identity Service user with sudo
|
<para>Set up an OpenStack Compute installation. </para>
|
||||||
privileges. Note the credentials of this user.</para>
|
<para>Enable the Identity Service for user and
|
||||||
</listitem>
|
project management. </para>
|
||||||
<listitem>
|
<para><emphasis role="bold">User:</emphasis> Note
|
||||||
<para>You have a recent <emphasis role="bold">Web browser
|
the URLs of the Identity Service and Compute
|
||||||
that supports HTML5</emphasis> and has cookies and
|
endpoints.</para>
|
||||||
JavaScript enabled. </para>
|
</td>
|
||||||
<para>To use the dashboard's VNC client, which is based on
|
</tr>
|
||||||
noVNC, your browser must support HTML5 Canvas and
|
<tr>
|
||||||
HTML5 WebSockets. </para>
|
<td>Identity Service user with sudo privileges</td>
|
||||||
<para>For more details and a list of browsers that support
|
<td>Cloud operator</td>
|
||||||
noVNC, see
|
<td><para>Because Apache does not serve content from a
|
||||||
<link xlink:href="https://github.com/kanaka/noVNC/blob/master/README.md">https://github.com/kanaka/noVNC/blob/master/README.m</link>d,
|
root user, you must run the dashboard as an
|
||||||
and
|
Identity Service user with sudo privileges. </para>
|
||||||
https://github.com/kanaka/noVNC/wiki/Browser-support,
|
<para><emphasis role="bold">User:</emphasis> Note
|
||||||
respectively. </para></listitem><listitem>
|
the credentials of this user.</para></td>
|
||||||
<para>Install the <emphasis role="bold">OpenStack
|
</tr>
|
||||||
dashboard</emphasis> on the node that can contact
|
<tr>
|
||||||
the Identity Service.</para>
|
<td>OpenStack dashboard</td>
|
||||||
</listitem>
|
<td>Cloud operator</td>
|
||||||
<listitem>
|
<td><para>Install the dashboard on the node that can
|
||||||
<para>Install <emphasis role="bold">git</emphasis> by
|
contact the Identity Service.</para></td>
|
||||||
running the following
|
</tr>
|
||||||
command:<programlisting language="bash"><prompt>$</prompt> sudo apt-get install git-core</programlisting></para>
|
<tr>
|
||||||
</listitem>
|
<td>git</td>
|
||||||
<listitem>
|
<td>Cloud operator</td>
|
||||||
<para>Install <emphasis role="bold">Python 2.6 or 2.7
|
<td><para>Install <emphasis role="bold">git</emphasis>
|
||||||
</emphasis>. Your version of Python must be capable of
|
by running the following
|
||||||
running Django. These instructions have been tested
|
command:</para><programlisting language="bash"><prompt>$</prompt> sudo apt-get install git-core</programlisting></td>
|
||||||
with Ubuntu 10.10. </para>
|
</tr>
|
||||||
<para>The version of Python that you use should run on any
|
<tr>
|
||||||
system, including Mac OS X. The installation
|
<td>Python 2.6 or 2.7</td>
|
||||||
prerequisites might differ by platform. </para>
|
<td>Cloud operator</td>
|
||||||
</listitem>
|
<td>
|
||||||
</itemizedlist>
|
<para>The Python version must support Django.
|
||||||
|
These instructions have been tested with
|
||||||
<para>The following components are optional:</para>
|
Ubuntu 10.10. </para>
|
||||||
|
<para>The Python version should run on any system,
|
||||||
<itemizedlist>
|
including Mac OS X. </para>
|
||||||
<listitem><para>Image store (<emphasis role="italic">Glance</emphasis>)
|
<para>The installation prerequisites might differ
|
||||||
endpoint</para></listitem>
|
by platform. </para>
|
||||||
<listitem><para>Object store (<emphasis role="italic">Swift</emphasis>)
|
</td>
|
||||||
endpoint</para></listitem>
|
</tr>
|
||||||
<listitem><para>Networking (<link xlink:href="http://wiki.openstack.org/Quantum"
|
<tr>
|
||||||
>Quantum</link>) endpoint</para></listitem>
|
<td>Web browser that supports HTML5</td>
|
||||||
</itemizedlist>
|
<td>User</td>
|
||||||
|
<td>
|
||||||
|
<para>Install a web browser on your local machine
|
||||||
|
that supports HTML5. </para>
|
||||||
|
<para>Enable cookies and JavaScript. </para>
|
||||||
|
<note>
|
||||||
|
<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>
|
||||||
|
</note>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,18 +1,24 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<section xml:id="verify-dashboard"
|
<section xml:id="verify-dashboard"
|
||||||
xmlns="http://docbook.org/ns/docbook"
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
<title>Validate the Dashboard Installation</title>
|
<title>Verify the installation</title>
|
||||||
<procedure><title>To validate the dashboard installation:</title><step><para>Point your browser to http://192.168.206.130.</para></step><step><para>After you connect to the dashboard through the URL, a login
|
<procedure>
|
||||||
window appears. Enter the credentials for any user
|
<title>To verify the dashboard installation:</title>
|
||||||
that you created with the OpenStack Identity Service. </para>
|
<step>
|
||||||
|
<para>Point your browser to the public IP address for your
|
||||||
|
instance: For example:</para>
|
||||||
|
<para><code>http://192.168.206.130</code></para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>After you connect to the dashboard through the URL,
|
||||||
|
a login page appears. </para>
|
||||||
|
<para>Enter the credentials for any user that you created
|
||||||
|
with the OpenStack Identity Service. </para>
|
||||||
<para>For example, enter <literal>admin</literal> for the
|
<para>For example, enter <literal>admin</literal> for the
|
||||||
username and <literal>secrete</literal> as the
|
username and <literal>secrete</literal> as the
|
||||||
password:</para>
|
password.</para>
|
||||||
<mediaobject>
|
</step>
|
||||||
<imageobject>
|
</procedure>
|
||||||
<imagedata fileref="figures/dashboard-overview.png"
|
</section>
|
||||||
format="PNG" scale="30" width="4in"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject></step></procedure></section>
|
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<section xml:id="dashboard-custom-brand"
|
<section xml:id="dashboard-custom-brand"
|
||||||
xmlns="http://docbook.org/ns/docbook"
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
version="5.0">
|
<title>Customize the dashboard</title>
|
||||||
<title>Custom Brand the Dashboard</title>
|
<para>Adapted from <link
|
||||||
<para>Adapted from a <link xlink:href="http://www.prestonlee.com/2012/05/09/how-to-custom-brand-the-openstack-horizon-dashboard/">blog post by Preston Lee</link>. </para>
|
xlink:href="http://www.prestonlee.com/2012/05/09/how-to-custom-brand-the-openstack-horizon-dashboard/"
|
||||||
<para>When you deploy OpenStack
|
>How To Custom Brand The OpenStack “Horizon”
|
||||||
on <link xlink:href="http://www.ubuntu.com/">Ubuntu Server</link> 12.04, you can have the
|
Dashboard</link>. </para>
|
||||||
<literal>openstack-dashboard</literal> package installed to provide the web-based “Horizon”
|
<para>You install the OpenStack dashboard through the
|
||||||
GUI component. Canonical also provides an
|
<literal>openstack-dashboard</literal> package. You can
|
||||||
<literal>openstack-dashboard-ubuntu-theme</literal> package that brands the Python-based Django GUI.
|
customize the dashboard with your own colors, logo, and site
|
||||||
</para>
|
title through a CSS file.</para>
|
||||||
<para><link
|
<para>Canonical also provides an
|
||||||
xlink:href="http://horizon.openstack.org/topics/branding.html"
|
<literal>openstack-dashboard-ubuntu-theme</literal>
|
||||||
>The Horizon documents briefly mention branding
|
package that brands the Python-based Django interface. </para>
|
||||||
customization</link> to provide a head start. The
|
<para>The following example shows a customized dashboard with
|
||||||
following example shows a custom-branded Horizon dashboard
|
custom colors, logo, and site title:</para>
|
||||||
with custom colors, logo, and site title:</para>
|
|
||||||
<mediaobject>
|
<mediaobject>
|
||||||
<imageobject role="fo">
|
<imageobject role="fo">
|
||||||
<imagedata
|
<imagedata
|
||||||
@ -30,37 +30,53 @@
|
|||||||
</imageobject>
|
</imageobject>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
<mediaobject>
|
<mediaobject>
|
||||||
<imageobject role="fo">
|
<imageobject role="fo">
|
||||||
<imagedata
|
<imagedata
|
||||||
fileref="figures/Flavors-–-TGen-Cloud-Dashboard.png"
|
fileref="figures/Flavors-–-TGen-Cloud-Dashboard.png"
|
||||||
format="PNG" contentwidth="6in"/>
|
format="PNG" scale="60"/>
|
||||||
</imageobject>
|
</imageobject>
|
||||||
<imageobject role="html">
|
<imageobject role="html">
|
||||||
<imagedata
|
<imagedata
|
||||||
fileref="figures/Flavors-–-TGen-Cloud-Dashboard.png"
|
fileref="figures/Flavors-–-TGen-Cloud-Dashboard.png"
|
||||||
format="PNG"/>
|
format="PNG"/>
|
||||||
</imageobject>
|
</imageobject>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
<procedure><title>To customize the dashboard:</title>
|
<procedure>
|
||||||
|
<title>To customize the dashboard:</title>
|
||||||
<step><para>Create a graphical logo with a transparent background. The text “TGen Cloud”
|
<step>
|
||||||
in this example is actually rendered via .png files of multiple sizes created with
|
<para>Create a graphical logo with a transparent
|
||||||
a graphics program. Use a 200×27 for the logged-in banner graphic, and 365×50 for
|
background. The text <literal>TGen Cloud</literal> in
|
||||||
the login screen graphic.</para></step>
|
this example is rendered through
|
||||||
<step><para>Set the HTML title (shown at the top of the browser window) by adding the
|
<filename>.png</filename> files of multiple sizes
|
||||||
following line to <filename>/etc/openstack-dashboard/local_settings.py</filename>: <code>SITE_BRANDING = "Example, Inc. Cloud"</code></para>
|
created with a graphics program. </para>
|
||||||
</step>
|
<para>Use a 200×27 for the logged-in banner graphic, and
|
||||||
<step><para>Upload your new graphic files to:
|
365×50 for the login screen graphic.</para>
|
||||||
<screen>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/</screen></para>
|
</step>
|
||||||
</step>
|
<step>
|
||||||
<step><para>Create a new CSS style sheet — we’ll call ours custom.css — in the directory:
|
<para>Set the HTML title, which appears at the top of the
|
||||||
<screen>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/css/</screen></para>
|
browser window, by adding the following line to
|
||||||
</step>
|
<filename>/etc/openstack-dashboard/local_settings.py</filename>: </para>
|
||||||
<step><para>Edit your CSS file using the
|
<para><code>SITE_BRANDING = "Example, Inc.
|
||||||
following as a starting point for customization, which simply overrides the Ubuntu
|
Cloud"</code></para>
|
||||||
customizations made in the ubuntu.css file. </para>
|
</step>
|
||||||
<para>Change the colors and image file names as appropriate, though the relative directory paths should be the same.
|
<step>
|
||||||
<programlisting language="bash">/*
|
<para>Upload your new graphic files to the following
|
||||||
|
location:
|
||||||
|
<screen>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/</screen></para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Create a CSS style sheet in the following directory:
|
||||||
|
<screen>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/css/</screen></para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Edit your CSS file to override the Ubuntu
|
||||||
|
customizations in the <filename>ubuntu.css</filename>
|
||||||
|
file. </para>
|
||||||
|
<para>Change the colors and image file names as
|
||||||
|
appropriate, though the relative directory paths
|
||||||
|
should be the same. The following example file shows
|
||||||
|
you how to customize your CSS
|
||||||
|
file:<programlisting language="bash"><?db-font-size 65%?>/*
|
||||||
* New theme colors for dashboard that override the defaults:
|
* New theme colors for dashboard that override the defaults:
|
||||||
* dark blue: #355796 / rgb(53, 87, 150)
|
* dark blue: #355796 / rgb(53, 87, 150)
|
||||||
* light blue: #BAD3E1 / rgb(186, 211, 225)
|
* light blue: #BAD3E1 / rgb(186, 211, 225)
|
||||||
@ -92,19 +108,30 @@ border: none;
|
|||||||
box-shadow: none;
|
box-shadow: none;
|
||||||
background-color: #BAD3E1 !important;
|
background-color: #BAD3E1 !important;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}</programlisting></para></step>
|
}</programlisting></para>
|
||||||
<step><para>Open the following HTML template in an editor:
|
</step>
|
||||||
<screen>/usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html</screen></para></step>
|
<step>
|
||||||
<step><para>Add a line to include your new style sheet pointing to
|
<para>Open the following HTML template in an editor:
|
||||||
custom.css: (I’ve highlighted the new line in
|
<screen>/usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html</screen></para>
|
||||||
<emphasis>bold</emphasis>.)
|
</step>
|
||||||
<programlisting language="bash">...
|
<step>
|
||||||
|
<para>Add a line to include your
|
||||||
|
<filename>custom.css</filename> file:
|
||||||
|
<programlisting language="bash"><?db-font-size 65%?>...
|
||||||
<link href='{{ STATIC_URL }}bootstrap/css/bootstrap.min.css' media='screen' rel='stylesheet' />
|
<link href='{{ STATIC_URL }}bootstrap/css/bootstrap.min.css' media='screen' rel='stylesheet' />
|
||||||
<link href='{{ STATIC_URL }}dashboard/css/{% choose_css %}' media='screen' rel='stylesheet' />
|
<link href='{{ STATIC_URL }}dashboard/css/{% choose_css %}' media='screen' rel='stylesheet' />
|
||||||
<emphasis><link href='{{ STATIC_URL }}dashboard/css/custom.css' media='screen' rel='stylesheet' /></emphasis>
|
<emphasis><link href='{{ STATIC_URL }}dashboard/css/custom.css' media='screen' rel='stylesheet' /></emphasis>
|
||||||
...</programlisting></para></step>
|
...</programlisting></para>
|
||||||
<step><para>Restart apache just for good measure: <code os="ubuntu">sudo service apache2 restart</code><code os="centos;fedora;rhel">sudo service httpd restart</code></para>
|
|
||||||
</step>
|
</step>
|
||||||
<step><para>Reload the dashboard in your browser and fine tune your CSS appropriate.</para></step>
|
<step>
|
||||||
</procedure>
|
<para>Restart apache:</para>
|
||||||
|
<programlisting language="bash" os="ubuntu">sudo service apache2 restart</programlisting>
|
||||||
|
<programlisting language="bash" os="centos;fedora;rhel">sudo service httpd restart</programlisting>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Reload the dashboard in your browser to view your
|
||||||
|
changes.</para>
|
||||||
|
<para>Modify your CSS file as appropriate.</para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,90 +1,113 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<section xml:id="dashboard-sessions"
|
<section xml:id="dashboard-sessions"
|
||||||
xmlns="http://docbook.org/ns/docbook"
|
xmlns="http://docbook.org/ns/docbook"
|
||||||
xmlns:xi="http://www.w3.org/2001/XInclude"
|
xmlns:xi="http://www.w3.org/2001/XInclude"
|
||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0">
|
||||||
version="5.0">
|
<title>Set up session storage for the dashboard</title>
|
||||||
<title>Set up Dashboard Session Storage</title>
|
<para>The dashboard uses <link
|
||||||
<para>The dashboard uses <link
|
|
||||||
xlink:href="https://docs.djangoproject.com/en/dev/topics/http/sessions/"
|
xlink:href="https://docs.djangoproject.com/en/dev/topics/http/sessions/"
|
||||||
>Django’s sessions framework</link> to handle user session
|
>Django’s sessions framework</link> to handle user session
|
||||||
data. However, you can use any available session back-end. You
|
data. However, you can use any available session backend. You
|
||||||
customize the session back-end through the
|
customize the session backend through the
|
||||||
<literal>SESSION_ENGINE</literal> setting in your
|
<literal>SESSION_ENGINE</literal> setting in your
|
||||||
<filename os="centos;fedora;rhel">
|
<filename os="centos;fedora;rhel">
|
||||||
/etc/openstack-dashboard/local_settings</filename>
|
/etc/openstack-dashboard/local_settings</filename>
|
||||||
<filename os="ubuntu">local_settings.py</filename> file. </para>
|
<filename os="ubuntu">local_settings.py</filename> file. </para>
|
||||||
<para>The following sections describe the pros and cons of each
|
<para>The following sections describe the pros and cons of each
|
||||||
option as it pertains to deploying the dashboard. </para>
|
option as it pertains to deploying the dashboard. </para>
|
||||||
<section xml:id="dashboard-session-local">
|
<section xml:id="dashboard-session-local">
|
||||||
<title>Local Memory Cache</title>
|
<title>Local memory cache</title>
|
||||||
<para>Local memory storage is the quickest and easiest session
|
<para>Local memory storage is the quickest and easiest session
|
||||||
backend to set up, as it has no external dependencies
|
backend to set up, as it has no external dependencies
|
||||||
whatsoever. It has the following significant
|
whatsoever. It has the following significant
|
||||||
drawbacks:</para>
|
drawbacks:</para>
|
||||||
<orderedlist>
|
<itemizedlist>
|
||||||
<listitem><para>No shared storage across processes or workers.</para></listitem>
|
<listitem>
|
||||||
<listitem><para>No persistence after a process terminates.</para></listitem>
|
<para>No shared storage across processes or
|
||||||
</orderedlist>
|
workers.</para>
|
||||||
<para>The local memory backend is enabled as the default for Horizon
|
</listitem>
|
||||||
solely because it has no dependencies. It is not recommended for
|
<listitem>
|
||||||
production use, or even for serious development work. Enabled by:</para>
|
<para>No persistence after a process
|
||||||
<programlisting language="python">SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
terminates.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>The local memory backend is enabled as the default for
|
||||||
|
Horizon solely because it has no dependencies. It is not
|
||||||
|
recommended for production use, or even for serious
|
||||||
|
development work. Enabled by:</para>
|
||||||
|
<programlisting language="python">SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
||||||
CACHES = {
|
CACHES = {
|
||||||
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
|
'BACKEND': 'django.core.cache.backends.locmem.LocMemCache'
|
||||||
}</programlisting>
|
}</programlisting>
|
||||||
</section>
|
</section>
|
||||||
|
<section xml:id="dashboard-session-memcache">
|
||||||
<section xml:id="dashboard-session-memcache">
|
<title>Memcached</title>
|
||||||
<title>Memcached</title>
|
<para>External caching using an application such as memcached
|
||||||
<para>External caching using an application such as memcached
|
offers persistence and shared storage, and can be very
|
||||||
offers persistence and shared storage, and can be very useful
|
useful for small-scale deployment and/or development.
|
||||||
for small-scale deployment and/or development. However, for
|
However, for distributed and high-availability scenarios
|
||||||
distributed and high-availability scenarios memcached has
|
memcached has inherent problems which are beyond the scope
|
||||||
inherent problems which are beyond the scope of this documentation.</para>
|
of this documentation.</para>
|
||||||
<para>Memcached is an extremely fast and efficient cache backend for
|
<para>Memcached is an extremely fast and efficient cache
|
||||||
cases where it fits the deployment need, but it’s not
|
backend for cases where it fits the deployment need, but
|
||||||
appropriate for all scenarios.</para>
|
it’s not appropriate for all scenarios.</para>
|
||||||
<para>Requirements:</para>
|
<para>Requirements:</para>
|
||||||
<orderedlist>
|
<itemizedlist>
|
||||||
<listitem><para>Memcached service running and accessible.</para></listitem>
|
<listitem>
|
||||||
<listitem><para>Python memcached module installed.</para></listitem>
|
<para>Memcached service running and accessible.</para>
|
||||||
</orderedlist>
|
</listitem>
|
||||||
<para>Enabled by:</para>
|
<listitem>
|
||||||
<programlisting language="python">SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
<para>Python memcached module installed.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<para>Enabled by:</para>
|
||||||
|
<programlisting language="python">SESSION_ENGINE = 'django.contrib.sessions.backends.cache'
|
||||||
CACHES = {
|
CACHES = {
|
||||||
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'
|
'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache'
|
||||||
'LOCATION': 'my_memcached_host:11211',
|
'LOCATION': 'my_memcached_host:11211',
|
||||||
}</programlisting>
|
}</programlisting>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="dashboard-session-database">
|
<section xml:id="dashboard-session-database">
|
||||||
<title>Database</title>
|
<title>Database</title>
|
||||||
<para>Database-backed sessions are scalable (using an appropriate
|
<para>Database-backed sessions are scalable, persistent, and
|
||||||
database strategy), persistent, and can be made high-concurrency
|
can be made high-concurrency and highly-available.</para>
|
||||||
and highly-available.</para>
|
<para>However, database-backed sessions are one of the slower
|
||||||
|
session storages and incur a high overhead under heavy
|
||||||
<para>The downside to this approach is that database-backed sessions
|
usage. Proper configuration of your database deployment
|
||||||
are one of the slower session storages, and incur a high overhead
|
can also be a substantial undertaking and is far beyond
|
||||||
under heavy usage. Proper configuration of your database deployment
|
the scope of this documentation. </para>
|
||||||
can also be a substantial undertaking and is far beyond the scope
|
<procedure>
|
||||||
of this documentation. To enable, follow the below steps to
|
<title>To initialize and configure the database:</title>
|
||||||
initialise the database and configure it for use</para>
|
<step>
|
||||||
|
<para>Start the mysql command line client:</para>
|
||||||
<para>Start the mysql command line client by running:</para>
|
<screen><prompt>$ </prompt><userinput>mysql -u root -p</userinput></screen>
|
||||||
<screen><prompt>$ </prompt><userinput>mysql -u root -p</userinput></screen>
|
</step>
|
||||||
<para>Enter the MySQL root user's password when prompted.</para>
|
<step>
|
||||||
<para>To configure the MySQL database, create the dash database. </para>
|
<para>Enter the MySQL root user's password when
|
||||||
<para><screen><prompt>mysql></prompt> <userinput>CREATE DATABASE dash;</userinput></screen></para>
|
prompted.</para>
|
||||||
<para>Create a MySQL user for the newly-created dash database that
|
</step>
|
||||||
has full control of the database. </para>
|
<step>
|
||||||
<para><screen><prompt>mysql></prompt> <userinput>GRANT ALL ON dash.* TO 'dash'@'%' IDENTIFIED BY
|
<para>To configure the MySQL database, create the dash
|
||||||
'yourpassword';</userinput></screen></para>
|
database:</para>
|
||||||
<para>Enter quit at the <literal>mysql></literal> prompt to exit MySQL.</para>
|
<para><screen><prompt>mysql></prompt> <userinput>CREATE DATABASE dash;</userinput></screen></para>
|
||||||
|
</step>
|
||||||
<para>In the <filename os="ubuntu">/etc/openstack-dashboard/local_settings.py</filename>
|
<step>
|
||||||
<filename os="centos;fedora;rhel">/etc/openstack-dashboard/local_settings</filename>
|
<para>Create a MySQL user for the newly-created dash
|
||||||
file, change these options:</para>
|
database that has full control of the
|
||||||
|
database:</para>
|
||||||
<programlisting language="python">SESSION_ENGINE = 'django.core.cache.backends.db.DatabaseCache'
|
<para><screen><prompt>mysql></prompt> <userinput>GRANT ALL ON dash.* TO 'dash'@'%' IDENTIFIED BY 'yourpassword';</userinput></screen></para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Enter quit at the <literal>mysql></literal>
|
||||||
|
prompt to exit MySQL.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <filename os="ubuntu"
|
||||||
|
>/etc/openstack-dashboard/local_settings.py</filename>
|
||||||
|
<filename os="centos;fedora;rhel"
|
||||||
|
>/etc/openstack-dashboard/local_settings</filename>
|
||||||
|
file, change these options:</para>
|
||||||
|
<programlisting language="python">SESSION_ENGINE = 'django.core.cache.backends.db.DatabaseCache'
|
||||||
DATABASES = {
|
DATABASES = {
|
||||||
'default': {
|
'default': {
|
||||||
# Database configuration here
|
# Database configuration here
|
||||||
@ -96,57 +119,74 @@ DATABASES = {
|
|||||||
'default-character-set': 'utf8'
|
'default-character-set': 'utf8'
|
||||||
}
|
}
|
||||||
}</programlisting>
|
}</programlisting>
|
||||||
<para>After configuring the <filename os="ubuntu">local_settings.py</filename>
|
</step>
|
||||||
<filename os="centos;fedora;rhel">/etc/openstack-dashboard/local_settings</filename>
|
<step>
|
||||||
as shown, you can run
|
<para>After configuring the <filename os="ubuntu"
|
||||||
the <command>manage.py syncdb</command> command to populate this newly-created
|
>local_settings.py</filename>
|
||||||
database.</para>
|
<filename os="centos;fedora;rhel"
|
||||||
<screen><prompt>$</prompt> /usr/share/openstack-dashboard/manage.py syncdb </screen>
|
>/etc/openstack-dashboard/local_settings</filename>
|
||||||
<para>As a result, you should see the following at the end of what returns:</para>
|
as shown, you can run the <command>manage.py
|
||||||
<screen><computeroutput>Installing custom SQL ...
|
syncdb</command> command to populate this
|
||||||
|
newly-created database.</para>
|
||||||
|
<screen><prompt>$</prompt> /usr/share/openstack-dashboard/manage.py syncdb </screen>
|
||||||
|
<para>As a result, the following output is
|
||||||
|
returned:</para>
|
||||||
|
<screen><computeroutput>Installing custom SQL ...
|
||||||
Installing indexes ...
|
Installing indexes ...
|
||||||
DEBUG:django.db.backends:(0.008) CREATE INDEX `django_session_c25c2c28` ON `django_session` (`expire_date`);; args=()
|
DEBUG:django.db.backends:(0.008) CREATE INDEX `django_session_c25c2c28` ON `django_session` (`expire_date`);; args=()
|
||||||
No fixtures found.</computeroutput></screen>
|
No fixtures found.</computeroutput></screen>
|
||||||
<para os="ubuntu">If you want to avoid a warning when restarting apache2, create a blackhole directory in the dashboard directory like so:</para>
|
</step>
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput> sudo mkdir -p /var/lib/dash/.blackhole</userinput></screen>
|
<step os="ubuntu">
|
||||||
<para>Restart Apache to pick up the default site and symbolic link settings.</para>
|
<para>If you want to avoid a warning when you restart
|
||||||
<screen os="ubuntu"><prompt>#</prompt> <userinput>/etc/init.d/apache2 restart</userinput></screen>
|
apache2, create a blackhole directory in the
|
||||||
<screen os="centos;fedora;rhel"><prompt>#</prompt> <userinput>service httpd restart</userinput></screen>
|
dashboard directory, as follows:</para>
|
||||||
<para os="ubuntu">Restart the nova-api service to ensure the API server can connect to the Dashboard and to
|
<screen><prompt>#</prompt> <userinput> sudo mkdir -p /var/lib/dash/.blackhole</userinput></screen>
|
||||||
avoid an error displayed in the Dashboard. </para>
|
</step>
|
||||||
<screen os="ubuntu"><userinput>sudo restart nova-api</userinput></screen>
|
<step>
|
||||||
|
<para>Restart Apache to pick up the default site and
|
||||||
</section>
|
symbolic link settings:</para>
|
||||||
<section xml:id="dashboard-session-cached-database">
|
<screen os="ubuntu"><prompt>#</prompt> <userinput>/etc/init.d/apache2 restart</userinput></screen>
|
||||||
<title>Cached Database</title>
|
<screen os="centos;fedora;rhel"><prompt>#</prompt> <userinput>service httpd restart</userinput></screen>
|
||||||
<para>To mitigate the performance issues of database queries, you
|
</step>
|
||||||
can also consider using Django’s cached_db session backend which
|
<step os="ubuntu">
|
||||||
utilizes both your database and caching infrastructure to perform
|
<para>Restart the nova-api service to ensure that the
|
||||||
write-through caching and efficient retrieval. You can enable this
|
API server can connect to the dashboard without
|
||||||
hybrid setting by configuring both your database and cache as
|
error: </para>
|
||||||
discussed above and then using:</para>
|
<screen><prompt>#</prompt> <userinput>sudo restart nova-api</userinput></screen>
|
||||||
|
</step>
|
||||||
<programlisting language="python">SESSION_ENGINE = "django.contrib.sessions.backends.cached_db" </programlisting>
|
</procedure>
|
||||||
</section>
|
</section>
|
||||||
<section xml:id="dashboard-session-cookies">
|
<section xml:id="dashboard-session-cached-database">
|
||||||
<title>Cookies</title>
|
<title>Cached Database</title>
|
||||||
<para>If you’re using Django 1.4 or later, a new session backend
|
<para>To mitigate the performance issues of database queries,
|
||||||
is available to you which avoids server load and scaling problems:
|
you can use the Django cached_db session backend, which
|
||||||
the signed_cookies backend!</para>
|
utilizes both your database and caching infrastructure to
|
||||||
<para>This backend stores session data in a cookie which is stored
|
perform write-through caching and efficient retrieval. </para>
|
||||||
by the user’s browser. The backend uses a cryptographic signing
|
<para>Enable this hybrid setting by configuring both your
|
||||||
technique to ensure session data is not tampered with during
|
database and cache, as discussed previously. Then, set the
|
||||||
transport (this is not the same as encryption, session data is still
|
following value: </para>
|
||||||
readable by an attacker).</para>
|
<programlisting language="python">SESSION_ENGINE = "django.contrib.sessions.backends.cached_db" </programlisting>
|
||||||
<para>The pros of this session engine are that it doesn’t require
|
</section>
|
||||||
any additional dependencies or infrastructure overhead, and it
|
<section xml:id="dashboard-session-cookies">
|
||||||
scales indefinitely as long as the quantity of session data being
|
<title>Cookies</title>
|
||||||
stored fits into a normal cookie.</para>
|
<para>If you use Django 1.4 or later, the signed_cookies
|
||||||
<para>The biggest downside is that it places session data into
|
backend avoids server load and scaling problems.</para>
|
||||||
storage on the user’s machine and transports it over the wire. It
|
<para>This backend stores session data in a cookie, which is
|
||||||
also limits the quantity of session data which can be stored.</para>
|
stored by the user’s browser. The backend uses a
|
||||||
<para>For a thorough discussion of the security implications of
|
cryptographic signing technique to ensure session data is
|
||||||
this session backend, please read the Django documentation on
|
not tampered with during transport. This is not the same
|
||||||
<link xlink:href="https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-cookie-based-sessions">cookie-based sessions.</link></para>
|
as encryption; session data is still readable by an
|
||||||
</section>
|
attacker.</para>
|
||||||
|
<para>The pros of this engine are that it requires no
|
||||||
|
additional dependencies or infrastructure overhead, and it
|
||||||
|
scales indefinitely as long as the quantity of session
|
||||||
|
data being stored fits into a normal cookie.</para>
|
||||||
|
<para>The biggest downside is that it places session data into
|
||||||
|
storage on the user’s machine and transports it over the
|
||||||
|
wire. It also limits the quantity of session data that can
|
||||||
|
be stored.</para>
|
||||||
|
<para>See the Django <link
|
||||||
|
xlink:href="https://docs.djangoproject.com/en/dev/topics/http/sessions/#using-cookie-based-sessions"
|
||||||
|
>cookie-based sessions</link> documentation.</para>
|
||||||
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
@ -1,203 +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="Launching_Instances_using_Dashboard">
|
|
||||||
<title>Launch instances</title>
|
|
||||||
<?dbhtml stop-chunking?>
|
|
||||||
<para>Instances are virtual machines that run inside the cloud.
|
|
||||||
You can launch an instance directly from one of the available OpenStack
|
|
||||||
images or from an image that you have copied to a persistent volume.
|
|
||||||
The OpenStack Image Service provides a pool of images that are accessible
|
|
||||||
to members of different projects.</para>
|
|
||||||
<section xml:id="Modify_Security_Groups">
|
|
||||||
<title>Add security group rules</title>
|
|
||||||
<para>Before you launch a virtual machine, you can add
|
|
||||||
security group rules to enable users to ping and SSH to
|
|
||||||
the instances. To do so, you either add rules to the
|
|
||||||
default security group or add a security group with rules. </para>
|
|
||||||
<para>The following procedure shows you how to add rules to
|
|
||||||
the default security group.</para>
|
|
||||||
|
|
||||||
<!-- <mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/Security-Group.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/Security-Group.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject> -->
|
|
||||||
|
|
||||||
<procedure><title>To add rules to the default security group:</title>
|
|
||||||
<step>
|
|
||||||
<para>Log in to the OpenStack dashboard.</para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>If you are a member of multiple projects,
|
|
||||||
select a project from the drop-down list at
|
|
||||||
the top of the <guilabel>Project</guilabel>
|
|
||||||
tab. </para>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Click the <guilabel>Access &
|
|
||||||
Security</guilabel> category. </para>
|
|
||||||
<para>The dashboard shows the security groups that
|
|
||||||
are available for this project. </para><figure>
|
|
||||||
<title>OpenStack dashboard - Security Groups</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/access_security.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/access_security.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
</step>
|
|
||||||
<step>
|
|
||||||
<para>Select the default security group and click
|
|
||||||
<guibutton>Edit Rules</guibutton>. The
|
|
||||||
<guilabel>Security Group Rules</guilabel> page
|
|
||||||
appears: </para><figure>
|
|
||||||
<title>OpenStack dashboard - Security Group Rules</title>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/add_rule.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/add_rule.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</figure>
|
|
||||||
</step>
|
|
||||||
<step><title>Add a TCP rule</title><para>Click <guibutton>Add Rule</guibutton>. The <guilabel>Add
|
|
||||||
Rule</guilabel> window appears. </para><substeps><step><para>Select IP protocol TCP and enter 22 in "From Port"
|
|
||||||
and "To Port" and CIDR 0.0.0.0/0. This opens port 22
|
|
||||||
for requests from any IP. If you want requests from
|
|
||||||
particular range of IP, provide it in CIDR
|
|
||||||
field.</para></step></substeps>
|
|
||||||
</step>
|
|
||||||
<step><title>Add an ICMP rule</title><para>Select IP protocol ICMP and enter -1 in "From Port"
|
|
||||||
and "To Port" and CIDR 0.0.0.0/0. This allows ping
|
|
||||||
from any IP. If you want ping requests from particular
|
|
||||||
range of IP, provide it in CIDR field.</para></step></procedure>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Adding_Keypair">
|
|
||||||
<title>Adding Keypair</title>
|
|
||||||
<para>Next add a Keypair. Once a Keypair is added, the
|
|
||||||
public key would be downloaded. This key can be used
|
|
||||||
to SSH to the launched instance.</para>
|
|
||||||
<para>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata fileref="figures/KeyPair.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata fileref="figures/KeyPair.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</para>
|
|
||||||
<para>Once this is done, we are now all set to launch an
|
|
||||||
Instance</para>
|
|
||||||
</section>
|
|
||||||
<section xml:id="Launching_Instance">
|
|
||||||
<title>Launching Instance</title>
|
|
||||||
<para>Click Images & Snapshots and launch a required
|
|
||||||
instance from the list of images available.</para>
|
|
||||||
<para>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata fileref="figures/Images.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata fileref="figures/Images.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</para>
|
|
||||||
<para>Click launch on the required image. Provide a Server
|
|
||||||
Name, select the flavor, the keypair added above and
|
|
||||||
the default security group. Provide the number of
|
|
||||||
instances required. Once these details are provided,
|
|
||||||
click Launch Instance.</para>
|
|
||||||
<para>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/LaunchInstance.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata
|
|
||||||
fileref="figures/LaunchInstance.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</para>
|
|
||||||
<para>Once the status is Active, the instance is ready and
|
|
||||||
we can ping and SSH to the instance.</para>
|
|
||||||
<para>
|
|
||||||
<mediaobject>
|
|
||||||
<imageobject role="fo">
|
|
||||||
<imagedata fileref="figures/InstanceReady.png"
|
|
||||||
format="PNG" scale="60"/>
|
|
||||||
</imageobject>
|
|
||||||
<imageobject role="html">
|
|
||||||
<imagedata fileref="figures/InstanceReady.png"
|
|
||||||
format="PNG"/>
|
|
||||||
</imageobject>
|
|
||||||
</mediaobject>
|
|
||||||
</para>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
<section xml:id="ssh-into-instance"><title>Make a secure connection to the launched instance</title>
|
|
||||||
<para>Here are the steps to SSH into an instance using the
|
|
||||||
downloaded keypair file. The username is ubuntu for the
|
|
||||||
Ubuntu cloud images on TryStack.</para>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
<orderedlist>
|
|
||||||
<listitem>
|
|
||||||
<para>Download the <filename>MyKey.pem</filename> file from the OpenStack Dashboard.
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>In a command line interface, modify the
|
|
||||||
access to the .pem file:</para>
|
|
||||||
<para>
|
|
||||||
<screen><userinput><prompt>$</prompt> chmod 0600 MyKey.pem</userinput></screen>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
<listitem><para>Use the <command>ssh-add</command> command to ensure that the
|
|
||||||
keypair is known to
|
|
||||||
SSH:<screen><userinput><prompt>$</prompt> ssh-add MyKey.pem</userinput></screen></para></listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Copy the IP address from the
|
|
||||||
MyFirstInstance. </para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Use the SSH command to make a secure
|
|
||||||
connection to the
|
|
||||||
instance:<screen><userinput><prompt>$</prompt> ssh -i MyKey.pem ubuntu@10.0.0.2</userinput></screen></para>
|
|
||||||
<para>You should see a prompt asking "Are you sure you want to continue connection (yes/no)?" Type yes and you have successfully connected. </para>
|
|
||||||
</listitem>
|
|
||||||
</orderedlist>
|
|
||||||
</para></section>
|
|
||||||
</section>
|
|
Before Width: | Height: | Size: 38 KiB After Width: | Height: | Size: 267 KiB |
BIN
doc/src/docbkx/common/figures/create_keypair.png
Normal file
After Width: | Height: | Size: 100 KiB |
Before Width: | Height: | Size: 65 KiB After Width: | Height: | Size: 65 KiB |
BIN
doc/src/docbkx/common/figures/keypairs.png
Normal file
After Width: | Height: | Size: 44 KiB |
Before Width: | Height: | Size: 191 KiB After Width: | Height: | Size: 191 KiB |
BIN
doc/src/docbkx/common/figures/security_group_rules.png
Normal file
After Width: | Height: | Size: 38 KiB |
@ -195,8 +195,8 @@ xml:id="host-aggregates">
|
|||||||
<simplesect>
|
<simplesect>
|
||||||
<title>XenServer hypervisor pools to support live migration</title>
|
<title>XenServer hypervisor pools to support live migration</title>
|
||||||
<para>When using the XenAPI-based hypervisor, the Compute service uses host aggregates to
|
<para>When using the XenAPI-based hypervisor, the Compute service uses host aggregates to
|
||||||
manage XenServer Resource pools, which are used in supporting live migration. See <link
|
manage XenServer Resource pools, which are used in supporting live migration. <!--See <link
|
||||||
linkend="configuring-migrations-xenserver-shared-storage">Configuring Migrations</link> for details on how to
|
linkend="configuring-migrations-xenserver-shared-storage">Configuring Migrations</link> for details on how to
|
||||||
create these kinds of host aggregates to support live migration. </para>
|
create these kinds of host aggregates to support live migration. --></para>
|
||||||
</simplesect>
|
</simplesect>
|
||||||
</section>
|
</section>
|
||||||
|
@ -0,0 +1,172 @@
|
|||||||
|
<?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="dashboard_launch_instances_from_image">
|
||||||
|
<title>Launch an instance from an image</title>
|
||||||
|
<?dbhtml stop-chunking?>
|
||||||
|
<para>Instances are virtual machines that run inside the
|
||||||
|
cloud.</para>
|
||||||
|
<para>You can launch an instance directly from one of the
|
||||||
|
available OpenStack images. The OpenStack Image Service
|
||||||
|
provides a pool of images that are accessible to members of
|
||||||
|
different projects. When you launch an instance from an image,
|
||||||
|
OpenStack creates a local copy of the image on the respective
|
||||||
|
compute node where the instance is started.</para>
|
||||||
|
<para>Alternatively, you can launch an instance from an image that
|
||||||
|
you have copied to a persistent volume.</para>
|
||||||
|
<para>To launch an instance, specify the following
|
||||||
|
parameters:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>The <guilabel>instance source</guilabel>, which is
|
||||||
|
an image or snapshot. Alternatively, you can boot from
|
||||||
|
a volume, which is block storage, to which you've
|
||||||
|
copied an image or snapshot.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>The <guilabel>image</guilabel> or
|
||||||
|
<guilabel>snapshot</guilabel>, which represents
|
||||||
|
the operating system.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>A <guilabel>name</guilabel> for your instance.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>The <emphasis role="bold">flavor</emphasis> for your
|
||||||
|
instance, which defines the compute, memory, and
|
||||||
|
storage capacity of nova computing instances. A flavor
|
||||||
|
is an available hardware configuration for a server.
|
||||||
|
It defines the size of a virtual server that can be
|
||||||
|
launched.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Access and security credentials, which include one
|
||||||
|
or both of the following credentials:</para>
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>A <emphasis role="bold">keypair</emphasis>
|
||||||
|
for your instance, which are SSH credentials
|
||||||
|
that are injected into images when they are
|
||||||
|
launched. For this to work, the image must
|
||||||
|
contain the <literal>cloud-init</literal>
|
||||||
|
package. Create at least one keypair for each
|
||||||
|
project. If you already have generated a
|
||||||
|
keypair with an external tool, you can import
|
||||||
|
it into OpenStack. You can use the keypair for
|
||||||
|
multiple instances that belong to that
|
||||||
|
project. </para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>A <emphasis role="bold">security
|
||||||
|
group</emphasis>, which defines which
|
||||||
|
incoming network traffic is forwarded to
|
||||||
|
instances. Security groups hold a set of
|
||||||
|
firewall policies, known as <emphasis
|
||||||
|
role="italic">security group
|
||||||
|
rules</emphasis>. </para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>If needed, you can assign a <emphasis role="bold"
|
||||||
|
>floating (public) IP address</emphasis> to a
|
||||||
|
running instance and attach a block storage device, or
|
||||||
|
volume, for persistent storage.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<procedure>
|
||||||
|
<title>To launch an instance:</title>
|
||||||
|
<step>
|
||||||
|
<para>Log in to the OpenStack dashboard.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>If you are a member of multiple projects, select a
|
||||||
|
project from the drop-down list at the top of the
|
||||||
|
<guilabel>Project</guilabel> tab. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click the <guilabel>Images & Snapshot</guilabel>
|
||||||
|
category. </para>
|
||||||
|
<para>The dashboard shows the images that have been
|
||||||
|
uploaded to OpenStack Image Service and are available
|
||||||
|
for this project. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Select an image and click
|
||||||
|
<guibutton>Launch</guibutton>. The
|
||||||
|
<guilabel>Launch Image</guilabel> window appears: <figure>
|
||||||
|
<title>OpenStack dashboard - Launch Instances
|
||||||
|
window</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata
|
||||||
|
fileref="figures/launch_instances.png"
|
||||||
|
width="6in" contentwidth="6in"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure></para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Specify the following parameters: </para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Enter an instance name to assign to the
|
||||||
|
virtual machine. </para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>From the <guilabel>Flavor</guilabel>
|
||||||
|
drop-down list, select the size of the virtual
|
||||||
|
machine to launch. </para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Optionally, select a keypair. </para>
|
||||||
|
<para>In case an image uses a static root password
|
||||||
|
or a static key set (neither is recommended),
|
||||||
|
you do not need to provide a keypair on
|
||||||
|
starting the instance. </para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>In <guilabel>Instance Count</guilabel>,
|
||||||
|
enter the number of virtual machines to launch
|
||||||
|
from this image. </para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Assign the instance to the default security
|
||||||
|
group. If you added rules to this group, the
|
||||||
|
instance implements these rules.</para>
|
||||||
|
</listitem>
|
||||||
|
<!-- <listitem>
|
||||||
|
<para>If you want to boot from volume, click the
|
||||||
|
respective entry to expand its options. Set
|
||||||
|
the options as described in Launching
|
||||||
|
Instances from a Volume. </para>
|
||||||
|
</listitem> -->
|
||||||
|
</itemizedlist>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click <guibutton>Launch Instance</guibutton>. The
|
||||||
|
instance is launched on any of the compute nodes in
|
||||||
|
the cloud. </para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
<para>After you have launched an instance, switch to the
|
||||||
|
<guilabel>Instances & Volumes</guilabel> category to
|
||||||
|
view the instance name, its (private or public) IP address,
|
||||||
|
size, status, task, and power state.</para>
|
||||||
|
<figure>
|
||||||
|
<title>OpenStack dashboard - Instances</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject>
|
||||||
|
<imagedata fileref="figures/instances.png" width="6in"
|
||||||
|
contentwidth="6in"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
<para>If you did not provide a keypair on starting and have not
|
||||||
|
touched security groups or rules so far, by default the
|
||||||
|
instance can only be accessed from inside the cloud through
|
||||||
|
VNC at this point. Even pinging the instance is not possible. </para>
|
||||||
|
</section>
|
258
doc/src/docbkx/common/wadl/security-groups.wadl
Normal file
@ -0,0 +1,258 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<!DOCTYPE application [<!ENTITY % common SYSTEM "../common.ent">
|
||||||
|
%common;]>
|
||||||
|
|
||||||
|
<!-- (C) 2013 OpenStack Foundation, All Rights Reserved -->
|
||||||
|
|
||||||
|
<application xmlns="http://wadl.dev.java.net/2009/02"
|
||||||
|
xmlns:xsdxt="http://docs.rackspacecloud.com/xsd-ext/v1.0"
|
||||||
|
xmlns:wadl="http://wadl.dev.java.net/2009/02"
|
||||||
|
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
|
||||||
|
xmlns:csapi="http://www.w3.org/2001/XMLSchema">
|
||||||
|
|
||||||
|
<resources base="https://servers.api.openstack.com/">
|
||||||
|
<resource id="version" path="v2">
|
||||||
|
<resource id="tenant_id" path="{tenant_id}">
|
||||||
|
<param name="tenant_id" style="template"
|
||||||
|
type="csapi:uuid">
|
||||||
|
<doc>
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">The
|
||||||
|
unique identifier of the tenant or
|
||||||
|
account. </p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
|
||||||
|
<resource id="security_groups" path="security-groups">
|
||||||
|
<method href="#listSecGroups"/>
|
||||||
|
<method href="#createSecGroup"/>
|
||||||
|
|
||||||
|
<resource id="get_security_group"
|
||||||
|
path="{security_group_id}">
|
||||||
|
<param name="security_group_id"
|
||||||
|
style="template" type="csapi:uuid">
|
||||||
|
<doc><p
|
||||||
|
xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
>The unique identifier of the
|
||||||
|
security group. </p></doc>
|
||||||
|
</param>
|
||||||
|
|
||||||
|
<method href="#getSecGroup"/>
|
||||||
|
<method href="#deleteSecGroup"/>
|
||||||
|
</resource>
|
||||||
|
</resource>
|
||||||
|
|
||||||
|
<resource id="security_groups_rules"
|
||||||
|
path="security-group-rules">
|
||||||
|
<method href="#listSecGroupRules"/>
|
||||||
|
<method href="#createSecGroupRule"/>
|
||||||
|
<resource path="{rules-security-groups-id}">
|
||||||
|
<param name="rules-security-groups-id"
|
||||||
|
style="template" type="csapi:uuid">
|
||||||
|
<doc><p
|
||||||
|
xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
>The unique identifier of the
|
||||||
|
security group rule. </p></doc>
|
||||||
|
</param>
|
||||||
|
<method href="#getSecGroupRule"/>
|
||||||
|
<method href="#deleteSecGroupRule"/>
|
||||||
|
|
||||||
|
</resource>
|
||||||
|
|
||||||
|
</resource>
|
||||||
|
|
||||||
|
<resource id="Servers" path="servers">
|
||||||
|
<resource path="{server_id}">
|
||||||
|
<param name="server_id" style="template"
|
||||||
|
type="csapi:UUID">
|
||||||
|
<doc>
|
||||||
|
<p
|
||||||
|
xmlns="http://www.w3.org/1999/xhtml"
|
||||||
|
>The UUID for the server of
|
||||||
|
interest to you. </p>
|
||||||
|
</doc>
|
||||||
|
</param>
|
||||||
|
<resource path="os-security-groups">
|
||||||
|
<method href="#listSecGroupsByServer"/>
|
||||||
|
</resource>
|
||||||
|
</resource>
|
||||||
|
</resource>
|
||||||
|
|
||||||
|
</resource>
|
||||||
|
</resource>
|
||||||
|
</resources>
|
||||||
|
|
||||||
|
<method name="GET" id="listSecGroups">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml" role="shortdesc"
|
||||||
|
>Lists a summary of all Quantum-defined security groups that are accessible to the specified tenant. </p><p
|
||||||
|
xmlns="http://www.w3.org/1999/xhtml">The list provides
|
||||||
|
the unique ID for each security group.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
<request>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN"><xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-list-get-req.json"
|
||||||
|
/></doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN"><xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-list-get-req.xml"
|
||||||
|
/></doc>
|
||||||
|
</representation>
|
||||||
|
</request>
|
||||||
|
<response status="200">
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-list-get-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-list-get-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
<response status="401"/>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<method name="GET" id="getSecGroup">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Shows information
|
||||||
|
for a specified security group. </p>
|
||||||
|
</wadl:doc>
|
||||||
|
<response status="200">
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-get-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-get-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<method name="POST" id="createSecGroup">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Creates a security
|
||||||
|
group. </p>
|
||||||
|
</wadl:doc>
|
||||||
|
|
||||||
|
<request>
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-create-req.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-create-req.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</request>
|
||||||
|
|
||||||
|
<response status="200">
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-create-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-create-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<method name="DELETE" id="deleteSecGroup">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Deletes a security
|
||||||
|
group.</p>
|
||||||
|
</wadl:doc>
|
||||||
|
<response status="202"/>
|
||||||
|
</method>
|
||||||
|
<method name="GET" id="listSecGroupRules">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Lists security
|
||||||
|
group rules. </p>
|
||||||
|
</wadl:doc>
|
||||||
|
<response status="200">
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-list-get-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/security-groups-list-get-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
<method name="POST" id="createSecGroupRule">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Creates a security
|
||||||
|
group rule. </p>
|
||||||
|
</wadl:doc>
|
||||||
|
<request>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/rules-security-groups-create-req.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</request>
|
||||||
|
<response status="200">
|
||||||
|
<representation mediaType="application/xml">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/rules-security-groups-create-resp.xml"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
<representation mediaType="application/json">
|
||||||
|
<doc xml:lang="EN">
|
||||||
|
<xsdxt:code
|
||||||
|
href="../api_samples/security-groups/rules-security-groups-create-resp.json"
|
||||||
|
/>
|
||||||
|
</doc>
|
||||||
|
</representation>
|
||||||
|
</response>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
<method name="DELETE" id="deleteSecGroupRule">
|
||||||
|
<wadl:doc xmlns="http://www.w3.org/1999/xhtml" xml:lang="EN">
|
||||||
|
<p xmlns="http://www.w3.org/1999/xhtml">Deletes a
|
||||||
|
specified Quantum security group rule from a security
|
||||||
|
group. </p>
|
||||||
|
</wadl:doc>
|
||||||
|
<response status="204"/>
|
||||||
|
</method>
|
||||||
|
|
||||||
|
</application>
|
@ -228,14 +228,15 @@
|
|||||||
<xi:include href="../common/getstart.xml"/>
|
<xi:include href="../common/getstart.xml"/>
|
||||||
<xi:include href="aboutcompute.xml"/>
|
<xi:include href="aboutcompute.xml"/>
|
||||||
<xi:include href="computeinstall.xml"/>
|
<xi:include href="computeinstall.xml"/>
|
||||||
<xi:include href="computeconfigure.xml"/>
|
<!--<xi:include href="computeconfigure.xml"/> -->
|
||||||
<xi:include href="../openstack-config/ch_compute-options-reference.xml"/>
|
<!--<xi:include href="compute-options-reference.xml"/> -->
|
||||||
<xi:include href="../common/ch_identity_mgmt.xml"/>
|
<xi:include href="../common/ch_identity_mgmt.xml"/>
|
||||||
<xi:include href="../common/ch_image_mgmt.xml"/>
|
<xi:include href="../common/ch_image_mgmt.xml"/>
|
||||||
<xi:include href="ch_instance_mgmt.xml"/>
|
<xi:include href="ch_instance_mgmt.xml"/>
|
||||||
<xi:include href="../openstack-config/ch_computehypervisors.xml"/>
|
<xi:include href="../openstack-config/ch_computehypervisors.xml"/>
|
||||||
<xi:include href="computenetworking.xml"/>
|
<xi:include href="computenetworking.xml"/>
|
||||||
<xi:include href="computevolumes.xml"/>
|
<xi:include href="computevolumes.xml"/>
|
||||||
|
<!-- next two files previously commented out - but build fails -->
|
||||||
<xi:include href="computescheduler.xml"/>
|
<xi:include href="computescheduler.xml"/>
|
||||||
<xi:include href="computecells.xml"/>
|
<xi:include href="computecells.xml"/>
|
||||||
<xi:include href="computeadmin.xml"/>
|
<xi:include href="computeadmin.xml"/>
|
||||||
|
@ -6,14 +6,15 @@
|
|||||||
<title>Instance Management</title>
|
<title>Instance Management</title>
|
||||||
|
|
||||||
<para>Instances are the running virtual machines within an
|
<para>Instances are the running virtual machines within an
|
||||||
OpenStack cloud. The <link linkend="images-and-instances"
|
OpenStack cloud. </para>
|
||||||
>Images and Instances</link> section of the <link
|
<para><!--<phrase>The <link linkend="images-and-instances"
|
||||||
linkend="ch_introduction-to-openstack-compute"
|
>Images and Instances</link> section</phrase>-->See <xref
|
||||||
>Introduction to OpenStack Compute</link> Chapter provides
|
linkend="ch_introduction-to-openstack-compute"/>
|
||||||
a high level overview of instances and their life cycle</para>
|
for
|
||||||
|
a high level overview of instances and their life cycle.</para>
|
||||||
|
|
||||||
<para>This chapter deals with the details of how to manage that
|
<para>This chapter describes how to manage that
|
||||||
life cycle</para>
|
life cycle.</para>
|
||||||
|
|
||||||
<section xml:id="instance-mgmt-interfaces">
|
<section xml:id="instance-mgmt-interfaces">
|
||||||
<?dbhtml stop-chunking?>
|
<?dbhtml stop-chunking?>
|
||||||
@ -151,10 +152,10 @@ header: Date: Thu, 13 Sep 2012 20:27:36 GMT
|
|||||||
provides an EC2 compatible API. This allows legacy
|
provides an EC2 compatible API. This allows legacy
|
||||||
workflows built for EC2 to work with OpenStack.</para>
|
workflows built for EC2 to work with OpenStack.</para>
|
||||||
|
|
||||||
<para><link linkend="configuring-ec2-API">Configuring the
|
<!--<para><link linkend="configuring-ec2-API">Configuring the
|
||||||
EC2 API</link> lists configuration options for
|
EC2 API</link> lists configuration options for
|
||||||
customizing this compatibility API on your OpenStack
|
customizing this compatibility API on your OpenStack
|
||||||
cloud.</para>
|
cloud.</para> -->
|
||||||
</simplesect>
|
</simplesect>
|
||||||
|
|
||||||
<simplesect xml:id="instance-mgmt-3rdparty">
|
<simplesect xml:id="instance-mgmt-3rdparty">
|
||||||
@ -401,8 +402,7 @@ header: Date: Thu, 13 Sep 2012 20:27:36 GMT
|
|||||||
|
|
||||||
<section xml:id="instance-scheduling-constraints">
|
<section xml:id="instance-scheduling-constraints">
|
||||||
<title>Controlling where instances run</title>
|
<title>Controlling where instances run</title>
|
||||||
<para>The <link linkend="scheduler-filters">scheduler
|
<para>The <xref linkend="ch_scheduling"/> provides detailed information
|
||||||
filters</link> section provides detailed information
|
|
||||||
on controlling where your instances run, including
|
on controlling where your instances run, including
|
||||||
ensuring a set of instances run on <link
|
ensuring a set of instances run on <link
|
||||||
linkend="differenthostfilter">different</link> compute
|
linkend="differenthostfilter">different</link> compute
|
||||||
@ -457,10 +457,10 @@ header: Date: Thu, 13 Sep 2012 20:27:36 GMT
|
|||||||
or you are trying to debug a problem image OpenStack can
|
or you are trying to debug a problem image OpenStack can
|
||||||
be configured to provide a VNC console, be aware that VNC
|
be configured to provide a VNC console, be aware that VNC
|
||||||
is an unencrypted protocol so you should be cautious what
|
is an unencrypted protocol so you should be cautious what
|
||||||
you type across that link. See the <link
|
you type across that link. </para><!--<para>See the <link
|
||||||
linkend="getting-started-with-vnc-proxy">Getting
|
linkend="getting-started-with-vnc-proxy">Getting
|
||||||
Started With VNC Proxy</link> section for details on
|
Started With VNC Proxy</link> section for details on
|
||||||
how to configure and connect to this service.</para>
|
how to configure and connect to this service.</para> -->
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<xi:include href="../common/nova_cli_startstop.xml"/>
|
<xi:include href="../common/nova_cli_startstop.xml"/>
|
||||||
|
@ -341,8 +341,8 @@ local0.error @@172.20.1.43:1024</programlisting></para>
|
|||||||
<section xml:id="live-migration-usage">
|
<section xml:id="live-migration-usage">
|
||||||
|
|
||||||
<title>Using Migration</title>
|
<title>Using Migration</title>
|
||||||
<para>Before starting migrations, review the <link linkend="configuring-migrations"
|
<!--<para>Before starting migrations, review the <link linkend="configuring-migrations"
|
||||||
>Configuring Migrations</link> section.</para>
|
>Configuring Migrations</link> section.</para>-->
|
||||||
<para>Migration provides a scheme to migrate running instances from one OpenStack Compute
|
<para>Migration provides a scheme to migrate running instances from one OpenStack Compute
|
||||||
server to another OpenStack Compute server. This feature can be used as described below. </para>
|
server to another OpenStack Compute server. This feature can be used as described below. </para>
|
||||||
|
|
||||||
@ -437,9 +437,9 @@ HostC p2 5 10240 150
|
|||||||
list</command>. If instances are still running on HostB, check logfiles
|
list</command>. If instances are still running on HostB, check logfiles
|
||||||
(src/dest nova-compute and nova-scheduler) to determine why.
|
(src/dest nova-compute and nova-scheduler) to determine why.
|
||||||
<note><para>While the nova command is called <command>live-migration</command>, under the default Compute
|
<note><para>While the nova command is called <command>live-migration</command>, under the default Compute
|
||||||
configuration options the instances are suspended before migration. See
|
configuration options the instances are suspended before migration.</para></note><!--<para>See
|
||||||
the <link linkend="configuring-migrations">Configuring Migrations</link>
|
the <link linkend="configuring-migrations">Configuring Migrations</link>
|
||||||
section for more details.</para></note></para>
|
section for more details.</para>--></para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</section>
|
</section>
|
||||||
@ -447,10 +447,10 @@ HostC p2 5 10240 150
|
|||||||
<title>Recovering from a failed compute node</title>
|
<title>Recovering from a failed compute node</title>
|
||||||
<para>If you have deployed OpenStack Compute with a shared filesystem,
|
<para>If you have deployed OpenStack Compute with a shared filesystem,
|
||||||
you can quickly recover from a failed compute node. </para>
|
you can quickly recover from a failed compute node. </para>
|
||||||
<section xml:id="nova-compute-node-down-evacuate-api">
|
<!--<section xml:id="nova-compute-node-down-evacuate-api">
|
||||||
<title>Using the evacuate API for KVM/libvirt</title>
|
<title>Using the evacuate API for KVM/libvirt</title> -->
|
||||||
<para>Refer to <link linkend="nova_cli_evacuate">Evacuate API Reference</link> section for more details.</para>
|
<!--<para>Refer to <link linkend="nova_cli_evacuate">Evacuate API Reference</link> section for more details.</para>-->
|
||||||
</section>
|
<!-- </section> -->
|
||||||
<section xml:id="nova-compute-node-down-manual-recovery">
|
<section xml:id="nova-compute-node-down-manual-recovery">
|
||||||
<title>Manual recovery</title>
|
<title>Manual recovery</title>
|
||||||
<para>For KVM/libvirt compute node recovery refer to section above, while the guide below may be applicable for other hypervisors.</para>
|
<para>For KVM/libvirt compute node recovery refer to section above, while the guide below may be applicable for other hypervisors.</para>
|
||||||
|
@ -175,10 +175,10 @@ URI: http://download.opensuse.org/repositories/Cloud:/OpenStack:/Grizzly/openSUS
|
|||||||
<para>When using OpenStack Compute with Citrix XenServer or XCP hypervisor,
|
<para>When using OpenStack Compute with Citrix XenServer or XCP hypervisor,
|
||||||
OpenStack Compute should be installed in a virtual machine running on
|
OpenStack Compute should be installed in a virtual machine running on
|
||||||
your hypervisor, rather than installed directly on the hypervisor,
|
your hypervisor, rather than installed directly on the hypervisor,
|
||||||
as you would do when using the Libvirt driver.
|
as you would do when using the Libvirt driver.</para>
|
||||||
For more information see:
|
<!--<para>For more information see:
|
||||||
<link linkend="xenapi-install">XenAPI Install</link>.
|
<link linkend="xenapi-install">XenAPI Install</link>.
|
||||||
</para>
|
</para>-->
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Given how you should deploy OpenStack with XenServer, the first step when
|
Given how you should deploy OpenStack with XenServer, the first step when
|
||||||
@ -186,11 +186,10 @@ URI: http://download.opensuse.org/repositories/Cloud:/OpenStack:/Grizzly/openSUS
|
|||||||
is to install XenServer and install the required XenServer plugins.
|
is to install XenServer and install the required XenServer plugins.
|
||||||
You can install XCP by installing Debian or Ubuntu, but generally rather
|
You can install XCP by installing Debian or Ubuntu, but generally rather
|
||||||
than installing the operating system of your choice on your compute nodes,
|
than installing the operating system of your choice on your compute nodes,
|
||||||
you should first install XenServer.
|
you should first install XenServer.</para>
|
||||||
For more information see:
|
<!-- <para>For more information see:
|
||||||
<link linkend="xenapi-deployment-architecture">XenAPI Deployment Architecture</link>.
|
<link linkend="xenapi-deployment-architecture">XenAPI Deployment Architecture</link>.
|
||||||
</para>
|
</para> -->
|
||||||
|
|
||||||
<para>Once you have installed XenServer and the XenAPI plugins
|
<para>Once you have installed XenServer and the XenAPI plugins
|
||||||
on all your compute nodes, you next need to create a virtual machine
|
on all your compute nodes, you next need to create a virtual machine
|
||||||
on each of those compute nodes.
|
on each of those compute nodes.
|
||||||
@ -199,8 +198,8 @@ URI: http://download.opensuse.org/repositories/Cloud:/OpenStack:/Grizzly/openSUS
|
|||||||
You can follow the previous distribution specific instructions to get the
|
You can follow the previous distribution specific instructions to get the
|
||||||
OpenStack code running in your Virtual Machine.
|
OpenStack code running in your Virtual Machine.
|
||||||
Once installed, you will need to configure OpenStack Compute to talk to
|
Once installed, you will need to configure OpenStack Compute to talk to
|
||||||
your XenServer or XCP installation. For more information see:
|
your XenServer or XCP installation.</para><!--<para>For more information see:
|
||||||
<link linkend="introduction-to-xen">Introduction to Xen</link>.
|
<link linkend="introduction-to-xen">Introduction to Xen</link>.
|
||||||
</para>
|
</para>-->
|
||||||
</section>
|
</section>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -5,8 +5,13 @@
|
|||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="ch_openstack-interfaces">
|
xml:id="ch_openstack-interfaces">
|
||||||
<title>OpenStack Interfaces</title>
|
<title>OpenStack Interfaces</title>
|
||||||
<para>The OpenStack dashboard, a Web interface,
|
<para>You can interact with an OpenStack cloud in the following ways:
|
||||||
enables you to connect to running instances through a VNC connection.</para>
|
<itemizedlist><listitem>
|
||||||
<xi:include href="../common/about-dashboard.xml"/>
|
<para>The OpenStack dashboard.</para>
|
||||||
<xi:include href="remote-console-access.xml"/>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>A VNC connection through a VNC proxy.</para>
|
||||||
|
</listitem></itemizedlist></para>
|
||||||
|
<xi:include href="section_dashboard.xml"/>
|
||||||
|
<xi:include href="remote-console-access.xml"/>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -446,9 +446,9 @@ echo 'Extra user data here'</computeroutput></screen>
|
|||||||
Before reading how to configure networking using the XenAPI compute
|
Before reading how to configure networking using the XenAPI compute
|
||||||
driver, you may find it useful to read the Citrix article on
|
driver, you may find it useful to read the Citrix article on
|
||||||
<link xlink:href="http://support.citrix.com/article/CTX117915">
|
<link xlink:href="http://support.citrix.com/article/CTX117915">
|
||||||
Understanding XenServer Networking</link> and the section of this
|
Understanding XenServer Networking</link>. <!--<phrase>and the section of this
|
||||||
document that describes
|
document that describes
|
||||||
<link linkend="introduction-to-xen">XenAPI and OpenStack</link>.
|
<link linkend="introduction-to-xen">XenAPI and OpenStack</link>.</phrase>-->
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
<section xml:id="configuring-flat-networking">
|
<section xml:id="configuring-flat-networking">
|
||||||
@ -2125,8 +2125,8 @@ enabled_apis=ec2,osapi_compute,osapi_volume,metadata</programlisting></para>
|
|||||||
hosts networks will send all network related commands to the host that the specific
|
hosts networks will send all network related commands to the host that the specific
|
||||||
VM is on. You need to edit the configuration option <literal>enabled_apis</literal>
|
VM is on. You need to edit the configuration option <literal>enabled_apis</literal>
|
||||||
such that it includes <literal>metadata</literal> in the list of enabled APIs.
|
such that it includes <literal>metadata</literal> in the list of enabled APIs.
|
||||||
Other options become available when you configure <literal>multi_host</literal> nova networking please
|
Other options become available when you configure <literal>multi_host</literal> nova networking.
|
||||||
refer to <link linkend="list-of-compute-config-options"> Configuration: nova.conf</link>.</para>
|
</para><!--<para>See <link linkend="list-of-compute-config-options">Configuration: nova.conf</link>.</para>-->
|
||||||
<note>
|
<note>
|
||||||
<para>You must specify the <literal>multi_host</literal> option on the command line
|
<para>You must specify the <literal>multi_host</literal> option on the command line
|
||||||
when creating fixed networks. For example:
|
when creating fixed networks. For example:
|
||||||
|
@ -44,11 +44,11 @@
|
|||||||
appendix toc,title
|
appendix toc,title
|
||||||
article/appendix nop
|
article/appendix nop
|
||||||
article toc,title
|
article toc,title
|
||||||
book title,figure,table,example,equation
|
book toc,title,figure,table,example,equation
|
||||||
chapter toc,title
|
chapter toc
|
||||||
section toc
|
section toc
|
||||||
part toc,title
|
part toc
|
||||||
preface toc,title
|
preface toc
|
||||||
qandadiv toc
|
qandadiv toc
|
||||||
qandaset toc
|
qandaset toc
|
||||||
reference toc,title
|
reference toc,title
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
xmlns:xlink="http://www.w3.org/1999/xlink"
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
version="5.0"
|
version="5.0"
|
||||||
xml:id="remote-console-access">
|
xml:id="remote-console-access">
|
||||||
<title>Remote Console Access</title>
|
<title>Access OpenStack through a remote console</title>
|
||||||
<!--<?dbhtml stop-chunking?>-->
|
<!--<?dbhtml stop-chunking?>-->
|
||||||
<para>OpenStack has two main methods for providing a remote
|
<para>OpenStack has two main methods for providing a remote
|
||||||
console or remote desktop access to guest Virtual
|
console or remote desktop access to guest Virtual
|
||||||
|
69
doc/src/docbkx/openstack-compute-admin/section_dashboard.xml
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?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="ch_install-dashboard">
|
||||||
|
<title>The OpenStack dashboard</title>
|
||||||
|
<para xmlns:raxm="http://docs.rackspace.com/api/metadata">The
|
||||||
|
OpenStack dashboard, also known as <link
|
||||||
|
xlink:href="https://github.com/openstack/horizon/"
|
||||||
|
>horizon</link>, is a Web interface that allows 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>The following instructions show an example deployment
|
||||||
|
configured with an Apache web server. </para>
|
||||||
|
<para>To install the OpenStack dashboard, complete the following
|
||||||
|
high-level steps: </para>
|
||||||
|
<orderedlist>
|
||||||
|
<listitem>
|
||||||
|
<para>Meet the system requirements for accessing the
|
||||||
|
dashboard. See <xref
|
||||||
|
linkend="dashboard-system-requirements"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Install the OpenStack Dashboard framework, including
|
||||||
|
Apache and related modules. See <xref
|
||||||
|
linkend="installing-openstack-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Configure the dashboard.</para>
|
||||||
|
<para>Then, restart and run the Apache server.</para>
|
||||||
|
<para>See <xref linkend="configure-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Verify your installation. See <xref
|
||||||
|
linkend="verify-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<itemizedlist>
|
||||||
|
<title>Next steps:</title>
|
||||||
|
<para>After you install the dashboard, you can complete the
|
||||||
|
following tasks:</para>
|
||||||
|
<listitem>
|
||||||
|
<para>To customize your dashboard, see <xref
|
||||||
|
linkend="dashboard-custom-brand"/>. </para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To set up session storage for the dashboard, see
|
||||||
|
<xref linkend="dashboard-sessions"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To deploy the dashboard, see <link
|
||||||
|
xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html"
|
||||||
|
>Deploying Horizon</link>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem xml:id="launch_instances">
|
||||||
|
<para>To launch instances with the dashboard, see the
|
||||||
|
<citetitle>OpenStack User
|
||||||
|
Guide</citetitle>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
<xi:include href="../common/dashboard-system-reqs.xml"/>
|
||||||
|
<xi:include href="../common/dashboard-install.xml"/>
|
||||||
|
<xi:include href="../common/dashboard-configure.xml"/>
|
||||||
|
<xi:include href="../common/dashboard-verify.xml"/>
|
||||||
|
<xi:include href="../common/dashboard_sessions.xml"/>
|
||||||
|
<xi:include href="../common/dashboard_customizing.xml"/>
|
||||||
|
</section>
|
@ -7,6 +7,14 @@
|
|||||||
<version>1.0.0-SNAPSHOT</version>
|
<version>1.0.0-SNAPSHOT</version>
|
||||||
<packaging>jar</packaging>
|
<packaging>jar</packaging>
|
||||||
<name>OpenStack Guides</name>
|
<name>OpenStack Guides</name>
|
||||||
|
<properties>
|
||||||
|
<!-- This is set by Jenkins according to the branch. -->
|
||||||
|
<release.path.name>grizzly</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 -->
|
<!-- USE "mvn clean generate-sources" to run this POM -->
|
||||||
<!-- ################################################ -->
|
<!-- ################################################ -->
|
||||||
@ -52,7 +60,7 @@ set toc,title
|
|||||||
<sectionLabelIncludesComponentLabel>0</sectionLabelIncludesComponentLabel>
|
<sectionLabelIncludesComponentLabel>0</sectionLabelIncludesComponentLabel>
|
||||||
<webhelpDirname>user-guide</webhelpDirname>
|
<webhelpDirname>user-guide</webhelpDirname>
|
||||||
<includeDateInPdfFilename>0</includeDateInPdfFilename>
|
<includeDateInPdfFilename>0</includeDateInPdfFilename>
|
||||||
<pdfFilenameBase>user-guide.pdf</pdfFilenameBase>
|
<pdfFilenameBase>user-guide</pdfFilenameBase>
|
||||||
</configuration>
|
</configuration>
|
||||||
</execution>
|
</execution>
|
||||||
<execution>
|
<execution>
|
||||||
|
@ -12,7 +12,18 @@
|
|||||||
<para>The OpenStack project provides a variety of command-line
|
<para>The OpenStack project provides a variety of command-line
|
||||||
clients that let you manage the services within your cloud and
|
clients that let you manage the services within your cloud and
|
||||||
automate tasks by using scripts. Each of the core OpenStack
|
automate tasks by using scripts. Each of the core OpenStack
|
||||||
components has its own command-line client.</para>
|
components has its own command-line client. These open-source
|
||||||
|
Python clients run on Linux or Mac OS X systems and are easy
|
||||||
|
to learn and use. </para>
|
||||||
|
<para>You can use the OpenStack command-line clients to run simple
|
||||||
|
commands that make API calls. You can specify a <parameter
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook">debug</parameter>
|
||||||
|
parameter on any client command to show the underlying API
|
||||||
|
request for the command. This is a good way to become familiar
|
||||||
|
with the OpenStack API requests. </para>
|
||||||
<para>These examples walk
|
<para>These examples walk
|
||||||
you through the steps to create a server instance with 2 GB
|
you through the steps to create a server instance with 2 GB
|
||||||
of physical memory.</para>
|
of physical memory.</para>
|
||||||
|
@ -7,14 +7,40 @@
|
|||||||
xmlns:raxm="http://docs.rackspace.com/api/metadata" version="5.0"
|
xmlns:raxm="http://docs.rackspace.com/api/metadata" version="5.0"
|
||||||
xml:id="ch_dashboard">
|
xml:id="ch_dashboard">
|
||||||
<info>
|
<info>
|
||||||
<title>OpenStack dashboard</title>
|
<title>The OpenStack dashboard</title>
|
||||||
<?dbhtml stop-chunking?>
|
<?dbhtml stop-chunking?>
|
||||||
</info>
|
</info>
|
||||||
<para>The OpenStack dashboard, also known as <link
|
<para>The OpenStack dashboard, also known as <link
|
||||||
xlink:href="https://github.com/openstack/horizon/"
|
xlink:href="https://github.com/openstack/horizon/"
|
||||||
>horizon</link>, is a Web interface that allows cloud
|
>horizon</link>, is a Web-based interface that enables
|
||||||
administrators and users to manage various OpenStack resources
|
cloud administrators and users to manage various OpenStack
|
||||||
and services. </para>
|
resources and services. </para>
|
||||||
|
<para xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook">You can customize the
|
||||||
|
dashboard with your own brand and other features.</para>
|
||||||
|
<para xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook">As a cloud
|
||||||
|
administrator, the dashboard provides you with an overall view
|
||||||
|
of the size and state of your cloud. You can create users and
|
||||||
|
projects, assign users to projects and set limits on the
|
||||||
|
resources for those projects. </para>
|
||||||
|
<para xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook">As a cloud user, the
|
||||||
|
dashboard enables you to provision your own resources within
|
||||||
|
the limits set by administrators. </para>
|
||||||
|
<para xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:m="http://www.w3.org/1998/Math/MathML"
|
||||||
|
xmlns:html="http://www.w3.org/1999/xhtml"
|
||||||
|
xmlns:db="http://docbook.org/ns/docbook">To see a demo of the
|
||||||
|
dashboard, go to <link
|
||||||
|
xlink:href="http://www.openstack.org/software/openstack-dashboard/"
|
||||||
|
>OpenStack Dashboard</link>.</para>
|
||||||
<para>After a short introduction, learn how to use the install and
|
<para>After a short introduction, learn how to use the install and
|
||||||
configure the dashboard. </para>
|
configure the dashboard. </para>
|
||||||
<para>Then use the simple
|
<para>Then use the simple
|
||||||
@ -26,8 +52,7 @@
|
|||||||
<xi:include href="section_dashboard_install.xml"/>
|
<xi:include href="section_dashboard_install.xml"/>
|
||||||
<xi:include href="section_dashboard_overview.xml"/>
|
<xi:include href="section_dashboard_overview.xml"/>
|
||||||
<xi:include href="section_dashboard_manage_images.xml"/>
|
<xi:include href="section_dashboard_manage_images.xml"/>
|
||||||
<xi:include href="../../common/dashboardlaunchinginstances.xml"/>
|
<xi:include href="section_dashboard_launch_instances.xml"/>
|
||||||
<xi:include href="section_dashboard_launch_instances_from_image.xml"/>
|
|
||||||
<xi:include href="section_dashboard_launch_instances_from_volume.xml"/>
|
<xi:include href="section_dashboard_launch_instances_from_volume.xml"/>
|
||||||
<xi:include href="section_dashboard_configure_instances.xml"/>
|
<xi:include href="section_dashboard_configure_instances.xml"/>
|
||||||
<xi:include href="section_dashboard_manage_instances.xml"/>
|
<xi:include href="section_dashboard_manage_instances.xml"/>
|
||||||
|
@ -14,70 +14,56 @@
|
|||||||
images and snapshots, set up cloud access and security, and
|
images and snapshots, set up cloud access and security, and
|
||||||
track usage. Cloud administrators can also create and manage
|
track usage. Cloud administrators can also create and manage
|
||||||
users and projects. </para>
|
users and projects. </para>
|
||||||
|
<db:para>As a cloud administrator, the dashboard provides you with
|
||||||
|
an overall view of the size and state of your cloud. You can
|
||||||
|
create users and projects, assign users to projects and set
|
||||||
|
limits on the resources for those projects. As a cloud user,
|
||||||
|
the dashboard enables you to provision your own resources
|
||||||
|
within the limits set by administrators. </db:para>
|
||||||
<para>You can achieve most of these tasks with the OpenStack
|
<para>You can achieve most of these tasks with the OpenStack
|
||||||
dashboard or the OpenStack command-line clients. The dashboard
|
dashboard or the OpenStack command-line clients. The dashboard
|
||||||
and the command-line clients are not the only ways to interact
|
and the command-line clients are not the only ways to interact
|
||||||
with OpenStack resources and services. You can automate access
|
with OpenStack resources and services. You can automate access
|
||||||
or build tools to manage resources and services by using the
|
or build tools to manage resources and services by using the
|
||||||
native OpenStack APIs or the EC2 compatibility API.</para>
|
native OpenStack APIs or the EC2 compatibility API.</para>
|
||||||
|
<para>This guide helps OpenStack cloud administrators and users
|
||||||
|
launch and manage instances and manage volumes. </para>
|
||||||
<para>For each exercise in this guide, you choose one of the
|
<para>For each exercise in this guide, you choose one of the
|
||||||
following methods to complete tasks in the cloud: <itemizedlist>
|
following methods to complete tasks in the cloud:</para>
|
||||||
<listitem>
|
<itemizedlist>
|
||||||
<para><emphasis role="bold">The OpenStack
|
<listitem>
|
||||||
dashboard</emphasis>. The OpenStack dashboard
|
<para>OpenStack dashboard, also known as <link
|
||||||
provides administrators and users a graphical
|
xlink:href="https://github.com/openstack/horizon/"
|
||||||
interface to access, provision, and automate
|
>horizon</link>, is a Web-based graphical
|
||||||
cloud-based resources. You can customize the
|
interface that enables cloud administrators and users
|
||||||
dashboard with your own brand. The dashboard is an
|
to access, provision, and automate cloud-based
|
||||||
extensible web app that allows cloud
|
resources.</para>
|
||||||
administrators and users to control their compute,
|
</listitem>
|
||||||
storage, and networking resources. </para>
|
<listitem>
|
||||||
<para>As a cloud administrator, the dashboard provides
|
<para>OpenStack command-line clients let cloud
|
||||||
an overall view of the size and state of your
|
administrators and users run simple commands to manage
|
||||||
cloud. You can create users and projects, assign
|
resources and services within a cloud and automate
|
||||||
users to projects and set limits on the resources
|
tasks by using scripts. Each of the core OpenStack
|
||||||
for those projects. The dashboard provides users a
|
projects has its own command-line client. </para>
|
||||||
self-service portal to provision their own
|
</listitem>
|
||||||
resources within the limits set by administrators.
|
</itemizedlist>
|
||||||
To see a demo of the dashboard, go to <link
|
<para>You can also interact with an OpenStack cloud in the
|
||||||
xlink:href="http://www.openstack.org/software/openstack-dashboard/"
|
following ways:</para>
|
||||||
>OpenStack Dashboard</link>.</para>
|
<itemizedlist>
|
||||||
</listitem>
|
<listitem>
|
||||||
<listitem>
|
<para><link
|
||||||
<para><emphasis role="bold">The OpenStack command-line
|
xlink:href="http://curl.haxx.se/">cURL</link>
|
||||||
clients</emphasis>. We recommend that you use
|
commands. If you are familiar with or
|
||||||
the OpenStack command-line clients to run simple
|
want to learn cURL commands, choose this method. With
|
||||||
commands that make API calls. These open-source
|
cURL, you send HTTP requests with embedded API calls
|
||||||
Python clients run on Linux or Mac OS X systems
|
from the command line. The cURL examples in this guide
|
||||||
and are easy to learn and use. You can specify a
|
include request bodies that are in JSON format.
|
||||||
<parameter>debug</parameter> parameter on any
|
</para>
|
||||||
client command to show the underlying API request
|
</listitem>
|
||||||
for the command. This is a good way to become
|
<listitem>
|
||||||
familiar with the OpenStack API requests. </para>
|
<para>Rackspace SDKs. See <link
|
||||||
</listitem>
|
xlink:href="http://developer.rackspace.com"
|
||||||
<listitem>
|
>Rackspace Developer Center</link>.</para>
|
||||||
<para><emphasis role="bold">Other methods</emphasis>. <itemizedlist>
|
</listitem>
|
||||||
<listitem>
|
</itemizedlist>
|
||||||
<para><emphasis role="bold"><link
|
|
||||||
xlink:href="http://curl.haxx.se/"
|
|
||||||
>cURL</link> commands</emphasis>.
|
|
||||||
If you are familiar with or want to
|
|
||||||
learn cURL commands, choose this
|
|
||||||
method. With cURL, you send HTTP
|
|
||||||
requests with embedded API calls from
|
|
||||||
the command line. The cURL examples in
|
|
||||||
this guide include request bodies that
|
|
||||||
are in JSON format. </para>
|
|
||||||
</listitem>
|
|
||||||
<listitem>
|
|
||||||
<para>Rackspace SDKs. <link
|
|
||||||
xlink:href="http://developer.rackspace.com"
|
|
||||||
>Rackspace Developer
|
|
||||||
Center</link>.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
|
||||||
</para>
|
|
||||||
</chapter>
|
</chapter>
|
||||||
|
@ -9,43 +9,25 @@
|
|||||||
xml:id="openstack_user_guide">
|
xml:id="openstack_user_guide">
|
||||||
<title>OpenStack User Guide</title>
|
<title>OpenStack User Guide</title>
|
||||||
<?dbhtml stop-chunking?>
|
<?dbhtml stop-chunking?>
|
||||||
<para>OpenStack is a global collaboration of developers and cloud
|
<para>OpenStack is an open source cloud computing platform for
|
||||||
computing technologists producing the ubiquitous open source
|
public and private clouds. The technology consists of a series
|
||||||
cloud computing platform for public and private clouds. </para>
|
of interrelated projects that deliver various components for a
|
||||||
<para>The project delivers solutions for all types of clouds by
|
cloud infrastructure solution. </para>
|
||||||
being simple to implement, massively scalable, and feature
|
|
||||||
rich. </para>
|
|
||||||
<para>The technology consists of a series of interrelated projects
|
|
||||||
that deliver various components for a cloud infrastructure
|
|
||||||
solution. </para>
|
|
||||||
<para>This guide helps OpenStack cloud administrators and users
|
<para>This guide helps OpenStack cloud administrators and users
|
||||||
launch and manage instances and manage volumes. You can
|
launch and manage instances and manage volumes. You can
|
||||||
achieve most of these tasks with the OpenStack dashboard or
|
achieve most of these tasks with the OpenStack dashboard or
|
||||||
the OpenStack command-line clients. </para>
|
the OpenStack command-line clients. </para>
|
||||||
<para>The OpenStack dashboard, also known as <link
|
|
||||||
xlink:href="https://github.com/openstack/horizon/"
|
|
||||||
>horizon</link>, is a Web interface that allows cloud
|
|
||||||
administrators and users to manage various OpenStack resources
|
|
||||||
and services. The dashboard enables web-based interactions
|
|
||||||
with the OpenStack Compute cloud controller through the
|
|
||||||
OpenStack APIs.</para>
|
|
||||||
<para>The OpenStack project also provides a variety of
|
|
||||||
command-line clients that let you manage resources and
|
|
||||||
services within your cloud and automate tasks by using
|
|
||||||
scripts. Each of the core OpenStack components has its own
|
|
||||||
command-line client.</para>
|
|
||||||
<para>The exercises help you learn how cURL commands and the
|
|
||||||
OpenStack APIs work.</para>
|
|
||||||
<para>To use the OpenStack APIs, it helps to be familiar with
|
<para>To use the OpenStack APIs, it helps to be familiar with
|
||||||
HTTP/1.1, RESTful web services, the OpenStack services, and
|
HTTP/1.1, RESTful web services, the OpenStack services, and
|
||||||
JSON or XML data serialization formats.</para>
|
JSON or XML data serialization formats.</para>
|
||||||
<xi:include href="section_dochistory.xml"/>
|
<xi:include href="section_dochistory.xml"/>
|
||||||
<section xml:id="resources">
|
<section xml:id="resources">
|
||||||
<title>Resources</title>
|
<title>Resources</title>
|
||||||
<para>For the available documentation, see <link
|
<para>For the available OpenStack documentation, see <link
|
||||||
xlink:href="http://docs.openstack.org"
|
xlink:href="http://docs.openstack.org"
|
||||||
>docs.openstack.org</link>. </para>
|
>docs.openstack.org</link>. </para>
|
||||||
<para>For the Rackspace SDKs, see <link
|
<para>For the Rackspace SDKs, see the <link
|
||||||
xlink:href="http://developer.rackspace.com"/>.</para>
|
xlink:href="http://developer.rackspace.com">Rackspace
|
||||||
|
Developer Center</link>.</para>
|
||||||
</section>
|
</section>
|
||||||
</preface>
|
</preface>
|
||||||
|
@ -6,49 +6,64 @@
|
|||||||
<title>Command-line clients overview</title>
|
<title>Command-line clients overview</title>
|
||||||
<para>The following command-line clients are available for the
|
<para>The following command-line clients are available for the
|
||||||
respective services' APIs:</para>
|
respective services' APIs:</para>
|
||||||
<variablelist><varlistentry>
|
<variablelist wordsize="10">
|
||||||
<term>keystone</term>
|
<varlistentry>
|
||||||
<listitem><para>Identity Service</para>
|
<term>keystone</term>
|
||||||
|
<listitem>
|
||||||
|
<para>Identity Service</para>
|
||||||
<para>Manage users and projects.</para>
|
<para>Manage users and projects.</para>
|
||||||
<para><literal>python-keystoneclient</literal></para></listitem>
|
<para><literal>python-keystoneclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
<varlistentry>
|
</varlistentry>
|
||||||
<term>nova</term><listitem>
|
<varlistentry>
|
||||||
|
<term>nova</term>
|
||||||
|
<listitem>
|
||||||
<para>Compute, Compute extensions</para>
|
<para>Compute, Compute extensions</para>
|
||||||
<para>Manage instances and flavors.</para>
|
<para>Manage instances and flavors.</para>
|
||||||
<para><literal>python-novaclient</literal></para></listitem>
|
<para><literal>python-novaclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
<varlistentry>
|
</varlistentry>
|
||||||
<term>glance</term><listitem>
|
<varlistentry>
|
||||||
|
<term>glance</term>
|
||||||
|
<listitem>
|
||||||
<para>Image Service</para>
|
<para>Image Service</para>
|
||||||
<para>Manage images. </para>
|
<para>Manage images. </para>
|
||||||
<para><literal>python-glanceclient</literal></para></listitem>
|
<para><literal>python-glanceclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
<varlistentry>
|
</varlistentry>
|
||||||
<term>cinder</term><listitem>
|
<varlistentry>
|
||||||
|
<term>cinder</term>
|
||||||
|
<listitem>
|
||||||
<para>Block Storage Service</para>
|
<para>Block Storage Service</para>
|
||||||
<para>Manage volumes.</para>
|
<para>Manage volumes.</para>
|
||||||
<para><literal>python-cinderclient</literal></para></listitem>
|
<para><literal>python-cinderclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
<varlistentry>
|
</varlistentry>
|
||||||
<term>quantum</term><listitem>
|
<varlistentry>
|
||||||
|
<term>quantum</term>
|
||||||
|
<listitem>
|
||||||
<para>Networking</para>
|
<para>Networking</para>
|
||||||
<para>Configure networks for guest servers.</para>
|
<para>Configure networks for guest servers.</para>
|
||||||
<para><literal>python-quantumclient</literal></para></listitem>
|
<para><literal>python-quantumclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
<varlistentry>
|
</varlistentry>
|
||||||
<term>swift</term><listitem>
|
<varlistentry>
|
||||||
|
<term>swift</term>
|
||||||
|
<listitem>
|
||||||
<para>Object Storage</para>
|
<para>Object Storage</para>
|
||||||
<para>Manage the object store. </para>
|
<para>Manage the object store. </para>
|
||||||
<para><literal>python-swiftclient</literal></para></listitem>
|
<para><literal>python-swiftclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
<varlistentry>
|
</varlistentry>
|
||||||
<term>heat</term><listitem>
|
<varlistentry>
|
||||||
|
<term>heat</term>
|
||||||
|
<listitem>
|
||||||
<para>Orchestration</para>
|
<para>Orchestration</para>
|
||||||
<para>Launch stacks from templates and manage
|
<para>Launch stacks from templates and manage
|
||||||
stacks.</para>
|
stacks.</para>
|
||||||
<para><literal>python-heatclient</literal></para></listitem>
|
<para><literal>python-heatclient</literal></para>
|
||||||
</varlistentry>
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
</variablelist>
|
</variablelist>
|
||||||
<para>All clients have tab completion. </para>
|
<para>All clients have tab completion. </para>
|
||||||
<para>Help and detailed information about the individual commands
|
<para>Help and detailed information about the individual commands
|
||||||
|
@ -5,29 +5,53 @@
|
|||||||
xml:id="section_dashboad_install">
|
xml:id="section_dashboad_install">
|
||||||
<title>Install the OpenStack dashboard</title>
|
<title>Install the OpenStack dashboard</title>
|
||||||
<?dbhtml stop-chunking?>
|
<?dbhtml stop-chunking?>
|
||||||
<para>To install the OpenStack dashboard, complete the following
|
<para>The following instructions show an example dashboard
|
||||||
high-level tasks: </para>
|
deployment configured with an Apache web server. </para>
|
||||||
<orderedlist>
|
<para>To install the OpenStack dashboard, complete the
|
||||||
<listitem>
|
following high-level steps: </para>
|
||||||
<para>Meet the system requirements for the
|
<orderedlist>
|
||||||
dashboard.</para>
|
<listitem>
|
||||||
</listitem>
|
<para>Meet the system requirements for accessing the
|
||||||
<listitem>
|
dashboard. See <xref
|
||||||
<para>Install the OpenStack dashboard framework, including
|
linkend="dashboard-system-requirements"
|
||||||
Apache and related modules.</para>
|
/>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Configure the dashboard.</para>
|
<para>Install the OpenStack Dashboard framework,
|
||||||
</listitem>
|
including Apache and related modules. See <xref
|
||||||
<listitem>
|
linkend="installing-openstack-dashboard"
|
||||||
<para>Restart and run the Apache server.</para>
|
/>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Deploy the dashboard. See <link
|
<para>Configure the dashboard.</para>
|
||||||
xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html"
|
<para>Then, restart and run the Apache server.</para>
|
||||||
>Deploying Horizon</link>.</para>
|
<para>See <xref linkend="configure-dashboard"
|
||||||
</listitem>
|
/>.</para>
|
||||||
</orderedlist>
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>Verify your installation. See <xref
|
||||||
|
linkend="verify-dashboard"/>.</para>
|
||||||
|
</listitem>
|
||||||
|
</orderedlist>
|
||||||
|
<itemizedlist><title>Next steps:</title>
|
||||||
|
<para>After you install the dashboard, you can complete
|
||||||
|
the following tasks:</para>
|
||||||
|
<listitem>
|
||||||
|
<para>To customize your dashboard, see <xref
|
||||||
|
linkend="dashboard-custom-brand"/>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To set up session storage for the dashboard,
|
||||||
|
see <xref linkend="dashboard-sessions"
|
||||||
|
/>.</para>
|
||||||
|
</listitem>
|
||||||
|
<listitem>
|
||||||
|
<para>To deploy the dashboard, see <link
|
||||||
|
xlink:href="http://docs.openstack.org/developer/horizon/topics/deployment.html"
|
||||||
|
>Deploying Horizon</link>.</para>
|
||||||
|
</listitem>
|
||||||
|
</itemizedlist>
|
||||||
<xi:include href="../../common/dashboard-system-reqs.xml"/>
|
<xi:include href="../../common/dashboard-system-reqs.xml"/>
|
||||||
<xi:include href="../../common/dashboard-install.xml"/>
|
<xi:include href="../../common/dashboard-install.xml"/>
|
||||||
<xi:include href="../../common/dashboard-configure.xml"/>
|
<xi:include href="../../common/dashboard-configure.xml"/>
|
||||||
|
@ -0,0 +1,367 @@
|
|||||||
|
<?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="Launching_Instances_using_Dashboard">
|
||||||
|
<title>Launch an instance</title>
|
||||||
|
<?dbhtml stop-chunking?>
|
||||||
|
<para>Instances are virtual machines that run inside the cloud.
|
||||||
|
You can launch an instance directly from one of the available
|
||||||
|
OpenStack images or from an image that you have copied to a
|
||||||
|
persistent volume. The OpenStack Image Service provides a pool
|
||||||
|
of images that are accessible to members of different
|
||||||
|
projects.</para>
|
||||||
|
<para>You can optionally add security group rules to the default
|
||||||
|
security group, and create a keypair to enable SSH access to
|
||||||
|
your instance.</para>
|
||||||
|
<section xml:id="Modify_Security_Groups">
|
||||||
|
<title>Add security group rules</title>
|
||||||
|
<para>Before you launch a virtual machine, you can add
|
||||||
|
security group rules to enable users to ping and SSH to
|
||||||
|
the instances. To do so, you either add rules to the
|
||||||
|
default security group or add a security group with rules. </para>
|
||||||
|
<para>The following procedure shows you how to add rules to
|
||||||
|
the default security group.</para>
|
||||||
|
<procedure>
|
||||||
|
<title>To add rules to the default security group:</title>
|
||||||
|
<step>
|
||||||
|
<para>Log in to the OpenStack dashboard.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>If you are a member of multiple projects, select
|
||||||
|
a project from the drop-down list at the top of
|
||||||
|
the <guilabel>Project</guilabel> tab. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click the <guilabel>Access &
|
||||||
|
Security</guilabel> category. </para>
|
||||||
|
<para>The dashboard shows the security groups that are
|
||||||
|
available for this project. </para>
|
||||||
|
<figure>
|
||||||
|
<title>OpenStack dashboard - Security
|
||||||
|
Groups</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/access_security.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/access_security.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Select the default security group and click
|
||||||
|
<guibutton>Edit Rules</guibutton>. </para>
|
||||||
|
<para>The <guilabel>Security Group Rules</guilabel>
|
||||||
|
page appears: </para>
|
||||||
|
<figure>
|
||||||
|
<title>OpenStack dashboard - Security Group
|
||||||
|
Rules</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/security_group_rules.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/security_group_rules.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Add a TCP rule</title>
|
||||||
|
<para>Click <guibutton>Add Rule</guibutton>. </para>
|
||||||
|
<para>The <guilabel>Add Rule</guilabel> window
|
||||||
|
appears. </para>
|
||||||
|
<figure>
|
||||||
|
<title>OpenStack dashboard - Add Rule</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata fileref="../../common/figures/add_rule.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata fileref="../../common/figures/add_rule.png"
|
||||||
|
format="PNG"/></imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
<substeps>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>IP Protocol</guilabel>
|
||||||
|
list, select <literal>TCP</literal>.
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Open</guilabel> list,
|
||||||
|
select <literal>Port</literal>.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Port</guilabel> box,
|
||||||
|
enter <literal>22</literal>. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Source</guilabel> list,
|
||||||
|
select <literal>CIDR</literal>. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>CIDR</guilabel> box,
|
||||||
|
enter <literal>0.0.0.0/0</literal>.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click <guibutton>Add</guibutton>.</para>
|
||||||
|
<para>Port 22 is now open for requests from
|
||||||
|
any IP address. </para>
|
||||||
|
<para>If you want to accept requests from a
|
||||||
|
particular range of IP addresses, specify
|
||||||
|
the IP address block in the
|
||||||
|
<guilabel>CIDR</guilabel> box.</para>
|
||||||
|
</step>
|
||||||
|
</substeps>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>Add an ICMP rule</title>
|
||||||
|
<para>Click <guibutton>Add Rule</guibutton>. </para>
|
||||||
|
<para>The <guilabel>Add Rule</guilabel> window
|
||||||
|
appears. </para>
|
||||||
|
<substeps>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>IP Protocol</guilabel>
|
||||||
|
list, select <literal>ICMP</literal>.
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Type</guilabel> box,
|
||||||
|
enter <literal>-1</literal>.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Code</guilabel> box,
|
||||||
|
enter <literal>-1</literal>. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Source</guilabel> list,
|
||||||
|
select <literal>CIDR</literal>. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>CIDR</guilabel> box,
|
||||||
|
enter <literal>0.0.0.0/0</literal>.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click <guibutton>Add</guibutton>.</para>
|
||||||
|
|
||||||
|
<para>If you want to accept requests from a
|
||||||
|
particular range of IP addresses, specify
|
||||||
|
the IP address block in the
|
||||||
|
<guilabel>CIDR</guilabel> box.</para>
|
||||||
|
</step>
|
||||||
|
</substeps>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
</section>
|
||||||
|
<section xml:id="Adding_Keypair">
|
||||||
|
<title>Add keypair</title>
|
||||||
|
<para>Keypairs are SSH credentials that are injected into
|
||||||
|
images when they are launched. For this to work, the image
|
||||||
|
must contain the <literal>cloud-init</literal> package. </para>
|
||||||
|
<para>Create at least one keypair for each project. If you
|
||||||
|
have generated a keypair with an external tool, you can
|
||||||
|
import it into OpenStack. The keypair can be used for
|
||||||
|
multiple instances that belong to a project. </para>
|
||||||
|
<procedure>
|
||||||
|
<title>To add a keypair:</title>
|
||||||
|
<step>
|
||||||
|
<para>Log in to the OpenStack dashboard.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>If you are a member of multiple projects, select
|
||||||
|
a project from the drop-down list at the top of
|
||||||
|
the <guilabel>Project</guilabel> tab. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click the <guilabel>Access &
|
||||||
|
Security</guilabel> category. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click the <guilabel>Keypairs</guilabel> tab. The
|
||||||
|
dashboard shows the keypairs that are available
|
||||||
|
for this project. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>To add a keypair:</title>
|
||||||
|
<para>Click <guibutton>Create Keypair</guibutton>. </para>
|
||||||
|
<para>The <guilabel>Create Keypair</guilabel> window
|
||||||
|
appears. </para>
|
||||||
|
<figure>
|
||||||
|
<title>OpenStack dashboard - Create
|
||||||
|
Keypair</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/create_keypair.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/create_keypair.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
|
||||||
|
<substeps>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Keypair Name</guilabel>
|
||||||
|
box, enter a name for your keypair.
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
|
||||||
|
<step>
|
||||||
|
<para>Click <guibutton>Create
|
||||||
|
Keypair</guibutton>.</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Respond to the prompt to download the
|
||||||
|
keypair.</para>
|
||||||
|
</step>
|
||||||
|
</substeps>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<title>To import a keypair:</title>
|
||||||
|
<para>Click <guibutton>Import Keypair</guibutton>. </para>
|
||||||
|
<para>The <guilabel>Import Keypair</guilabel> window
|
||||||
|
appears.</para>
|
||||||
|
<substeps>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Keypair Name</guilabel>
|
||||||
|
box, enter the name of your keypair.
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>In the <guilabel>Public Key</guilabel>
|
||||||
|
box, copy the public key. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Click <guibutton>Import
|
||||||
|
Keypair</guibutton>.</para>
|
||||||
|
</step>
|
||||||
|
</substeps>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Save the <filename>*.pem</filename> file locally
|
||||||
|
and change its permissions so that only you can
|
||||||
|
read and write to the file:</para>
|
||||||
|
<para>
|
||||||
|
<screen><userinput><prompt>$</prompt> chmod 0600 MY_PRIV_KEY.pem</userinput></screen>
|
||||||
|
</para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Use the <command>ssh-add</command> command to
|
||||||
|
make the keypair known to
|
||||||
|
SSH:<screen><userinput><prompt>$</prompt> ssh-add MY_PRIV_KEY.pem</userinput></screen></para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
<para>The public key of the keypair is registered in the Nova
|
||||||
|
database. </para>
|
||||||
|
<para>The dashboard lists the keypair in the <guilabel>Access
|
||||||
|
& Security</guilabel> category, as follows:</para>
|
||||||
|
<figure>
|
||||||
|
<title>OpenStack dashboard - Keypairs</title>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata fileref="../../common/figures/keypairs.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata fileref="../../common/figures/keypairs.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</figure>
|
||||||
|
</section>
|
||||||
|
<!--<section xml:id="Launching_Instance">
|
||||||
|
<title>Launching Instance</title>
|
||||||
|
<para>Click Images & Snapshots and launch a required
|
||||||
|
instance from the list of images available.</para>
|
||||||
|
<para>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata fileref="figures/Images.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata fileref="figures/Images.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</para>
|
||||||
|
<para>Click launch on the required image. Provide a Server
|
||||||
|
Name, select the flavor, the keypair added above and
|
||||||
|
the default security group. Provide the number of
|
||||||
|
instances required. Once these details are provided,
|
||||||
|
click Launch Instance.</para>
|
||||||
|
<para>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata
|
||||||
|
fileref="figures/LaunchInstance.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata
|
||||||
|
fileref="figures/LaunchInstance.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</para>
|
||||||
|
<para>Once the status is Active, the instance is ready and
|
||||||
|
we can ping and SSH to the instance.</para>
|
||||||
|
<para>
|
||||||
|
<mediaobject>
|
||||||
|
<imageobject role="fo">
|
||||||
|
<imagedata fileref="figures/InstanceReady.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata fileref="figures/InstanceReady.png"
|
||||||
|
format="PNG"/>
|
||||||
|
</imageobject>
|
||||||
|
</mediaobject>
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</section>-->
|
||||||
|
<xi:include
|
||||||
|
href="section_dashboard_launch_instances_from_image.xml"/>
|
||||||
|
<section xml:id="ssh-into-instance">
|
||||||
|
<title>SSH in to your instance</title>
|
||||||
|
<para>To SSH into your instance, you use the downloaded
|
||||||
|
keypair file.</para>
|
||||||
|
<note>
|
||||||
|
<para>The username is ubuntu for the Ubuntu cloud images
|
||||||
|
on TryStack.</para>
|
||||||
|
</note>
|
||||||
|
<procedure>
|
||||||
|
<title>To SSH in to your instance:</title>
|
||||||
|
<step>
|
||||||
|
<para>Copy the IP address for your instance. </para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>Use the SSH command to make a secure connection
|
||||||
|
to the instance. For
|
||||||
|
example:<screen><userinput><prompt>$</prompt> ssh -i MyKey.pem ubuntu@10.0.0.2</userinput></screen></para>
|
||||||
|
</step>
|
||||||
|
<step>
|
||||||
|
<para>A prompt asks, "Are you sure you want to
|
||||||
|
continue connection (yes/no)?" Type
|
||||||
|
<literal>yes</literal> and you have
|
||||||
|
successfully connected. </para>
|
||||||
|
</step>
|
||||||
|
</procedure>
|
||||||
|
</section>
|
||||||
|
</section>
|
@ -117,17 +117,22 @@
|
|||||||
<para>Select an image and click
|
<para>Select an image and click
|
||||||
<guibutton>Launch</guibutton>. The
|
<guibutton>Launch</guibutton>. The
|
||||||
<guilabel>Launch Image</guilabel> window
|
<guilabel>Launch Image</guilabel> window
|
||||||
appears: <figure>
|
appears:</para>
|
||||||
<title>OpenStack dashboard - Launch
|
<figure>
|
||||||
Instances window</title>
|
<title>OpenStack dashboard - Launch Instances</title>
|
||||||
<mediaobject>
|
<mediaobject>
|
||||||
<imageobject>
|
<imageobject role="fo">
|
||||||
<imagedata
|
<imagedata
|
||||||
fileref="figures/launch_instances.png"
|
fileref="../../common/figures/launch_instances.png"
|
||||||
width="6in" contentwidth="6in"/>
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/launch_instances.png"
|
||||||
|
format="PNG"/>
|
||||||
</imageobject>
|
</imageobject>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
</figure></para>
|
</figure>
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>, specify the following: </para>
|
<para>, specify the following: </para>
|
||||||
@ -194,11 +199,17 @@
|
|||||||
public) IP address, size, status, task, and power
|
public) IP address, size, status, task, and power
|
||||||
state.</para>
|
state.</para>
|
||||||
<figure>
|
<figure>
|
||||||
<title>OpenStack dashboard - Instances screen</title>
|
<title>OpenStack dashboard - Instances</title>
|
||||||
<mediaobject>
|
<mediaobject>
|
||||||
<imageobject>
|
<imageobject role="fo">
|
||||||
<imagedata fileref="figures/instances.png"
|
<imagedata
|
||||||
width="6in" contentwidth="6in"/>
|
fileref="../../common/figures/instances.png"
|
||||||
|
format="PNG" scale="60"/>
|
||||||
|
</imageobject>
|
||||||
|
<imageobject role="html">
|
||||||
|
<imagedata
|
||||||
|
fileref="../../common/figures/instances.png"
|
||||||
|
format="PNG"/>
|
||||||
</imageobject>
|
</imageobject>
|
||||||
</mediaobject>
|
</mediaobject>
|
||||||
</figure>
|
</figure>
|
||||||
|
@ -132,8 +132,7 @@
|
|||||||
Guide</citetitle>.</para>
|
Guide</citetitle>.</para>
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>Launch an instance as described in <xref
|
<para>Launch an instance. </para>
|
||||||
linkend="launch_instance"/>. </para>
|
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>Attach the volume to the instance as
|
<para>Attach the volume to the instance as
|
||||||
@ -163,11 +162,11 @@
|
|||||||
<para>As only <emphasis role="italic"
|
<para>As only <emphasis role="italic"
|
||||||
>detached</emphasis> volumes are available
|
>detached</emphasis> volumes are available
|
||||||
for booting, detach the volume. </para>
|
for booting, detach the volume. </para>
|
||||||
<para>For details, see xxxx. </para>
|
|
||||||
</step>
|
</step>
|
||||||
<step>
|
<step>
|
||||||
<para>To boot an instance from the volume,
|
<para>To boot an instance from the volume,
|
||||||
continue with <xref linkend="launch_instance"
|
continue with <xref linkend="launch_instance_from_volume"
|
||||||
/>.</para>
|
/>.</para>
|
||||||
</step>
|
</step>
|
||||||
</procedure>
|
</procedure>
|
||||||
@ -188,7 +187,7 @@
|
|||||||
iSCSI.</para>
|
iSCSI.</para>
|
||||||
<para>For preparation details, see <xref
|
<para>For preparation details, see <xref
|
||||||
linkend="create_volume"/>. </para>
|
linkend="create_volume"/>. </para>
|
||||||
<para>To boot an instance from the volume, follow
|
<!--<para>To boot an instance from the volume, follow
|
||||||
<xref linkend="launch_instance"/>. </para>
|
<xref linkend="launch_instance"/>. </para>
|
||||||
<para>Especially note the following steps: <itemizedlist>
|
<para>Especially note the following steps: <itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
@ -213,7 +212,7 @@
|
|||||||
images or <literal>xvda</literal> for
|
images or <literal>xvda</literal> for
|
||||||
Xen images.</para>
|
Xen images.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist></para>
|
</itemizedlist></para>-->
|
||||||
</note>
|
</note>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|