There are API parameters "admin_password" and "admin_pass" on some APIs:
* AdminPasswordController: admin_password
* EvacuateController : admin_password
* RescueController : admin_pass
* ServersController : admin_pass
These parameters mean the same thing, it is the admin password of a vm
instance. They should be the same parameter name because of the meaning.
DocImpact
Partially implements bp nova-v3-api
Change-Id: I452672e064d0dc4a1d5700bb96c01de8087f33d8
The context arg was added to the compute driver's destroy() method in
commit 8c0673d3102478ef34ef1b11c1db156db4b68f62. The context is used by
the libvirt driver when dealing with encrypted volumes.
Unfortunately, most of the places where this method is called in the
compute manager, the context wasn't being passed in. This patch makes
the argument mandatory and updates all of the drivers to match.
Change-Id: Icea2a36c16869af43954065473ff4e4910f32b1e
/sbin/parted is throwing an 'invalid option' error when setting the
partition endpoint to -0 (which tells parted to extend the partition
to the end of the disk). This change adds '--' to indicate the
remaining args are not options.
Fixes bug 1247307
Change-Id: I3bd2e25404d002329aa0ea53e9b60b69c90c0adb
The quota API extension expects `get_project_quotas` and `get_user_quotas` to
return a dictionary where the value is another dictionary with a `limit` key.
The `DbQuotaDriver` adhered to this spec, but the `NoopQuotaDriver` didn't.
This fixes the `NoopQuotaDriver` to return the results in the correct format.
Fixes bug 1244842
Change-Id: Iea274dab1c3f10c3cb0a2815f431e15b4d4934b1
Delete.end notifications were getting sent with a blank deleted_at
field. This meant that services listening to notifications for
instance state changes could potentially never get the instances
deleted_at value. The instance usage audit notification would be
the only source for that value.
This change returns the destroyed instance from the conductor API
and sends the delete.end notification with that state, containing
the deleted_at value which was just set.
UpgradeImpact
Closes-Bug: #1241681
Change-Id: I3481e0bada1711c3bff50f249f6a2b40a4ea6855
Pylint reports the following, let's clean them up
["Instance of 'DriverBlockDevice' has no '_fields' member", ""]
["Instance of 'DriverBlockDevice' has no '_legacy_fields' member", ""]
Change-Id: Iaf56dc35ce5ad963a6fb50d6641b203409ca6798
Closes-Bug: #1214377
We already specify instances.{system_metadata,info_cache} as columns to
join so, loading 'instances' is implicit joinedload_all() behaviour.
Change-Id: I0c28e3b4d2ce8b5884d1247a7f96ecc810842d93
* Added the missing "context" argument in nova/virt/driver.py
* Added the missing argument in the test_virt_drivers.destroy() as well so it
will make sure none of the other drivers will miss it.
Change-Id: I083b935da95c28ad4f9879036ef2bf7c1fbbb58e
Closes-Bug: #1244829
Since the virt drivers instantiate InstanceMetadata manually,
this adds a bit of compatibility for primitive instance objects
until we have all of compute manager converted.
Change-Id: Ifb9ae7838300280895d63ffbd13337529b6d883c
Since we can't generally shrink incoming images, add extra checks
to ensure oversized images are not allowed through.
All cases when populating the libvirt image cache are now handled,
including the initial download from glance, where we avoid
converting to raw, as that could generate non sparse images
much larger than the downloaded image.
* nova/virt/libvirt/utils.py (fetch_image): Allow passing through
of the max_size parameter.
* nova/virt/images.py (fetch_to_raw): Accept the max_size parameter,
and use it to discard images with larger (virtual) sizes.
* nova/virt/libvirt/imagebackend.py (verify_base_size): A new
refactored function to identify and raise exception to oversized images.
(Raw.create_image): Pass the max_size to the fetch function.
Also enforce virtual image size checking for already fetched images,
as this class (despite the name) can be handling qcow files.
(Qcow2.create_image): Pass the max_size to the fetch function,
or verify the virtual size for the instance as done previously.
(Lvm.create_image): Pass the max_size to the fetch function.
Also check the size before transferring to the volume to improve
efficiency by not even attempting the transfer of oversized images.
(Rbd.create_image): Likewise.
* nova/tests/virt/libvirt/fake_libvirt_utils.py: Support max_size arg.
* nova/tests/virt/libvirt/test_libvirt.py (test_fetch_raw_image):
Add a case to check oversized images are discarded.
* nova/tests/virt/libvirt/test_imagebackend.py
(test_create_image_too_small): Adjust to avoid the fetch size check.
Fixes bug: 1177830
Fixes bug: 1206081
Change-Id: I3d47adaa2ad07434853f447feb27d7aae0e2e717
Adds api sample tests and api samples for config-drive
Partially implements blueprint v3-api-unittests
Partially implements blueprint v3-api-specification
Change-Id: Id589ddced8c30089bacbb3eca81d4b9238901a91
Function test_create_instance_with_img_ref_associates_config_drive
do the same as function test_create_instance_associates_config_drive
(identical bodies with different names)
Change-Id: I3c77d9249150231831f2e7eba1ccd493867ca5c0
Add notification for the following host operations:
1) compute/api.py:set_host_enabled
2) compute/api.py:host_power_action
3) compute/api.py:set_host_maintenance
This can make sure 3rd party callers can get host status quickly.
Implements bp host-operation-notification
Change-Id: Ib4cc80e568b6028afbdd6cb86f6ac8edeed4f933