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
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
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
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
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
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
The instance.restore.start and instance.restore.end notifications
are transformed to the versioned framework.
Change-Id: I4459ec05a7153af7a0f04adcccb9d99cb5f661e5
Implements: bp versioned-notification-transformation-newton
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
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
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
The instance.resize.start and instance.resize.end notifications
are transformed to the versioned framework.
Implements: bp versioned-notification-transformation-newton
Change-Id: If5183eddb7d79712f360cde11c554e4798f86255
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
The instance.pause.start and instance.pause.end notifications
are transformed to the versioned framework.
Implements: bp versioned-notification-transformation-newton
Change-Id: I67979c1cd7cd221a2241846255bf2a884a9d60f5
Instance.shelve.start and instance.shelve.end notifications
are transformed to the new versioned framework.
Change-Id: Ibb52f4c9d8ec10810916a6ccb2bb494db7300d05
Implements: bp versioned-notification-transformation-newton
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
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
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
This completes the verification of os-assisted-volume-snapshots.inc
for all required area(parameter, example, body)
Part of bp:api-ref-in-rst
Change-Id: I9544e9681bcdd83ca5d2bf6b8722db0a71665b8b
When there are thousands of compute nodes, it would be slow to get the
whole hypervisor list, and it is bad for user experience to display
thousands of items in a table in horizon. This patch is proposed to
support pagination for hypervisor by adding `limit` and `marker` to
the list api.
Implements blueprint: pagination-for-hypervisor
Change-Id: Ie7f8b5c733b383f3e69fa23188e56257e503b5f7
The instance.delete.start and instance.delete.end notifications
are transformed to the versioned framework using the generic
InstanceActionNotification and InstanceActionPayload class.
There is no instance.delete.error notification in legacy so
it is not added here but considered as a future improvement.
Change-Id: Iddbe50ce0ad3c14562df800bbc09ec5a7e840485
Implements: bp versioned-notification-transformation-newton
This patch allows the user to specify a tag for a virtual network
interface and/or block device mapping when booting an instance.
Implements: blueprint bp/virt-device-role-tagging
Change-Id: I89247200f4cf1f644daf476727b4a6acb22b0cf6
This patch allows the network manager(s) to set virtual device tags if
they are present during allocation.
Implements: blueprint virt-device-role-tagging
Co-authored-by: Vladik Romanovsky <vromanso@redhat.com>
Co-authored-by: Dan Smith <dansmith@redhat.com>
Change-Id: I8367f740d6d4ebaeb81bc74c6a82a8faf5cd8308
Adapt "nova rescue" code to support Virtuozzo ploop disks.
In rescue mode we use static mount point /mnt/rescue for original filesystem.
As far as ploop disks are in fact directories
we use rmtree function to delete rescue disks in unrescue procedure.
Implements: blueprint virtuozzo-rescue-support
Change-Id: I07b9e3a8b726635294395b0292fc3592a1b0f918