1901 Commits

Author SHA1 Message Date
Sean Dague
4461cdf4c4 don't report network limits after 2.35
We correctly stopped reporting the limits for things like security
groups and floating ips after mv 2.35. We completely missed that
limits are modified by the used_limits extension, and hilarity
ensued. We were reporting no maxSecurityGroups over the wire, but we
were reporting totalSecurityGroups through the magic of extensions.

Change-Id: I85b2b41d919ed6987d4c9288905ccce49c10c81f
Closes-Bug: #1614133
2016-08-18 23:55:58 +08:00
Jenkins
9a19cdf23b Merge "Add details to general purpose feature matrix" 2016-08-18 13:25:23 +00:00
Jenkins
a78ff9aff8 Merge "Adding details in general purpose feature matrix" 2016-08-18 13:24:23 +00:00
Jenkins
0b330408b1 Merge "Expand initial feature classification lists" 2016-08-18 13:23:25 +00:00
Jenkins
3c40b0a9fb Merge "Add prototype feature classification matrix" 2016-08-18 13:22:34 +00:00
Matt Riedemann
d727795d66 Add REST API support for get me a network
This adds the 2.37 microversion to the REST API for automatically
allocating a network, i.e. get me a network.

The majority of the changes to the REST API concern request
validation. 'networks' is now required in the server POST body
after this microversion. The 'auto' or 'none' special network
uuid values are used, but if specified, can not be specified
with any other requested network values.

The other special case that is checked is when the minimum
compute service version is not new enough to support this change,
i.e. a Mitaka compute will not have the network API code that
knows how to deal with the special auto/none network IDs. Because
the REST API is checking the service version, the service caches
the service version after the first check. Once all computes are
updated to Newton then a restart of the nova-api service(s) will
be required to flush the cache. A release note is provided for
this situation.

The api-ref docs are also updated for this microversion including
an example API sample request.

The matching Tempest change to test this is here:

I89b18709e0cfbbcbf9be96a91a13a1356cdf85b0

The matching python-novaclient change is here:

I6636ddcd3be7bf393d2d69cc6c1ba5c7d65ff674

Implements blueprint get-me-a-network

Change-Id: I89b18709e0cfbbcbf9be96a91a13a1356cdf85b0
2016-08-15 14:10:42 -04:00
Jenkins
5b1a858254 Merge "Allow irrelevant,self-defined specs in ComputeCapacityFilter" 2016-08-10 20:32:43 +00:00
Takashi NATSUME
51073b3132 api-ref: Example verification for os-simple-tenant-usage.inc
Change-Id: I575412d578d670bdc598c687256a33f0b579a99e
Implements: blueprint api-ref-in-rst
2016-08-09 23:52:42 +00:00
Jenkins
29e03572cb Merge "Strict ImageRef validation to UUID only" 2016-08-04 12:21:30 +00:00
ghanshyam
cbd3ec476f Strict ImageRef validation to UUID only
Currently imageRef in server create, rebuild and rescue
operation can be accepted as random url which contains image
UUID and fetch the UUID from that.

As /images proxy APIs are deprecated, and ImageRef in
server creation etc are UUID only and valid against glance.

This patch makes imageRef handling as UUID only and
return 400 if non UUID are requested.

NOTE- Previously nova use to allow the empty string which was
      ok in case of boot from volume.
      We will keep the same behavior of allowing empty string in case of
      boot from volume only and 400 in all other case.

Closes-Bug: #1607229

Change-Id: I49f4da62c1b5b3fd8c5f67039ae113f76722b26c
2016-08-04 02:22:15 +00:00
Jenkins
e740748d9e Merge "Enhance notification doc generation with samples" 2016-08-03 11:39:39 +00:00
Mark Doffman
7f82c5e681 Aggregate create and destroy work against API db
Make aggregate.create() and destroy() use the API rather than cell database.
Also block aggregate creation until main database empty. This makes
Aggregate.create() fail until the main database has had all of its aggreagtes
migrated. Since we want to avoid any overlap or clashes in integer ids we
need to enforce this.

Note that this includes a change to a notification sample, which encodes
the function and module of a sample exception (which happens to be during
an aggregate operation). Since the notifications are encoding internal
function names, which can and will change over time, this is an expected
change.

