18 Commits

Author SHA1 Message Date
Jenkins
a88152a476 Merge "Cells: Add cells API extension" 2013-01-15 21:39:16 +00:00
Chris Behrens
6b4ad2d7d2 Cells: Add cells API extension
Enables cells-related functionality such as adding neighbor cells,
listing neighbor cells, and showing the capabilities of the local cell.

Implements blueprint nova-compute-cells

DocImpact

Change-Id: Iacc1e68721a7867aeaf233903cbe6d18f09ad96e
2013-01-15 01:22:35 +00:00
Matt Dietz
382435275e Renames the new os-networks extension
Merging the new os-networks extension upstream broke what was considered
a 'released' extension. This patch returns everything to normal and
renames the os-networks extension to os-tenant-networks

DocImpact

Implements: blueprint tenant-networks

Change-Id: I04b17d08c5760fd73736124b36cab0d383767020
2013-01-15 00:48:32 +00:00
Sean Dague
5fca1d9e97 fix new N402 errors
fix the N402 errors that have slipped in in the last 48 hrs since
starting this patch series.

fix an N401 error that our scanner current can't find because it
only looks for doc strings on classes and defs.

this is the xeno's paradox of patch series, but we're getting close.

Change-Id: I4a763bb4c812335d853eae05c72464f18ab93297
2013-01-10 08:57:09 -05:00
Matt Dietz
129fd64ef8 Adds a new tenant-centric network extension
Implements: blueprint tenant-networks

Adds a new API extension that supports a more tenant-centric model for
interacting with isolated networks. Additionally, the patch renames the
existing networks extension as os-admin-networks to more fully fit the
self-described implementation. Two new novaclient extensions and a
novaclient change accompany this patch.

DocImpact

Change-Id: Ib90a65c0a92445f86e930fab88ab4495aefff7c7
2013-01-08 17:02:20 +00:00
Sean Dague
f20c3a4ea5 Fix N402 for nova/api
Fix N402 errors (single line docstring should end in a period)
for nova/api, part of a larger attempt to stop ignoring our own
hacking.py tests.

Fix tests that look at docs in extensions

Change-Id: I89d89d1fcf37c4e7740c36375da4c751d1b621ed
2013-01-08 23:40:13 -05:00
Vishvananda Ishaya
285994be59 Add api extension to get and reset password
Password is stored in system_instance_metadata as four items with the
keys 'password_0' through 'password_3'. The extension adds a resource
endpoint with two methods:

GET v2/servers/<uuid>/os-server-password  # get_password
DELETE v2/servers/<uuid>/os-server-password # reset_password

get_password retuns:

JSON: {"password": "xxx"}
XML: <?xml version='1.0' encoding='UTF-8'?><password>xxx</password>

Note that this is intended to be an encrypted password set by the
guest. Includes api tests for json and xml. Also includes api samples.

Part of blueprint get-password

Change-Id: I6c03f9c3bc8a2c70403bbb3e57917ab9522d75bd
2013-01-07 15:35:45 -08:00
Jason Kölker
b3bbd09131 Add extension to allow hiding of addresses
* Servers in certain states will have network_info but it may change,
  (eg. rescheduled build on another host). The extension allows the
  operator to hide the address information in those states
* Fixes bug LP 1089092

Change-Id: Ie843e34a41c77903b201b45c5b67a6f75334cb5e
2012-12-20 15:43:15 -06:00
Chris Yeoh
37d42caeab Add more association support to network API
Adds API support to:
- Disassociate only host from network
- Disassociate only project from network
- Associate network with host (project already supported)

New functionality is added to a new extension networks_associate,
but the original networks extension is modified to allow networks_associate
to extend how it needs to. The original behavior of the networks extension is
preserved (no new functionality, nor change in existing behavior) in
terms of the API presented.

Bumps RPC API version for network RPC server version in order add
the associate function which allows to both associate and disassociate
a network with a host and or tenant. Has overlap with disassociate
and add_network_to_project but these are kept for backwards compatibility

DocImpact
Implmenents: blueprint apis-for-nova-manage
Change-Id: I78fd76e0696d1c872646355ab04d32f051551def
2012-12-17 17:26:03 +10:30
Jenkins
1f024f55e1 Merge "Add coverage extension to nova API." 2012-12-11 21:31:17 +00:00
Matthew Treinish
2ec79220e1 Add coverage extension to nova API.
This adds a new extension to nova API. It allows for internal use of
Ned Batchelder's coverage_ module. (what is used for the nosecoverage
plugin)

The api allows for coverage to be enabled and a report to be output to
a file with API calls. The intended use of this is for instrumenting
client based tests like Tempest. Coverage on tempest will not give
information regarding how much of nova is covered.

Implements: blueprint coverage-extension
Change-Id: I47497f5be3fd5956250f2dcd1630c86c72725ce8
Signed-off-by: Matthew Treinish <treinish@linux.vnet.ibm.com>
2012-12-11 13:24:17 -05:00
ivan-zhu
82042ac276 Add agent build API support for list/create/delete/modify agent build
This adds an extension that provides REST API for list/create/delete/
modify agent build. The interface is accessed via

