This is primarily a writing style cleanup with some clarifications
and link additions. It does not make any great effort to bring the
information up to date with current conditions.
Change-Id: I665dc5afc952cf93c095cdd1421b64d7b0716b2a
This reverts commit 4b142e53e43132e996d35c335da30959f9f361be.
I was having a point left unresolved in https://review.openstack.org/#/c/189279/8/doc/source/filter_scheduler.rst about the tech debt that adding a new filter in-tree would cause for something very closely related to another filter.
I totally get the need for adding more logic and reverting how we compare flavors vs. aggregates. I just feel that before committing ourselves to that, we need to correctly estimate the possibilities to modify AggregateInstanceExtraSpecsFilter to fit the above needs.
Change-Id: Ic9f70dae037d32980a5a252bdd08eff02ba27120
By default this is turned on and has equal weight to the
ram weigher.
DocImpact: Added the disk_weight_multiplier config option
Closes-Bug: 1513654
Change-Id: I29ce73122ad1860081b64b75646a297dfbb8d292
This makes us actually capable of sending migrate_data objects
over the wire and handles all the compatibility work to tolerate
older nodes without this support.
Note this also fixes a bug in the libvirt migration data
object where the serial console field should be nullable
(per existing code) but wasn't. Since this is the patch that
actually lets this object be sent over the wire, we can update
the definition and the hash without needing a version bump.
Related to blueprint objectify-live-migrate-data
Change-Id: I8ad7a91910e269c27bc74389a9d4d2c7388313d6
The flavor_extra_spec metadata pair will be consumed by the
AggregateTypeExtraSpecsAffinityFilter to allow operators to define a
set of extra specs key value pairs that are required to schedule to
the aggregate, e.g.:
standard memory backing aggregate:
flavor_extra_spec: "hw:mem_page_size=small,hw:mem_page_size=any"
high bandwidth memory backing aggregate:
flavor_extra_spec: "hw:mem_page_size=2M,hw:mem_page_size=1G," \
"hw:mem_page_size=large"
DocImpact
Implements: blueprint aggregate-extra-specs-filter
Change-Id: Id3a9918cf9f83b2a9b1dfbcd91803b5b1b2bcc78
The versioned notificaton infrastructure is in place and the team
agreed on the midcycle to allow new notification types only based
on the versioned notification infrastructure. So the code-review
document is updated to reflect this decision
Change-Id: I7f3860ca59658dc21e67f26bb45341cb46da2235
Partially-Implements: bp versioned-notification-api
This commit adds a new sphinx extension that inspects the nova code
and adds information about the existing versioned notifications to
the nofitications devref. This way the devref is automatically kept
up to date with relevant information.
Partially-Implements: bp versioned-notification-api
Change-Id: If65d5d81e26cb2b4a9f57a8c7d37d3de310ebe00
This patch adds infrastructure to store and verify json samples
about versioned notifications. Also it adds sample for the service.update
notification as that is the only existing versioned notification.
A new notification_sample_tests subtree added to the functional test
tree to verify that the emitted notifications match with the stored sample.
Partially-Implements: bp versioned-notification-api
Change-Id: I3a70b7b5d6d427611a9d2c1610e0d55aff88f0e8
I74b1a340c5ab98fdea2186e87dd13f42ce7c7661 introduced a malformed api
sample and the tox -e docs fails since then. This patch fixes the
sample file.
Closes-bug: #1539071
Change-Id: Ica76db8928fc98db1a09074fdc46439c920e93d8
As extensions options has been deprecated, API sample tests
should run against all extension enable.
This commit enables all extensions for server PUT API tests and
remove its specific extensions tests and sample files.
Adding a hack for other tests which are still running with specific
extensions. That is needed to avoid all tests updates in single commit.
Partially implements blueprint api-sample-tests-with-all-extensions
Change-Id: I9c44da3d9df39c1db0948194502be52f4f15acf2
Post Ic1f106684270a8f2197e0fb2a67d6fc00535ee65 we now require
msgfmt (a binary in the gettext package) to be installed for pep8
to pass. This hasn't failed in the gate because infra already
installs that package. We should make sure new devs know to do
that thing as well.
Change-Id: Iac505ddd54466e8a6272fee5ff61aac180c90ac4
This patch update feature support matrix documentation for uefi boot.
Change-Id: I8ec6a2ad24e100cce48d70160350e5bf853992ef
Implements: blueprint boot-from-uefi
This patches adds changes to the Nova REST API to allow
users to create a server with a description, rebuild
a server with a description, update the description,
and get the description in the server details.
Note: Future commits will be done to support the server
description in python-novaclient and openstack-client.
APIImpact
Implements blueprint: user-settable-server-description
Change-Id: I74b1a340c5ab98fdea2186e87dd13f42ce7c7661
This introduces microversion 2.18 which signals that the {project_id}
is no longer required in URLs.
It tests this with an additional scenario in api_samples which makes
all the requests without the project_id in the url (using a different
noauth middleware to accomplish this).
Update the link fixer in the ApiSamples matching code to also update
for optional project_id. This is the least worse approach here,
because if we set request_api_version, then we have to duplicate the
entire template tree as well, which we definitely don't want to do, as
it now correctly handles either url form.
This updates the auth tests to bifurcate with testscenarios instead of
the subclass model, which makes for more consistent tests.
In order to support adding routes without project_id we have to be
able to restrict project_id something that doesn't match any of our
top level routes.
The default for this is [0-9a-f\-]+ which will match all of the
following:
- keystone default generated project_ids [0-9a-f]{32}
- integer project_ids (\d+) - known in use by RAX
- uuids with dashes (no known users, but suspect there might be)
This can be overrided with the new (but already deprecated)
``project_id_regex`` config option.
NOTE: we used this feature to expand the regex to match 'fake' and
'openstack' as valid project ids in tests. Those concepts are deeply
embedded in our tests, and need to be unwound independently.
APIImpact
Implements bp:service-catalog-tng
Co-Authored-By: Augustina Ragwitz <auggy@cpan.org>
Change-Id: Id92251243d9e92f30e466419110fce5781304823
servers-detail-resp.json of microversion v2.16 contains some invalid
indents which are made with tabs instead of spaces.
This patch fixes them by replacing with spaces.
Change-Id: I1ee55e7b8ec78bde1d2e6097585b8d3db07d68f2
Change I9b649aafba011d537e3fe4eebef7a678ff6733e4 has added a
compute API to trigger crash dump in instance. This patch adds
the REST API to nova. It enables users to trigger crash dump in
an instance through REST API.
Change-Id: I6ed777ff637254b4b79417008f9055dd19fc7405
Implements: blueprint instance-crash-dump
Co-Authored-By: Hironori Shiina <shiina.hironori@jp.fujitsu.com>
Co-Authored-By: Tang Chen <tangchen@cn.fujitsu.com>
Add the native distro packages for python 3 development to the dev
quickstart guide (needed for running the tox py34 target).
Change-Id: Iae651ac2f7d4b050cba46ee27e5a6d4232f3fddc
When a compute service fails, the power states of the hosted VMs are not
updated. A normal user querying his or her VMs does not get any indication
about the failure. Also there is no indication about maintenance.
This change will expose new attribute host_status to user querying his
VMs. Attribute is only seen if policy allows.
DocImpact: This adds API microversion
Implements blueprint get-valid-server-state
APIImpact
Change-Id: I5abea08bdc27624a7f23a7db8964f8c2a7b0eaa7
This API samples test was not using testscenarios properly,
and it wasn't extending the correct test class, so it was:
1. Not actually running tests.
2. Not running tests at the correct microversion (v2.13).
This fixes the testscenarios setup for the subclass and the
API samples and templates (since it's not using subs for the
intended project_id that was in the samples).
Also fixes a typo in ApiSampleTestBaseV21.
Change-Id: I27e8fce5d456914d88098c6cfabe05fa8afbc8eb
Closes-Bug: #1534354
Since I8ad9313f824ef656c841a9b60ee575f02ddea321, the api-wg has
introduced a new guideline. That was based on Nova's development
experience, and this patch adds it as a reviewing point for making
consistent APIs.
Change-Id: I53c4055d973b6f76fca16ae170d0df9e1829fca5
In Id7936be290b6febd18deb4c2db8ea4d678d4d9b1, we removed
entries from api-paste.ini for EC2 API service. In this
review we remove all the unnecessary code, docs and tests
associated with objectstore and ec2 service. Note that this
does not cleanup the Instance object or change any of the
versioned objects. We just drop any code associated with
testing the REST endpoint(s) that are no longer needed.
Also added shims such that the api-paste.ini from liberty
will still work (grenade job) and added logs and response
messages for prompting administrators to cleanup their
old api-paste.ini and switching to the stand alone EC2 API
project for their needs.
Change-Id: I8bf7cbaa7015bb61656ab90ccc8f944aaeebb095
In the Sphinx extension, split up the _load_support_matrix method, so
its easier to understand the additions for the feature_classification
table.
Change-Id: Ic3654017f63dda2c2505057b0063acbc6d5f83c2
Allows soft-affinity and soft-anti-affinity to be used as a policy
for the server group api extension. Add soft policies
to the JSONSchema, which validates server group definitions.
Bump API microversion to 2.15.
Implements: blueprint soft-affinity-for-server-group
Change-Id: I376bdba7df1344d269aa126f4896610baf2e16a2
ServerGroupSoftAffinityWeigher implements the soft-affinity
policy for server groups as it orders the hosts by the number
of instances running on them from the same group in decreasing
order.
ServerGroupSoftAntiAffinityWeigher implements the
soft-anti-affinity policy for server groups as it orders the
hosts by the number of instances running on them from the same
group in increasing order.
Both weigher assumes the the RequestSpec object refers to a valid
InstanceGroup object which has a populated members field. This
will be provided by the subsequent patch.
New configuration options added:
* soft_affinity_weight_multiplier
* soft_anti_affinity_multiplier
Add docs about the new weigher classes and change the function
name 'weigh_object' to '_weigh_object' in the Weights section
to match the code.
DocImpact
Co-Authored-By: Balazs Gibizer <balazs.gibizer@ericsson.com>
Implements: blueprint soft-affinity-for-server-group
Change-Id: I3f156d5e5df4d9642bb4b0ffac30a6288459ce61
os.popen() is deprecated since version 2.6. Resolved with use of
subprocess module.
Change-Id: Iea9c0501f46c57d809217912fb0f40eb2bc4f111
Closes-Bug: #1529836
The trivial bug list has already got a +1 and often the fixes there are
too trivial to learn very much. Replaced with some hopefully more
useful advice.
Change-Id: Ibf5abc4dca170770d302ae9276312faad5eabdb6