nova/doc/source/runnova/nova.manage.rst

7.0 KiB

The nova-manage command

Introduction

The nova-manage command is used to perform many essential functions for administration and ongoing maintenance of nova, such as user creation, vpn management, and much more.

The standard pattern for executing a nova-manage command is: nova-manage <category> <command> [<args>]

For example, to obtain a list of all projects: nova-manage project list

Run without arguments to see a list of available command categories: nova-manage

Categories are user, project, role, shell, vpn, and floating. Detailed descriptions are below.

You can also run with a category argument such as user to see a list of all commands in that category: nova-manage user

These sections describe the available categories and arguments for nova-manage.

Nova Db

nova-manage db version

Print the current database version.

nova-manage db sync

Sync the database up to the most recent version. This is the standard way to create the db as well.

Nova User

nova-manage user admin <username>

Create an admin user with the name <username>.

nova-manage user create <username>

Create a normal user with the name <username>.

nova-manage user delete <username>

Delete the user with the name <username>.

nova-manage user exports <username>

Outputs a list of access key and secret keys for user to the screen

nova-manage user list

Outputs a list of all the user names to the screen.

nova-manage user modify <accesskey> <secretkey> <admin?T/F>

Updates the indicated user keys, indicating with T or F if the user is an admin user. Leave any argument blank if you do not want to update it.

Nova Project

nova-manage project add <projectname> <username>

Add a nova project with the name <projectname> to the database that will be administered by the named user.

nova-manage project create <projectname> <projectmanager>

Create a new nova project with the name <projectname> (you still need to do nova-manage project add <projectname> to add it to the database). The <projectmanager> username is the administrator of the project.

nova-manage project delete <projectname>

Delete a nova project with the name <projectname>.

nova-manage project environment <projectname> <username>

Exports environment variables for the named project to a file named novarc.

nova-manage project list

Outputs a list of all the projects to the screen.

nova-manage project quota <projectname>

Outputs the size and specs of the project's instances including gigabytes, instances, floating IPs, volumes, and cores.

nova-manage project remove <projectname>

Deletes the project with the name <projectname>.

nova-manage project zipfile <projectname> <username> <directory for credentials>

Compresses all related files for a created project into a named zip file such as nova.zip.

Nova Role

nova-manage role <action> [<argument>] nova-manage role add <username> <rolename> <(optional) projectname>

Add a user to either a global or project-based role with the indicated <rolename> assigned to the named user. Role names can be one of the following five roles: admin, itsec, projectmanager, netadmin, developer. If you add the project name as the last argument then the role is assigned just for that project, otherwise the user is assigned the named role for all projects.

nova-manage role has <username> <projectname>

Checks the user or project and responds with True if the user has a global role with a particular project.

nova-manage role remove <username> <rolename>

Remove the indicated role from the user.

Nova Shell

nova-manage shell bpython

Starts a new bpython shell.

nova-manage shell ipython

Starts a new ipython shell.

nova-manage shell python

Starts a new python shell.

nova-manage shell run

Starts a new shell using python.

nova-manage shell script <path/scriptname>

Runs the named script from the specified path with flags set.

Nova VPN

nova-manage vpn list

Displays a list of projects, their IP prot numbers, and what state they're in.

nova-manage vpn run <projectname>

Starts the VPN for the named project.

nova-manage vpn spawn

Runs all VPNs.

Nova Floating IPs

nova-manage floating create <host> <ip_range>

Creates floating IP addresses for the named host by the given range.

nova-manage floating delete <ip_range>

Deletes floating IP addresses in the range given.

nova-manage floating list

Displays a list of all floating IP addresses.

Nova Images

nova-manage image image_register <path> <owner>

Registers an image with the image service.

nova-manage image kernel_register <path> <owner>

Registers a kernel with the image service.

nova-manage image ramdisk_register <path> <owner>

Registers a ramdisk with the image service.

nova-manage image all_register <image_path> <kernel_path> <ramdisk_path> <owner>

Registers an image kernel and ramdisk with the image service.

nova-manage image convert <directory>

Converts all images in directory from the old (Bexar) format to the new format.

Concept: Flags

python-gflags

Concept: Plugins

  • Managers/Drivers: utils.import_object from string flag
  • virt/connections: conditional loading from string flag
  • db: LazyPluggable via string flag
  • auth_manager: utils.import_class based on string flag
  • Volumes: moving to pluggable driver instead of manager
  • Network: pluggable managers
  • Compute: same driver used, but pluggable at connection

Concept: IPC/RPC

Rabbit is the main messaging queue, used for all communication between Nova components and it also does the remote procedure calls and inter-process communication.

Concept: Fakes

  • auth
  • ldap

Concept: Scheduler

  • simple
  • random

Concept: Security Groups

Security groups

Concept: Certificate Authority

Nova does a small amount of certificate management. These certificates are used for project vpns <../cloudpipe> and decrypting bundled images.

Concept: Images

  • launching
  • bundling