Now that we have a valid user and virtual disk image, we are ready to launch our first Nova instance. But before we start spinning up instances, we need to make a keypair so that we will be able to log in to the new instance via ssh. To create your keypair, use the euca-add-keypair tool:
# euca-add-keypair ken > ken.pem # chmod 600 ken.pem
Now that we have the key, let’s launch an instance. Launching an instance via the EC2 API requires three arguments: your keypair name (not the filename “ken.pem”, just “ken”), the size (although it will default to “m1.tiny”), and the machine image name (we’ll use our previously uploaded “ami-6683ba18” image):
# euca-run-instances -k ken -t m1.tiny ami-6683ba18 RESERVATION r-1pkchwbm book default INSTANCE i-00000001 ami-6683ba18 scheduling ken (book, None) 0 m1.tiny 2011-07-04T20:28:51Z unknown zone
As you can see from the output from euca-run-instances, our instance has been
launched and it is currently in the 'scheduling' state. If we wait a few minutes and
everything goes well, it should progress to the 'running' state. We can check on its progress
through the EC2 API with the euca-describe-instances command:
# euca-describe-instances RESERVATION r-1pkchwbm book default INSTANCE i-00000001 ami-6683ba18 10.0.0.2 10.0.0.2 running ken (book, nova-controller) 0 m1.tiny 2011-07-04T20:28:51Z nova
We can also use the nova utility
to make the same query through the OpenStack API. With this tool, you are
looking for the 'ACTIVE' status:
# nova list +----+----------+--------+---------------+------------+ | ID | Name | Status | Public IP | Private IP | +----+----------+--------+---------------+------------+ | 1 | Server 1 | ACTIVE | | 10.0.0.2 | +----+----------+--------+---------------+------------+
If your instance never makes it to 'ACTIVE' status or 'running' state after 10 minutes, something has
mostly likely gone awry. Check the your logs (in this order) for
nova-api, nova-compute, nova-network, and then nova-scheduler.