Bypassing the scheduler during a live migration or evacuation
is not something we want people to be doing as it can easily fail
if the specified host is already full or doesn't provide something
required by the instance, plus it's a nightmare for tracking allocations
in the Placement service when we're bypassing the scheduler.
Because of this, we should have some warnings in the API reference
about doing this, which this patch adds.
Change-Id: I85e7c2677f4d5eccc1e7f349de06960b53ef148d
When creating a server, you can request security groups and
pre-existing ports, but the security groups are only applied to
any new ports that nova creates, not the pre-existing ones that
the user passes in. This change makes a note of that in the API
reference.
Change-Id: I0ea6891f10f021b0ed752200417e87d7e9bfda31
Related-Bug: #1707319
The 'security_groups' parameter in the GET /os-security-groups API
is not optional and we don't need information about the name
attribute. The "security_groups" parameter being used is actually
for the create server API.
Change-Id: I63bb8fc433b56a3f2b80cfafab37b103fe3a27d9
add description about key_name, which tells user 'null' is not
accepted parameter.
this is ths solution that other than change the code.
Change-Id: Id84c7803fdd44961497cd35c15ece98e2852d4f6
Related-Bug: 1700825
If section reference name is changed not to overlap,
when the 'List Default Quotas For Tenant' API section
is collapsed, it cannot be followed by users.
So the reference is changed to the 'os-quota-sets' chapter.
Change-Id: Ic61b38cabde3b3225f778833f0e7aae6acf5eabc
Closes-Bug: #1705191
'disable-log-reason' API action disable the compute service and
log the disabled reason. But api-ref statement sounds like this API
only log the disable reason.
Correcting description to convey the clear behavior of API.
Closes-Bug: #1702310
Change-Id: I5e1b97ed482d62477d87c96c9914e6f88c041b8b
Because MySQL is case insensitive by default, and this
is something that depends on the database backend in the
cloud, let's not mention that tags are case sensitive in
the API.
Change-Id: I6efa9d6a5c598ac7a5c898d63b6a4b1934560b80
Related-Bug: #1538011
The max_version on the fixed_ips, floating_ips, networks,
security_groups and security_group_members parameters for the
os-quota-class-sets API should be capped at 2.49, not 2.50.
This is a bit confusing but it works the same as max_version
works in the API code, i.e. the max version is the highest
version you can request that parameter on that API and it
will work. 2.50 was wrong because in 2.50 we don't accept
or return those parameters.
This is similar to the network-related resource deprecation
in the os-quota-sets API with the 2.36 microversion. The API
reference for those parameters in os-quota-sets use
max_version: 2.35.
Change-Id: Ib3e3cdc1ba57172fce1b03a0e77302c3edf9f0dc
Closes-Bug: #1705115
There are quite a few changes here as this is not only handling
uuids for the hypervisor id but it's also a refactor in several
APIs for consistency.
The main changes are detailed in the REST API Version History
doc in this change, but to summarize the changes:
* Hypervisor and service IDs are handled as the UUIDs for those
resources; this is necessary for accurately working with these
resources across multiple cells.
* The 'servers' and 'search' routes are deprecated and folded into
the index and detail methods as query parameters, validated using
json schema.
* The show method will also be able to return the list of servers
hosted on the given hypervisor using the with_servers query
parameter.
* The marker used when paging over lists of hypervisors is the
compute node UUID.
* Using the hypervisor_hostname_pattern query parameter will not
work with paging parameters.
* API reference docs are updated for the detailed changes.
* Functional and unit tests are provided for all changes.
Part of blueprint service-hyper-uuid-in-api
Change-Id: I828350c179df8bcfa4739910abeafaba2f96982b
This patch introduces a new microversion to identify services by uuid
instead of id, to ensure uniqueness across cells. GET /os-services
returns uuid in the id field, and uuid must be provided to delete a
service with DELETE /os-services/{service_uuid}.
The old PUT /os-services/* APIs are now capped and replaced
with a new PUT /os-services/{service_uuid} which takes a uuid path
parameter to uniquely identify the service to update. It also restricts
updates to nova-compute services only, since disabling or forcing-down
a non-compute service like nova-scheduler doesn't make sense as it
doesn't do anything.
The new update() method in this microversion also avoids trying to
re-use the existing private action methods like _enable and _disable
since those are predicated on looking up the service by host/binary,
are confusing to follow for code flow, and just don't really make sense
with a pure PUT resource update method.
Part of blueprint service-hyper-uuid-in-api
Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>
Change-Id: I45494a4df7ee4454edb3ef8e7c5817d8c4e9e5ad
This is the 4th patch of the series,
this patch adds a new microversion
in API to support adding tags when
booting instances.
Implemetes: blueprint support-tag-instance-when-boot
Change-Id: Ifcaaf285c8f98a1d0e8bbbc87b2f57fbce057346
In the resize API reference, mention that the specified flavor
must have a disk size greater than or equal to the current
instance flavor. This is something that doesn't get checked
in the API so it results in a failure on the compute service
which is not obvious to the API user since the instance goes
back into state 'ACTIVE'.
Change-Id: I33fc92ffa346b908a8e4f95da16a68040cfc678e
This patch marks the network related quota in the quota-class API
as deprecated in the 2.50 microversion. Also rewrite the release note for
2.50 microversion, change to describe the API change instead of the history.
Change-Id: Ida5518b7d43e85d9f30b11ed2819025a190aefd6
Allow Cinder to use external events to signal a volume extension.
1) Nova will then call os-brick to perform the volume extension
so the host can detect its new size.
2) Compute driver will resize the device in QEMU so instance can detect
the new disk size without rebooting.
This change:
* Adds the 'volume-extended' external event.
The event tag needs to be the extended volume id.
* Bumps the latest microversion to 2.51.
* Exposes non-traceback instance action event details for
non-admins on the microversion. This is needed for the
non-admin API user that initiated the volume extend
operation to be able to tell when the nova-compute side
is complete.
Co-Authored-By: Matt Riedemann <mriedem.os@gmail.com>
Blueprint: nova-support-attached-volume-extend
Change-Id: If10cffd0dc4c9879f6754ce39bee5fae1d04f474
For "GET /servers/{server_id}/os-instance-actions/{request_id}",
the "events" parameter in the response body is only included by
default policy for administrators. You can get details if you're
an admin or own the server, but the events are only returned for
admins by default.
This change does two things:
1. Fixes the description of the default policy since admin or
owner can get action details for a particular request.
2. Fixes the "events" parameter description by pointing out it
is optional and only returned by default for admins.
Change-Id: I6410a0aac223133d8d07fd65c268553ebb9e7e67
Closes-Bug: #1702573
v2.1 API which does not return the 'server_groups' and
'server_group_members' quotas in GET & PUT os-quota-class-sets
API response. v2 API used to return those keys in API response.
Also filter out the network related quotas from os-quota-class-sets
APIs
Fixing this with microversion.
Closes-Bug: #1701211
Closes-Bug: #1693168
implement-blueprint fix-quota-classes-api
Change-Id: I66aeb7a92fb5ee906fead78030bd84a2e97916e8
Add the description for the following items
in the API reference and the API guide.
* 'X-Openstack-Request-Id' header in request
* 'X-Openstack-Request-Id' header in response
* 'X-Compute-Request-Id' in response
Change-Id: Idd9181c1530eb9576da9941416b697a97c0cfb8d
Closes-Bug: #1693555
Add missing parameters in limits.inc.
Fix inconsistency in the description ('instance' and 'server').
Change-Id: I9e361471024fd9618a7b6a7b49a1aeca810e6f05
Implements: blueprint api-ref-in-rst-pike
Closes-Bug: #1654316
Now the code implementation for the api show and delete for
os-volume_attachments and the description of the document
does not match.
Change-Id: Ib15532d628713d771a835e9825a1c699a7ea4fcb
'networks' quota can be available based on config value.
api-ref should show that for quota-set APIs and also sample files
so that it can be tested somewhere.
Also adding it to quota class APIs sample files also.
Closes-Bug: #1702201
Change-Id: I84d562a8ca10826dea4675d74669b5de64ff0ed0
This commit adds the api doc for os-quota-class-set GET & PUT
APIs.
- Also mentioned about the recommendation over usage of this API.
- Added warning for current bug in v2.1 API #1693168
This is also needed by BP
- https://blueprints.launchpad.net/nova/+spec/fix-quota-classes-api
Change-Id: Ib765e2d1dec7b236a2009148e0b1067a46326ce9
Related-Bug: #1693168
Closes-Bug: #1602400
This patch adds microversion 2.49, which supports tagged attachment
of network interfaces and block devices.
Change-Id: I8d3bbe7e9a21d2694d10ee89628deb333e6b0487
Implements: blueprint virt-device-tagged-attach-detach