Commit Graph

37174 Commits

Author SHA1 Message Date
Jenkins ea23e252f8 Merge "Add logging to snapshot_volume_backed method" 2015-11-12 02:53:41 +00:00
Jenkins c52f18bcf1 Merge "Properly log BlockDeviceMappingList in _create_block_device_mapping" 2015-11-11 23:53:21 +00:00
Jenkins f0882bf2ec Merge "force_config_drive: StrOpt -> BoolOpt" 2015-11-11 22:42:58 +00:00
Jenkins cb92a37d5a Merge "Updated from global requirements" 2015-11-11 21:50:55 +00:00
Jenkins a6659219f6 Merge "clean up regex in tempest-dsvm-cells-rc" 2015-11-11 21:33:56 +00:00
Jenkins 5beca6f332 Merge "Do not mask original spawn failure if shutdown_instance fails" 2015-11-11 21:08:58 +00:00
Jenkins 9ebb638d86 Merge "Fix impotent _poll_shelved_instances tests" 2015-11-11 20:55:36 +00:00
Jenkins adcb1c5058 Merge "Fix race in _poll_shelved_instances task" 2015-11-11 20:45:54 +00:00
Stephen Finucane 296479e1ab force_config_drive: StrOpt -> BoolOpt
The 'force_config_drive' option provides a way to force injection of
configuration drives on instances. Previously, this option supported
three values: 'always', 'True' and 'False'. However, the 'always'
value was deprecated in Liberty and can now be removed.

Remove this value and replace the existing 'StrOpt' with a 'BoolOpt'.
This also requires changing some unit tests to reflect the new value
for this parameter.

UpgradeImpact: This change removes support for the 'always' option.
    Configuration files providing this value will need to be updated
    accordingly.
DocImpact: This option is now a BoolOpt and documentation will need to
    be updated accordingly.
Change-Id: I0b4030ec1336fb1f2e721570c99a27a979e2847c
2015-11-11 19:59:22 +00:00
Jenkins 225715de00 Merge "skip lock_unlock_server test for cells" 2015-11-11 19:38:35 +00:00
OpenStack Proposal Bot 3ac21cbe4b Updated from global requirements
Change-Id: Ie1da4c73c492c4cbb4db7d53bce4743691153f74
2015-11-11 19:07:16 +00:00
Jenkins 72dec37494 Merge "Handle DB failures in servicegroup DB driver" 2015-11-11 18:54:15 +00:00
Jenkins e77f8b5d6a Merge "Block oslo.messaging 2.8.0" 2015-11-11 18:53:32 +00:00
Jenkins f1782b41af Merge "Untie subobject versions" 2015-11-11 18:25:23 +00:00
Dan Smith 6b5685796c Fix impotent _poll_shelved_instances tests
Almost all of our unit tests for the _poll_shelved_intances() periodic
task were not actually running any code because they didn't set the config
properly. Some were also not setting the instance host either, which means
the test instances wouldn't be returned from the filter query. Since the
tests used stubs and mox, they weren't checking that the stubbed methods
were actually running and thus didn't notice.

This patch makes them use mock, check their work, and set the config
properly. It also does a little object and mock cleanup for the bits that
were touched.

Change-Id: If890eb61e42af3e1495da7db9033b19fa7811aa1
2015-11-11 08:34:12 -08:00
Dan Smith 5aedaa5050 Fix race in _poll_shelved_instances task
The _poll_shelved_instances() task can race with other API operations
because it does not filter instances with a task_state!=None, and because
it does not use expected_task_state=(None,) when it attempts to lock the
instance for offloading. This patch adds those checks as well as tests to
make sure they're honored going forward.

Change-Id: I7b1e235a4d09085cebf3d6d71d71757f15f69e29
2015-11-11 08:33:57 -08:00
Jenkins 73f6f11446 Merge "Hook for live-migration job" 2015-11-11 16:00:10 +00:00
Jenkins 89c179ed5c Merge "Config drive: make use of an instance object" 2015-11-11 15:59:37 +00:00
Brian Elliott 5252bba03e Handle DB failures in servicegroup DB driver
Fix an issue where when local conductor is used, the DB driver for
servicegroup will not handle transient DB problems gracefully.  The
patch makes the behavior consistent with messaging timeouts if remote
conductor is used.

Change-Id: Ie736e7b64ea4f60f78878c8713ce826702f9f05e
Closes-Bug: 1505471
2015-11-11 14:59:09 +00:00
Jenkins 4b0d117f0a Merge "enginefacade: 'key_pair' and 'cell'" 2015-11-11 14:03:39 +00:00
Timofey Durakov 0624778b24 Hook for live-migration job
Live-migration multinode job should check different configurations.
To implement this new hook in nova should be used. Current patch adds
execution of live-migration specific use-cases.

