More changes to the User Guide, including changes to common files

bug: #1110146

Change-Id: Ifb3e3f464baa611a99cc6a5b62907cdfe52856ad
author: diane fleming
This commit is contained in:
Diane Fleming 2013-06-14 09:42:53 -05:00
parent f461639821
commit 8163b71614
52 changed files with 1812 additions and 852 deletions

View File

@ -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

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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:

View File

@ -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>

View File

@ -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>

View File

@ -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]

View File

@ -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">

View File

@ -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

View File

@ -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

View File

@ -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>

View File

@ -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:

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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/
&lt;Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi&gt; &lt;Directory /usr/share/openstack-dashboard/openstack_dashboard/wsgi&gt;
Order allow,deny Order allow,deny
Allow from all Allow from all
&lt;/Directory&gt; </programlisting></para> &lt;/Directory&gt;</programlisting>
<para> After: <para>After:</para>
<programlisting>&lt;VirtualHost *:80&gt; <programlisting><?db-font-size 65%?>&lt;VirtualHost *:80&gt;
ServerName openstack.example.com ServerName openstack.example.com
RedirectPermanent / https://openstack.example.com RedirectPermanent / https://openstack.example.com
&lt;/VirtualHost&gt; &lt;/VirtualHost&gt;
@ -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
&lt;/Directory&gt; &lt;/Directory&gt;
&lt;/VirtualHost&gt; </programlisting></para> &lt;/VirtualHost&gt;</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>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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 — well 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: (Ive 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%?>...
&lt;link href='{{ STATIC_URL }}bootstrap/css/bootstrap.min.css' media='screen' rel='stylesheet' /&gt; &lt;link href='{{ STATIC_URL }}bootstrap/css/bootstrap.min.css' media='screen' rel='stylesheet' /&gt;
&lt;link href='{{ STATIC_URL }}dashboard/css/{% choose_css %}' media='screen' rel='stylesheet' /&gt; &lt;link href='{{ STATIC_URL }}dashboard/css/{% choose_css %}' media='screen' rel='stylesheet' /&gt;
<emphasis>&lt;link href='{{ STATIC_URL }}dashboard/css/custom.css' media='screen' rel='stylesheet' /&gt;</emphasis> <emphasis>&lt;link href='{{ STATIC_URL }}dashboard/css/custom.css' media='screen' rel='stylesheet' /&gt;</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>

View File

@ -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/"
>Djangos sessions framework</link> to handle user session >Djangos 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 its not backend for cases where it fits the deployment need, but
appropriate for all scenarios.</para> its 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 Djangos 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 youre 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 users 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 doesnt 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 users 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 users 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 users 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>

View File

@ -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 &amp;
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 &amp; 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>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

View File

Before

Width:  |  Height:  |  Size: 65 KiB

After

Width:  |  Height:  |  Size: 65 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

View File

Before

Width:  |  Height:  |  Size: 191 KiB

After

Width:  |  Height:  |  Size: 191 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -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>

View File

@ -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 &amp; 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 &amp; 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>

View 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>

View File

@ -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"/>

View File

@ -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"/>

View File

@ -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>

View File

@ -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>

View File

@ -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>

View File

@ -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:

View File

@ -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

View File

@ -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

View 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>

View File

@ -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>

View File

@ -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>

View File

@ -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"/>

View File

@ -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>

View File

@ -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>

View File

@ -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

View File

@ -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"/>

View File

@ -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 &amp;
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 &amp;
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
&amp; 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 &amp; 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>

View File

@ -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>

View File

@ -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>