GET /v2/{tenant_id}/os-agents
PUT /v2/{tenant_id}/os-agents/id
POST /v2/{tenant_id}/os-agents
DELETE /v2/{tenant_id}/os-agents

And this patch also create tests to get agent build API Samples.
DocImpact
Implements one workitem of blueprint apis-for-nova-manage

The agent is talking about guest agent.The host can use this for
things like accessing files on the disk, configuring networking,
or running other applications/scripts in the guest while it is
running. Typically this uses some hypervisor-specific transport
to avoid being dependent on a working network configuration.
Xen, VMware, and VirtualBox have guest agents,although the Xen
driver is the only one with an implementation for managing them
in openstack. KVM doesn't really have a concept of a guest agent
(although one could be written).

You can find the design of agent update in this link:
http://wiki.openstack.org/AgentUpdate
and find the code in nova.virt.xenapi.vmops.VMOps._boot_new_instance.
In this design We need update agent in guest from host, so we need
some interfaces to update the agent info in host.

You can find more information about the design of the GuestAgent in
the following link:
http://wiki.openstack.org/GuestAgent
http://wiki.openstack.org/GuestAgentXenStoreCommunication

DocImpact
Change-Id: I5830388a894efce5b13680fc6916e0cd81a16624
2012-12-05 16:39:48 +08:00
Chris Yeoh
0bf27df376 Add vpn ip/port setting support for CloudPipe
This extends the cloudpipe REST API to allow the setting of the IP and port
for the VPN for each network in the project

/v2/{tenant_id/os-cloudpipe/configure-project # POST ip/port

This forms part of the work to provide APIs for functionality currently
implemented by nova-manage that needs direct db access so nova-manage
can eventually be removed

DocImpact
Implements: blueprint apis-for-nova-manage

Change-Id: I416c0bfbe1c88470638f1c2004d1dcaeb51a6c41
2012-11-30 19:24:32 +10:30
Dan Smith
57c1cff9ca Verify doc/api_samples files along with the templates
This also includes a bunch of updates to the actual samples that have
become stale as things have changed in the tree and naughty developers
haven't updated the docs. This new bit of logic in the samples test
should help prevent that in the future.

In order to verify the static doc/api_samples files, this adds a new
method to the base test, which allows the subclasses to refine their
subs into pattern matches after the server response is verified, and
before the doc/api_samples file is verified.

Change-Id: Ie46b24a65145c407d46974b63a97a84911223547
2012-11-28 09:51:13 -08:00
Sean Dague
61ac6726bd update api_samples add os-services module
part of blueprint:apis-for-nova-manage

os-services is a new module for to support getting
rid of nova-manage. Add this to the all_extensions
api listing.

DocImpact

Change-Id: I3a954de59b16fd86d81204a535f8b152f3073468
2012-11-16 10:26:02 -05:00
Vishvananda Ishaya
7e2b93acc5 removes the nova-volume code from nova
This removes the majority of the nova-volume code from the codebase.
It updates relevent config options to default to cinder. It updates a
number of existing tests that were depending on code that was removed.

A few things still need to be removed:

 * volume/driver.py & volume/iscsi.py
   These files are used by the libvirt volume driver tests. These
   tests should be updated to mock the relevant calls.

 * scheduler/simple.py & scheduler/multi.py
   These files should no longer be necessary so they can be removed
   in a subsequent patch

 * exception.py cleanup
   Once the above files are removed there are a number of unused
   exceptions which can be removed

 * database calls and database tables
   The database calls have not been removed and the tables have not
   been dropped. This can be done in a separate migration

 * additional config options and nova.conf.sample
   There may be a few extra config options that can be removed and the
   conf sample can be regenerated

Implements bp delete-nova-volume

Change-Id: I0b540e54dbabd26901a7530035a38583bb521fda
2012-10-28 11:34:05 -07:00
Vishvananda Ishaya
8d43c3fba1 Makes scheduler hints and disk config xml correct
The scheduler hints and disk config extensions were not using
proper prefixes when deserializing xml. This patch modifes
them to deserialize properly. It leaves the old deserialization
in place as well so anyone using the broken implementation
will continue to work.

It also updates the api samples to use the new format. Note that
the proper fix required changing the alias for the scheduler hints
extension, since the alias is used for xml, so the samples had
to be moved.

Finally it fixes an issue with deserialization, allowing it to
support multiple hints with the same name.

Part of bug 1050997

Change-Id: I9969582d65d44de25388f07b6d2013fb7d093fb2
2012-09-18 12:46:52 -07:00
Mark McLoughlin
6bc7055adc Move api_samples to doc dir
The generated api_samples aren't used for the tests, they're only
included in git so that they can be synced into the docs. Move them
to the doc/ dir to make that more clear since I keep forgetting.

Change-Id: I0851ac0ee234dc1e8740666716733e05f856ddec
2012-09-05 22:08:40 +01:00