blueprint cells-aggregate-api-db

Co-Authored-By: Dan Smith <dansmith@redhat.com>
Change-Id: Ida70e3c05f93d6044ddef4fcbc1af999ac1b1944
2016-08-01 08:22:08 -07:00
Matt Riedemann
45b21e4503 Add docs about microversion testing in Tempest
As discussed at the newton midcycle and in the dev
mailing list:

http://lists.openstack.org/pipermail/openstack-dev/2016-July/099860.html

We should add a Tempest test for any microversion that
changes the response schema so we have coverage in Tempest
and also so we don't have to fill large gaps in coverage
in Tempest when adding other unrelated tests.

Change-Id: Ie7cfe7ee857caf630d4380cf673ae208842fbc00
2016-07-28 20:09:07 -04:00
Pushkar Umaranikar
efc713ce5b Add details to general purpose feature matrix
Added details for:
1. Server console output
2. Server rescue
3. Server config drive
4. Server change password
5. Server shelve

Implements: blueprint feature-classification
Change-Id: I59d356b981628e754fdf7921a8748d725d3d968c
2016-07-27 20:12:22 +00:00
Jenkins
0b1a9cc7f8 Merge "New style vendordata support." 2016-07-27 15:30:56 +00:00
Jenkins
953514c4b2 Merge "Adjust MySQL access with eventlet" 2016-07-27 14:14:43 +00:00
Jenkins
ef65d79eac Merge ""nova list-extensions" not showing summary for all" 2016-07-27 14:13:47 +00:00
ChangBo Guo(gcb)
5a173eb664 Adjust MySQL access with eventlet
PyMySQL works well with eventlet[1], and it's the default MySQL DB API
driver for oslo.db now[2]. So we need adjust the statement.

[1]https://wiki.openstack.org/wiki/PyMySQL_evaluation
[2]http://docs.openstack.org/developer/oslo.db/installation.html
Change-Id: Ib9b0bb9427dd34abbda25a0c91e9832743c6fc08
2016-07-27 05:40:23 +00:00
Pushkar Umaranikar
50c4033ac2 "nova list-extensions" not showing summary for all
Change nova extensions API to show summary
description for V2.1 API.

Change-Id: Iefd087baddd65a52a20f1b98ae3efe22b3c5085c
Closes-Bug: #1532098
2016-07-26 16:45:30 +00:00
Michael Still
34b5ea5f44 New style vendordata support.
The nova team would like to stop dynamically loading python modules to
implement vendordata in the metadata service and configdrive. Instead, we
propose to provide a module which can fetch dynamic vendordata from an
external REST server.

Things still to do:
  - Documentation
  - Support HTTP caching headers
  - Cache vendordata responses
  - Write vendordata documentation
  - Unit test coverage of requests exceptions
  - Unit test coverage of attempted vd overwrites

Blueprint: vendordata-reboot
Change-Id: I19c61a637a640a00f90c6bc8e82c38e7d4084493
2016-07-26 08:15:25 -04:00
He Jie Xu
1794fae8f3 Bump Microversion to 2.36 for Proxy API deprecation
This is the final patch in this series. This patch bumps the
microversion to 2.36, all the proxy APIs were deprecated.

Partially implements blueprint deprecate-api-proxies

Change-Id: I1a8a44530be29292561e90d6f7bd7ed512a88ee3
2016-07-26 19:26:37 +08:00
Sivasathurappan Radhakrishnan
f2be1f8cf9 Adding details in general purpose feature matrix
Added details for:
1. Server volumes ops
2. Server block device mapping
3. Server neutron
4. Server pause
5. Server suspend

blueprint feature-classification

Change-Id: I6fe7ce561e47fc09939a7e4ddc25e19f07adef2d
2016-07-26 09:56:45 +00:00
Jenkins
eec3a2b9e8 Merge "Bump service version for BuildRequest deletion" 2016-07-21 00:44:34 +00:00
Balazs Gibizer
e5798f9f9d Enhance notification doc generation with samples
Until now the notification devref only contained a link to the sample file
and that link did only exist after the sample file was merged.
This is suboptimal as the locally generated doc might be incomplete.

This patch changes the doc to contain the content of the sample file.