Change-Id: I3ad9287b8f103a874f88100df82fa9e1f8617d6f
2015-11-11 15:41:28 +03:00
Jenkins f5e3c7d54a Merge "Remove unnecessary destroy call from Ironic virt driver" 2015-11-11 06:31:54 +00:00
Ryan Rossiter ea483ac1c4 Untie subobject versions
Since obj_relationships was removed in
Iea8b6348e3b01aaa335ec5408f07826f1e758d20 because manifest backports are
now used, most parent object versions will no longer change when a child
object is changed. Because of this, some objects that have a child
version tied to a parent version no longer need to be tied. The versions
can progress individually on their own. The child is all grown up now,
he's moving out of his parents' basement, buying a car, and going on to
make his parents proud.

Change-Id: Ie0c7bd419e3490d01f73c7a39cd2666eafcf9539
2015-11-10 15:56:14 +00:00
Matt Riedemann acb97e6388 Block oslo.messaging 2.8.0
There is a locking regression in the 2.8.0 release that is
causing nova unit/functional tests to time out.

Depends-On: #I37eeb57e99db5f77a11eed471ac6c55c4547e821

Change-Id: I3ec6a6429bb1032e47fb0317ce9ca4b769666370
Closes-Bug: #1514876
2015-11-10 07:33:33 -08:00
Sean Dague 387e2b4fbb clean up regex in tempest-dsvm-cells-rc
The current regex contains a lot of slightly off regex
definitions. Most of them don't hurt, and do still match the correct
way, but they make people believe that things like the * at the end of
matches is important (which it is not).

This cleans this up, plus adds a few comments to help people going
forward.

Change-Id: Ica7fc32fd5a756214db987b95d2305bc74cfb6f1
2015-11-09 18:57:35 -05:00
Sean Dague 02de17c72a skip lock_unlock_server test for cells
The cells architecture of doing db replay makes this call
fundamentally racey for cells. The contract is that if you request an
action on a server and it is locked, you get a 409 at the API, and are
done. If you get a 2xx, the resource is not locked, and life is good.

Except in cells, the API db will be updated, and the API will return
all is well. Except the db replay hasn't happened for the cell, so the
additional check in the nova compute for locked blows up.

The fix probably involves the nova-compute check doing a timed retry
under cells because of replication lags.

Change-Id: Ic18407b8372c286d8e258860f3e2bf76eceef2aa
Related-Bug: #1466696
2015-11-09 16:54:19 -05:00
Jenkins 4474dce9e6 Merge "devref: update the nova architecture doc" 2015-11-09 06:04:10 +00:00
Jenkins b12e72ff23 Merge "Fix missing obj_make_compatible() for ImageMetaProps object" 2015-11-09 06:03:47 +00:00
Jenkins 07bdf9852e Merge "Deprecated: failIf" 2015-11-09 06:03:25 +00:00
Jenkins e8004142c9 Merge "Remove flavors.get_all_flavors() only used in tests" 2015-11-09 05:55:38 +00:00
Jenkins 49836e749b Merge "Fix attibute error when cloning raw images in Ceph" 2015-11-09 03:39:15 +00:00
Jenkins d7e34e48fb Merge "Change image to instance in comment" 2015-11-09 00:14:11 +00:00
Gary Kotton 53c12143e9 Config drive: make use of an instance object
Use an instance object instead of a dictionary.

TrivialFix

Change-Id: I520a5f0607b0aad53db093a9ab5511520c06ac4c
2015-11-08 03:54:44 -08:00
Sam Yaple 835ff1bf73 Fix attibute error when cloning raw images in Ceph
A regression introduced in If03b166d3ecc3e7fa6b7f1a0c69f8ab1cc7b1972
causes a glance image with the type 'raw' in ceph to fail to CoW
clone which prevents launching at all in this case.

The original patch did not update imagebackend.py [1] to use the new
nova.objects.ImageMeta object so the clone() function passes a normal
dict to the is_cloneable() function.

Additionally add another test to ensure that not passing disk_format
will fail, but not result in an exception. It will simply mean that
the function returns that it cannot take advantage of the CoW cloning
ceph provides.

[1] https://github.com/openstack/nova/blob/f2e2a5891d5f5ff9346e6dc8e4dd0e994485245c/nova/virt/libvirt/imagebackend.py#L824

Change-Id: I7ae107bfccab7ff66c09d96856722dd6e60fdd96
Closes-Bug: #1508230
2015-11-07 16:23:43 +00:00
Jenkins 50c00d5315 Merge "Use EngineFacade from oslo_db.enginefacade" 2015-11-07 08:50:31 +00:00
Jenkins 0da0971cc4 Merge "Deprecate local conductor mode" 2015-11-07 02:29:13 +00:00
Jenkins 5483ee9e8a Merge "Exclude all BDM checks for cells" 2015-11-07 00:02:59 +00:00
Matt Riedemann 206b1413e4 Properly log BlockDeviceMappingList in _create_block_device_mapping
The block_device_mapping list parameter is a BlockDeviceMappingList
object, and list objects don't repr the sub-objects so it's useless
information in the logs. Cast to a list to get the sub-objects repr'ed
in the logs.

