Difference between revisions of "ManagementAPI"
Line 1: | Line 1: | ||
__NOTOC__ | __NOTOC__ | ||
− | * '''Launchpad Entry''': https://blueprints.launchpad.net/nova/+spec/management-api | + | * '''Launchpad Entry''': [https://blueprints.launchpad.net/nova/+spec/management-api Management API] |
* '''Created''': 02 April 2012 | * '''Created''': 02 April 2012 | ||
* '''Contributors''': Yehia Beyh, Lyle Wilkinson, Divakar Nandavar | * '''Contributors''': Yehia Beyh, Lyle Wilkinson, Divakar Nandavar | ||
Line 8: | Line 8: | ||
Provide a general management api for cloud administration applications. The api would include features also provided by nova-manage CLIs. Currently Openstack administration requires access to command lines for performing management operations. This hinders application developers' ability to create Openstack applications. | Provide a general management api for cloud administration applications. The api would include features also provided by nova-manage CLIs. Currently Openstack administration requires access to command lines for performing management operations. This hinders application developers' ability to create Openstack applications. | ||
− | The admin API proposal will compliment the proposed admin account actions [https://blueprints.launchpad.net/nova/+spec/admin-account-actions admin account action], the following is the description of the proposal: | + | The admin API proposal will compliment the proposed admin account actions [https://blueprints.launchpad.net/nova/+spec/admin-account-actions admin account action], the following is the description of the proposal: |
<pre><nowiki> | <pre><nowiki> |
Revision as of 15:15, 3 April 2012
- Launchpad Entry: Management API
- Created: 02 April 2012
- Contributors: Yehia Beyh, Lyle Wilkinson, Divakar Nandavar
Summary
Provide a general management api for cloud administration applications. The api would include features also provided by nova-manage CLIs. Currently Openstack administration requires access to command lines for performing management operations. This hinders application developers' ability to create Openstack applications.
The admin API proposal will compliment the proposed admin account actions admin account action, the following is the description of the proposal:
As a service provider, Rackspace needs to perform certain actions on a per-account basis. For example, an account needs to be suspended for violations of terms of service or non-payment. This specification is for a set of actions that can be performed on an account, which usually translates to actions performed on all the servers belonging to an account.
Release Note
See API descriptions for additional details.
Rationale
The lack of management API, administration is only performed with command lines. This hinders application developers' ability to improve the user experience in managing the openstack.
User stories
- As a cloud Administrator, I want to be able to use a Management API to standup a Controller, Compute, Network and Images
- As a Network integrator, I want to support adding new or modify existing network range
- As a Nova security Administrator, I want to configure users, projects, tenants, roles, quotas from a UI
Assumptions
TBD
Design
The Administration and management API provides
- REST APIs for programmatic access as an Nova extension API, the API includes POST/PUT/GET/DELETE operations.
Instance Type Management
Define or delete a new instance type
User/Role Management
user
add/remove/update/list
project
add/remove/update/list
role
add/remove/update/list
Service Management
service state Service list service describe service disable
Network managment
network add/modify/delete/list
Implementation
Architecture
attachment:TBD.gif
NOVA-MANAGE API Extensions
Implementation of Management APIs as Nova extensions would be based on the OpenStack defined API extension spec.
Sample extension API for "Network" is as below:
Verb | URI |
GET | /Manage/Network?name=network_type&Project=name&IPrange=int&Subnet=int |
GET | /Manage/Network/detail?name=network_type&Project=name&IPrange=int&Subnet=int |
GET | /Manage/Network/IPRange |
DELETE | /Manage/Network/id |
POST | /Manage/Network |
PUT | /Manage/Network/id |
Similarly other extensions to be designed.
Test/Demo Plan
This need not be added or completed until the specification is nearing beta.
Unresolved issues
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
BoF agenda and discussion
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarizing what was discussed and note any options that were rejected.
----