Commit Graph

40479 Commits

Author SHA1 Message Date
Sylvain Bauza 76dfb4ba9f Cold migrate using the RequestSpec object
Cold migrate and resize can now get the Spec object and pass it
down the wire to the conductor so that it could use it for the
move.

Partially-Implements: blueprint check-destination-on-migrations-newton

Co-Authored-By: Pawel Koniszewski <pawel.koniszewski@intel.com>
Change-Id: Ic3968721d257a167f3f946e5387cd227a7eeec6c
2016-05-17 11:01:22 +02:00
Sylvain Bauza 09f2d4d5ec Add a RequestSpec generation migration script
In Mitaka, we began to create and persist a RequestSpec object every time
a new instance was requested. Given that instances that were created before
that commit do not have a related RequestSpec, we needed to check
every time in the conductor methods whether the instance had a request spec
associated with it.

Now that we are in Newton, we can provide an online data migration script
that iterates over all the instances (using a marker), verify if the
RequestSpec object is created, and if not, try to persist into that object
the legacy fields we already know.

The marker uses the request_specs table for persisting itself, and
yes this is a hack, but that's the only solution we agreed for making sure
we were not looping every time on all the instances (which would be a
performance problem). When we finish looping over the instances, we
keep that marker so that the next call to that migration script
would not again iterate over all the instances (using the limit).

Change-Id: I61b9b50436d8bdb8ff06259cc2f876502d688b91
Partially-Implements: blueprint check-destination-on-migrations-newton
2016-05-17 10:57:48 +02:00
Jenkins 52a831e78e Merge "Switch api unit tests to use v2.1 API" 2016-05-17 07:59:05 +00:00
Jenkins 2b538d9a6a Merge "migrate to os-api-ref" 2016-05-17 07:58:06 +00:00
Jenkins 802e63b0fd Merge "config options: move image_file_url download options" 2016-05-17 06:31:14 +00:00
Jenkins 7c8b7943b4 Merge "api-ref: os-certificates.inc method verification" 2016-05-17 06:20:53 +00:00
Jenkins 500f3ddf6e Merge "Add message queue switching through RequestContext" 2016-05-17 02:47:08 +00:00
Ken'ichi Ohmichi 6a09c00cf1 Switch api unit tests to use v2.1 API
TestNeutronSecurityGroupsOutputTest and BootFromVolumeTest were tests
only for legacy v2 API code, and v2.1 API were not tested on the same
test cases. This patch makes the tests work for v2.1 API code for the
test coverage.

In addition, this patch changes a request body of BootFromVolumeTest
because v2.1 API validation detected the bugs of the body like the
following:

* Invalid input for field/attribute volume_id. Value: 1. u'1' is not a 'uuid'"
* Additional properties are not allowed (u'virtual' was unexpected)

Change-Id: I9c2a53679ed6a097b062ba542dddd85a42c9964f
2016-05-16 18:51:57 -07:00
Jenkins 71e4e54f97 Merge "trivial: remove unused argument from a method" 2016-05-17 00:19:26 +00:00
Jenkins 6a39fad56c Merge "api-ref: parameter verification for os-quota-sets" 2016-05-16 16:12:46 +00:00
melanie witt bdf984a7ce Add message queue switching through RequestContext
This adds message queue connection information to the RequestContext
which can be used by nova-api to communicate with a targeted cell
message queue with each query.

A function 'get_cell_client' can be called in rpc functions to enable them
to use message queue transport information from a RequestContext. The
function creates a rpc client object dynamically if message queue
connection information is found in the RequestContext and falls back on
the default rpc client.

Example usage:

    def get_cell_client(self, context):
        return rpc.get_cell_client(context, self.client)

    def build_and_run_instances(self, ctxt, instance, host, image, ...)
        cctxt = self.get_cell_client(ctxt).prepare(...)
        cctxt.cast(...)

Implements blueprint cells-mq-connection-switching