The bdm list of dicts from the API request is converted to a
BlockDeviceMappingList in _check_and_transform_bdm which is called from
_create_instance before _create_block_device_mapping.

Closes-Bug: #1513934

Change-Id: Id709c0bc9d0ad980d0b36973f3a52034003170af
2015-11-06 12:00:18 -08:00
Sylvain Bauza fa203c3165 Exclude all BDM checks for cells
Since there are some race conditions with the EBS image checking test,
it's better to remove the entire Tempest class tests just until we
figure out what's wrong with the boot from volume stuff

Change-Id: Ice6a718b6d7b27505696a3c55fc02d44d4b187a7
Related-Bug: #1489581
2015-11-06 20:36:38 +01:00
Pavel Kholkin 33cf0fef9a enginefacade: 'key_pair' and 'cell'
Use enginefacade in 'key_pair' and 'cell' sections.

Implements: blueprint new-oslodb-enginefacade

Co-Authored-By: Sergey Nikitin <snikitin@mirantis.com>

Change-Id: Icdd7bcf40a460637d7e3789c99231b7e7a6a82fb
2015-11-06 16:01:46 +00:00
Sergey Nikitin 80d7448e80 Use EngineFacade from oslo_db.enginefacade
'get_session' and 'get_api_session' methods are still
needed for backward compatibility.

Implements: blueprint new-oslodb-enginefacade

Closes-Bug: #1502104

Co-Authored-By: Pavel Kholkin <pkholkin@mirantis.com>

Change-Id: I8ceb9f939470f744f0d616d7db065a4d5d80202b
2015-11-06 18:59:44 +03:00
Hans Lindgren 100ebc72da Remove flavors.get_all_flavors() only used in tests
This method is only used in tests, sometimes even in orphaned code.
This method really just calls the object method FlavorList.get_all()
and wraps the result in a dict.

Lets remove it an replace the few remaining places where it actually
was used with direct calls to the object method.

Change-Id: I990f81af3d24a5b98d1905d44262c138fd2a0283
2015-11-06 13:10:32 +01:00
Jenkins 74509a7dc7 Merge "hacking check for contextlib.nested for py34 support" 2015-11-05 21:18:46 +00:00
Dan Smith a698871607 Deprecate local conductor mode
Way back when we started no-db-compute, we introduced the conductor service
and provided a "local mode" which made conductor's API layer a passthrough to
the manager and thus the database. This eliminated the need to move to
conductor for deployments that weren't ready or had other blockers.

Now, conductor is a pretty critical part of nova's infrastructure and
continuing to allow both modes invites issues (such as bug 1505471). This
patch starts the timer on deprecation for this mode of operation so that
we can remove it in the future.

UpgradeImpact: A deployment mode is being deprecated and will require any
existing operators using this to deploy conductor before removal.

Change-Id: Ifbd5578dcc53b2117674db2016e5d882a82866aa
2015-11-05 19:47:01 +00:00
Jenkins cab9eb1e69 Merge "Add a nova functional test for the os-server-groups GET API with all_projects parameter" 2015-11-05 19:37:47 +00:00
Jenkins 6f199c413d Merge "Remove reservation_id from the logs when a schedule fails" 2015-11-05 17:43:11 +00:00
Monty Taylor a9d4a80a83 Change image to instance in comment
It turns out a delete image is different than a deleted instance in a
fairly fundamental way.

Change-Id: I430d1893875a48ed94428741bd7af2324640e48c
2015-11-05 09:58:42 -05:00
Jenkins e52d236a3f Merge "cells: add debug logging to bdm_update_or_create_at_top" 2015-11-05 01:22:54 +00:00
Matt Riedemann 982bc73f4a Add logging to snapshot_volume_backed method
The cells job is failing on a race where an image is created
from an instance with a single volume attached, but we have
multiple (duplicate) BDMs for the instance so we end up with
multiple volume snapshots for the image, which later fails a
boot request using the snapshot image because the image has
duplicate BDMs with the same boot_index, which is invalid in
the request.

This just adds some debug logging when we actually call off to
cinder to create a volume snapshot so we have the request
context and instance uuid in the logs for tracing.

Change-Id: Iba8ad7cf40ba076e90abc8604187700166795c5d
Related-Bug: #1489581
2015-11-04 11:48:30 -08:00
Jenkins 961e330fa3 Merge "Use RequestSpec object in HostManager" 2015-11-04 15:42:38 +00:00