nova
Manage OpenStack compute instances
TLDR
List VMs on current tenant
List VMs of all tenants (admin user only)
Boot a VM on a specific host
Start a server
Stop a server
Attach a network interface to a specific VM
SYNOPSIS
nova [global-options] <subcommand> [subcommand-options] [arguments]
Examples:
nova list
nova boot --flavor m1.tiny --image ubuntu-18.04 --key-name mykey my-instance
nova show <instance_id>
PARAMETERS
--debug
Show debug output for the command execution, useful for troubleshooting API calls.
--os-auth-url <url>
Authentication URL for the OpenStack Identity service (Keystone). This is typically set via environment variables.
--os-username <username>
Username for authenticating with the OpenStack cloud. Commonly set via environment variables.
--os-password <password>
Password for the specified username. Also frequently managed through environment variables.
--os-project-name <name>
Project (formerly tenant) name for authentication. Usually sourced from an 'openrc' file or environment variables.
--os-region-name <name>
Name of the region to use, especially relevant in multi-region OpenStack deployments. Typically set via environment variables.
--version
Display the program's version number and exit.
-h, --help
Show a help message for the nova client itself, or for a specific subcommand if provided (e.g., nova help boot).
DESCRIPTION
The nova command is the legacy command-line interface (CLI) for interacting with OpenStack Compute, known as Nova. Nova is the core service responsible for provisioning and managing virtual machines (instances) within an OpenStack cloud environment. This powerful command allows cloud administrators and users to perform a wide range of operations, including launching new instances, listing available images and "flavors" (instance sizes), managing SSH keypairs for secure access, allocating floating IPs, and controlling security groups to define network access rules.
While the more recent openstack unified CLI is now the recommended tool for managing OpenStack services, the nova client remains widely used due to its specific focus on compute functionalities and familiarity among long-time OpenStack users. It provides a direct, scriptable way to automate cloud infrastructure management tasks, offering granular control over compute resources.
CAVEATS
The nova client is a command-line interface tool and requires an operational OpenStack cloud environment to interact with. It heavily relies on proper authentication credentials, typically sourced from an 'openrc' file or environment variables (e.g., OS_AUTH_URL, OS_USERNAME). As a legacy client, its development has largely ceased in favor of the unified openstack client. Consequently, some newer Nova API features or functionalities might not be fully supported by the nova client and may necessitate the use of the openstack client or direct API calls. Installation often involves Python's package manager, pip (e.g., pip install python-novaclient).
ENVIRONMENT VARIABLES
The nova command relies heavily on environment variables for configuration, particularly for authentication. Users typically source an 'openrc' file provided by their OpenStack cloud to set variables like OS_AUTH_URL, OS_USERNAME, OS_PASSWORD, OS_PROJECT_NAME, and OS_REGION_NAME. This streamlines authentication and allows commands to be executed without explicitly passing these parameters each time.
SUBCOMMANDS
The functionality of the nova client is organized into various subcommands, each performing a specific set of operations. Common subcommands include list (to list instances), boot (to launch a new instance), show (to display details of an instance), delete (to terminate an instance), flavor-list (to list instance sizes), image-list (to list available images), and keypair-list (to list SSH keypairs). Users can get a full list of subcommands by running nova help.
HISTORY
The nova client originated as part of the early development of OpenStack, specifically designed to interact with the Compute (Nova) service, which was one of the foundational components of the cloud platform. As OpenStack grew and diversified with numerous services, a need arose for a unified command-line interface. This led to the development of the openstack client, which aims to provide a single entry point for managing all OpenStack services.
While the openstack client is now the primary and recommended tool, the nova client persists due to its historical significance, established user base, and the fact that it still effectively performs its core compute management tasks. Its usage has shifted from primary interaction to more specialized or legacy scripting scenarios.
SEE ALSO
openstack(1), glance(1), neutron(1)