Launch instancesInstances are virtual machines that run inside the
cloud.Before you can launch an instance, gather the following
parameters:The instance source, which is
an image or snapshot. Alternatively, you can boot from
a volume, which is block storage, to which you've
copied an image or snapshot.The image or
snapshot, which represents
the operating system.A name for your instance.
The flavor 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.User Data is a special key in the
metadata service that holds a file that cloud-aware
applications in the guest instance can access. For
example, the cloudinit system is an open-source package
from Ubuntu that is available on various Linux
distributions including Ubuntu, Fedora, and openSUSE
and that handles early initialization of a cloud
instance that uses user
data.Access and security credentials, which include one
or both of the following credentials:A keypair
for your instance, which are SSH credentials
that are injected into images when they are
launched. For this to work, the image must
contain the cloud-init
package. Create at least one keypair for each
project. If you already have generated a
keypair with an external tool, you can import
it into OpenStack. You can use the keypair for
multiple instances that belong to that
project.A security
group, which defines which
incoming network traffic is forwarded to
instances. Security groups hold a set of
firewall policies, known as security group
rules.If needed, you can assign a floating (public) IP address to a
running instance and attach a block storage device, or
volume, for persistent storage.After you gather the parameters you need to launch an
instance, you can launch it from an
image or a
volume.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.Gather parameters to launch an
instanceOn a shell, source the OpenStack RC file. See
.List the available flavors:$nova flavor-list+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+
| 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 |
+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+Note the ID of the flavor that you want to use
for your instance.List the available images:$nova image-list+--------------------------------------+---------------------------------+--------+--------+
| ID | Name | Status | Server |
+--------------------------------------+---------------------------------+--------+--------+
| 397e713c-b95b-4186-ad46-6126863ea0a9 | cirros-0.3.1-x86_64-uec | ACTIVE | |
| df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.1-x86_64-uec-kernel | ACTIVE | |
| 3cf852bd-2332-48f4-9ae4-7d926d50945e | cirros-0.3.1-x86_64-uec-ramdisk | ACTIVE | |
+--------------------------------------+---------------------------------+--------+--------+You can also filter the image list by using grep
to find a specific image, like this:$nova image-list | grep 'kernel'| df430cc2-3406-4061-b635-a51c16e488ac | cirros-0.3.1-x86_64-uec-kernel | ACTIVE | |Note the ID of the image that you want to boot
your instance from.List the available security groups:If you are an admin user, specify the
--all-tenants parameter
to list groups for all tenants.$nova secgroup-list --all-tenants+----+---------+-------------+----------------------------------+
| Id | Name | Description | Tenant_ID |
+----+---------+-------------+----------------------------------+
| 2 | default | default | 66265572db174a7aa66eba661f58eb9e |
| 1 | default | default | b70d90d65e464582b6b2161cf3603ced |
+----+---------+-------------+----------------------------------+If you have not created any security groups, you
can assign the instance to only the default
security group.You can also list rules for a specified security
group:$nova secgroup-list-rules defaultThis example modifies the default security group
to allow HTTP traffic on the instance by
permitting TCP traffic on Port 80.List the available keypairs.$nova keypair-listNote the name of the keypair that you use for
SSH access.Launch an instance from an imageNow you have all 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 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 --meta description="My
Server" parameter.You can pass user data in a local file at
instance launch by using the flag
--user-data
USER-DATA-FILE
parameter.$nova boot --flavor FLAVOR_ID --image IMAGE_ID --key_name KEY_NAME \
--user-data mydata.file --security_group SEC_GROUP NAME_FOR_INSTANCE \
--meta KEY=VALUE --meta
KEY=VALUE \
SERVER_NAMEDepending on the parameters that you provide,
the command returns a list of server
properties.A status of BUILD indicates
that the instance has started, but is not yet
online.A status of ACTIVE indicates
that the instance is active.+-------------------------------------+--------------------------------------+
| Property | Value |
+-------------------------------------+--------------------------------------+
| OS-EXT-STS:task_state | scheduling |
| image | cirros-0.3.1-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 | {} |
+-------------------------------------+--------------------------------------Copy the server ID value from the
id field in the output. You
use this ID to get details for or delete your
server.Copy the administrative password value from the
adminPass field. You use
this value to log into your server.Arbitrary local files can also be placed
into the instance file system at creation time
using the --file
<dst-path=src-path>
option. You may store up to 5 files. For
example, if you have a special authorized_keys
file named
special_authorized_keysfile
that you want to put on the instance rather
than using the regular ssh key injection, you
can use the following
command:$nova boot --image ubuntu-cloudimage --flavor 1 \
--file /root/.ssh/authorized_keys=special_authorized_keysfileCheck if the instance is online:$nova listThe list shows the ID, name, status, and private
(and if assigned, public) IP addresses for all
instances in the project that you belong
to:+--------------------------------------+----------------------+--------+------------+-------------+------------------+
| 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 |
+--------------------------------------+----------------------+--------+------------+-------------+------------------+If the status for the instance is ACTIVE, the
instance is online.To view the available options for the
nova list command, run the
following command:$nova help listIf you did not provide a keypair, security
groups, or rules, you can only access the instance
from inside the cloud through VNC. Even pinging
the instance is not possible.