This article discusses several of the commands that can be run against Cloud Servers using python-novaclient.
We'll assume you've run through the installation and the client is working with your Cloud Servers account. If not, see the previous articles in this series for installation instructions.
The first, and possibly most important, command to know about is the "help" command. Running "help" by itself will give a list of available commands:
You can get further help on each command by adding its name after "nova help". For example, to see the syntax for the command that creates a server, run:
nova help boot
Note that not every command in the list will work with Cloud Servers. The nova client is written for use with OpenStack, not for the Rackspace Cloud specifically. Thus, some of the commands refer to operations that haven't been implemented on Cloud Servers yet, while others are there to manage a full OpenStack installation.
We’ll walk through the more common operations that will work with Rackspace Cloud Servers and how to use them.
If you want to refer to a server or image by name and the name has a space in it, remember to put the name in quotes so the client knows it’s a single argument.
These are commands used for most day-to-day operations with Cloud Servers.
The "list" command returns a list of the servers on your account. Just "list" by itself will show you everything, while options are available to limit the list by a range of IP addresses or to show you servers with a particular status.
The output shows the server’s unique ID in the first column, then the server name, then the server status, and the final column shows the network addresses associated with the server.
nova list --status active
The "image-create" command will take a snapshot of a server. The first argument the command takes is the name or ID of the server, and the second argument is the name you want assigned to the new snapshot.
nova image-create servername backupname
The "image-list" command displays a list of images available for use when creating a server. You'll see both Rackspace-built images and images you've created yourself with "image-create".
The format is similar to a server list command. The leftmost column shows the image ID, the next column shows the image name, then the image status, and finally the ID of the server that was used as the source of the snapshot (for images you create yourself).
The "flavor-list" command displays a list of available server flavors. A "flavor" describes the memory, disk space, and CPUs that will be allocated to the server.
The first column shows the flavor ID, the next column is the flavor name, next is the memory allocation (in megabytes), next is the swap allocation (if any, also in megabytes), then the disk space allocated to the server (in gigabytes), then the number of virtual CPUs for the instance, and then a network throughput cap factor associated with the flavor.
To create a new Cloud Server you use the "boot" command. At its simplest, you tell the boot command what flavor to use with the "-flavor" option, what image to use as the base with the "-image" option, and then include the name of the server you're creating as an argument for the command.
You can see a list of flavors with the "flavor-list" command and a list of images with the "image-list" command. You refer to a flavor or image using its ID.
The output of the boot command will list data about the new server, including the root or administrator password.
nova boot --flavor 1 --image 758d32fe-9f2c-470a-a082-ba6832a06431 servername
The "reboot" command will tell a server to reboot, taking the name or ID of the target server as its argument. By default the server will perform a "soft reboot", where the OS is told to gracefully reboot the server. You can cause a "hard reboot" (like switching the power off then on again) with the "-hard" option.
nova reboot --hard servername
The "delete" command will delete a server, taking the name or ID of the server as its argument. Use this command with caution.
nova delete servername
The "image-delete" command will delete an image, taking the name or ID of the image as its argument. Use this command with caution too.
nova image-delete imagename
These are commands that are also useful, but aren’t necessarily used as often as that first batch.
The “show” command will return data about a server - its flavor, the image it was built from, its network addresses, and other details.
nova show servername
The "image-show" command returns data about an image, which you can refer to by name or by ID in the command. The data includes the date the image was created and the minimum disk space required for a server built from the image.
nova image-show "CentOS 6.0"
Use the "resize" command to switch a server to another flavor. When you call the command the first argument is the server name or ID and the second argument will be the flavor name or ID.
Please note: nova resize will not work for Performance Cloud Servers or standard servers with manual disk allocation enabled. For more information on changing the size of a Performance Cloud Server, see Changing the Size of Your Performance Cloud Server.
A server cannot be resized to a smaller flavor if it has more disk space allocated to it than would be allowed in the smaller flavor.
nova resize servername "512MB instance"
After a resize completes it has to be confirmed as successful before the resize becomes permanent. Use the "resize-confirm" command with a server name or ID as its argument to apply that confirmation.
nova resize-confirm servername
After a resize completes you may discover a problem with the server that indicates the resize introduced a problem. Rather than confirming the resize, in this case you can send the "resize-revert" command to roll the server back to its original flavor.
nova resize-revert servername
The "rebuild" command will take an existing server and rebuild it using an image. The first argument to the command is the server name or ID and the second argument is the name or ID of the image to be used.
You can optionally include the “–rebuild_password” option to set a root password for the rebuilt server (instead of having one randomly generated).
nova rebuild --rebuild_password PASSWORD servername "Fedora 16"
The "rename" command renames a server. The first argument is the server's current name or its ID. The second argument is the new name.
nova rename servername newname
The "rescue" command will put a server into rescue mode, allowing you to access and modify the instance's file system while the server is inactive. The output of the command is the root password used by the rescue instance.
nova rescue servername
Use the “unrescue” command to take a server out of rescue mode and cause it to boot normally.
nova unrescue servername
Change the root password for an instance using the "root-password" command. Use the server name as the command's argument, then you'll be asked to enter the new password.
nova root-password servername
Use the "meta" command to set or delete metadata on a server. The metadata is in "key=value" form. You can view the metadata set on a server with the "show" command.
The first argument is the name or ID of the server, the second argument specifies the action (either “set” or “delete”), and the third argument is the keypair defining the metadata.
nova meta servername set "role=development"
Use the "image-meta" command to set or delete metadata on an image. The metadata is in "key=value" form. You can view the metadata set on an image with the "image-show" command.
The first argument is the name or ID of the image, the second argument specifies the action (either “set” or “delete”), and the third argument is the keypair defining the metadata.
nova image-meta imagename set "role=development"
The "absolute-limits" command will output limits set on your account. The limits can include the maximum number of metadata pairs you can associate with an image or server, the maximum number and size of "personalities" (files) you can install to a server when it's created, the maximum number of servers allowed on your account, and the maximum amount of memory that can be allocated in total to all the servers on your account.
These commands should let you perform most of the basic operations, however. Remember that you can see a full list, or get more details on a command, by using "nova help".
© 2011-2013 Rackspace US, Inc.
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License