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:
parent
39a193686b
commit
34a567089b
@ -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>> curl -X PATCH http://localhost:5000/v2.0/OS-KSCRUD/users/<userid> -H "Content-type: application/json" \
|
||||
<screen><prompt>$</prompt> <userinput>curl -X PATCH http://localhost:5000/v2.0/OS-KSCRUD/users/<userid> -H "Content-type: application/json" \
|
||||
-H "X_Auth_Token: <authtokenid>" -d '{"user": {"password": "ABCD", "original_password": "DCBA"}}'</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 < $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 < $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
|
||||
|
@ -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 <name or net-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-show <name or net-id></userinput></screen>
|
||||
</para>
|
||||
<para>Create a local provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type local</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type local</userinput></screen>
|
||||
</para>
|
||||
<para>Create a flat provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type flat --provider:physical_network <phys-net-name></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type flat --provider:physical_network <phys-net-name></userinput></screen>
|
||||
</para>
|
||||
<para>Create a VLAN provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type vlan --provider:physical_network <phys-net-name> --provider:segmentation_id <VID></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type vlan --provider:physical_network <phys-net-name> --provider:segmentation_id <VID></userinput></screen>
|
||||
</para>
|
||||
<para>Create a GRE provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type gre --provider:segmentation_id <tunnel-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type gre --provider:segmentation_id <tunnel-id></userinput></screen>
|
||||
</para>
|
||||
<para>When creating flat networks or VLAN networks, <phys-net-name> 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 <subnet1-uuid>
|
||||
neutron router-interface-add router1 <subnet2-uuid></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 <subnet1-uuid></userinput>
|
||||
<prompt>$</prompt> <userinput>neutron router-interface-add router1 <subnet2-uuid></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 <subnet2-uuid></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 <ext-net-id> </computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron router-gateway-set router1 <ext-net-id></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 <router_id></computeroutput></screen></para>
|
||||
<screen><prompt>$</prompt> <userinput>neutron router-show <router_id></userinput></screen>
|
||||
</para>
|
||||
<para>Show all internal interfaces for a router:
|
||||
<screen><computeroutput>neutron port-list -- --device_id=<router_id></computeroutput></screen></para>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list -- --device_id=<router_id></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=<instance_id></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-list -c id -c fixed_ips -- --device_id=<instance_id></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 <subnet2-uuid></computeroutput></scre
|
||||
router). </para>
|
||||
<para>Create floating IP unassociated, then
|
||||
associate</para>
|
||||
<screen><computeroutput>neutron floatingip-create <ext-net-id>
|
||||
neutron floatingip-associate <floatingip-id> <internal VM port-id> </computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron floatingip-create <ext-net-id>
|
||||
neutron floatingip-associate <floatingip-id> <internal VM port-id></userinput></screen>
|
||||
<para>create floating IP and associate in a single
|
||||
step</para>
|
||||
<screen><computeroutput>neutron floatingip-create --port_id <internal VM port-id> <ext-net-id> </computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron floatingip-create --port_id <internal VM port-id> <ext-net-id></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 <floatingip-id></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron floatingip-disassociate <floatingip-id></userinput></screen>
|
||||
<para>L3 Tear Down</para>
|
||||
<para>Delete the Floating IP:</para>
|
||||
<screen><computeroutput>neutron floatingip-delete <floatingip-id> </computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron floatingip-delete <floatingip-id></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 <subnet-id> </computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron router-interface-delete router1 <subnet-id></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 <floatingip-id> <internal VM port-id> <
|
||||
<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 <security_group_uuid></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron security-group-rule-create --direction ingress --protocol tcp --port_range_min 80 --port_range_max 80 <security_group_uuid></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 <security_group_rule_uuid></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron security-group-rule-delete <security_group_rule_uuid></userinput></screen>
|
||||
<para>Delete security group:</para>
|
||||
<screen><computeroutput>neutron security-group-delete <security_group_uuid> </computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron security-group-delete <security_group_uuid></userinput></screen>
|
||||
<para>Create a port and associated two security
|
||||
groups:</para>
|
||||
<screen><computeroutput>neutron port-create --security-group <security_group_id1> --security-group <security_group_id2> <network_id></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-create --security-group <security_group_id1> --security-group <security_group_id2> <network_id></userinput></screen>
|
||||
<para>Remove security groups from a port:</para>
|
||||
<screen><computeroutput>neutron port-update --no-security-groups <port_id></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron port-update --no-security-groups <port_id></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 <subnet-uuid> <parameter>--provider <provider_name></parameter></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron lb-pool-create --lb-method ROUND_ROBIN --name mypool --protocol HTTP --subnet-id <subnet-uuid> <parameter>--provider <provider_name></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 <webserver one IP> --protocol-port 80 mypool
|
||||
neutron lb-member-create --address <webserver two IP> --protocol-port 80 mypool</computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron lb-member-create --address <webserver one IP> --protocol-port 80 mypool</userinput>
|
||||
<prompt>$</prompt> <userinput>neutron lb-member-create --address <webserver two IP> --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 <healthmonitor-uuid> mypool</computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron lb-healthmonitor-associate <healthmonitor-uuid> 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 <subnet-uuid> mypool</computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron lb-vip-create --name myvip --protocol-port 80 --protocol HTTP --subnet-id <subnet-uuid> 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=<queue_id></computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create network --queue_id=<queue_id></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 <queue_id or name>'</computeroutput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron queue-delete <queue_id or name>'</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>
|
||||
|
@ -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
|
||||
|
@ -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 | [...] |
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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 |
|
||||
+--------------------------------------+-------------+--------+-----------------------+
|
||||
|
@ -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>
|
||||
|
@ -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 <name or net-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-show <name or net-id></userinput></screen>
|
||||
</para>
|
||||
<para>Create a local provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type local</userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type local</userinput></screen>
|
||||
</para>
|
||||
<para>Create a flat provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type flat --provider:physical_network <phys-net-name></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type flat --provider:physical_network <phys-net-name></userinput></screen>
|
||||
</para>
|
||||
<para>Create a VLAN provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type vlan --provider:physical_network <phys-net-name> --provider:segmentation_id <VID></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type vlan --provider:physical_network <phys-net-name> --provider:segmentation_id <VID></userinput></screen>
|
||||
</para>
|
||||
<para>Create a GRE provider network (admin-only):</para>
|
||||
<para>
|
||||
<screen><userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type gre --provider:segmentation_id <tunnel-id></userinput></screen>
|
||||
<screen><prompt>$</prompt> <userinput>neutron net-create <name> --tenant_id <tenant-id> --provider:network_type gre --provider:segmentation_id <tunnel-id></userinput></screen>
|
||||
</para>
|
||||
<para>When creating flat networks or VLAN networks,
|
||||
<phys-net-name> must be known to the plugin. See
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 = <path to keystone.pem>
|
||||
keyfile = <path to keystonekey.pem>
|
||||
ca_certs = <path to ca.pem>
|
||||
cert_required = True</computeroutput></screen>
|
||||
cert_required = True</programlisting>
|
||||
<itemizedlist><title>Options</title>
|
||||
<listitem>
|
||||
<para><literal>enable</literal>. True enables SSL.
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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 |
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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><cidr> 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>
|
||||
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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 <user-data-file></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>
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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 <auth-user-name>]
|
||||
|
@ -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 <auth-user-name>]
|
||||
|
@ -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
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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]
|
||||
|
@ -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>
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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>
|
||||
|
||||
|
@ -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]
|
||||
|
@ -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>
|
||||
|
Loading…
Reference in New Issue
Block a user