Commit Graph

34 Commits

Author SHA1 Message Date
Jenkins a41d9c6c10 Merge "Add an extension to show image size." 2013-02-21 04:44:15 +00:00
Jenkins 6d0ed8f86f Merge "Add support for network adapter hotplug." 2013-02-20 06:16:33 +00:00
Andrew Laski d2b553030e Add an extension to show image size.
Adds image size data that is returned from Glance into the API response.
This becomes really useful for users when they take a snapshot and want
to track the storage used by it.  Since this information is already
being pulled by Nova we should display it.

DocImpact
Change-Id: I8a2d4001c21bcc54cac1a2992034dfc9fbe39d7e
2013-02-19 18:53:10 -05:00
Dan Smith a9add7d35e Add support for network adapter hotplug.
This patch makes it possible to add/del instance
    interface other than booting time.
    Implement bp:network-adapter-hotplug

Originally from change Ibee003a9ec6cc9b3fd275417caccd0c67f6c871f

Co-authored-by: Yaguang Tang <heut2008@gmail.com>
Co-authored-by: Édouard Thuleau <edouard.thuleau@orange.com>

Change-Id: I4f8f677af58afcb928379e5cf859388d1da45d51
2013-02-19 14:12:54 -05:00
Morgan Fainberg 59aaf1dff9 Default SG rules for the Security Group "Default"
Added in the API os-security-group-default-rules

This allows create, delete, list, and get (of individual rules) for
rules that will be pre-populated into the Security Group "default"
that is populated in all projects on creation.

These rules will not be applied retroactively, as it is designed
to allow the creation of a "reasonable" base-line set of sg rules.

The new rules live in a separate table that mirrors the relevant
structures of the security_group_rules table.

Added unit tests/API samples for the new API calls

Related to bp default-rules-for-default-security-group

DocImpact

Change-Id: I7ab51e68aff562bb869538197a0eca158fc3220c
2013-02-19 01:50:51 +00:00
Andrew Laski 9ed8d398c2 API extension for accessing instance_actions
Adds a new API extension for accessing the recorded actions and events
on an instance.  Usage is documented with api samples.

Additionally it modified the db api to retrieve actions by request_id
since the api does not return the db id.  This extension is the first
consumer of that method so there's no issue of changing behaviour
elsewhere.

Blueprint instance-actions
DocImpact

Change-Id: I74109586cc762a7f51d2b114896cf071ee0671cb
2013-02-13 14:53:43 -05:00
Vishvananda Ishaya 80bd1de65a Simplify and optimize az server output extension.
Displaying two different az results to users is confusing, so just
return the az that the instance is actually in. Also, cache the
result from looking up the az by host for an hour to avoid making
lots of expensive db requests.

DocImpact

Change-Id: Ib39bf94c608874695aab00e61035e64f9594a985
2013-02-12 09:00:33 -08:00
Vishvananda Ishaya 64fcd4de11 Add an extension to show the type of an ip.
There is currently no way to differentiate a fixed ip from a floating
ip in the servers list. This extension adds the OS-EXT-IPS:type param
so that users can determine if it is a fixed address or a floating
address.

Fixes bug 1117784

DocImpact

Change-Id: I8709a4f2f6792faa3d8e0cdcd330d751ef6633ae
2013-02-12 09:00:13 -08:00
Kravchenko Pavel 01a25e9890 Extension for rebuild-for-ha
Adds an extension for blueprint rebuild-for-ha

Evacuation of VM from a failed host for HA.
New api supports recreate/rebuild modes. With shared storage,
VM is recreated on the target from disk.
Otherwise, rebuild from original image is performed.

DocImpact

Change-Id: Id7e3e68dbaaf74e9314440d98195a92454078fd9
Co-authored-by: Oshrit Feder <oshritf@il.ibm.com>
2013-02-07 14:38:38 +02:00
gtt116 0d813e44ff Add REST API to show availability_zone of instance.
Implement one workitem for bp:show-availability-zone

This show the availability zone and availability zone of its host in
API: GET /servers/details, GET /server/{uuid}.

When create instance if "availability_zone" doesn't specified, the
"availability_zone" of the instance will be None.  But actually the instance
is in a zone which its host is in. So I think show both of them will be fine.

Change-Id: I2d742ee2d291b514bf783fa79293785cca8ea2a5
2013-02-03 08:57:20 +00:00
Arata Notsu 0a8cc37c0c Add REST api to manage bare-metal nodes
* create/delete/list/show bare-metal nodes
* add/remove interfaces to/from bare-metal nodes

blueprint general-bare-metal-provisioning-framework

Change-Id: I1e76f7e3f7f74087e844cfb23dc92154f4c3e127
2013-01-23 17:39:32 +09:00
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
Jenkins aaa1c3145a Merge "Verify doc/api_samples files along with the templates" 2012-11-28 22:54:32 +00:00
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
Dan Prince 47ddb8ca76 Validate rxtx_factor as a float.
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
2012-11-27 11:12:41 -05: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
Sean Dague 123fa7b040 updated api_samples with real hypervisor_hostname
now that hypervisor_hostname is getting set in tests, update
api_samples with something better than none

part of blueprint:nova-api-samples

DocImpact

Change-Id: Iaac6a5d2d172eb3c56b64f0dc2a6075a79412712
2012-11-15 15:07:05 -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
Sean Dague 8d4af6b906 all_extensions api_samples testing for server actions
server actions sometimes return servers objects, which means
their output is different when extensions are enabled. This
adds api samples for those cases to give a more realistic view
to the user of what they might expect.

Change-Id: Iaa9a4c3a373dee41931c5dc4f1b805f09a05299f
2012-09-25 10:15:27 -04: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
Vishvananda Ishaya 8c168dd4fd Adds more servers list and servers details samples
This moves the servers detail test into the base servers test so
it runs with all_extensions as well. It also renames the
results to be consistent with the other tests. Finally it
adds test for servers-list both with and without extensions.

Change-Id: I6eed3932fa594f1a39faa55453461680781e6a9f
2012-09-12 14:57: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