Fix markup

This fixes mainly screens, computeroutput/userinput and also
marks some filenames. A lot of prompts have been added.

Change-Id: I864dc5b051bb297b61c9b2ed5464f9a35306bd68
Partial-Bug: #1217503
This commit is contained in:
Andreas Jaeger 2013-09-14 20:28:53 +02:00
parent 39a193686b
commit 34a567089b
43 changed files with 367 additions and 452 deletions

View File

@ -361,14 +361,14 @@
the <literal>*_body</literal> middleware and before the
<literal>public_service</literal> app in the public_api WSGI
pipeline in <filename>keystone-paste.ini</filename>. For example:</para>
<screen><computeroutput>[filter:user_crud_extension]
<programlisting language="ini">[filter:user_crud_extension]
paste.filter_factory = keystone.contrib.user_crud:CrudExtension.factory
[pipeline:public_api]
pipeline = stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug ec2_extension user_crud_extension public_service</computeroutput></screen>
pipeline = stats_monitoring url_normalize token_auth admin_token_auth xml_body json_body debug ec2_extension user_crud_extension public_service</programlisting>
<para>Each user can change their own password with a HTTP PATCH,
as follows:</para>
<screen><prompt>$</prompt> <userinput>&gt; curl -X PATCH http://localhost:5000/v2.0/OS-KSCRUD/users/&lt;userid&gt; -H &quot;Content-type: application/json&quot; \
<screen><prompt>$</prompt> <userinput>curl -X PATCH http://localhost:5000/v2.0/OS-KSCRUD/users/&lt;userid&gt; -H &quot;Content-type: application/json&quot; \
-H &quot;X_Auth_Token: &lt;authtokenid&gt;&quot; -d '{&quot;user&quot;: {&quot;password&quot;: &quot;ABCD&quot;, &quot;original_password&quot;: &quot;DCBA&quot;}}'</userinput></screen>
<para>If the backend is kvs or sql, all users' passwords are
changed and their tokens are deleted.</para>
@ -381,21 +381,21 @@ pipeline = stats_monitoring url_normalize token_auth admin_token_auth xml_body j
<literal>stats_monitoring</literal> filter and include it at
the beginning of any desired WSGI pipelines in
<filename>keystone-paste.ini</filename>, as follows:</para>
<screen><computeroutput>[filter:stats_monitoring]
<programlisting language="ini">[filter:stats_monitoring]
paste.filter_factory = keystone.contrib.stats:StatsMiddleware.factory
[pipeline:public_api]
pipeline = stats_monitoring [...] public_service</computeroutput></screen>
pipeline = stats_monitoring [...] public_service</programlisting>
<para>To enable reporting of collected data, define a
<literal>stats_reporting</literal> filter and include it near
the end of your <literal>admin_api</literal> WSGI pipeline after
<literal>*_body</literal> middleware and before
<literal>*_extension</literal> filters, as follows:</para>
<screen><computeroutput>[filter:stats_reporting]
<programlisting language="ini">[filter:stats_reporting]
paste.filter_factory = keystone.contrib.stats:StatsExtension.factory
[pipeline:admin_api]
pipeline = [...] json_body stats_reporting ec2_extension [...] admin_service</computeroutput></screen>
pipeline = [...] json_body stats_reporting ec2_extension [...] admin_service</programlisting>
<para>Query the admin API for statistics, as follows:</para>
<screen><prompt>$</prompt> <userinput>curl -H 'X-Auth-Token: ADMIN' http://localhost:35357/v2.0/OS-STATS/stats</userinput></screen>
<para>Reset collected data, as follows:</para>
@ -715,8 +715,7 @@ header: Date: Thu, 13 Sep 2012 20:27:36 GMT
which are preserved across restarts. To get a list of
available images on your system run:</para>
<screen><prompt>$</prompt> <userinput>nova image-list</userinput>
<computeroutput>
+--------------------------------------+-------------------------------+--------+--------------------------------------+
<computeroutput>+--------------------------------------+-------------------------------+--------+--------------------------------------+
| ID | Name | Status | Server |
+--------------------------------------+-------------------------------+--------+--------------------------------------+
| aee1d242-730f-431f-88c1-87630c0f07ba | Ubuntu 12.04 cloudimg amd64 | ACTIVE | |
@ -759,8 +758,7 @@ header: Date: Thu, 13 Sep 2012 20:27:36 GMT
compute-api server). To get a list of available
flavors on your system run:</para>
<screen><prompt>$</prompt> <userinput>nova flavor-list</userinput>
<computeroutput>
+----+-----------+-----------+------+-----------+------+-------+-------------+
<computeroutput>+----+-----------+-----------+------+-----------+------+-------+-------------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor |
+----+-----------+-----------+------+-----------+------+-------+-------------+
| 1 | m1.tiny | 512 | 1 | N/A | 0 | 1 | |
@ -1079,14 +1077,15 @@ header: Date: Thu, 13 Sep 2012 20:27:36 GMT
OpenStack metadata API, make a GET request to
<programlisting>http://169.254.169.254/openstack</programlisting>For
example:</para>
<para><screen><prompt>$</prompt> <userinput>curl http://169.254.169.254/openstack</userinput></screen><screen><computeroutput>2012-08-10
<para><screen><prompt>$</prompt> <userinput>curl http://169.254.169.254/openstack</userinput>
<computeroutput>2012-08-10
latest</computeroutput></screen>
To retrieve a list of supported versions for the
EC2-compatible metadata API, make a GET request to
<programlisting>http://169.254.169.254</programlisting></para>
<para>For example:</para>
<screen><prompt>$</prompt> <userinput>curl http://169.254.169.254</userinput></screen>
<screen><computeroutput>1.0
<screen><prompt>$</prompt> <userinput>curl http://169.254.169.254</userinput>
<computeroutput>1.0
2007-01-19
2007-03-01
2007-08-29
@ -1378,8 +1377,8 @@ iface eth1 inet dhcp</programlisting></para>
<para>If you aren't able to reach your instances through the floating IP address,
make sure the default security group allows ICMP (ping) and SSH (port 22), so
that you can reach the instances:</para>
<screen><prompt>$</prompt> <userinput>nova secgroup-list-rules default</userinput></screen>
<screen><computeroutput>+-------------+-----------+---------+-----------+--------------+
<screen><prompt>$</prompt> <userinput>nova secgroup-list-rules default</userinput>
<computeroutput>+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp | -1 | -1 | 0.0.0.0/0 | |
@ -1877,8 +1876,8 @@ local0.error @@172.20.1.43:1024</programlisting></para>
<step>
<para>Look at the running instances, to get the
ID of the instance you wish to migrate.</para>
<screen><prompt>#</prompt> <userinput>nova list</userinput></screen>
<screen><computeroutput><![CDATA[+--------------------------------------+------+--------+-----------------+
<screen><prompt>#</prompt> <userinput>nova list</userinput>
<computeroutput><![CDATA[+--------------------------------------+------+--------+-----------------+
| ID | Name | Status |Networks |
+--------------------------------------+------+--------+-----------------+
| d1df1b5a-70c4-4fed-98b7-423362f2c47c | vm1 | ACTIVE | private=a.b.c.d |
@ -1886,8 +1885,8 @@ local0.error @@172.20.1.43:1024</programlisting></para>
+--------------------------------------+------+--------+-----------------+]]></computeroutput></screen></step>
<step><para>Look at information associated with that
instance - our example is vm1 from above.</para>
<screen><prompt>#</prompt> <userinput>nova show d1df1b5a-70c4-4fed-98b7-423362f2c47c</userinput></screen>
<screen><computeroutput><![CDATA[+-------------------------------------+----------------------------------------------------------+
<screen><prompt>#</prompt> <userinput>nova show d1df1b5a-70c4-4fed-98b7-423362f2c47c</userinput>
<computeroutput><![CDATA[+-------------------------------------+----------------------------------------------------------+
| Property | Value |
+-------------------------------------+----------------------------------------------------------+
...
@ -1905,8 +1904,8 @@ local0.error @@172.20.1.43:1024</programlisting></para>
<step>
<para>Select the server to migrate instances
to.</para>
<screen><prompt>#</prompt> <userinput>nova-manage service list</userinput></screen>
<screen><computeroutput><![CDATA[HostA nova-scheduler enabled :-) None
<screen><prompt>#</prompt> <userinput>nova-manage service list</userinput>
<computeroutput><![CDATA[HostA nova-scheduler enabled :-) None
HostA nova-network enabled :-) None
HostB nova-compute enabled :-) None
HostC nova-compute enabled :-) None]]></computeroutput></screen>
@ -1918,8 +1917,8 @@ HostC nova-compute enabled :-) None]]></computeroutput></screen>
<step>
<para>Ensure that HostC has enough resource for
migration.</para>
<screen><prompt>#</prompt> <userinput>nova-manage service describe_resource HostC</userinput></screen>
<screen><computeroutput><![CDATA[HOST PROJECT cpu mem(mb) hdd
<screen><prompt>#</prompt> <userinput>nova-manage service describe_resource HostC</userinput>
<computeroutput><![CDATA[HOST PROJECT cpu mem(mb) hdd
HostC(total) 16 32232 878
HostC(used_now) 13 21284 442
HostC(used_max) 13 21284 442
@ -1965,8 +1964,8 @@ HostC p2 5 10240 150
<para>Use the <command>nova
live-migration</command> command to migrate
the instances.</para>
<screen><prompt>#</prompt> <userinput>nova live-migration d1df1b5a-70c4-4fed-98b7-423362f2c47c HostC</userinput></screen>
<screen><computeroutput><![CDATA[Migration of d1df1b5a-70c4-4fed-98b7-423362f2c47c initiated.]]></computeroutput></screen>
<screen><prompt>#</prompt> <userinput>nova live-migration d1df1b5a-70c4-4fed-98b7-423362f2c47c HostC</userinput>
<computeroutput><![CDATA[Migration of d1df1b5a-70c4-4fed-98b7-423362f2c47c initiated.]]></computeroutput></screen>
<para>Make sure instances are migrated successfully
with <command>nova list</command>. If instances
are still running on HostB, check logfiles
@ -2351,7 +2350,7 @@ done &lt; $volumes_tmp_file</programlisting>
from the instance itself, not through
nova. So, we SSH into the instance and
perform a reboot:</para>
<screen><prompt>$</prompt> <userinput>shutdown -r now</userinput> </screen>
<screen><prompt>#</prompt> <userinput>shutdown -r now</userinput></screen>
</listitem>
</itemizedlist>Voila! You successfully recovered your
cloud after that.</para>
@ -2375,7 +2374,8 @@ done &lt; $volumes_tmp_file</programlisting>
cloud-controller. To re-run the session
manually, you would run the following
command before performing the mount:
<screen><prompt>#</prompt> <userinput>iscsiadm -m discovery -t st -p $SAN_IP $ iscsiadm -m node --target-name $IQN -p $SAN_IP -l</userinput></screen></para>
<screen><prompt>#</prompt> <userinput>iscsiadm -m discovery -t st -p $SAN_IP $ iscsiadm -m node --target-name $IQN -p $SAN_IP -l</userinput></screen>
</para>
</listitem>
<listitem>
<para>For your instances, if you have the

View File

@ -990,16 +990,17 @@
Networking port with a specific IP address, then boot
a VM specifying a <systemitem>port-id</systemitem> rather than a
<systemitem>net-id</systemitem>.</td>
<td><screen><prompt>$</prompt> <userinput>neutron port-create --fixed-ip subnet_id=<replaceable>subnet-id</replaceable>,ip_address=<replaceable>IP</replaceable> <replaceable>net-id</replaceable>
<prompt>$</prompt> nova boot --image <replaceable>img</replaceable> --flavor <replaceable>flavor</replaceable> --nic port-id=<replaceable>port-id</replaceable> <replaceable>vm-name</replaceable>
</userinput></screen></td>
<td><screen><prompt>$</prompt> <userinput>neutron port-create --fixed-ip subnet_id=<replaceable>subnet-id</replaceable>,ip_address=<replaceable>IP</replaceable> <replaceable>net-id</replaceable></userinput>
<prompt>$</prompt> <userinput>nova boot --image <replaceable>img</replaceable> --flavor <replaceable>flavor</replaceable> --nic port-id=<replaceable>port-id</replaceable> <replaceable>vm-name</replaceable></userinput></screen>
</td>
</tr>
<tr>
<td>Boot a VM that connects to all networks that are accessible to
the tenant who submits the request (without the
<systemitem>--nic</systemitem> option).
</td>
<td><screen><prompt>$</prompt> <userinput>nova boot --image <replaceable>img</replaceable> --flavor <replaceable>flavor</replaceable> <replaceable>vm-name</replaceable></userinput></screen></td>
<td><screen><prompt>$</prompt> <userinput>nova boot --image <replaceable>img</replaceable> --flavor <replaceable>flavor</replaceable> <replaceable>vm-name</replaceable></userinput></screen>
</td>
</tr>
</tbody>
</table>
@ -1248,23 +1249,23 @@
<para>Show all attributes of a network, including provider
attributes when invoked with the admin role:</para>
<para>
<screen><userinput>neutron net-show &lt;name or net-id&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-show &lt;name or net-id&gt;</userinput></screen>
</para>
<para>Create a local provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type local</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type local</userinput></screen>
</para>
<para>Create a flat provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type flat --provider:physical_network &lt;phys-net-name&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type flat --provider:physical_network &lt;phys-net-name&gt;</userinput></screen>
</para>
<para>Create a VLAN provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type vlan --provider:physical_network &lt;phys-net-name&gt; --provider:segmentation_id &lt;VID&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type vlan --provider:physical_network &lt;phys-net-name&gt; --provider:segmentation_id &lt;VID&gt;</userinput></screen>
</para>
<para>Create a GRE provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type gre --provider:segmentation_id &lt;tunnel-id&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type gre --provider:segmentation_id &lt;tunnel-id&gt;</userinput></screen>
</para>
<para>When creating flat networks or VLAN networks, &lt;phys-net-name&gt; must be known
to the plugin. See the <citetitle xmlns:svg="http://www.w3.org/2000/svg"
@ -1446,20 +1447,20 @@
<section xml:id="l3_workflow">
<title>Common L3 workflow</title>
<para>Create external networks (admin-only)</para>
<screen><computeroutput>neutron net-create public --router:external=True
neutron subnet-create public 172.16.1.0/24 </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create public --router:external=True</userinput>
<prompt>$</prompt> <userinput>neutron subnet-create public 172.16.1.0/24</userinput></screen>
<para>Viewing external networks:</para>
<screen><computeroutput>neutron net-list -- --router:external=True</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-list -- --router:external=True</userinput></screen>
<para>Creating routers</para>
<para>Internal-only router to connect multiple L2 networks
privately.</para>
<screen><computeroutput>neutron net-create net1
neutron subnet-create net1 10.0.0.0/24
neutron net-create net2
neutron subnet-create net2 10.0.1.0/24
neutron router-create router1
neutron router-interface-add router1 &lt;subnet1-uuid&gt;
neutron router-interface-add router1 &lt;subnet2-uuid&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create net1</userinput>
<prompt>$</prompt> <userinput>neutron subnet-create net1 10.0.0.0/24</userinput>
<prompt>$</prompt> <userinput>neutron net-create net2</userinput>
<prompt>$</prompt> <userinput>neutron subnet-create net2 10.0.1.0/24</userinput>
<prompt>$</prompt> <userinput>neutron router-create router1</userinput>
<prompt>$</prompt> <userinput>neutron router-interface-add router1 &lt;subnet1-uuid&gt;</userinput>
<prompt>$</prompt> <userinput>neutron router-interface-add router1 &lt;subnet2-uuid&gt;</userinput></screen>
<para>The router will get an interface with the gateway_ip
address of the subnet, and this interface will be
attached to a port on the L2 OpenStack Networking
@ -1473,18 +1474,21 @@ neutron router-interface-add router1 &lt;subnet2-uuid&gt;</computeroutput></scre
<para>A router can also be connected to an “external
network”, allowing that router to act as a NAT gateway
for external connectivity.</para>
<screen><computeroutput>neutron router-gateway-set router1 &lt;ext-net-id&gt; </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-gateway-set router1 &lt;ext-net-id&gt;</userinput></screen>
<para>Viewing routers:</para>
<para>List all routers:
<screen><computeroutput>neutron router-list</computeroutput></screen></para>
<screen><prompt>$</prompt> <userinput>neutron router-list</userinput></screen>
</para>
<para>Show a specific router:
<screen><computeroutput>neutron router-show &lt;router_id&gt;</computeroutput></screen></para>
<screen><prompt>$</prompt> <userinput>neutron router-show &lt;router_id&gt;</userinput></screen>
</para>
<para>Show all internal interfaces for a router:
<screen><computeroutput>neutron port-list -- --device_id=&lt;router_id&gt;</computeroutput></screen></para>
<screen><prompt>$</prompt> <userinput>neutron port-list -- --device_id=&lt;router_id&gt;</userinput></screen>
</para>
<para>Associating / Disassociating Floating IPs:</para>
<para>First, identify the port-id representing the VM NIC
that the floating IP should map to:</para>
<screen><computeroutput>neutron port-list -c id -c fixed_ips -- --device_id=&lt;instance_id&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron port-list -c id -c fixed_ips -- --device_id=&lt;instance_id&gt;</userinput></screen>
<para>This port must be on an OpenStack Networking subnet
that is attached to a router uplinked to the external
network that will be used to create the floating IP. 
@ -1496,26 +1500,26 @@ neutron router-interface-add router1 &lt;subnet2-uuid&gt;</computeroutput></scre
router).  </para>
<para>Create floating IP unassociated, then
associate</para>
<screen><computeroutput>neutron floatingip-create &lt;ext-net-id&gt;
neutron floatingip-associate &lt;floatingip-id&gt; &lt;internal VM port-id&gt; </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-create &lt;ext-net-id&gt;
neutron floatingip-associate &lt;floatingip-id&gt; &lt;internal VM port-id&gt;</userinput></screen>
<para>create floating IP and associate in a single
step</para>
<screen><computeroutput>neutron floatingip-create --port_id &lt;internal VM port-id&gt; &lt;ext-net-id&gt; </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-create --port_id &lt;internal VM port-id&gt; &lt;ext-net-id&gt;</userinput></screen>
<para>Viewing Floating IP State:</para>
<screen><computeroutput>neutron floatingip-list</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-list</userinput></screen>
<para>Find floating IP for a particular VM port:</para>
<screen><computeroutput>neutron floatingip-list -- --port_id=ZZZ</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-list -- --port_id=ZZZ</userinput></screen>
<para>Disassociate a Floating IP:</para>
<screen><computeroutput>neutron floatingip-disassociate &lt;floatingip-id&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-disassociate &lt;floatingip-id&gt;</userinput></screen>
<para>L3 Tear Down</para>
<para>Delete the Floating IP:</para>
<screen><computeroutput>neutron floatingip-delete &lt;floatingip-id&gt; </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-delete &lt;floatingip-id&gt;</userinput></screen>
<para>Then clear the gateway:</para>
<screen><computeroutput>neutron router-gateway-clear router1</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-gateway-clear router1</userinput></screen>
<para>Then remove the interfaces from the router:</para>
<screen><computeroutput>neutron router-interface-delete router1 &lt;subnet-id&gt; </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-interface-delete router1 &lt;subnet-id&gt;</userinput></screen>
<para>Finally, delete the router:</para>
<screen><computeroutput>neutron router-delete router1</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-delete router1</userinput></screen>
</section>
</section>
<section xml:id="securitygroups">
@ -1698,25 +1702,23 @@ neutron floatingip-associate &lt;floatingip-id&gt; &lt;internal VM port-id&gt; <
<section xml:id="securitygroup_workflow">
<title>Common security group commands</title>
<para>Create a security group for our web servers:</para>
<screen><computeroutput>
neutron security-group-create webservers --description "security group for webservers"</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron security-group-create webservers --description "security group for webservers"</userinput></screen>
<para>Viewing security groups:</para>
<screen><computeroutput>neutron security-group-list</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron security-group-list</userinput></screen>
<para>Creating security group rule to allow port 80
ingress:</para>
<screen><computeroutput>
neutron security-group-rule-create --direction ingress --protocol tcp --port_range_min 80 --port_range_max 80 &lt;security_group_uuid&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron security-group-rule-create --direction ingress --protocol tcp --port_range_min 80 --port_range_max 80 &lt;security_group_uuid&gt;</userinput></screen>
<para>List security group rules:</para>
<screen><computeroutput>neutron security-group-rule-list </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron security-group-rule-list</userinput></screen>
<para>Delete a security group rule:</para>
<screen><computeroutput>neutron security-group-rule-delete &lt;security_group_rule_uuid&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron security-group-rule-delete &lt;security_group_rule_uuid&gt;</userinput></screen>
<para>Delete security group:</para>
<screen><computeroutput>neutron security-group-delete &lt;security_group_uuid&gt; </computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron security-group-delete &lt;security_group_uuid&gt;</userinput></screen>
<para>Create a port and associated two security
groups:</para>
<screen><computeroutput>neutron port-create --security-group &lt;security_group_id1&gt; --security-group &lt;security_group_id2&gt; &lt;network_id&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron port-create --security-group &lt;security_group_id1&gt; --security-group &lt;security_group_id2&gt; &lt;network_id&gt;</userinput></screen>
<para>Remove security groups from a port:</para>
<screen><computeroutput>neutron port-update --no-security-groups &lt;port_id&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron port-update --no-security-groups &lt;port_id&gt;</userinput></screen>
</section>
</section>
<section xml:id="lbaas">
@ -1730,28 +1732,23 @@ neutron security-group-rule-create --direction ingress --protocol tcp --port_ran
<section xml:id="lbaas_workflow">
<title>Common Load-Balancer-as-a-Service workflow</title>
<para>Create a load balancer pool using specific provider:</para>
<screen><computeroutput>
neutron lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id &lt;subnet-uuid&gt; <parameter>--provider &lt;provider_name&gt;</parameter></computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id &lt;subnet-uuid&gt; <parameter>--provider &lt;provider_name&gt;</parameter></userinput></screen>
<para><parameter>--provider</parameter> is an optional argument; if not used, the pool is created with default provider for LBaaS service.
The default provider however should be configured in the <literal>[service_providers]</literal> section of <filename>neutron.conf</filename> file.
If no default provider is specified for LBaaS, the <parameter>--provider</parameter> option is mandatory for pool creation.</para>
<para>Associate two web servers with pool:</para>
<screen><computeroutput>
neutron lb-member-create --address &lt;webserver one IP&gt; --protocol-port 80 mypool
neutron lb-member-create --address &lt;webserver two IP&gt; --protocol-port 80 mypool</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron lb-member-create --address &lt;webserver one IP&gt; --protocol-port 80 mypool</userinput>
<prompt>$</prompt> <userinput>neutron lb-member-create --address &lt;webserver two IP&gt; --protocol-port 80 mypool</userinput></screen>
<para>Create a health monitor which checks to make sure
our instances are still running on the specified
protocol-port:</para>
<screen><computeroutput>
neutron lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron lb-healthmonitor-create --delay 3 --type HTTP --max-retries 3 --timeout 3</userinput></screen>
<para>Associate health monitor with pool:</para>
<screen><computeroutput>
neutron lb-healthmonitor-associate &lt;healthmonitor-uuid&gt; mypool</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron lb-healthmonitor-associate &lt;healthmonitor-uuid&gt; mypool</userinput></screen>
<para>Create a Virtual IP Address (VIP) that when accessed
via the load balancer will direct the requests to one
of the pool members:</para>
<screen><computeroutput>
neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id &lt;subnet-uuid&gt; mypool</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id &lt;subnet-uuid&gt; mypool</userinput></screen>
</section>
</section>
<section xml:id="plugin_specific_extensions">
@ -1868,15 +1865,15 @@ neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-i
<section xml:id="nicira_nvp_qos_walk_through">
<title>Nicira NVP QoS walkthrough</title>
<para>Create QoS Queue (admin-only)</para>
<screen><computeroutput>neutron queue-create--min 10 --max 1000 myqueue</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron queue-create--min 10 --max 1000 myqueue</userinput></screen>
<para>Associate queue with a network</para>
<screen><computeroutput>neutron net-create network --queue_id=&lt;queue_id&gt;</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create network --queue_id=&lt;queue_id&gt;</userinput></screen>
<para>Create default system queue</para>
<screen><computeroutput>neutron queue-create --default True --min 10 --max 2000 default</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron queue-create --default True --min 10 --max 2000 default</userinput></screen>
<para>List QoS Queues:</para>
<screen><computeroutput>neutron queue-list</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron queue-list</userinput></screen>
<para>Delete QoS Queue:</para>
<screen><computeroutput>neutron queue-delete &lt;queue_id or name&gt;'</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron queue-delete &lt;queue_id or name&gt;'</userinput></screen>
</section>
</section>
</section>
@ -1898,9 +1895,7 @@ neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-i
</listitem>
<listitem>
<para>Provide logging setting in <filename>neutron.conf</filename></para>
<screen>
<computeroutput>
[DEFAULT]
<programlisting language="ini">[DEFAULT]
# Default log level is WARNING
# Show debugging output in logs (sets DEBUG log level output)
# debug = False
@ -1918,8 +1913,7 @@ neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-i
# if use_syslog is False and we do not set log_file,
# the log will be printed to stdout.
# log_file =
# log_dir =</computeroutput>
</screen>
# log_dir =</programlisting>
</listitem>
</orderedlist>
</section>
@ -1930,9 +1924,7 @@ neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-i
<title>Notification options</title>
<para>To support DHCP agent, rpc_notifier driver must be set. To set up the notification,
edit notification options in <filename>neutron.conf</filename>:</para>
<screen>
<computeroutput>
# ============ Notification System Options =====================
<programlisting language="ini"># ============ Notification System Options =====================
# Notifications can be sent when network/subnet/port are create, updated or deleted.
# There are three methods of sending notifications: logging (via the
@ -1956,9 +1948,7 @@ notification_driver = neutron.openstack.common.notifier.rpc_notifier
# Defined in rpc_notifier for rpc way, can be comma separated values.
# The actual topic names will be %s.%(default_notification_level)s
notification_topics = notifications
</computeroutput>
</screen>
notification_topics = notifications</programlisting>
</section>
<section xml:id="section_adv_notification_cases">
<title>Setting cases</title>
@ -1971,9 +1961,7 @@ notification_topics = notifications
Reference</citetitle> . RPC notifications will go to
'notifications.info' queue bound to a topic exchange defined by
'control_exchange' in <filename>neutron.conf</filename>.</para>
<screen>
<computeroutput>
# ============ Notification System Options =====================
<programlisting language="ini"># ============ Notification System Options =====================
# Notifications can be sent when network/subnet/port are create, updated or deleted.
# There are three methods of sending notifications: logging (via the
@ -1998,8 +1986,7 @@ default_notification_level = INFO
# Defined in rpc_notifier for rpc way, can be comma separated values.
# The actual topic names will be %s.%(default_notification_level)s
notification_topics = notifications
</computeroutput>
</screen>
</programlisting>
</section>
<section xml:id="ch_adv_notification_cases_multi_rpc_topics">
<title>Multiple RPC topics</title>
@ -2007,9 +1994,7 @@ notification_topics = notifications
multiple RPC topics. RPC notifications will go to 'notifications_one.info' and
'notifications_two.info' queues bound to a topic exchange defined by 'control_exchange'
in <filename>neutron.conf</filename>.</para>
<screen>
<computeroutput>
# ============ Notification System Options =====================
<programlisting language="ini"># ============ Notification System Options =====================
# Notifications can be sent when network/subnet/port are create, updated or deleted.
# There are three methods of sending notifications: logging (via the
@ -2034,8 +2019,7 @@ default_notification_level = INFO
# Defined in rpc_notifier for rpc way, can be comma separated values.
# The actual topic names will be %s.%(default_notification_level)s
notification_topics = notifications_one,notifications_two
</computeroutput>
</screen>
</programlisting>
</section>
</section>
</section>

View File

@ -54,10 +54,9 @@
a risk that the snapshot could become
corrupted.</para>
<para>Use the following command to obtain a list
of all
volumes.<screen>
<prompt>$</prompt> <userinput>lvdisplay</userinput>
</screen>In
of all volumes:
<screen><prompt>$</prompt> <userinput>lvdisplay</userinput></screen>
In
this example, we will refer to a volume called
<literal>volume-00000001</literal>, which
is a 10GB volume. This process can be applied
@ -70,9 +69,7 @@
achieved while the volume is attached to an
instance :</para>
<para>
<screen>
<prompt>$</prompt> <userinput>lvcreate --size 10G --snapshot --name volume-00000001-snapshot /dev/nova-volumes/volume-00000001</userinput>
</screen>
<screen><prompt>$</prompt> <userinput>lvcreate --size 10G --snapshot --name volume-00000001-snapshot /dev/nova-volumes/volume-00000001</userinput></screen>
</para>
<para>We indicate to LVM we want a snapshot of an
already existing volume with the
@ -210,9 +207,7 @@
<para>Now that the volume has been mounted,
you can create a backup of it:</para>
<para>
<screen>
<prompt>$</prompt> <userinput>tar --exclude={"lost+found","some/data/to/exclude"} -czf volume-00000001.tar.gz -C /mnt/ /backup/destination</userinput>
</screen>
<screen><prompt>$</prompt> <userinput>tar --exclude={"lost+found","some/data/to/exclude"} -czf volume-00000001.tar.gz -C /mnt/ /backup/destination</userinput></screen>
</para>
<para>This command will create a tar.gz file
containing the data, <emphasis
@ -239,9 +234,9 @@
<para>The following command runs a checksum
for our file, and saves the result to a
file :</para>
<para><screen>
<prompt>$</prompt> <userinput>sha1sum volume-00000001.tar.gz > volume-00000001.checksum</userinput>
</screen><emphasis
<para>
<screen><prompt>$</prompt> <userinput>sha1sum volume-00000001.tar.gz > volume-00000001.checksum</userinput></screen>
<emphasis
role="bold">Be aware</emphasis> the
<command>sha1sum</command> should be
used carefully, since the required time

View File

@ -42,20 +42,14 @@
backends, and migrate an attached volume from one to the
other. This will use the 3rd migration flow.</para>
<para>First, we can list the available backends:
<screen>
<prompt>$</prompt> <userinput>cinder-manage host list</userinput>
<computeroutput>
server1@lvmstorage-1 zone1
server2@lvmstorage-2 zone1
</computeroutput>
</screen>
<screen><prompt>$</prompt> <userinput>cinder-manage host list</userinput>
<computeroutput>server1@lvmstorage-1 zone1
server2@lvmstorage-2 zone1</computeroutput></screen>
</para>
<para>Next, as the admin user, we can see the current status
of the volume (replace the example ID with your own):</para>
<screen>
<prompt>$</prompt> <userinput>cinder show 6088f80a-f116-4331-ad48-9afb0dfb196c</userinput>
<computeroutput>
+--------------------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>cinder show 6088f80a-f116-4331-ad48-9afb0dfb196c</userinput>
<computeroutput>+--------------------------------+--------------------------------------+
| Property | Value |
+--------------------------------+--------------------------------------+
| attachments | [...] |
@ -75,9 +69,7 @@ server2@lvmstorage-2 zone1
| source_volid | None |
| status | in-use |
| volume_type | None |
+--------------------------------+--------------------------------------+
</computeroutput>
</screen>
+--------------------------------+--------------------------------------+</computeroutput></screen>
<para>Of special note are the following attributes:</para>
<itemizedlist>
<listitem>
@ -109,9 +101,7 @@ server2@lvmstorage-2 zone1
</listitem>
</itemizedlist>
<para>Now we will migrate this volume to the second LVM backend:
<screen>
<prompt>$</prompt> <userinput>cinder migrate 6088f80a-f116-4331-ad48-9afb0dfb196c server2@lvmstorage-2</userinput>
</screen>
<screen><prompt>$</prompt> <userinput>cinder migrate 6088f80a-f116-4331-ad48-9afb0dfb196c server2@lvmstorage-2</userinput></screen>
</para>
<para>We can use the <command>cinder show</command> command to see
the status of the migration. While migrating, the
@ -120,8 +110,7 @@ server2@lvmstorage-2 zone1
error, <literal>migstat</literal> will be set to <literal>None</literal>
and the <literal>host</literal> attribute will show the original host.
On success, in our example, the output would look like:</para>
<screen><computeroutput>
+--------------------------------+--------------------------------------+
<screen><computeroutput>+--------------------------------+--------------------------------------+
| Property | Value |
+--------------------------------+--------------------------------------+
| attachments | [...] |

View File

@ -270,9 +270,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
<listitem>
<para>Get the tenant ID (Used as
$TENANT_ID later):</para>
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput></screen>
<screen><computeroutput>
+----------------------------------+---------+---------+
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput>
<computeroutput>+----------------------------------+---------+---------+
| id | name | enabled |
+----------------------------------+---------+---------+
| 247e478c599f45b5bd297e8ddbbc9b6a | TenantA | True |
@ -285,9 +284,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
</listitem>
<listitem>
<para>Get the User information:</para>
<screen><prompt>$</prompt> <userinput>keystone user-list</userinput></screen>
<screen><computeroutput>
+----------------------------------+-------+---------+-------------------+
<screen><prompt>$</prompt> <userinput>keystone user-list</userinput>
<computeroutput>+----------------------------------+-------+---------+-------------------+
| id | name | enabled | email |
+----------------------------------+-------+---------+-------------------+
| 5a9149ed991744fa85f71e4aa92eb7ec | demo | True | |
@ -303,8 +301,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
demo tenant ($TENANT_ID will be
b7445f221cda4f4a8ac7db6b218b1339):</para>
<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $TENANT_ID sharednet1 --shared --provider:network_type flat \
--provider:physical_network physnet1</userinput></screen>
<screen><computeroutput>Created a new network:
--provider:physical_network physnet1</userinput>
<computeroutput>Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
@ -324,8 +322,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
</listitem>
<listitem>
<para>Create a subnet on the network:</para>
<screen><prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $TENANT_ID sharednet1 30.0.0.0/24</userinput></screen>
<screen><computeroutput>Created a new subnet:
<screen><prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $TENANT_ID sharednet1 30.0.0.0/24</userinput>
<computeroutput>Created a new subnet:
+------------------+--------------------------------------------+
| Field | Value |
+------------------+--------------------------------------------+
@ -349,9 +347,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
--os-auth-url=http://localhost:5000/v2.0 boot --image tty --flavor 1 \
--nic net-id=04457b44-e22a-4a5c-be54-a53a9b2818e7 TenantA_VM1</userinput></screen>
<screen><prompt>$</prompt> <userinput>nova --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 list</userinput></screen>
<screen><computeroutput>
+--------------------------------------+-------------+--------+---------------------+
--os-auth-url=http://localhost:5000/v2.0 list</userinput>
<computeroutput>+--------------------------------------+-------------+--------+---------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-------------+--------+---------------------+
| 09923b39-050d-4400-99c7-e4b021cdc7c4 | TenantA_VM1 | ACTIVE | sharednet1=30.0.0.3 |
@ -368,9 +365,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
</listitem>
<listitem>
<para>Ping the public network within the server of tenant A:</para>
<screen><prompt>$</prompt> <userinput>ping 192.168.1.1</userinput></screen>
<screen><computeroutput>
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
<screen><prompt>$</prompt> <userinput>ping 192.168.1.1</userinput>
<computeroutput>PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=1.74 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=1.50 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=1.23 ms

View File

@ -99,19 +99,19 @@ format="PNG" />
<para>Neutron configuration file
<filename>/etc/neutron/neutron.conf</filename>:
</para>
<screen><computeroutput>[DEFAULT]
<programlisting language="ini">[DEFAULT]
core_plugin = neutron.plugins.linuxbridge.lb_neutron_plugin.LinuxBridgePluginV2
rabbit_host = controlnode
allow_overlapping_ips = True
host = controlnode
agent_down_time = 5
</computeroutput></screen>
</programlisting>
</listitem>
<listitem>
<para>Update the plugin configuration file <filename
>/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini</filename>:
</para>
<screen><computeroutput>[vlans]
<programlisting language="ini">[vlans]
tenant_network_type = vlan
network_vlan_ranges = physnet1:1000:2999
[database]
@ -119,7 +119,7 @@ sql_connection = mysql://root:root@127.0.0.1:3306/neutron_linux_bridge
reconnect_interval = 2
[linux_bridge]
physical_interface_mappings = physnet1:eth0
</computeroutput></screen>
</programlisting>
</listitem>
</orderedlist>
</listitem>
@ -130,32 +130,32 @@ physical_interface_mappings = physnet1:eth0
<para>Neutron configuration file <filename
>/etc/neutron/neutron.conf</filename>:
</para>
<screen><computeroutput>[DEFAULT]
<programlisting language="ini">[DEFAULT]
rabbit_host = controlnode
rabbit_password = openstack
# host = HostB on hostb
host = HostA
</computeroutput></screen>
</programlisting>
</listitem>
<listitem>
<para>Update the plugin configuration file <filename
>/etc/neutron/plugins/linuxbridge/linuxbridge_conf.ini</filename>:
</para>
<screen><computeroutput>[vlans]
<programlisting language="ini">[vlans]
tenant_network_type = vlan
network_vlan_ranges = physnet1:1000:2999
[database]
sql_connection = mysql://root:root@127.0.0.1:3306/neutron_linux_bridge
reconnect_interval = 2
[linux_bridge]
physical_interface_mappings = physnet1:eth0</computeroutput></screen>
physical_interface_mappings = physnet1:eth0</programlisting>
</listitem>
<listitem>
<para>Update the nova configuration
file <filename
>/etc/nova/nova.conf</filename>:
</para>
<screen><computeroutput>[DEFAULT]
<programlisting language="ini">[DEFAULT]
network_api_class=nova.network.neutronv2.api.API
neutron_admin_username=neutron
@ -165,7 +165,7 @@ neutron_auth_strategy=keystone
neutron_admin_tenant_name=servicetenant
neutron_url=http://100.1.1.10:9696/
firewall_driver=nova.virt.firewall.NoopFirewallDriver
</computeroutput></screen>
</programlisting>
</listitem>
</orderedlist>
</listitem>
@ -175,9 +175,9 @@ firewall_driver=nova.virt.firewall.NoopFirewallDriver
<para>Update the DHCP configuration file <filename
>/etc/neutron/dhcp_agent.ini</filename>:
</para>
<screen><computeroutput>[DEFAULT]
<programlisting language="ini">[DEFAULT]
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
</computeroutput></screen>
</programlisting>
</listitem>
</orderedlist>

View File

@ -228,12 +228,12 @@ libvirt_vif_driver=nova.virt.libvirt.vif.LibvirtHybridOVSBridgeDriver
</listitem>
<listitem>
<para>Add the integration bridge to the Open vSwitch</para>
<screen><computeroutput>sudo ovs-vsctl add-br br-int</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>sudo ovs-vsctl add-br br-int</userinput></screen>
</listitem>
<listitem>
<para>Update the OpenStack Networking configuration file, <filename>
/etc/neutron/neutron.conf</filename></para>
<programlisting>[DEFAULT]
<programlisting language="ini">[DEFAULT]
core_plugin = neutron.plugins.openvswitch.ovs_neutron_plugin.OVSNeutronPluginV2
control_exchange = neutron
rabbit_host = controlnode
@ -244,7 +244,7 @@ notification_driver = neutron.openstack.common.notifier.rabbit_notifier
<para>Update the plugin configuration file, <filename>
/etc/neutron/plugins/openvswitch/ovs_neutron_plugin.ini</filename>.</para>
<para>Compute Node:</para>
<programlisting>[database]
<programlisting language="ini">[database]
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
[ovs]
tenant_network_type = gre
@ -253,7 +253,7 @@ enable_tunneling = True
local_ip = 9.181.89.202
</programlisting>
<para>Network Node:</para>
<programlisting>[database]
<programlisting language="ini">[database]
sql_connection = mysql://root:root@controlnode:3306/ovs_neutron?charset=utf8
[ovs]
tenant_network_type = gre
@ -364,9 +364,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
<listitem>
<para>Get the tenant ID (Used as
$TENANT_ID later)</para>
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput></screen>
<screen><computeroutput>
+----------------------------------+---------+---------+
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput>
<computeroutput>+----------------------------------+---------+---------+
| id | name | enabled |
+----------------------------------+---------+---------+
| 247e478c599f45b5bd297e8ddbbc9b6a | TenantA | True |
@ -379,9 +378,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
</listitem>
<listitem>
<para>Get the user information</para>
<screen><prompt>$</prompt> <userinput>keystone user-list</userinput></screen>
<screen><computeroutput>
+----------------------------------+-------+---------+-------------------+
<screen><prompt>$</prompt> <userinput>keystone user-list</userinput>
<computeroutput>+----------------------------------+-------+---------+-------------------+
| id | name | enabled | email |
+----------------------------------+-------+---------+-------------------+
| 5a9149ed991744fa85f71e4aa92eb7ec | demo | True | |
@ -395,9 +393,8 @@ export OS_AUTH_URL=http://127.0.0.1:5000/v2.0/</programlisting>
<listitem>
<para>Create the external network and
its subnet by admin user:</para>
<screen><prompt>$</prompt> <userinput>neutron net-create Ext-Net --provider:network_type local --router:external true</userinput></screen>
<screen><computeroutput>
Created a new network:
<screen><prompt>$</prompt> <userinput>neutron net-create Ext-Net --provider:network_type local --router:external true</userinput>
<computeroutput>Created a new network:
+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
@ -415,9 +412,8 @@ Created a new network:
+---------------------------+--------------------------------------+
</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron subnet-create Ext-Net 30.0.0.0/24 --disable-dhcp</userinput></screen>
<screen><computeroutput>
Created a new subnet:
<screen><prompt>$</prompt> <userinput>neutron subnet-create Ext-Net 30.0.0.0/24 --disable-dhcp</userinput>
<computeroutput>Created a new subnet:
+------------------+--------------------------------------------+
| Field | Value |
+------------------+--------------------------------------------+
@ -458,9 +454,8 @@ Created a new subnet:
<listitem>
<para>Create a network for TenantA</para>
<screen><prompt>$</prompt> <userinput>neutron --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 net-create TenantA-Net</userinput></screen>
<screen><computeroutput>
Created a new network:
--os-auth-url=http://localhost:5000/v2.0 net-create TenantA-Net</userinput>
<computeroutput>Created a new network:
+-----------------+--------------------------------------+
| Field | Value |
+-----------------+--------------------------------------+
@ -474,9 +469,8 @@ Created a new network:
| tenant_id | 247e478c599f45b5bd297e8ddbbc9b6a |
+-----------------+--------------------------------------+</computeroutput></screen>
<para>After that we can use admin user to query the network's provider network information:</para>
<screen><prompt>$</prompt> <userinput>neutron net-show TenantA-Net</userinput></screen>
<screen><computeroutput>
+---------------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron net-show TenantA-Net</userinput>
<computeroutput>+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
@ -498,9 +492,8 @@ Created a new network:
<para>Create a subnet on the network TenantA-Net</para>
<screen><prompt>$</prompt> <userinput>
neutron --os-tenant-name TenantA --os-username UserA --os-password password\
--os-auth-url=http://localhost:5000/v2.0 subnet-create TenantA-Net 10.0.0.0/24</userinput></screen>
<screen><computeroutput>
Created a new subnet:
--os-auth-url=http://localhost:5000/v2.0 subnet-create TenantA-Net 10.0.0.0/24</userinput>
<computeroutput>Created a new subnet:
+------------------+--------------------------------------------+
| Field | Value |
+------------------+--------------------------------------------+
@ -524,8 +517,8 @@ Created a new subnet:
--os-auth-url=http://localhost:5000/v2.0 boot --image tty --flavor 1 \
--nic net-id=7d0e8d5d-c63c-4f13-a117-4dc4e33e7d68 TenantA_VM1</userinput></screen>
<screen><prompt>$</prompt> <userinput>nova --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 list</userinput></screen>
<screen><computeroutput>
--os-auth-url=http://localhost:5000/v2.0 list</userinput>
<computeroutput>
+--------------------------------------+-------------+--------+----------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-------------+--------+----------------------+
@ -537,10 +530,8 @@ Created a new subnet:
<para>Create and configure a router
for TenantA:</para>
<screen><prompt>$</prompt> <userinput>neutron --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 router-create TenantA-R1</userinput></screen>
<screen><computeroutput>
Created a new router:
--os-auth-url=http://localhost:5000/v2.0 router-create TenantA-R1</userinput>
<computeroutput>Created a new router:
+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
@ -556,18 +547,15 @@ Created a new router:
--os-auth-url=http://localhost:5000/v2.0 router-interface-add \
TenantA-R1 51e2c223-0492-4385-b6e9-83d4e6d10657</userinput></screen>
<para>Added interface to router TenantA-R1</para>
<screen><computeroutput>
neutron router-gateway-set TenantA-R1 Ext-Net
</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-gateway-set TenantA-R1 Ext-Net</userinput></screen>
<para><emphasis role="bold"> We are using admin user to run last command since our external network is owned by admin tenant.</emphasis></para>
</listitem>
<listitem>
<para>Associate a floating IP for
TenantA_VM1</para>
<para>1. Create a floating IP</para><screen><prompt>$</prompt> <userinput>neutron --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 floatingip-create Ext-Net</userinput></screen>
<screen><computeroutput>
Created a new floatingip:
--os-auth-url=http://localhost:5000/v2.0 floatingip-create Ext-Net</userinput>
<computeroutput>Created a new floatingip:
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
@ -583,9 +571,8 @@ Created a new floatingip:
<para>2. Get the port ID of the VM with ID 7c5e6499-7ef7-4e36-8216-62c2941d21ff</para>
<screen><prompt>$</prompt> <userinput>neutron --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 port-list -- \
--device_id 7c5e6499-7ef7-4e36-8216-62c2941d21ff</userinput></screen>
<screen><computeroutput>
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
--device_id 7c5e6499-7ef7-4e36-8216-62c2941d21ff</userinput>
<computeroutput>+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
| 6071d430-c66e-4125-b972-9a937c427520 | | fa:16:3e:a0:73:0d | {"subnet_id": "51e2c223-0492-4385-b6e9-83d4e6d10657", "ip_address": "10.0.0.3"} |
@ -594,13 +581,11 @@ Created a new floatingip:
<para>3. Associate the floating IP with the VM port</para>
<screen><prompt>$</prompt> <userinput>neutron --os-tenant-name TenantA --os-username UserA --os-password password \
--os-auth-url=http://localhost:5000/v2.0 floatingip-associate \
5a1f90ed-aa3c-4df3-82cb-116556e96bf1 6071d430-c66e-4125-b972-9a937c427520</userinput></screen>
<screen><computeroutput>
Associated floatingip 5a1f90ed-aa3c-4df3-82cb-116556e96bf1
5a1f90ed-aa3c-4df3-82cb-116556e96bf1 6071d430-c66e-4125-b972-9a937c427520</userinput>
<computeroutput>Associated floatingip 5a1f90ed-aa3c-4df3-82cb-116556e96bf1
</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-list</userinput></screen>
<screen><computeroutput>
+--------------------------------------+------------------+---------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron floatingip-list</userinput>
<computeroutput>+--------------------------------------+------------------+---------------------+--------------------------------------+
| id | fixed_ip_address | floating_ip_address | port_id |
+--------------------------------------+------------------+---------------------+--------------------------------------+
| 5a1f90ed-aa3c-4df3-82cb-116556e96bf1 | 10.0.0.3 | 30.0.0.2 | 6071d430-c66e-4125-b972-9a937c427520 |
@ -612,9 +597,8 @@ Associated floatingip 5a1f90ed-aa3c-4df3-82cb-116556e96bf1
<para>In my environment, 192.168.1.0/24 is my public network connected
with my physical router, which also connects to the external network 30.0.0.0/24.
With the floating IP and virtual router, we can ping the public network within the server of tenant A:</para>
<screen><prompt>$</prompt> <userinput>ping 192.168.1.1</userinput></screen>
<screen><computeroutput>
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
<screen><prompt>$</prompt> <userinput>ping 192.168.1.1</userinput>
<computeroutput>PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_req=1 ttl=64 time=1.74 ms
64 bytes from 192.168.1.1: icmp_req=2 ttl=64 time=1.50 ms
64 bytes from 192.168.1.1: icmp_req=3 ttl=64 time=1.23 ms
@ -626,9 +610,8 @@ rtt min/avg/max/mdev = 1.234/1.495/1.745/0.211 ms
</listitem>
<listitem>
<para>Ping floating IP of the TenantA's server</para>
<screen><prompt>$</prompt> <userinput>ping 30.0.0.2</userinput></screen>
<screen><computeroutput>
PING 30.0.0.2 (30.0.0.2) 56(84) bytes of data.
<screen><prompt>$</prompt> <userinput>ping 30.0.0.2</userinput>
<computeroutput>PING 30.0.0.2 (30.0.0.2) 56(84) bytes of data.
64 bytes from 30.0.0.2: icmp_req=1 ttl=63 time=45.0 ms
64 bytes from 30.0.0.2: icmp_req=2 ttl=63 time=0.898 ms
64 bytes from 30.0.0.2: icmp_req=3 ttl=63 time=0.940 ms
@ -662,9 +645,8 @@ rtt min/avg/max/mdev = 0.898/15.621/45.027/20.793 ms
10.0.1.0/24 --name TenantC-Subnet2</userinput>
</screen>
<para>After that we can use admin user to query the network's provider network information:</para>
<screen><prompt>$</prompt> <userinput>neutron net-show TenantC-Net1</userinput></screen>
<screen><computeroutput>
+---------------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron net-show TenantC-Net1</userinput>
<computeroutput>+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
@ -680,9 +662,8 @@ rtt min/avg/max/mdev = 0.898/15.621/45.027/20.793 ms
| tenant_id | 2b4fec24e62e4ff28a8445ad83150f9d |
+---------------------------+--------------------------------------+
</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-show TenantC-Net2</userinput></screen>
<screen><computeroutput>
+---------------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron net-show TenantC-Net2</userinput>
<computeroutput>+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
@ -716,8 +697,8 @@ rtt min/avg/max/mdev = 0.898/15.621/45.027/20.793 ms
<listitem>
<para>List servers of TenantC</para>
<screen><prompt>$</prompt> <userinput>nova --os-tenant-name TenantC --os-username UserC --os-password password \
--os-auth-url=http://localhost:5000/v2.0 list</userinput></screen>
<screen><computeroutput>
--os-auth-url=http://localhost:5000/v2.0 list</userinput>
<computeroutput>
+--------------------------------------+-------------+--------+-----------------------+
| ID | Name | Status | Networks |
+--------------------------------------+-------------+--------+-----------------------+

View File

@ -300,7 +300,7 @@ export SERVICE_TOKEN=password</programlisting></para>
<listitem>
<para>Export the
variables:<screen><prompt>$</prompt> <userinput>source novarc echo "source novarc">>.bashrc</userinput></screen>
</para>
</para>
</listitem>
</itemizedlist>
<para>The admin user creates a network and subnet on behalf of
@ -311,8 +311,8 @@ export SERVICE_TOKEN=password</programlisting></para>
<step>
<para>Get the tenant ID (Used as $TENANT_ID
later).</para>
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput></screen>
<screen><computeroutput>+----------------------------------+--------------------+---------+
<screen><prompt>$</prompt> <userinput>keystone tenant-list</userinput>
<computeroutput>+----------------------------------+--------------------+---------+
| id | name | enabled |
+----------------------------------+--------------------+---------+
| 48fb81ab2f6b409bafac8961a594980f | provider_tenant | True |
@ -326,8 +326,8 @@ export SERVICE_TOKEN=password</programlisting></para>
role="bold">net1</emphasis> for tenant_A
($TENANT_ID will be
e40fa60181524f9f9ee7aa1038748f08):</para>
<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $TENANT_ID net1</userinput></screen>
<screen><computeroutput>+---------------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron net-create --tenant-id $TENANT_ID net1</userinput>
<computeroutput>+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
@ -347,8 +347,8 @@ export SERVICE_TOKEN=password</programlisting></para>
<para>Create a subnet on the network <emphasis
role="bold">net1</emphasis> (ID field
below is used as $SUBNET_ID later):</para>
<screen><prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $TENANT_ID net1 10.5.5.0/24</userinput></screen>
<screen><computeroutput>+------------------+--------------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron subnet-create --tenant-id $TENANT_ID net1 10.5.5.0/24</userinput>
<computeroutput>+------------------+--------------------------------------------+
| Field | Value |
+------------------+--------------------------------------------+
| allocation_pools | {"start": "10.5.5.2", "end": "10.5.5.254"} |
@ -373,8 +373,8 @@ export SERVICE_TOKEN=password</programlisting></para>
<para>Create a router named <emphasis role="bold"
>router1</emphasis> (ID is used as
$ROUTER_ID later):</para>
<screen><prompt>$</prompt> <userinput>neutron router-create router1</userinput></screen>
<screen><computeroutput>+-----------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron router-create router1</userinput>
<computeroutput>+-----------------------+--------------------------------------+
| Field | Value |
+-----------------------+--------------------------------------+
| admin_state_up | True |
@ -396,8 +396,8 @@ export SERVICE_TOKEN=password</programlisting></para>
>router1</emphasis> and attach it to the
subnet from <emphasis role="bold"
>net1</emphasis>:</para>
<screen><prompt>$</prompt> <userinput>neutron router-interface-add $ROUTER_ID $SUBNET_ID</userinput></screen>
<screen><computeroutput>Added interface to router 685f64e7-a020-4fdf-a8ad-e41194ae124b</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-interface-add $ROUTER_ID $SUBNET_ID</userinput>
<computeroutput>Added interface to router 685f64e7-a020-4fdf-a8ad-e41194ae124b</computeroutput></screen>
<note>
<para>You can repeat this step to add more
interfaces for other networks that belong
@ -407,8 +407,8 @@ export SERVICE_TOKEN=password</programlisting></para>
<step>
<para>Create the external network named <emphasis
role="bold">ext_net</emphasis>:</para>
<screen><prompt>$</prompt> <userinput>neutron net-create ext_net --router:external=True</userinput></screen>
<screen><computeroutput>+---------------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron net-create ext_net --router:external=True</userinput>
<computeroutput>+---------------------------+--------------------------------------+
| Field | Value |
+---------------------------+--------------------------------------+
| admin_state_up | True |
@ -432,8 +432,8 @@ export SERVICE_TOKEN=password</programlisting></para>
</note>
<screen><prompt>$</prompt> <userinput>neutron subnet-create ext_net \
--allocation-pool start=7.7.7.130,end=7.7.7.150 \
--gateway 7.7.7.1 7.7.7.0/24 --disable-dhcp</userinput></screen>
<screen><computeroutput>+------------------+--------------------------------------------------+
--gateway 7.7.7.1 7.7.7.0/24 --disable-dhcp</userinput>
<computeroutput>+------------------+--------------------------------------------------+
| Field | Value |
+------------------+--------------------------------------------------+
| allocation_pools | {"start": "7.7.7.130", "end": "7.7.7.150"} |
@ -452,8 +452,8 @@ export SERVICE_TOKEN=password</programlisting></para>
<step>
<para>Set the router's gateway to be the external
network:</para>
<screen><prompt>$</prompt> <userinput>neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID</userinput></screen>
<screen><computeroutput>Set gateway for router 685f64e7-a020-4fdf-a8ad-e41194ae124b</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron router-gateway-set $ROUTER_ID $EXTERNAL_NETWORK_ID</userinput>
<computeroutput>Set gateway for router 685f64e7-a020-4fdf-a8ad-e41194ae124b</computeroutput></screen>
</step>
</procedure></para>
<para>A user from tenant_A completes the following steps, so
@ -466,7 +466,6 @@ export SERVICE_TOKEN=password</programlisting></para>
($PORT_ID) that was allocated for the VM is
required and can be found as follows:</para>
<screen><prompt>$</prompt> <userinput>nova list</userinput>
<computeroutput>+--------------------------------------+--------+--------+---------------+
| ID | Name | Status | Networks |
+--------------------------------------+--------+--------+---------------+
@ -474,7 +473,6 @@ export SERVICE_TOKEN=password</programlisting></para>
+--------------------------------------+--------+--------+---------------+
</computeroutput>
<userinput>neutron port-list -- --device_id 1cdc671d-a296-4476-9a75-f9ca1d92fd26</userinput>
<computeroutput>+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
| id | name | mac_address | fixed_ips |
+--------------------------------------+------+-------------------+---------------------------------------------------------------------------------+
@ -484,9 +482,8 @@ export SERVICE_TOKEN=password</programlisting></para>
<step>
<para>Allocate a floating IP (Used as
$FLOATING_ID):</para>
<screen><prompt>$</prompt> <userinput>neutron floatingip-create ext_net</userinput><computeroutput>
+---------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron floatingip-create ext_net</userinput>
<computeroutput>+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| fixed_ip_address | |
@ -501,15 +498,13 @@ export SERVICE_TOKEN=password</programlisting></para>
<step>
<para>Associate the floating IP with the VM's
port:</para>
<screen><prompt>$</prompt> <userinput>neutron floatingip-associate $FLOATING_ID $PORT_ID</userinput><computeroutput>
Associated floatingip 40952c83-2541-4d0c-b58e-812c835079a5</computeroutput></screen>
<screen><prompt>$</prompt> <userinput>neutron floatingip-associate $FLOATING_ID $PORT_ID</userinput>
<computeroutput>Associated floatingip 40952c83-2541-4d0c-b58e-812c835079a5</computeroutput></screen>
</step>
<step>
<para>Show the floating IP:</para>
<screen><prompt>$</prompt> <userinput>neutron floatingip-show $FLOATING_ID</userinput><computeroutput>
+---------------------+--------------------------------------+
<screen><prompt>$</prompt> <userinput>neutron floatingip-show $FLOATING_ID</userinput>
<computeroutput>+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| fixed_ip_address | 10.5.5.3 |
@ -524,8 +519,7 @@ Associated floatingip 40952c83-2541-4d0c-b58e-812c835079a5</computeroutput></scr
<step>
<para>Test the floating IP:</para>
<screen><prompt>$</prompt> <userinput>ping 7.7.7.131</userinput>
<computeroutput>
PING 7.7.7.131 (7.7.7.131) 56(84) bytes of data.
<computeroutput>PING 7.7.7.131 (7.7.7.131) 56(84) bytes of data.
64 bytes from 7.7.7.131: icmp_req=2 ttl=64 time=0.152 ms
64 bytes from 7.7.7.131: icmp_req=3 ttl=64 time=0.049 ms
</computeroutput></screen>

View File

@ -210,23 +210,23 @@
<para>Show all attributes of a network, including provider
attributes when invoked with the admin role:</para>
<para>
<screen><userinput>neutron net-show &lt;name or net-id&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-show &lt;name or net-id&gt;</userinput></screen>
</para>
<para>Create a local provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type local</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type local</userinput></screen>
</para>
<para>Create a flat provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type flat --provider:physical_network &lt;phys-net-name&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type flat --provider:physical_network &lt;phys-net-name&gt;</userinput></screen>
</para>
<para>Create a VLAN provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type vlan --provider:physical_network &lt;phys-net-name&gt; --provider:segmentation_id &lt;VID&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type vlan --provider:physical_network &lt;phys-net-name&gt; --provider:segmentation_id &lt;VID&gt;</userinput></screen>
</para>
<para>Create a GRE provider network (admin-only):</para>
<para>
<screen><userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type gre --provider:segmentation_id &lt;tunnel-id&gt;</userinput></screen>
<screen><prompt>$</prompt> <userinput>neutron net-create &lt;name&gt; --tenant_id &lt;tenant-id&gt; --provider:network_type gre --provider:segmentation_id &lt;tunnel-id&gt;</userinput></screen>
</para>
<para>When creating flat networks or VLAN networks,
&lt;phys-net-name&gt; must be known to the plugin. See

View File

@ -39,7 +39,7 @@
<step>
<para>In the address bar, type the host name or IP address
for the dashboard:</para>
<screen><userinput>https://<replaceable>IP_ADDRESS_OR_HOSTNAME</replaceable>/</userinput></screen>
<screen><prompt>$</prompt> <userinput>https://<replaceable>IP_ADDRESS_OR_HOSTNAME</replaceable>/</userinput></screen>
<note>
<title>Certificate Warning</title>
<para>If a certificate warning appears when you try to

View File

@ -62,11 +62,11 @@
<step>
<para>Upload your new graphic files to the following
location:
<screen>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/</screen></para>
<filename>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/img/</filename></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>
<filename>/usr/share/openstack-dashboard/openstack_dashboard/static/dashboard/css/</filename></para>
</step>
<step>
<para>Edit your CSS file to override the Ubuntu
@ -112,7 +112,7 @@ text-decoration: none;
</step>
<step>
<para>Open the following HTML template in an editor:
<screen>/usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html</screen></para>
<filename>/usr/share/openstack-dashboard/openstack_dashboard/templates/_stylesheets.html</filename></para>
</step>
<step>
<para>Add a line to include your

View File

@ -30,14 +30,14 @@
<literal>signing_dir</literal> configuration option.
In your services configuration file, look for a section
like this:</para>
<screen><computeroutput>[keystone_authtoken]
<programlisting language="ini">[keystone_authtoken]
signing_dir = /var/cache/glance/api
auth_uri = http://127.0.0.1:5000/
auth_host = 127.0.0.1
auth_port = 35357
auth_protocol = http
admin_tenant_name = service
admin_user = glance</computeroutput></screen>
admin_user = glance</programlisting>
<para>If your service lacks this stanza, the <link
xlink:href="https://github.com/openstack/python-keystoneclient/blob/master/keystoneclient/middleware/auth_token.py#L198"
>keystoneclient/middleware/auth_token.py</link> file

View File

@ -66,12 +66,12 @@
<filename>etc/keystone.conf</filename> file. The
following SSL configuration example uses the included
sample certificates:</para>
<screen><computeroutput>[ssl]
<programlisting language="ini">[ssl]
enable = True
certfile = &lt;path to keystone.pem&gt;
keyfile = &lt;path to keystonekey.pem&gt;
ca_certs = &lt;path to ca.pem&gt;
cert_required = True</computeroutput></screen>
cert_required = True</programlisting>
<itemizedlist><title>Options</title>
<listitem>
<para><literal>enable</literal>. True enables SSL.

View File

@ -148,9 +148,8 @@ SrWY8lF3HrTcJT23sZIleg==</screen></para>
external CA is to first generate a PKCS #10 Certificate
Request Syntax (CRS) using OpenSSL CLI.</para>
<para>First create a certificate request configuration file
(e.g. <literal>cert_req.conf</literal>):</para>
<screen>
[ req ]
(e.g. <filename>cert_req.conf</filename>):</para>
<programlisting language="ini">[ req ]
default_bits = 1024
default_keyfile = keystonekey.pem
default_md = sha1
@ -166,19 +165,18 @@ organizationName = OpenStack
organizationalUnitName = Keystone
commonName = Keystone Signing
emailAddress = keystone@openstack.org
</screen>
</programlisting>
<para>Then generate a CRS with OpenSSL CLI. <emphasis
role="strong">Do not encrypt the generated private
key. Must use the -nodes option.</emphasis>
</para>
<para>For example:</para>
<screen>
openssl req -newkey rsa:1024 -keyout signing_key.pem -keyform PEM -out signing_cert_req.pem -outform PEM -config cert_req.conf -nodes
</screen>
<screen><prompt>$</prompt> <userinput>openssl req -newkey rsa:1024 -keyout signing_key.pem -keyform PEM \
-out signing_cert_req.pem -outform PEM -config cert_req.conf -nodes</userinput></screen>
<para>If everything is successfully, you should end up with
<literal>signing_cert_req.pem</literal> and
<literal>signing_key.pem</literal>. Send
<literal>signing_cert_req.pem</literal> to your CA to
<filename>signing_cert_req.pem</filename> and
<filename>signing_key.pem</filename>. Send
<filename>signing_cert_req.pem</filename> to your CA to
request a token signing certificate and make sure to ask
the certificate to be in PEM format. Also, make sure your
trusted CA certificate chain is also in PEM format.
@ -190,35 +188,34 @@ openssl req -newkey rsa:1024 -keyout signing_key.pem -keyform PEM -out signing_c
<itemizedlist>
<listitem>
<para>
<literal>signing_cert.pem</literal> - (Keystone
<filename>signing_cert.pem</filename> - (Keystone
token) signing certificate in PEM format</para>
</listitem>
<listitem>
<para>
<literal>signing_key.pem</literal> - corresponding
<filename>signing_key.pem</filename> - corresponding
(non-encrypted) private key in PEM format</para>
</listitem>
<listitem>
<para>
<literal>cacert.pem</literal> - trust CA
<filename>cacert.pem</filename> - trust CA
certificate chain in PEM format</para>
</listitem>
</itemizedlist>
<para>Copy the above to your certificate directory. For
example:</para>
<screen>
mkdir -p /etc/keystone/ssl/certs
cp signing_cert.pem /etc/keystone/ssl/certs/
cp signing_key.pem /etc/keystone/ssl/certs/
cp cacert.pem /etc/keystone/ssl/certs/
chmod -R 700 /etc/keystone/ssl/certs
<screen><prompt>#</prompt> <userinput>mkdir -p /etc/keystone/ssl/certs</userinput>
<prompt>#</prompt> <userinput>cp signing_cert.pem /etc/keystone/ssl/certs/</userinput>
<prompt>#</prompt> <userinput>cp signing_key.pem /etc/keystone/ssl/certs/</userinput>
<prompt>#</prompt> <userinput>cp cacert.pem /etc/keystone/ssl/certs/</userinput>
<prompt>#</prompt> <userinput>chmod -R 700 /etc/keystone/ssl/certs</userinput>
</screen>
<note>
<para>Make sure the certificate directory is only
accessible by root.</para>
</note>
<para>If your certificate directory path is different from
the default <literal>/etc/keystone/ssl/certs</literal>,
the default <filename>/etc/keystone/ssl/certs</filename>,
make sure it is reflected in the
<literal>[signing]</literal> section of the
configuration file.</para>

View File

@ -30,7 +30,7 @@
</itemizedlist>
<para>For example, use the following parameters to use API
v3:</para>
<screen><userinput><parameter>--os-auth_url</parameter> "http://15.253.57.115:35357/v3" <parameter>--os-identity-api-version</parameter> 3</userinput></screen>
<screen><prompt>$</prompt> <userinput><parameter>--os-auth_url</parameter> "http://15.253.57.115:35357/v3" <parameter>--os-identity-api-version</parameter> 3</userinput></screen>
<para>Use the following parameters to use API v2.0:</para>
<screen><userinput><parameter>--os-auth_url</parameter> "http://15.253.57.115:35357/v2.0" <parameter>--os-identity-api-version</parameter> 2.0</userinput></screen>
<screen><prompt>$</prompt> <userinput><parameter>--os-auth_url</parameter> "http://15.253.57.115:35357/v2.0" <parameter>--os-identity-api-version</parameter> 2.0</userinput></screen>
</section>

View File

@ -123,8 +123,8 @@ kvm 415459 1 kvm_intel</computeroutput></screen>The
<section xml:id="kvm-intel">
<title>Intel-based processors</title>
<para>If your compute host is Intel-based, run the following as root to load the kernel
modules:<screen><prompt>#</prompt> modprobe kvm
<prompt>#</prompt> modprobe kvm-intel</screen>
modules:<screen><prompt>#</prompt> <userinput>modprobe kvm</userinput>
<prompt>#</prompt> <userinput>modprobe kvm-intel</userinput></screen>
Add the following lines to <filename>/etc/modules</filename> so that these modules
will load on reboot:<programlisting>kvm
kvm-intel</programlisting></para>
@ -132,8 +132,8 @@ kvm-intel</programlisting></para>
<section xml:id="kvm-amd">
<title>AMD-based processors</title>
<para>If your compute host is AMD-based, run the following as root to load the kernel
modules:<screen><prompt>#</prompt> modprobe kvm
<prompt>#</prompt> modprobe kvm-amd</screen>
modules:<screen><prompt>#</prompt> <userinput>modprobe kvm</userinput>
<prompt>#</prompt> <userinput>modprobe kvm-amd</userinput></screen>
Add the following lines to <filename>/etc/modules</filename> so that these modules
will load on reboot:<programlisting>kvm
kvm-amd</programlisting></para>

View File

@ -18,51 +18,44 @@
<para>Before you begin, use <command>nova
floating-ip-pool-list</command> to determine what floating IP pools
are available.
<screen>
<prompt>$</prompt> <userinput>nova floating-ip-pool-list</userinput><computeroutput>
+------+
<screen><prompt>$</prompt> <userinput>nova floating-ip-pool-list</userinput>
<computeroutput> +------+
| name |
+------+
| nova |
+------+
</computeroutput> </screen>In this example,
+------+</computeroutput></screen>
In this example,
the only available pool is <literal>nova</literal>.</para>
<section xml:id="floating_ip_reserve_add"><title>Reserve and associate floating IP addresses</title>
<para>You can reserve floating IP addresses with the <command>nova
floating-ip-create</command> command. This command reserves the
addresses for the tenant, but does not immediately associate that
address with an instance.
<screen>
<prompt>$</prompt> <userinput>nova floating-ip-create nova</userinput><computeroutput>
+--------------+-------------+----------+------+
<screen><prompt>$</prompt> <userinput>nova floating-ip-create nova</userinput>
<computeroutput>+--------------+-------------+----------+------+
| Ip | Instance Id | Fixed Ip | Pool |
+--------------+-------------+----------+------+
| 50.56.12.232 | None | None | nova |
+--------------+-------------+----------+------+ </computeroutput>
</screen></para>
+--------------+-------------+----------+------+ </computeroutput></screen>
</para>
<para>The floating IP address has been reserved, and can now be
associated with an instance with the <command>nova
add-floating-ip</command> command. For this example, we'll associate
this IP address with an image called <literal>smallimage</literal>.
<screen>
<prompt>$</prompt> <userinput>nova add-floating-ip smallimage 50.56.12.232</userinput>
</screen>
<screen><prompt>$</prompt> <userinput>nova add-floating-ip smallimage 50.56.12.232</userinput></screen>
After the command is complete, you can confirm that the IP address
has been associated with the <command>nova
floating-ip-list</command> and <command>nova-list</command>
commands.
<screen>
<prompt>$</prompt> <userinput>nova floating-ip-list</userinput><computeroutput>
+--------------+--------------------------------------+------------+------+
<screen><prompt>$</prompt> <userinput>nova floating-ip-list</userinput>
<computeroutput>+--------------+--------------------------------------+------------+------+
| Ip | Instance Id | Fixed Ip | Pool |
+--------------+--------------------------------------+------------+------+
| 50.56.12.232 | 542235df-8ba4-4d08-90c9-b79f5a77c04f | 10.4.113.9 | nova |
+--------------+--------------------------------------+------------+------+
</computeroutput>
<prompt>$</prompt> <userinput>nova list</userinput><computeroutput>
+--------------------------------------+------------+--------+-------------------------------------------------------+
+--------------+--------------------------------------+------------+------+</computeroutput>
<prompt>$</prompt> <userinput>nova list</userinput>
<computeroutput>+--------------------------------------+------------+--------+-------------------------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+------------+--------+-------------------------------------------------------+
| 4bb825ea-ea43-4771-a574-ca86ab429dcb | tinyimage2 | ACTIVE | public=10.4.113.6; private=172.16.101.6 |
@ -77,33 +70,28 @@ IP addresses.</para></section>
<para>To remove a floating IP address from an instance, use
the <command>nova remove-floating-ip</command>
command.<screen>
<prompt>$</prompt> <userinput>nova remove-floating-ip smallimage 50.56.12.232</userinput>
</screen>
command.<screen><prompt>$</prompt> <userinput>nova remove-floating-ip smallimage 50.56.12.232</userinput></screen>
After the command is complete, you can confirm that the IP address has
been associated with the <command>nova floating-ip-list</command> and
<command>nova-list</command> commands.
<screen>
<prompt>$</prompt> <userinput>nova floating-ip-list</userinput><computeroutput>
+--------------+-------------+----------+------+
<screen><prompt>$</prompt> <userinput>nova floating-ip-list</userinput>
<computeroutput>+--------------+-------------+----------+------+
| Ip | Instance Id | Fixed Ip | Pool |
+--------------+-------------+----------+------+
| 50.56.12.232 | None | None | nova |
+--------------+-------------+----------+------+</computeroutput>
<prompt>$</prompt> <userinput>nova list</userinput><computeroutput>
+--------------------------------------+------------+--------+-----------------------------------------+
<prompt>$</prompt> <userinput>nova list</userinput>
<computeroutput>+--------------------------------------+------------+--------+-----------------------------------------+
| ID | Name | Status | Networks |
+--------------------------------------+------------+--------+-----------------------------------------+
| 4bb825ea-ea43-4771-a574-ca86ab429dcb | tinyimage2 | ACTIVE | public=10.4.113.6; private=172.16.101.6 |
| 542235df-8ba4-4d08-90c9-b79f5a77c04f | smallimage | ACTIVE | public=10.4.113.9; private=172.16.101.9 |
+--------------------------------------+------------+--------+-----------------------------------------+
</computeroutput> </screen>
You can now de-allocate the floating IP address, returning it to the pool so that it can be used by another tenant.
<screen>
<prompt>$</prompt> <userinput>nova floating-ip-delete 50.56.12.232</userinput>
</screen>
In this example, 50.56.12.232 was the only IP address allocated to this tenant. Running <command>nova floating-ip-list</command> after the de-allocation is complete will return no results.</para>
+--------------------------------------+------------+--------+-----------------------------------------+</computeroutput></screen>
You can now de-allocate the floating IP address, returning it to the
pool so that it can be used by another tenant.
<screen><prompt>$</prompt> <userinput>nova floating-ip-delete 50.56.12.232</userinput></screen>
In this example, 50.56.12.232 was the only IP address allocated to
this tenant. Running <command>nova floating-ip-list</command> after
the de-allocation is complete will return no results.</para>
</section>
</section>

View File

@ -6,7 +6,7 @@
xmlns:html="http://www.w3.org/1999/xhtml" version="5.0">
<title>Get a console to an instance</title>
<procedure><title>To get a console to an instance</title> <step><para>To get a VNC console to an instance, run the following
command:</para> <screen><userinput><prompt>$</prompt> nova get-vnc-console myCirrosServer xvpvnc</userinput></screen>
command:</para> <screen><prompt>$</prompt> <userinput>nova get-vnc-console myCirrosServer xvpvnc</userinput></screen>
<para>The command returns a URL from which you can access your instance:</para>
<screen><computeroutput>+--------+------------------------------------------------------------------------------+
| Type | Url |

View File

@ -13,14 +13,12 @@
pair, where you can make up the string for both the key and the
value. For example, you could add a description and also the creator
of the server.
<screen>
<prompt>$</prompt> <userinput>nova boot --image=natty-image --flavor=2 smallimage2 --meta description='Small test image' --meta creator=joecool</userinput>
</screen></para>
<screen><prompt>$</prompt> <userinput>nova boot --image=natty-image --flavor=2 smallimage2 --meta description='Small test image' --meta creator=joecool</userinput></screen>
</para>
<para>When viewing the server information, you can see the metadata
included on the <literal>metadata</literal> line:
<screen>
<prompt>$</prompt> <userinput>nova show smallimage2</userinput><computeroutput>
+------------------------+---------------------------------------------------------------+
<screen><prompt>$</prompt> <userinput>nova show smallimage2</userinput>
<computeroutput>+------------------------+---------------------------------------------------------------+
| Property | Value |
+------------------------+---------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
@ -45,7 +43,6 @@
| tenant_id | e830c2fbb7aa4586adf16d61c9b7e482 |
| updated | 2012-05-16T20:48:35Z |
| user_id | de3f4e99637743c7b6d27faca4b800a9 |
+------------------------+---------------------------------------------------------------+
</computeroutput> </screen></para>
+------------------------+---------------------------------------------------------------+</computeroutput></screen>
</para>
</section>

View File

@ -17,22 +17,21 @@
group is created, it can be viewed in the security
group list.</para>
<para>
<screen>
<prompt>$</prompt> <userinput>nova secgroup-create secure1 "Test security group"</userinput>
+---------+---------------------+
<screen><prompt>$</prompt> <userinput>nova secgroup-create secure1 "Test security group"</userinput>
<computeroutput>+---------+---------------------+
| Name | Description |
+---------+---------------------+
| secure1 | Test security group |
+---------+---------------------+
</computeroutput>
<prompt>$</prompt> <userinput>nova secgroup-list</userinput>
+---------+---------------------+
<computeroutput>+---------+---------------------+
| Name | Description |
+---------+---------------------+
| default | default |
| secure1 | Test security group |
+---------+---------------------+
</screen></para>
+---------+---------------------+</computeroutput></screen>
</para>
<para>Security groups can be deleted with <command>nova secgroup-delete</command>. The default
security group cannot be deleted. The default security group contains these initial
settings:<itemizedlist>
@ -59,15 +58,13 @@
view the security group list, it no longer
appears.</para>
<para>
<screen>
<prompt>$</prompt> <userinput>nova secgroup-delete secure1</userinput>
<screen><prompt>$</prompt> <userinput>nova secgroup-delete secure1</userinput>
<prompt>$</prompt> <userinput>nova secgroup-list</userinput>
+---------+-------------+
<computeroutput>+---------+-------------+
| Name | Description |
+---------+-------------+
| default | default |
+---------+-------------+
</screen>
+---------+-------------+</computeroutput></screen>
</para>
</section>
<section xml:id="secgroup_rules">
@ -138,35 +135,32 @@
<para>For example, in order to allow any IP address to
access to a web server running on one of your instance
inside the default security
group:<screen>
<prompt>$</prompt> <userinput>nova secgroup-add-rule default tcp 80 80 0.0.0.0/0</userinput>
+-------------+-----------+---------+-----------+--------------+
group:<screen><prompt>$</prompt> <userinput>nova secgroup-add-rule default tcp 80 80 0.0.0.0/0</userinput>
<computeroutput>+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp | 80 | 80 | 0.0.0.0/0 | |
+-------------+-----------+---------+-----------+--------------+
</screen></para>
+-------------+-----------+---------+-----------+--------------+</computeroutput></screen>
</para>
<para>In order to allow any IP address to ping an instance
inside the default security group (Code 0, Type 8 for
the ECHO
request.):<screen>
<prompt>$</prompt> <userinput>nova secgroup-add-rule default icmp 0 8 0.0.0.0/0</userinput>
+-------------+-----------+---------+-----------+--------------+
request.):<screen><prompt>$</prompt> <userinput>nova secgroup-add-rule default icmp 0 8 0.0.0.0/0</userinput>
<computeroutput>+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range | Source Group |
+-------------+-----------+---------+-----------+--------------+
| icmp | 0 | 8 | 0.0.0.0/0 | |
+-------------+-----------+---------+-----------+--------------+
</screen></para>
+-------------+-----------+---------+-----------+--------------+</computeroutput></screen>
</para>
<para>
<screen>
<prompt>$</prompt> <userinput>nova secgroup-list-rules default</userinput>
+-------------+-----------+---------+-----------+--------------+
<screen><prompt>$</prompt> <userinput>nova secgroup-list-rules default</userinput>
<computeroutput>+-------------+-----------+---------+-----------+--------------+
| IP Protocol | From Port | To Port | IP Range | Source Group |
+-------------+-----------+---------+-----------+--------------+
| tcp | 80 | 80 | 0.0.0.0/0 | |
| icmp | 0 | 8 | 0.0.0.0/0 | |
+-------------+-----------+---------+-----------+--------------+
</screen></para>
+-------------+-----------+---------+-----------+--------------+</computeroutput></screen>
</para>
<para>In order to delete a rule, you need to specify the exact same arguments you used
to create it:<itemizedlist>
<listitem>
@ -184,11 +178,8 @@
<listitem>
<para>&lt;cidr&gt; CIDR for address range.</para>
</listitem>
</itemizedlist><screen>
<prompt>$</prompt> <userinput>nova secgroup-delete-rule default tcp 80 80 0.0.0.0/0</userinput>
</screen>
</itemizedlist><screen><prompt>$</prompt> <userinput>nova secgroup-delete-rule default tcp 80 80 0.0.0.0/0</userinput></screen>
</para>
</section>
</section>

View File

@ -13,8 +13,7 @@
<title>Create a key</title>
<para>To create a <literal>mykey</literal> key that you can
associate with instances, run the following command:</para>
<screen>
<prompt>$</prompt> <userinput>nova keypair-add mykey > mykey.pem</userinput></screen>
<screen><prompt>$</prompt> <userinput>nova keypair-add mykey > mykey.pem</userinput></screen>
<para>Save the <filename>mykey.pem</filename> file to a secure
location. It enables root access to any instances with which
the <literal>mykey</literal> key is associated.</para>
@ -25,8 +24,7 @@
<literal>mykey.pub</literal>, and associate it with the
<literal>mykey</literal> key, run the following
command:</para>
<screen>
<prompt>$</prompt> <userinput>nova keypair-add --pub-key mykey.pub mykey</userinput></screen>
<screen><prompt>$</prompt> <userinput>nova keypair-add --pub-key mykey.pub mykey</userinput></screen>
<para>You must have the matching private key to access instances
that are associated with this key.</para>
</step>

View File

@ -10,11 +10,13 @@
instance.</para>
<section xml:id="pause_server"><title>Pause and un-pause an instance</title><procedure xml:id="nova_cli_pause_unpause">
<title>To pause and un-pause a server</title>
<step> <para>To pause a server, run the following command:</para><screen><prompt>$</prompt> <userinput>nova pause</userinput> <replaceable>SERVER</replaceable></screen>
<step> <para>To pause a server, run the following command:</para><screen><prompt>$</prompt> <userinput>nova pause <replaceable>SERVER</replaceable></userinput> </screen>
<para>This command stores the state of the VM in
RAM. A paused instance continues to run in a frozen
state.</para>
<para>To un-pause the server, run the following command:</para><screen><prompt>$</prompt> <userinput>nova unpause</userinput> <replaceable>SERVER</replaceable></screen></step>
<para>To un-pause the server, run the following command:</para>
<screen><prompt>$</prompt> <userinput>nova unpause <replaceable>SERVER</replaceable></userinput> </screen>
</step>
</procedure></section>
<section xml:id="suspend_resume"><title>Suspend and resume an instance</title> <procedure xml:id="nova_cli_suspend_resume">
<title>To suspend and resume a server</title>
@ -24,10 +26,11 @@
all memory is written to disk, and the virtual machine is
stopped. Suspending an instance is similar to placing a device
in hibernation; memory and vCPUs become available.</para><para>To initiate a hypervisor-level suspend operation,
run the following command:</para><screen><prompt>$</prompt> <userinput>nova suspend</userinput> <replaceable>SERVER</replaceable></screen>
run the following command:</para>
<screen><prompt>$</prompt> <userinput>nova suspend <replaceable>SERVER</replaceable></userinput></screen>
</step>
<step><para>To resume a suspended server:</para>
<screen><prompt>$</prompt> <userinput>nova resume</userinput> <replaceable>SERVER</replaceable></screen>
<screen><prompt>$</prompt> <userinput>nova resume <replaceable>SERVER</replaceable></userinput></screen>
</step>
</procedure></section>
</section>

View File

@ -9,8 +9,8 @@
<para>When you no longer need an instance, you can delete it.</para>
<procedure><title>To delete an instance</title><step>
<para>List all instances:</para>
<screen><prompt>$</prompt> <userinput>nova list</userinput></screen>
<screen><computeroutput>+--------------------------------------+----------------------+--------+------------+-------------+------------------+
<screen><prompt>$</prompt> <userinput>nova list</userinput>
<computeroutput>+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 | myCirrosServer | ACTIVE | None | Running | private=10.0.0.3 |
@ -25,13 +25,13 @@
</step><step><para>The command does not notify that your server was deleted.</para>
<para>Instead, run the <command>nova list</command>
command:</para>
<screen><prompt>$</prompt> <userinput>nova list</userinput></screen>
<screen><computeroutput>+--------------------------------------+----------------------+--------+------------+-------------+------------------+
<screen><prompt>$</prompt> <userinput>nova list</userinput>
<computeroutput>+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 | myCirrosServer | ACTIVE | None | Running | private=10.0.0.3 |
| 8a99547e-7385-4ad1-ae50-4ecfaaad5f42 | myInstanceFromVolume | ACTIVE | None | Running | private=10.0.0.4 |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+</computeroutput> </screen>
+--------------------------------------+----------------------+--------+------------+-------------+------------------+</computeroutput></screen>
<para>The deleted instance does not appear in the list.</para>
</step>
</procedure>

View File

@ -14,8 +14,8 @@
<procedure xml:id="host_usage_statistics">
<title>To show host usage statistics</title>
<step><para>List the hosts and the nova-related services that run on
them:</para><screen><prompt>$</prompt> <userinput>nova host-list</userinput></screen>
<screen><computeroutput>+------------------+-------------+----------+
them:</para><screen><prompt>$</prompt> <userinput>nova host-list</userinput>
<computeroutput>+------------------+-------------+----------+
| host_name | service | zone |
+------------------+-------------+----------+
| devstack-grizzly | conductor | internal |
@ -24,10 +24,12 @@
| devstack-grizzly | network | internal |
| devstack-grizzly | scheduler | internal |
| devstack-grizzly | consoleauth | internal |
+------------------+-------------+----------+</computeroutput></screen></step>
+------------------+-------------+----------+</computeroutput></screen>
</step>
<step><para>Get a summary of resource usage of all of the instances running
on the host.</para><screen><prompt>$</prompt> <userinput>nova host-describe <replaceable>devstack-grizzly</replaceable></userinput></screen>
<screen><computeroutput>+------------------+----------------------------------+-----+-----------+---------+
on the host.</para>
<screen><prompt>$</prompt> <userinput>nova host-describe <replaceable>devstack-grizzly</replaceable></userinput>
<computeroutput>+------------------+----------------------------------+-----+-----------+---------+
| HOST | PROJECT | cpu | memory_mb | disk_gb |
+------------------+----------------------------------+-----+-----------+---------+
| devstack-grizzly | (total) | 2 | 4003 | 157 |
@ -55,16 +57,16 @@
<para>Get CPU, memory, I/O, and network statistics for an
instance.</para>
<para>First, list instances:</para>
<screen><prompt>$</prompt> <userinput>nova list</userinput></screen>
<screen><computeroutput>+--------------------------------------+----------------------+--------+------------+-------------+------------------+
<screen><prompt>$</prompt> <userinput>nova list</userinput>
<computeroutput>+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| ID | Name | Status | Task State | Power State | Networks |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| 84c6e57d-a6b1-44b6-81eb-fcb36afd31b5 | myCirrosServer | ACTIVE | None | Running | private=10.0.0.3 |
| 8a99547e-7385-4ad1-ae50-4ecfaaad5f42 | myInstanceFromVolume | ACTIVE | None | Running | private=10.0.0.4 |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+</computeroutput></screen>
<para>Then, get diagnostic statistics:</para>
<screen><prompt>$</prompt> <userinput>nova diagnostics myCirrosServer</userinput></screen>
<screen><computeroutput>+------------------+----------------+
<screen><prompt>$</prompt> <userinput>nova diagnostics myCirrosServer</userinput>
<computeroutput>+------------------+----------------+
| Property | Value |
+------------------+----------------+
| vnet1_rx | 1210744 |
@ -84,13 +86,15 @@
| vda_errors | -1 |
+------------------+----------------+</computeroutput></screen>
</step>
<step> <para>Get summary statistics for each tenant:</para><screen><prompt>$</prompt> <userinput>nova usage-list</userinput></screen>
<screen><computeroutput>Usage from 2013-06-25 to 2013-07-24:
<step> <para>Get summary statistics for each tenant:</para>
<screen><prompt>$</prompt> <userinput>nova usage-list</userinput>
<computeroutput>Usage from 2013-06-25 to 2013-07-24:
+----------------------------------+-----------+--------------+-----------+---------------+
| Tenant ID | Instances | RAM MB-Hours | CPU Hours | Disk GB-Hours |
+----------------------------------+-----------+--------------+-----------+---------------+
| b70d90d65e464582b6b2161cf3603ced | 1 | 344064.44 | 672.00 | 0.00 |
| 66265572db174a7aa66eba661f58eb9e | 3 | 671626.76 | 327.94 | 6558.86 |
+----------------------------------+-----------+--------------+-----------+---------------+</computeroutput></screen>
</step> </procedure>
</step>
</procedure>
</section>

View File

@ -18,7 +18,7 @@
<para>This user-data can be put in a file on your local system and
then passed in at instance creation with the flag
<literal>--user-data &lt;user-data-file&gt;</literal> for
example:<screen>
<prompt>$</prompt> <userinput>nova boot --image ubuntu-cloudimage --flavor 1 --user-data mydata.file</userinput></screen></para>
example:
<screen><prompt>$</prompt> <userinput>nova boot --image ubuntu-cloudimage --flavor 1 --user-data mydata.file</userinput></screen>
</para>
</section>

View File

@ -83,7 +83,7 @@ compute_fill_first_cost_fn_weight=-1.0</programlisting>
that are used by the scheduler. The default setting
specifies all of the filter that are included with the
Compute service:</para>
<screen><computeroutput>scheduler_available_filters=nova.scheduler.filters.all_filters</computeroutput></screen>
<programlisting language="ini">scheduler_available_filters=nova.scheduler.filters.all_filters</programlisting>
<para>This configuration option can be specified multiple
times. For example, if you implemented your own custom
filter in Python called
@ -91,14 +91,14 @@ compute_fill_first_cost_fn_weight=-1.0</programlisting>
use both the built-in filters and your custom filter, your
<filename>nova.conf</filename> file would
contain:</para>
<screen><computeroutput>scheduler_available_filters=nova.scheduler.filters.all_filters
scheduler_available_filters=myfilter.MyFilter</computeroutput></screen>
<programlisting language="ini">scheduler_available_filters=nova.scheduler.filters.all_filters
scheduler_available_filters=myfilter.MyFilter</programlisting>
<para>The <literal>scheduler_default_filters</literal>
configuration option in <filename>nova.conf</filename>
defines the list of filters that are applied by the
<systemitem class="service">nova-scheduler</systemitem> service. As
mentioned, the default filters are:</para>
<screen><computeroutput>scheduler_default_filters=AvailabilityZoneFilter,RamFilter,ComputeFilter</computeroutput></screen>
<programlisting language="ini">scheduler_default_filters=AvailabilityZoneFilter,RamFilter,ComputeFilter</programlisting>
<para>The following sections describe the available
filters.</para>
<section xml:id="aggregatecorefilter">
@ -184,12 +184,12 @@ scheduler_available_filters=myfilter.MyFilter</computeroutput></screen>
Configuration option in
<filename>nova.conf</filename>. The default setting
is:</para>
<screen><computeroutput>cpu_allocation_ratio=16.0</computeroutput></screen>
<programlisting language="ini">cpu_allocation_ratio=16.0</programlisting>
<para>With this setting, if 8 vCPUs are on a node, the
scheduler allows instances up to 128 vCPU to be run on
that node.</para>
<para>To disallow vCPU overcommitment set:</para>
<screen><computeroutput>cpu_allocation_ratio=1.0</computeroutput></screen>
<programlisting language="ini">cpu_allocation_ratio=1.0</programlisting>
</section>
<section xml:id="differenthostfilter">
<title>DifferentHostFilter</title>
@ -316,10 +316,8 @@ scheduler_available_filters=myfilter.MyFilter</computeroutput></screen>
using the <literal>isolated_hosts</literal> and
<literal>isolated_images</literal> configuration
options. For example:
<screen><computeroutput>
isolated_hosts=server1,server2
isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09
</computeroutput></screen>
<programlisting language="ini">isolated_hosts=server1,server2
isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd132d6b7d09</programlisting>
</para>
</section>
<section xml:id="jsonfilter">
@ -403,7 +401,7 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
configuration option in
<filename>nova.conf</filename>. The default setting
is:</para>
<screen><computeroutput>ram_allocation_ratio=1.5</computeroutput></screen>
<programlisting language="ini">ram_allocation_ratio=1.5</programlisting>
<para>With this setting, if there is 1GB of free RAM, the
scheduler allows instances up to size 1.5GB to be run
on that instance.</para>
@ -506,8 +504,8 @@ isolated_images=342b492c-128f-4a42-8d3a-c5088cf27d13,ebd267a6-ca86-4d6c-9a0e-bd1
which selects the only weigher available -- the
RamWeigher. Hosts are then weighed and sorted with the
largest weight winning.</para>
<screen><computeroutput>scheduler_weight_classes=nova.scheduler.weights.all_weighers
ram_weight_multiplier=1.0</computeroutput></screen>
<programlisting language="ini">scheduler_weight_classes=nova.scheduler.weights.all_weighers
ram_weight_multiplier=1.0</programlisting>
<para>The default is to spread instances across all hosts
evenly. Set the <literal>ram_weight_multiplier</literal>
option to a negative number if you prefer stacking instead

View File

@ -72,8 +72,7 @@ use = egg:swift3#swift3
<literallayout class="monospaced">my @endpoints = ( '1.2.3.4');</literallayout>
<para>Now you can send commands to the endpoint, such
as:</para>
<screen>
<prompt>$</prompt> <userinput>./s3curl.pl - 'myacc:myuser' -key mypw -get - -s -v http://1.2.3.4:8080</userinput>
<screen><prompt>$</prompt> <userinput>./s3curl.pl - 'myacc:myuser' -key mypw -get - -s -v http://1.2.3.4:8080</userinput>
</screen>
<para>To set up your client, the access key will be the
concatenation of the account and user strings that should

View File

@ -47,9 +47,8 @@ reclaim_age = 259200
<para>
Object Storage services expect a configuration path as the first argument:
</para>
<screen>
<prompt>$</prompt> <userinput>swift-object-auditor</userinput></screen>
<screen><computeroutput>Usage: swift-object-auditor CONFIG [options]
<screen><prompt>$</prompt> <userinput>swift-object-auditor</userinput>
<computeroutput>Usage: swift-object-auditor CONFIG [options]
Error: missing config path argument
</computeroutput></screen>
@ -58,9 +57,8 @@ Error: missing config path argument
as the configuration path when starting the
<command>swift-object-auditor</command> daemon:
</para>
<screen>
<prompt>$</prompt> <userinput>swift-object-auditor /etc/swift/object-server.conf</userinput></screen>
<screen><computeroutput>Unable to find object-auditor config section in /etc/swift/object-server.conf
<screen><prompt>$</prompt> <userinput>swift-object-auditor /etc/swift/object-server.conf</userinput>
<computeroutput>Unable to find object-auditor config section in /etc/swift/object-server.conf
</computeroutput></screen>
<para>
If the configuration path is a directory instead of a file all of

View File

@ -28,12 +28,14 @@
will serve as a DHCP server.</para>
<para>To verify that the libvirt "default" network is enabled, use the <command>virsh
net-list</command> command and verify that the "default" network is
active:<screen><userinput>#</userinput> <command>virsh net-list</command>
active:<screen><prompt>#</prompt> <userinput>virsh net-list</userinput>
<computeroutput>Name State Autostart
-----------------------------------------
default active yes</computeroutput></screen></para>
default active yes</computeroutput></screen>
</para>
<para>If the network is not active, start it by
doing:<screen><prompt>#</prompt> <userinput>virsh net-start default</userinput></screen></para>
doing:<screen><prompt>#</prompt> <userinput>virsh net-start default</userinput></screen>
</para>
</section>
<section xml:id="virt-manager">
<title>Using the virt-manager X11 GUI</title>

View File

@ -8,7 +8,7 @@
use. This example shows the
network range using <literal>192.168.100.0/24</literal> as the fixed range for our guest VMs, but you can substitute the range for the network you have
available. We're labeling it with <literal>private</literal> in this case.</para>
<screen><userinput>nova-manage network create private --fixed_range_v4=192.168.100.0/24 --bridge_interface=br100</userinput></screen>
<screen><prompt>$</prompt> <userinput>nova-manage network create private --fixed_range_v4=192.168.100.0/24 --bridge_interface=br100</userinput></screen>
<note><para>You can find out more about the nova-manage network create command with <userinput>nova-manage
network create -h</userinput>.</para></note>
</section>

View File

@ -7,7 +7,8 @@
<para>Start the mysql command line client by running:</para>
<para>
<screen><userinput>mysql -u root -p</userinput></screen></para>
<screen><prompt>$</prompt> <userinput>mysql -u root -p</userinput></screen>
</para>
<para>Enter the mysql root user's password when prompted.</para>
<para>To configure the MySQL database, create the nova database.</para>
<para>
@ -40,8 +41,8 @@
<para>Enter quit at the mysql> prompt to exit MySQL.</para>
<para>
<screen><userinput>mysql> quit</userinput></screen></para>
<screen><prompt>mysql></prompt> <userinput>quit</userinput></screen>
</para>
<para>The command to populate the database is described later in the
documentation, in the Section entitled <link

View File

@ -69,14 +69,14 @@
</step>
<step>
<para>Set your maven user profile settings</para>
<screen><userinput>export M2_HOME=/usr/local/apache-maven/apache-maven-3.0.5
export M2=$M2_HOME/bin
export PATH=$M2:$PATH
export MAVEN_OPTS='-Xms256m -XX:MaxPermSize=1024m -Xmx1024m'</userinput></screen>
<screen><prompt>$</prompt> <userinput>export M2_HOME=/usr/local/apache-maven/apache-maven-3.0.5
<prompt>$</prompt> export M2=$M2_HOME/bin
<prompt>$</prompt> export PATH=$M2:$PATH
<prompt>$</prompt> export MAVEN_OPTS='-Xms256m -XX:MaxPermSize=1024m -Xmx1024m'</userinput></screen>
</step>
<step>
<para>verify maven is setup with</para>
<screen><prompt>$</prompt><userinput>mvn --install</userinput></screen>
<screen><prompt>$</prompt> <userinput>mvn --install</userinput></screen>
</step>
</substeps>
</step>
@ -377,7 +377,7 @@ blueprint training-manuals</programlisting></para>
<step>
<para><emphasis role="bold">Create the Content:</emphasis> Each card / user
story from the KanBan story board will be a separate chunk of content you
will add to the openstack-manuals repository openstack-training sub-project. </para>
will add to the openstack-manuals repository openstack-training sub-project.</para>
</step>
<step>
<para>Open the file <emphasis role="bold">st-training-guides.xml</emphasis> with

View File

@ -7,7 +7,7 @@
<para>The cinder client is the command-line interface for the
OpenStack Identity API.</para>
<para>For help on a specific cinder command, enter:</para>
<screen><userinput><command>cinder</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>cinder</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput>cinder [--version] [--debug] [--os-username &lt;auth-user-name>]

View File

@ -7,7 +7,7 @@
<para>The cinder client is the command-line interface for the
OpenStack Identity API.</para>
<para>For help on a specific cinder command, enter:</para>
<screen><userinput><command>cinder</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>cinder</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput>cinder [--version] [--debug] [--os-username &lt;auth-user-name>]

View File

@ -190,12 +190,12 @@
locally. To change its permissions so that only
you can read and write to the file, run the
following command:</para>
<screen><userinput><prompt>$</prompt> chmod 0600 <replaceable>MY_PRIV_KEY</replaceable>.pem</userinput></screen>
<screen><prompt>$</prompt> <userinput>chmod 0600 <replaceable>MY_PRIV_KEY</replaceable>.pem</userinput></screen>
</step>
<step>
<para>To make the keypair known to SSH, run the
<command>ssh-add</command> command:</para>
<screen><userinput><prompt>$</prompt> ssh-add <replaceable>MY_PRIV_KEY</replaceable>.pem</userinput></screen>
<screen><prompt>$</prompt> <userinput>ssh-add <replaceable>MY_PRIV_KEY</replaceable>.pem</userinput></screen>
</step>
</procedure>
<para>The Compute database registers the public key of the

View File

@ -7,7 +7,7 @@
<para>The glance client is the command-line interface (CLI) for the
OpenStack Image Service API.</para>
<para>For help on a specific glance command, enter:</para>
<screen><userinput><command>glance</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>glance</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput> glance [--version] [-d] [-v] [-k] [--cert-file CERT_FILE]

View File

@ -7,7 +7,7 @@
<para>The glance client is the command-line interface (CLI) for the
OpenStack Image Service API.</para>
<para>For help on a specific glance command, enter:</para>
<screen><userinput><command>glance</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>glance</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput> glance [--version] [-d] [-v] [-k] [--cert-file CERT_FILE]

View File

@ -7,7 +7,7 @@
<para>The heat client is the command-line interface for the
OpenStack Orchestration API.</para>
<para>For help on a specific heat command, enter:</para>
<screen><userinput><command>heat</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>heat</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput>heat [-d] [-v] [-k] [--cert-file CERT_FILE] [--key-file KEY_FILE]

View File

@ -7,7 +7,7 @@
<para>The keystone client is the command-line interface (CLI) for
the OpenStack Identity API.</para>
<para>For help on a specific keystone command, enter:</para>
<screen><userinput><command>keystone</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>keystone</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput>

View File

@ -7,7 +7,7 @@
<para>The neutron client is the command-line interface (CLI) for the
OpenStack Networking API.</para>
<para>For help on a specific neutron command, enter:</para>
<screen><userinput><command>neutron</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>neutron</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>

View File

@ -7,7 +7,7 @@
<para>The neutron client is the command-line interface (CLI) for the
OpenStack Networking API.</para>
<para>For help on a specific neutron command, enter:</para>
<screen><userinput><command>neutron</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>neutron</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>

View File

@ -7,7 +7,7 @@
<para>The nova client is the command-line interface for the
OpenStack Compute API and its extensions.</para>
<para>For help on a specific nova command, enter:</para>
<screen><userinput><command>nova</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput><command>nova</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput>nova [--version] [--debug] [--os-cache] [--timings]

View File

@ -7,10 +7,10 @@
<para>The swift client is the command-line interface for the
OpenStack Object Storage API.</para>
<para>For help on a specific swift command, enter:</para>
<screen><userinput><command>swift</command> <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<screen><prompt>$</prompt> <userinput>swift <option>help</option> <replaceable>COMMAND</replaceable></userinput></screen>
<example>
<title>Usage</title>
<screen><computeroutput><command>swift</command> <replaceable>COMMAND</replaceable> <option>[options]</option> <option>[args]</option></computeroutput></screen>
<screen><prompt>$</prompt> <userinput><command>swift</command> <replaceable>COMMAND</replaceable> <option>[options]</option> <option>[args]</option></userinput></screen>
</example>
<example>
<title>Commands</title>