nova/doc/source/runnova/managing.projects.rst
2011-02-21 14:30:20 -06:00

3.3 KiB

Managing Projects

Projects are isolated resource containers forming the principal organizational structure within Nova. They consist of a separate vlan, volumes, instances, images, keys, and users.

Although the original ec2 api only supports users, nova adds the concept of projects. A user can specify which project he or she wishes to use by appending :project_id to his or her access key. If no project is specified in the api request, nova will attempt to use a project with the same id as the user.

The api will return NotAuthorized if a normal user attempts to make requests for a project that he or she is not a member of. Note that admins or users with special admin roles skip this check and can make requests for any project.

To create a project, use the project create command of nova-manage. The syntax is nova-manage project create projectname manager_id [description] You must specify a projectname and a manager_id. For example::

nova-manage project create john_project john "This is a sample project"

You can add and remove users from projects with project add and `project remove`::

nova-manage project add john_project john nova-manage project remove john_project john

Project Commands

Admins and Project Managers can use the 'nova-manage project' command to manage project resources:

  • project add: Adds user to project
    • arguments: project user
  • project create: Creates a new project
    • arguments: name project_manager [description]
  • project delete: Deletes an existing project
    • arguments: project_id
  • project environment: Exports environment variables to an sourcable file
    • arguments: project_id user_id [filename='novarc]
  • project list: lists all projects
    • arguments: none
  • project remove: Removes user from project
    • arguments: project user
  • project scrub: Deletes data associated with project
    • arguments: project
  • project zipfile: Exports credentials for project to a zip file
    • arguments: project_id user_id [filename='nova.zip]

Setting Quotas

Nova utilizes a quota system at the project level to control resource consumption across available hardware resources. Current quota controls are available to limit the:

  • Number of volumes which may be created
  • Total size of all volumes within a project as measured in GB
  • Number of instances which may be launched
  • Number of processor cores which may be allocated
  • Publicly accessible IP addresses

Use the following command to set quotas for a project * project quota: Set or display quotas for project * arguments: project_id [key] [value]