Change-Id: Idef670d5b73c9cef8501a0593eccd785b708bd2b
2016-05-16 15:34:35 +00:00
Nikola Dipanov 50e2792efc trivial: remove unused argument from a method
Change-Id: I39217679468168363931704765f7588dfd8136a6
2016-05-16 16:25:06 +01:00
Jenkins 0458f3e78e Merge "api-ref: ips.inc example verification" 2016-05-16 14:54:56 +00:00
Jenkins 14156d1feb Merge "config options: centralize section "database" + "api_database"" 2016-05-16 14:54:08 +00:00
Sean Dague 2b7d5dec67 migrate to os-api-ref
os-api-ref is released on pypi now, so we can move to using it instead
of our in tree version. All future extension fixes will happen over
there instead of here.

Change-Id: Iee4b9c94b8b66a5b0481dd0b15beda03328c4f31
Depends-On: I0e615d36a2e5a8fa0d83f20bdcc2c33ad868ebd5
2016-05-16 08:10:14 -04:00
Jenkins ada6d72275 Merge "api-ref: image.inc - Update method validation" 2016-05-16 11:53:09 +00:00
Jenkins 4b87342b58 Merge "config options: centralize default flavor option" 2016-05-16 11:33:00 +00:00
Sarafraj Singh cf69f5c664 api-ref: image.inc - Update method validation
1. Arranged all methods in canonical order
2. Validate all methods

Part of bp:api-ref-in-rst

Change-Id: If13ad63f0035e33cc1d9ea31315e64331deb5554
2016-05-16 10:49:23 +00:00
Jenkins 2927298bb3 Merge "api-ref: os-floating-ip-dns.inc method verification" 2016-05-16 10:38:52 +00:00
Markus Zoeller 2811ff43af config options: centralize section "database" + "api_database"
The config options of the "nova.conf" section "database" and
"api_database" got moved to the new central location
"nova/conf/database.py". Also the database related options which are
in DEFAULT section.

Follow up changes will improve the help texts.

bp centralize-config-options-newton

Change-Id: Iaba9b49490fea4950bb25eed3ba1252db206f3c9
2016-05-16 10:20:51 +00:00
Kevin_Zheng 2813c837f6 api-ref: parameter verification for os-quota-sets
checked parameters

Part of bp:api-ref-in-rst

Change-Id: I0c43e83214aa4a0a54d553ab5c2ef79413753664
2016-05-16 14:48:06 +08:00
Jenkins 9a05d38f48 Merge "force_live_migration remove redundant check" 2016-05-15 08:49:37 +00:00
Jenkins a4f5ac3567 Merge "Follow-up for the API config option patch" 2016-05-14 02:47:02 +00:00
Jenkins 17367af1cf Merge "Remove fake_imagebackend.Raw and cleanup dependent tests" 2016-05-14 01:07:18 +00:00
Jenkins a551b9a161 Merge "Remove unused arguments to images.fetch and images.fetch_to_raw" 2016-05-14 01:06:02 +00:00
Jenkins 4e0e2e499f Merge "Improve the help text for the API options (4)" 2016-05-14 00:54:38 +00:00
Jenkins 76c3bf32df Merge "Improve the help text for the API options (3)" 2016-05-14 00:53:21 +00:00
Jenkins 04f0f7c549 Merge "Improve the help text for the API options (2)" 2016-05-14 00:42:32 +00:00
Jenkins 55007a0375 Merge "Improve the help text for the API options (1)" 2016-05-14 00:34:08 +00:00
EdLeafe af36b0d704 Follow-up for the API config option patch
There were a few comments and suggestions for improvements in the
wording for the recent series of patches that added improved help text
to the API config options. Rather than hold up those patches, this
follow-up patch cleans up those issues.

Blueprint centralize-config-options-newton

Change-Id: I512ea8c2be383e1abef7580e32deaa40e2c76c60
2016-05-13 23:04:03 +00:00
Sean Dague 94010b52ff api-ref: reorder parameters.yaml
This reorder's parameters.yaml to the correct sort order, and turns
the info message about incorrect ordering into a warning. After this
lands parameters.yaml changes will always require that the items stay
in the sorted order enforced by the extension.

Part of bp:api-ref-in-rst

