2
Copyright 2010-2011 United States Government as represented by the
3
Administrator of the National Aeronautics and Space Administration.
6
Licensed under the Apache License, Version 2.0 (the "License"); you may
7
not use this file except in compliance with the License. You may obtain
8
a copy of the License at
10
http://www.apache.org/licenses/LICENSE-2.0
12
Unless required by applicable law or agreed to in writing, software
13
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
14
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
15
License for the specific language governing permissions and limitations
21
Projects are isolated resource containers forming the principal organizational structure within Nova. They consist of a separate vlan, volumes, instances, images, keys, and users.
23
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.
25
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.
27
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::
29
nova-manage project create john_project john "This is a sample project"
31
You can add and remove users from projects with `project add` and `project remove`::
33
nova-manage project add john_project john
34
nova-manage project remove john_project john
41
Reformat command line app instructions for ``nova-manage`` using
42
``:command:``, ``:option:``, and ``.. program::``. (bug-947261)
44
Admins and Project Managers can use the 'nova-manage project' command to manage project resources:
46
* project add: Adds user to project
47
* arguments: project user
48
* project create: Creates a new project
49
* arguments: name project_manager [description]
50
* project delete: Deletes an existing project
51
* arguments: project_id
52
* project environment: Exports environment variables to an sourcable file
53
* arguments: project_id user_id [filename='novarc]
54
* project list: lists all projects
56
* project remove: Removes user from project
57
* arguments: project user
58
* project scrub: Deletes data associated with project
60
* project zipfile: Exports credentials for project to a zip file
61
* arguments: project_id user_id [filename='nova.zip]
65
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:
67
* Number of volumes which may be created
68
* Total size of all volumes within a project as measured in GB
69
* Number of instances which may be launched
70
* Number of processor cores which may be allocated
71
* Publicly accessible IP addresses
73
Use the following command to set quotas for a project
75
* project quota: Set or display quotas for project
77
* arguments: project_id [key] [value]