Change-Id: I4343a2feb13de8b614e8d42d5f1db14102ab492e
2016-07-20 17:33:32 +00:00
John Garbutt
3ccba23d5d Expand initial feature classification lists
Lets focus on server operations that must be tested for each of the Nova
virt drivers, such as create a server and snapshot a server.

This initial list is not meant to be complete, rather its some of the
key headline server actions that we should look at first. This list
includes all actions of the above type that are included in DefCore.

Follow changes will look at correctly populating the data for each of
the features that have been included.

blueprint feature-classification

Change-Id: Ibe31acbae38ea9f2b06aedded66aa486ed1f5cb8
2016-07-18 18:31:03 +00:00
John Garbutt
027b92dc4e Add prototype feature classification matrix
Add in feature_classification.ini that makes use of new sphinx
extension feature_matrix. While it is loosely based on the
support_matrix extension, longer term this extension will live
outside the Nova tree. As such, this has been created as a new
separate sphinx plugin.

The matrix has links to wiki page for the CI in the header of the
summary matrix. This is called a target.

Also, there are links to admin docs, API docs, and tempest test uuids
added into the feature details. An option is added to ensure these are
always present in the prototype matrix.

A maturity status is added to be clear about the level of maturity
of each feature. When in maturity mode, this is added into the summary
table in place of the status. There is also some formating for the
different maturity levels.

blueprint feature-classification

Change-Id: Ib5895e8de901f1a282d0f5c0ecb811ff8b451497
2016-07-18 18:31:03 +00:00
Jenkins
ab1563a273 Merge "Fix wrong JSON format in API samples" 2016-07-13 04:26:42 +00:00
Jenkins
911baa6018 Merge "Transform instance.restore notifications" 2016-07-13 04:25:49 +00:00
Zhihai Song
bd0ba826e4 Transform instance.restore notifications
The instance.restore.start and instance.restore.end notifications
are transformed to the versioned framework.

Change-Id: I4459ec05a7153af7a0f04adcccb9d99cb5f661e5
Implements: bp versioned-notification-transformation-newton
2016-07-12 20:57:07 -04:00
Andrew Laski
916f01ef7d Bump service version for BuildRequest deletion
This service version indicates that the successful delete of a
BuildRequest during instance deletion will cause nova-conductor to stop
a build when it notices that the BuildRequest is gone. This simplifies
the delete code for dealing with pre-scheduled instances.

Change-Id: I961d002cccd3e01a26cb5174e0804db7fc1f836d
2016-07-12 13:35:36 -04:00
Pavel Kholkin
47358449d3 Microversion 2.35 adds keypairs pagination support
After this microversion Nova API allows to get several keypairs
with the help of new optional parameters 'limit' and 'marker'
which were added to GET /os-keypairs request.

Partial-Bug: #1599904

Implements blueprint: keypairs-pagination

Change-Id: Idd3757f5be90ec4af1bd1a7ca3f9c20319dbfd33
2016-07-12 19:48:05 +03:00
Timofey Durakov
452be384cd rest api version bumped for async pre live migration checks
pre live-migration checks now are done in async way. This patch
updates rest api version to keep this tracked.

bp: async-live-migration-rest-check

Change-Id: I9fed3079d0f1b7de3ad1b3ecd309c93785fd11fe
2016-07-11 14:57:54 -07:00
Jenkins
bae1d9cc21 Merge "Deprecate nova-manage vm list command" 2016-07-11 15:23:47 +00:00
Jenkins
9f2597fac6 Merge "Transform instance.resize notifications" 2016-07-11 02:17:47 +00:00
Jenkins
1a074a7284 Merge "Transform instance.pause notifications" 2016-07-11 02:15:59 +00:00
Jenkins
66d4ab7579 Merge "Add nova-manage quota_usage_refresh command" 2016-07-10 06:12:38 +00:00
Jenkins
074282ec5d Merge "Replace DOS line ending with UNIX" 2016-07-08 20:42:43 +00:00
Anusha Unnam
029f92d93a Transform instance.resize notifications
The instance.resize.start and instance.resize.end notifications
are transformed to the versioned framework.

Implements: bp versioned-notification-transformation-newton
Change-Id: If5183eddb7d79712f360cde11c554e4798f86255
2016-07-08 16:52:15 +01:00
Balazs Gibizer
9fafcc7883 Replace DOS line ending with UNIX
Some of the notification sample files had DOS line endings.

