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
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
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
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
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
This is the final step in enabling availability_zones using aggregate
metadata. Previously all services had an availability_zone, but the
availability_zone is only used for nova-compute. Services such as
nova-scheduler, nova-network, nova-conductor have always spanned all
availability_zones.
After this change only compute nodes (nova-compute), will have an
availability_zone. In order to preserve current APIs, when running:
* nova host-list (os-hosts)
* euca-describe-availability-zones verbose
* nova-manage service list
Internal services will appear in there own internal availability_zone
(CONF.internal_service_availability_zone)
Internal zone is hidden in euca-describe-availability_zones
(non-verbose)
CONF.node_availability_zone has been renamed to
CONF.default_availability_zone and is only used by the nova-api and
nova-scheduler. CONF.node_availability_zone still works but is
deprecated
DocImpact
Completes blueprint aggregate-based-availability-zones
Change-Id: Ib772df5f9ac2865f20df479f8ddce575a9ce3aff
Instead of implementing availability zones in the service table,
availability zones are implemented using general aggregate metadata.
This patch does not remove availability zones from the service table, a
latter patch will do that.
* In theory supports a single compute node in multiple availability zones
* Drop availability_zone column from Aggregate table (is now a property)
* map aggregate metadata 'availability_zone' so API does not change
Implements blueprint aggregate-based-availability-zones
Change-Id: I2a2ac5bfaa526d639dff5efa392c051347dbd9bb
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
* 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
This makes a few minor cleanups and 2 additions to the
coverage extension. First, it adds a new optional field to the
report action: 'html'. This will generate an html report instead
of either the text or xml reports that the extension can
generate.
The second change is that it adds a return for the stop action.
Now upon successful completion of the stop action the directory
where the coverage data files will be returned.
Change-Id: If1aa25fc7237e9bb5100d2a4a8e560f0a68eba61
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
Fixes bug #1062049
There was a typo mapping the security groups resource to floating IPs.
Volumes usage isn't tracked by Nova any more since delete-nova-volume.
Key pairs don't work with the extension because of bug #1089877.
Change-Id: Ifd694b21fef1dc95e67c07dcef0cd6ea3daa8d53
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>
Added subs wherever applicable.
Added checks for correct return codes after REST ops
Modified sample tests to FlavorManage API to differentiate them
from the ones in FlavorExtraData.
Partially implements blueprint nova-api-samples
Fixes bug 1070162
Change-Id: I57c6611f379bef2ff586551b5501c4f7654e4374
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/GuestAgenthttp://wiki.openstack.org/GuestAgentXenStoreCommunication
DocImpact
Change-Id: I5830388a894efce5b13680fc6916e0cd81a16624
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
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
Updates the rxtx_factor validations in the instance_types modules so
that rxtx_factor is validated as a float. Given that rxtx_factor is stored
as a float in the database this makes sense... and also adheres
to some of the extension documentation as well (although some of
the extension docs were incorrect as well).
Previously rxtx_factor was being cast into an int which caused it to
be stored and displayed incorrectly via the API.
This patchset adds a test which fails with the old code.
Additionally some of the API docs are corrected so that rxtx_factor is
listed as a float in all examples.
Fixes LP Bug #1081287.
Change-Id: Iae98522a1f2ed63cbd2497b0b0af5ac2d9bb935c
The API samples for Hosts extension missed power operations (shutdown, reboot
and startup) and maintenance/status operations.
Complete fix to bug 1070167
Change-Id: I07fd34e071eae9afc82f9320634df24f48623e0b
This adds an extension that provides a REST API for the bulk creation,
deletion and listing of floating IPs. The interface is accessed via
/v2/{tenant_id}/os-floating-ips-bulk
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
Implements: blueprint apis-for-nova-manage
DocImpact
Change-Id: I621e2b070a896f7230cdf3f26f78ded85e72cf16