Jump to: navigation, search

NovaAdminAPI

Revision as of 19:49, 25 February 2011 by GlenCampbell (talk)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Summary

This document proposes an Administrator API for Nova. Whereas the public API is targeted at the users of the system (and is thus focused on terminal artifacts such as servers and images), the administration API (or "Admin API" for short) is expected to be used by system administrators. Specifically, the administration API provides functions that access the physical deployment of a cloud computing system and the associated features that might be used, for example, by an enterprise IT department or a cloud hosting provider such as Rackspace. This initial proposal, as one might expect, is heavily influenced by the needs of Rackspace, but the goal of this Nova effort is to separate those features that have a more general audience from those that are Rackspace-specific.

Initially, all features of the Admin API are implemented using the API Extensions mechanism; if the OpenStack community agrees upon the need for certain features, they will be migrated to the Nova Core. Other features, specific to Rackspace, will be left as custom extensions and maintained by Rackspace.

Because the Admin API provides functions at a lower logical level than the public API, the implementations of many of these features are dependent upon a specific hypervisor. As such, a secondary goal of the Admin API is to provide a generic mechanism to access those features, when possible, in a hypervisor-independent manner. This will allow tools (for example, a web-based administration tool) to work with multiple deployments of Nova.

Release Note

This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.

Rationale

User stories

Assumptions

Design

You can have subsections that better describe specific parts of the issue.

Implementation

This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like:

UI Changes

Should cover changes required to the UI, or specific UI that is required to implement this

Code Changes

Code changes should include an overview of what needs to change, and in some cases even the specific details.

Migration

Include:

  • data migration, if any
  • redirects from old URLs to new ones, if any
  • how users will be pointed to the new way of doing things, if necessary.

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 summarising what was discussed and note any options that were rejected.