
Training labs parser will allow us to automatically parse RST code to BASH. This BASH code in turn will be invoked by install-guides for validating the install guides. To provide the correct information to the parser for generating BASH code, there are a few changes required to the RST syntax. Introduces the following changes to RST syntax: - `.. end` This tag provides information for the parser to stop extracting the given block which could be code, file injection or configuration file edit. - `.. endonly` This tag provides information for the parser with the correct distro-switch logic for identifying distro-specific code. For .. only:: tags, it is better to avoid nesting. If nesting is not avoidable then it is preferable to add the .. endonly tag to close the outer block immediately. - Extra new lines in code-blocks Some commands in the code-blocks provides the expected output of the given command. This is not a BASH command which we want to run but rather some visual niceness for the users. These new lines provides the parser information to identify the end of the command. This basic logic would be something similar to find '\r\n' which at least for python means new empty line. - `mysql>` Introducing this operator for mysql commands. This could potentially be changed to `pgsql>` or similar for other SQL type databases. This allows the parser to identify mysql commands and then run them in mysql instead of in 'sh' or 'bash'. - `.. path` Introducing this tag to provide the parser with the information with the path of the configuration file. Using the description text for the same is not reliable since the description text may not be consistent. This commit should ideally introduce all the syntax changes required for the parser to convert the code-blocks in here to BASH code. These changes should have no impact on the HTML output of the RST code. Change-Id: I47830b1bc61c8b1a0f3350932d15aa3ce88fa672
13 KiB
Launch an instance on the self-service network
Determine instance options
To launch an instance, you must at least specify the flavor, image name, network, security group, key, and instance name.
On the controller node, source the
demo
credentials to gain access to user-only CLI commands:$ . demo-openrc
A flavor specifies a virtual resource allocation profile which includes processor, memory, and storage.
List available flavors:
$ openstack flavor list +----+-----------+-------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +----+-----------+-------+------+-----------+-------+-----------+ | 1 | m1.tiny | 512 | 1 | 0 | 1 | True | | 2 | m1.small | 2048 | 20 | 0 | 1 | True | | 3 | m1.medium | 4096 | 40 | 0 | 2 | True | | 4 | m1.large | 8192 | 80 | 0 | 4 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | 8 | True | +----+-----------+-------+------+-----------+-------+-----------+
This instance uses the
m1.tiny
flavor. If you created the optionalm1.nano
flavor, use it instead of them1.tiny
flavor.Note
You can also reference a flavor by ID.
List available images:
$ openstack image list +--------------------------------------+--------+--------+ | ID | Name | Status | +--------------------------------------+--------+--------+ | 390eb5f7-8d49-41ec-95b7-68c0d5d54b34 | cirros | active | +--------------------------------------+--------+--------+
This instance uses the
cirros
image.List available networks:
$ openstack network list +--------------------------------------+-------------+--------------------------------------+ | ID | Name | Subnets | +--------------------------------------+-------------+--------------------------------------+ | 4716ddfe-6e60-40e7-b2a8-42e57bf3c31c | selfservice | 2112d5eb-f9d6-45fd-906e-7cabd38b7c7c | | b5b6993c-ddf9-40e7-91d0-86806a42edb8 | provider | 310911f6-acf0-4a47-824e-3032916582ff | +--------------------------------------+-------------+--------------------------------------+
This instance uses the
selfservice
self-service network. However, you must reference this network using the ID instead of the name.List available security groups:
$ openstack security group list +--------------------------------------+---------+------------------------+ | ID | Name | Description | +--------------------------------------+---------+------------------------+ | dd2b614c-3dad-48ed-958b-b155a3b38515 | default | Default security group | +--------------------------------------+---------+------------------------+
This instance uses the
default
security group.Launch the instance:
Replace
SELFSERVICE_NET_ID
with the ID of theselfservice
network.$ openstack server create --flavor m1.tiny --image cirros \ --nic net-id=SELFSERVICE_NET_ID --security-group default \ --key-name mykey selfservice-instance +--------------------------------------+---------------------------------------+ | Field | Value | +--------------------------------------+---------------------------------------+ | OS-DCF:diskConfig | MANUAL | | OS-EXT-AZ:availability_zone | | | OS-EXT-STS:power_state | 0 | | OS-EXT-STS:task_state | scheduling | | OS-EXT-STS:vm_state | building | | OS-SRV-USG:launched_at | None | | OS-SRV-USG:terminated_at | None | | accessIPv4 | | | accessIPv6 | | | addresses | | | adminPass | 7KTBYHSjEz7E | | config_drive | | | created | 2016-02-26T14:52:37Z | | flavor | m1.tiny (1) | | hostId | | | id | 113c5892-e58e-4093-88c7-e33f502eaaa4 | | image | cirros (390eb5f7-8d49-41ec-95b7-68c0d | | | 5d54b34) | | key_name | mykey | | name | selfservice-instance | | os-extended-volumes:volumes_attached | [] | | progress | 0 | | project_id | ed0b60bf607743088218b0a533d5943f | | properties | | | security_groups | [{u'name': u'default'}] | | status | BUILD | | updated | 2016-02-26T14:52:38Z | | user_id | 58126687cbcc4888bfa9ab73a2256f27 | +--------------------------------------+---------------------------------------+
Check the status of your instance:
$ openstack server list +--------------------------------------+----------------------+--------+---------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+----------------------+--------+---------------------------------+ | 113c5892-e58e-4093-88c7-e33f502eaaa4 | selfservice-instance | ACTIVE | selfservice=172.16.1.3 | | 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf | provider-instance | ACTIVE | provider=203.0.113.103 | +--------------------------------------+----------------------+--------+---------------------------------+
The status changes from
BUILD
toACTIVE
when the build process successfully completes.
Access the instance using a virtual console
Obtain a
Virtual Network Computing (VNC)
session URL for your instance and access it from a web browser:$ openstack console url show selfservice-instance +-------+---------------------------------------------------------------------------------+ | Field | Value | +-------+---------------------------------------------------------------------------------+ | type | novnc | | url | http://controller:6080/vnc_auto.html?token=5eeccb47-525c-4918-ac2a-3ad1e9f1f493 | +-------+---------------------------------------------------------------------------------+
Note
If your web browser runs on a host that cannot resolve the
controller
host name, you can replacecontroller
with the IP address of the management interface on your controller node.The CirrOS image includes conventional user name/password authentication and provides these credentials at the login prompt. After logging into CirrOS, we recommend that you verify network connectivity using
ping
.Verify access to the self-service network gateway:
$ ping -c 4 172.16.1.1 PING 172.16.1.1 (172.16.1.1) 56(84) bytes of data. 64 bytes from 172.16.1.1: icmp_req=1 ttl=64 time=0.357 ms 64 bytes from 172.16.1.1: icmp_req=2 ttl=64 time=0.473 ms 64 bytes from 172.16.1.1: icmp_req=3 ttl=64 time=0.504 ms 64 bytes from 172.16.1.1: icmp_req=4 ttl=64 time=0.470 ms --- 172.16.1.1 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 2998ms rtt min/avg/max/mdev = 0.357/0.451/0.504/0.055 ms
Verify access to the internet:
$ ping -c 4 openstack.org PING openstack.org (174.143.194.225) 56(84) bytes of data. 64 bytes from 174.143.194.225: icmp_req=1 ttl=53 time=17.4 ms 64 bytes from 174.143.194.225: icmp_req=2 ttl=53 time=17.5 ms 64 bytes from 174.143.194.225: icmp_req=3 ttl=53 time=17.7 ms 64 bytes from 174.143.194.225: icmp_req=4 ttl=53 time=17.5 ms --- openstack.org ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3003ms rtt min/avg/max/mdev = 17.431/17.575/17.734/0.143 ms
Access the instance remotely
Create a
floating IP address
on the provider virtual network:$ openstack ip floating create provider +-------------+--------------------------------------+ | Field | Value | +-------------+--------------------------------------+ | fixed_ip | None | | id | 3d05a9b1-b1af-4884-be1c-833a69744449 | | instance_id | None | | ip | 203.0.113.104 | | pool | provider | +-------------+--------------------------------------+
Associate the floating IP address with the instance:
$ openstack ip floating add 203.0.113.104 selfservice-instance
Note
This command provides no output.
Check the status of your floating IP address:
$ openstack server list +--------------------------------------+----------------------+--------+---------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+----------------------+--------+---------------------------------------+ | 113c5892-e58e-4093-88c7-e33f502eaaa4 | selfservice-instance | ACTIVE | selfservice=172.16.1.3, 203.0.113.104 | | 181c52ba-aebc-4c32-a97d-2e8e82e4eaaf | provider-instance | ACTIVE | provider=203.0.113.103 | +--------------------------------------+----------------------+--------+---------------------------------------+
Verify connectivity to the instance via floating IP address from the controller node or any host on the provider physical network:
$ ping -c 4 203.0.113.104 PING 203.0.113.104 (203.0.113.104) 56(84) bytes of data. 64 bytes from 203.0.113.104: icmp_req=1 ttl=63 time=3.18 ms 64 bytes from 203.0.113.104: icmp_req=2 ttl=63 time=0.981 ms 64 bytes from 203.0.113.104: icmp_req=3 ttl=63 time=1.06 ms 64 bytes from 203.0.113.104: icmp_req=4 ttl=63 time=0.929 ms --- 203.0.113.104 ping statistics --- 4 packets transmitted, 4 received, 0% packet loss, time 3002ms rtt min/avg/max/mdev = 0.929/1.539/3.183/0.951 ms
Access your instance using SSH from the controller node or any host on the provider physical network:
$ ssh cirros@203.0.113.104 The authenticity of host '203.0.113.104 (203.0.113.104)' can't be established. RSA key fingerprint is ed:05:e9:e7:52:a0:ff:83:68:94:c7:d1:f2:f8:e2:e9. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '203.0.113.104' (RSA) to the list of known hosts. $
If your instance does not launch or seem to work as you expect, see
the Instance
Boot Failures section in OpenStack Operations Guide for more
information or use one of the many other options <common/app-support>
to seek
assistance. We want your first installation to work!
Return to Launch an instance <launch-instance-complete>
.