Change-Id: If1a120fc782a144966d41e0c3b2e0859bbffcb44
2016-07-08 09:21:15 +02:00
Takashi NATSUME
31ad01f0f1 Fix wrong JSON format in API samples
Fix wrong JSON format in snapshot-create-assisted-req.json.

Change-Id: I0817171bd7bc67384d4c40854ce5dc2952b38cfa
Closes-Bug: #1600070
2016-07-08 10:15:29 +09:00
Matt Riedemann
5a5b06fb24 Deprecate nova-manage vm list command
The nova-manage vm command is replaced with the nova list command
in python-novaclient, and has been for a long time.

As of microversion 2.3, the fields that are output from
nova-manage vm list are all covered in the REST API for showing server
details, which can also be used via the --fields option of the nova
list command. The nova list command also allows filtering by host.

This sets the timer for deprecation and then removal in Ocata.

Change-Id: Ibce8c3deb24a16019b721d3b91640ca342ae541b
Closes-Bug: #1494841
2016-07-07 16:15:09 -04:00
Matt Riedemann
c1d7fc702a Remove live-migration from nova-manage man page
There is no command for live-migration in nova-manage
so remove it from the man page.

Change-Id: I29764bcc4592ce023cfce53a477a851a633e6541
2016-07-07 16:04:13 -04:00
OctopusZhang
83b59ea603 Allow irrelevant,self-defined specs in ComputeCapacityFilter
For backward compatibility, ComputeCapacityFilter treats extra spec
keys which contain no colons like 'x' the same as 'capabilities:x',
because hoststate doesn't contain attribute like x, this filter always
return False. So it causes conflict with
AggregateInstanceExtraSpecsFilter, and limits user to define extra spec
keys without colons.

This patch solves the conflict and keep it backward compatible.

This patch also joins two lines into one in method host_passes.

Change-Id: Ia9e7c882bcee131e106e67dc46ed9ce1224e4c67
Closes-Bug: #1582589
2016-07-07 17:53:10 +00:00
Sujitha
5bd8e2d47c Transform instance.pause notifications
The instance.pause.start and instance.pause.end notifications
are transformed to the versioned framework.

Implements: bp versioned-notification-transformation-newton

Change-Id: I67979c1cd7cd221a2241846255bf2a884a9d60f5
2016-07-07 15:26:53 +00:00
Béla Vancsics
1d0326cce1 Transform instance.shelve notifications
Instance.shelve.start and instance.shelve.end notifications
are transformed to the new versioned framework.

Change-Id: Ibb52f4c9d8ec10810916a6ccb2bb494db7300d05
Implements: bp versioned-notification-transformation-newton
2016-07-07 09:44:11 +02:00
Chuck Carmack
8d25383ad2 Add nova-manage quota_usage_refresh command
This is the final patch in the sequence.

The nova-manage quota_usage_refresh command will
sync a project or user's usage in the database
with the actual usage.

Implements blueprint: refresh-quotas-usage

Change-Id: Ic6da10b9c567ad5396b4a22b160e1abef8fa8f28
2016-07-06 22:24:02 +00:00
Jenkins
e1b8a1e4bf Merge "Transform instance.suspend notifications" 2016-07-06 21:26:14 +00:00
Jenkins
94c96f226a Merge "api-ref: verify assisted-volume-snapshots.inc" 2016-07-04 14:51:03 +00:00
Pushkar Umaranikar
db064bbb40 Transform instance.suspend notifications
The instance.suspend.start and instance.suspend.end
notifications are transformed to the versioned notifications
framework.

Change-Id: I6a90019773c415db9d27c893eb64466ae101b7d7
Implements: blueprint versioned-notification-transformation-newton
Depends-On: #313654
2016-07-01 19:04:04 +00:00
Zhihai Song
2a99eb1f3a Transform instance.power_on notifications
The instance.power_on.start and instance.power_on.end notifications
are transformed to the versioned framework.

Change-Id: I4e4fd701a59064b89e38b50dcc01c9d8846a09b0
Implements: bp versioned-notification-transformation-newton
2016-07-01 15:36:41 +00:00