openstack-manuals/doc/common/section_cli_nova_boot.xml
Karin Levenstein b2c7f2864c bk and ch fixes: edits up to cli_nova_boot, removed excess info
- excess removed from cli_version
- removed redundant section from ch_cli

Change-Id: I31b5c49e007ec2ff5e58b964c8b32dbcfa7cab32
2014-04-21 12:54:30 -05:00

278 lines
18 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<section xmlns="http://docbook.org/ns/docbook"
xmlns:xi="http://www.w3.org/2001/XInclude"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="cli_launch_instances">
<title wordsize="20">Launch instances</title>
<para>Instances are virtual machines that run inside the
cloud.</para>
<para>Before you can launch an instance, gather the following
parameters:</para>
<itemizedlist xml:id="instance_parameters">
<listitem>
<para>The <guilabel>instance source</guilabel>. This can be an
image, a snapshot, or a block storage volume that contains an
image or snapshot.</para>
</listitem>
<listitem>
<para>A <guilabel>name</guilabel> for your instance.
</para>
</listitem>
<listitem>
<para>The <emphasis role="bold">flavor</emphasis> for your instance,
which defines the compute, memory, and storage capacity of nova
computing instances. A flavor is an available hardware
configuration for a server. It defines the "size" of a virtual
server that can be launched.</para>
</listitem>
<listitem>
<para>Any <emphasis role="bold">user data</emphasis> files: A user
data file is a special key in the metadata service that holds a
file that cloud-aware applications in the guest instance can
access. For example, one application that uses user data is the
<link
xlink:href="https://help.ubuntu.com/community/CloudInit"
>cloud-init</link> system, which is an open-source package
from Ubuntu that is available on various Linux distributions and
which handles early initialization of a cloud instance.</para>
</listitem>
<listitem>
<para>Access and security credentials, which include one
or both of the following credentials:</para>
<itemizedlist>
<listitem>
<para>A <emphasis role="bold">key pair</emphasis> for your
instance, which are SSH credentials that are injected
into images when they are launched. For the key pair to
be successfully injected, the image must contain the
<literal>cloud-init</literal> package. Create at
least one key pair for each project. If you already have
generated a key pair with an external tool, you can
import it into OpenStack. You can use the key pair for
multiple instances that belong to that project.</para>
</listitem>
<listitem>
<para>A <emphasis role="bold">security
group</emphasis>, which defines which
incoming network traffic is forwarded to
instances. Security groups hold a set of
firewall policies, known as <emphasis
role="italic">security group
rules</emphasis>.</para>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<para>If needed, you can assign a <emphasis role="bold">floating
(public) IP address</emphasis> to a running instance.
</para>
</listitem>
<listitem>
<para>You can also attach a block storage device, or <emphasis
role="bold">volume</emphasis>, for persistent
storage.</para>
</listitem>
</itemizedlist><note>
<para>Instances that use the default security group cannot,
by default, be accessed from any IP address outside of
the cloud. If you want those IP addresses to access the
instances, you must modify the rules for the default
security group.</para>
<para>You can also assign a floating IP address to a running
instance to make it accessible from outside the cloud.
See <xref linkend="manage_ip_addresses"/>.</para>
</note>
<para>After you gather the parameters that you need to launch an instance,
you can launch it from an <link linkend="launch_from_image">image</link>
or a <link linkend="boot_from_volume">volume</link>. You can launch an
instance directly from one of the available OpenStack images or from an
image that you have copied to a persistent volume. The OpenStack Image
Service provides a pool of images that are accessible to members of
different projects.</para>
<?hard-pagebreak?>
<section xml:id="gather_parms">
<title wordsize="20">Gather parameters to launch an
instance</title>
<para>
Before you begin, source the OpenStack RC file.</para>
<procedure>
<step>
<para>List the available flavors and note the ID of the flavor
that you want to use for your instance.</para>
<screen><prompt>$</prompt> <userinput>nova flavor-list</userinput></screen>
<screen><?db-font-size 55%?><computeroutput>+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 1 | m1.tiny | 512 | 0 | 0 | | 1 | 1.0 | True |
| 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True |
| 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True |
| 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True |
| 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+</computeroutput></screen>
</step>
<step>
<para>List the available images and note the ID of the image
from which you want to boot your instance.</para>
<screen><prompt>$</prompt> <userinput>nova image-list</userinput></screen>
<screen><?db-font-size 55%?><computeroutput>+--------------------------------------+---------------------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+---------------------------------+--------+--------+
| 397e713c-b95b-4186-ad46-6126863ea0a9 | cirros-0.3.2-x86_64-uec | ACTIVE | |
| df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.2-x86_64-uec-kernel | ACTIVE | |
| 3cf852bd-2332-48f4-9ae4-7d926d50945e | cirros-0.3.2-x86_64-uec-ramdisk | ACTIVE | |
+--------------------------------------+---------------------------------+--------+--------+</computeroutput></screen>
<para>You can also filter the image list by using
<command>grep</command> to find a specific image, as
follows:</para>
<screen><prompt>$</prompt> <userinput>nova image-list | grep 'kernel'</userinput></screen>
<screen><?db-font-size 55%?><computeroutput>| df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.2-x86_64-uec-kernel | ACTIVE | |</computeroutput></screen>
</step>
<step>
<para>List the available security groups and note the ID of the
security group that you want to use for your
instance.</para>
<note>
<para>If you are an admin user, specify the
<option>--all-tenants</option> parameter
to list groups for all tenants.</para>
</note>
<screen><prompt>$</prompt> <userinput>nova secgroup-list --all-tenants</userinput></screen>
<screen><?db-font-size 65%?><computeroutput>+----+---------+-------------+----------------------------------+
| Id | Name | Description | Tenant_ID |
+----+---------+-------------+----------------------------------+
| 2 | default | default | 66265572db174a7aa66eba661f58eb9e |
| 1 | default | default | b70d90d65e464582b6b2161cf3603ced |
+----+---------+-------------+----------------------------------+</computeroutput></screen>
<para>If you have not created any security groups, you
can assign the instance to only the default
security group.</para>
<para>You can view rules for a specified security group:</para>
<screen><prompt>$</prompt> <userinput>nova secgroup-list-rules default</userinput> </screen>
</step>
<step>
<para>List the available key pairs and note the name of the key
pair that you use for SSH access.</para>
<screen><prompt>$</prompt> <userinput>nova keypair-list</userinput></screen>
</step>
</procedure>
</section>
<?hard-pagebreak?>
<section xml:id="launch_from_image">
<title wordsize="20">Launch an instance from an image</title>
<procedure>
<step>
<para>After you have all the parameters required to launch an
instance, run the following command and specify the server
name, flavor ID, and image ID. Optionally, you can provide a
key name for access control and a security group for
security. You can also include metadata key and value pairs.
For example, you can add a description for your server by
providing the <parameter>--meta description="My
Server"</parameter> parameter.</para>
<para>You can pass user data in a local file at instance launch
by using the <parameter>--user-data
<replaceable>USER-DATA-FILE</replaceable></parameter>
parameter.</para>
<screen><prompt>$</prompt> <userinput>nova boot --flavor <replaceable>FLAVOR_ID</replaceable> --image <replaceable>IMAGE_ID</replaceable> --key-name <replaceable>KEY_NAME</replaceable> \
--user-data <replaceable>USER_DATA_FILE</replaceable> --security-groups <replaceable>SEC_GROUP</replaceable> --meta <replaceable>KEY=VALUE</replaceable> \
<replaceable>INSTANCE_NAME</replaceable></userinput></screen>
<para>The following example shows a the command for launching an
instance called <literal>MyCirrosServer</literal> with the
<literal>m1.small</literal> flavor (ID of
<literal>1</literal>),
<literal>cirros-0.3.2-x86_64-uec</literal> image (ID
of
<literal>397e713c-b95b-4186-ad46-6126863ea0a9</literal>),
the <literal>default</literal> security group, the
<literal>KeyPair01</literal> key, and a user data file
called <filename>cloudinit.file</filename>.</para>
<screen><prompt>$</prompt> <userinput>nova boot --flavor 1 --image 397e713c-b95b-4186-ad46-6126863ea0a9 \
--security-groups default --key-name KeyPair01 --user-data cloudinit.file \
<replaceable>myCirrosServer</replaceable></userinput></screen>
<para>Depending on the parameters that you provide,
the command returns a list of server
properties.</para>
<para>A status of <literal>BUILD</literal> indicates
that the instance has started, but is not yet
online.</para>
<para>A status of <literal>ACTIVE</literal> indicates
that the instance is active.</para>
<screen><?db-font-size 50%?><computeroutput>+-------------------------------------+--------------------------------------+
| Property | Value |
+-------------------------------------+--------------------------------------+
| OS-EXT-STS:task_state | scheduling |
| image | cirros-0.3.2-x86_64-uec |
| OS-EXT-STS:vm_state | building |
| OS-EXT-SRV-ATTR:instance_name | instance-00000002 |
| flavor | m1.small |
| id | b3cdc6c0-85a7-4904-ae85-71918f734048 |
| security_groups | [{u'name': u'default'}] |
| user_id | 376744b5910b4b4da7d8e6cb483b06a8 |
| OS-DCF:diskConfig | MANUAL |
| accessIPv4 | |
| accessIPv6 | |
| progress | 0 |
| OS-EXT-STS:power_state | 0 |
| OS-EXT-AZ:availability_zone | nova |
| config_drive | |
| status | BUILD |
| updated | 2013-07-16T16:25:34Z |
| hostId | |
| OS-EXT-SRV-ATTR:host | None |
| key_name | None |
| OS-EXT-SRV-ATTR:hypervisor_hostname | None |
| name | myCirrosServer |
| adminPass | tVs5pL8HcPGw |
| tenant_id | 66265572db174a7aa66eba661f58eb9e |
| created | 2013-07-16T16:25:34Z |
| metadata | {u'KEY': u'VALUE'} |
+-------------------------------------+--------------------------------------+</computeroutput></screen>
<para>Copy the server ID value from the
<literal>id</literal> field in the output. You
use this ID to get details for or delete your
server.</para>
<para>Copy the administrative password value from the
<literal>adminPass</literal> field. You use this value
to log in to your server.</para>
<note>
<para>You can also place arbitrary local files into the
instance file system at creation time by using the
<option>--file &lt;dst-path=src-path&gt;</option>
option. You can store up to five files. For example, if
you have a special authorized keys file named
<filename>special_authorized_keysfile</filename>
that you want to put on the instance rather than using
the regular SSH key injection, you can use the
<option>--file</option> option as shown in the
following
example:<screen><prompt>$</prompt> <userinput><?db-font-size 75%?>nova boot --image ubuntu-cloudimage --flavor 1 vm-name \
--file /root/.ssh/authorized_keys=special_authorized_keysfile</userinput></screen></para>
</note>
</step>
<step>
<para>Check if the instance is online:</para>
<screen><prompt>$</prompt> <userinput><?db-font-size 75%?>nova list</userinput></screen>
<para>The list shows the ID, name, status, and private (and if
assigned, public) IP addresses for all instances in the
project to which you belong:</para>
<screen><?db-font-size 50%?><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>If the status for the instance is ACTIVE, the
instance is online.</para>
<para>To view the available options for the
<command>nova list</command> command, run the
following command:</para>
<screen><prompt>$</prompt> <userinput><?db-font-size 75%?>nova help list</userinput></screen>
</step>
</procedure>
<note><para>If you did not provide a key pair, security groups, or rules, you can
access the instance only from inside the cloud through VNC. Even
pinging the instance is not possible.</para></note>
</section><?hard-pagebreak?>
<xi:include href="section_cli_nova_boot_from_volume.xml"/>
</section>