Change-Id: Ib890d369a8b50a8cd920f7b19ef13f44b3e657df
2016-05-13 16:51:23 -04:00
Jenkins a4113da58b Merge "Add online migration to store keypairs with instances" 2016-05-13 20:17:04 +00:00
Jenkins 32dfd2b7b1 Merge "Make Keypair object favor the API database" 2016-05-13 20:10:41 +00:00
Jenkins d04a1fa2a6 Merge "Change 5 space indent to 4 spaces" 2016-05-13 20:00:50 +00:00
Jenkins 22c0eaca3a Merge "trivial: removed unused networks var from os-tenant-networks:create" 2016-05-13 19:58:32 +00:00
Jenkins aec2e248a5 Merge "report info if parameters are out of order" 2016-05-13 18:42:37 +00:00
Jenkins 5becbad88f Merge "api-ref: Example verification for os-volume_attachments.inc" 2016-05-13 18:40:06 +00:00
Jenkins 103eeb8247 Merge "api-ref: Parameter verification for os-volume_attachments.inc" 2016-05-13 18:38:30 +00:00
Jenkins 903cf595d4 Merge "api-ref: finish validation for os-server-external-events.inc" 2016-05-13 17:54:01 +00:00
Jenkins 2e5eb5c7fa Merge "api-ref: Method verification for servers-actions" 2016-05-13 17:48:26 +00:00
Dan Smith 119f2c513d Add online migration to store keypairs with instances
This migrates instances to have embedded keypairs.

Related to blueprint cells-keypairs-api-db

Change-Id: I73378ace8cdde230b2204747230df37529284b16
2016-05-13 09:37:04 -07:00
Dan Smith f3a6a46fa3 Make Keypair object favor the API database
This makes the keypair object load first from the API database,
falling back to the main database as necessary. Creates happen in the
API database only now.

Since the Instance object uses this object to patch up its keypairs
field on the fly, this adds a localonly parameter to the get method so
that we don't end up with compute nodes calling back up to the API
database in the lazy-load case. Only Instances that were created before
the previous patch will be missing keypair data, and so we're
guaranteed to have their keypairs in the main database (if at all).

Related to blueprint cells-keypairs-api-db

Change-Id: I700cf8633f694c933f17dd133fa6c84c2beac4c0
2016-05-13 09:37:04 -07:00
Gage Hugo 22a7d30541 api-ref: ips.inc example verification
Part of bp:api-ref-in-rst

Change-Id: I922209101fdaf4a00ee22ffb028650f3426aa116
2016-05-13 11:07:18 -05:00
Jenkins 4a06a8c864 Merge "Method verification of os-floating-ips-bulk.inc" 2016-05-13 15:07:08 +00:00
Jenkins a4bd8f01f6 Merge "Fix migration query with unicode status" 2016-05-13 15:05:33 +00:00
Takashi NATSUME 79f030f18f api-ref: Example verification for os-volume_attachments.inc
Change-Id: I1f5ba0453b0dc964f48471e4aecaaaa800699da1
Implements: blueprint api-ref-in-rst
2016-05-13 14:38:53 +00:00
Takashi NATSUME 05b0da8062 api-ref: Parameter verification for os-volume_attachments.inc
Change-Id: I3789a4ad36e30728024f2aa122403b0e53b1e741
Implements: blueprint api-ref-in-rst
2016-05-13 14:38:13 +00:00
Matthew Booth 93a475cd54 Remove fake_imagebackend.Raw and cleanup dependent tests
fake_imagebackend had a Raw class which was used by only a small
number of tests. This change refactors the tests to avoid the
requirement for this class by using mock.

Change-Id: Iffdc0c66f1ec4428b98fffc807af636dd491a080
2016-05-13 15:27:21 +01:00
Matthew Booth 059021550a Remove unused arguments to images.fetch and images.fetch_to_raw
Functions were passing in user_id and project_id to these functions,
but they were not being used. This change allows a subsequent patch to
drop an instance object as a function argument which has no purpose
other than to provide these unused values.

Change-Id: I844b97523b28b327e76e01ef7f16b57a415418ec
2016-05-13 15:27:21 +01:00
Jenkins 69d538849d Merge "api-ref: Method verification for os-volume_attachments.inc" 2016-05-13 14:10:03 +00:00