Commit Graph

1719 Commits

Author SHA1 Message Date
Chris Dent d5da444cfc Tidy up scheduler_evolution.rst
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
2016-02-03 11:19:32 +00:00
Jenkins ab4a5f8a55 Merge "Refactor _load_support_matrix" 2016-02-02 15:05:49 +00:00
Jenkins c8a8963eed Merge "Revert "Added new scheduler filter: AggregateTypeExtraSpecsAffinityFilter"" 2016-02-01 18:35:54 +00:00
Sylvain Bauza 969c81f1d9 Revert "Added new scheduler filter: AggregateTypeExtraSpecsAffinityFilter"
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
2016-02-01 15:46:51 +00:00
Jenkins 8a31746b7f Merge "Added new scheduler filter: AggregateTypeExtraSpecsAffinityFilter" 2016-02-01 14:54:00 +00:00
Jenkins e5256c32a7 Merge "Add argument to support-matrix sphinx extension" 2016-02-01 14:36:10 +00:00
Jenkins 95b589d8c4 Merge "Add a disk space weight-based scheduler." 2016-01-30 13:16:59 +00:00
andrewbogott 13c1301f41 Add a disk space weight-based scheduler.
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
2016-01-30 10:58:43 +00:00
Jenkins 908de5e029 Merge "doc: fix malformed api sample" 2016-01-29 15:50:42 +00:00
Dan Smith 2d7a851199 Allow sending the migrate data objects over the wire
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
2016-01-29 04:04:06 -08:00
Rodolfo Alonso Hernandez 800a5098ba Added new scheduler filter: AggregateTypeExtraSpecsAffinityFilter
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
2016-01-29 09:18:53 +00:00
Balazs Gibizer 028ff49b2a doc:Ask reviews to reject new legacy notifications
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
2016-01-28 15:36:17 +01:00
Balazs Gibizer 05adc8d006 Generate doc for versioned notifications
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
2016-01-28 15:33:06 +01:00
Balazs Gibizer 02a6e3543d doc: add devref about versioned notifications
Partially-Implements: bp versioned-notification-api
Change-Id: Iac01b8324b7115864aca75ab0b1335a26259aa56
2016-01-28 15:33:06 +01:00
Balazs Gibizer 1c4414a264 Adds json sample for the versioned notifications
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
2016-01-28 15:31:21 +01:00
Balazs Gibizer 1269f5aeb1 doc: fix malformed api sample
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
2016-01-28 14:08:16 +01:00
Ghanshyam 42e4126f05 Enable all extension for server PUT API sample tests
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
2016-01-28 14:06:36 +09:00
Jenkins 1c8b92f1ee Merge "We now require gettext for dev environments" 2016-01-27 22:10:29 +00:00
Michael Still 8b388754ba We now require gettext for dev environments
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
2016-01-27 17:00:41 +00:00
Qiaowei Ren 08dd4c2912 update feature support matrix documentation
This patch update feature support matrix documentation for uefi boot.

Change-Id: I8ec6a2ad24e100cce48d70160350e5bf853992ef
Implements: blueprint boot-from-uefi
2016-01-27 15:29:28 +00:00
Chuck Carmack 4841cab03e REST API changes for user settable server description
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
2016-01-25 21:33:30 +00:00
Jenkins 6dec144eeb Merge "Fix docstrings for sphinx" 2016-01-25 15:45:17 +00:00
Jenkins 2d705bea4e Merge "Make project_id optional in v2.1 urls" 2016-01-25 02:42:38 +00:00
Jenkins b956478d3c Merge "Add python3* packages to development quickstart guide" 2016-01-25 02:37:31 +00:00
Andreas Jaeger 813c6321ef Fix docstrings for sphinx
Sphinx complains about:
docstring of nova.conf.opts:5: ERROR: Unexpected indentation.
docstring of nova.conf.opts:8: WARNING: Block quote ends without a blank line; unexpected unindent.
doc/source/threading.rst:34: WARNING: Literal block ends without a blank line; unexpected unindent.

Fix these problems.

Change-Id: I023487445b21891e9488a5f6eef9f89f9cecade0
2016-01-24 19:20:00 +01:00
Sean Dague 1f16a763e7 Make project_id optional in v2.1 urls
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
2016-01-24 06:38:15 -05:00
Jenkins f2013bc665 Merge "Note in HypervisorSupportMatrix for Libvirt/LXC shutdown kernel bug" 2016-01-23 07:47:26 +00:00
Jenkins 833face153 Merge "Add a REST API to trigger crash dump in an instance." 2016-01-22 23:45:08 +00:00
Thomas Maddox 3f48f5a845 Note in HypervisorSupportMatrix for Libvirt/LXC shutdown kernel bug
Libvirt/LXC's shutdown command fails with latest kernel
from Ubuntu Trusty's security repository.

Change-Id: I1f48f328d41b70a35b6d6952733a6dbb4fe4b62c
Related-Bug: #1536280
2016-01-22 14:42:26 +00:00
Jenkins 8101d14625 Merge "ServerGroupsV213SampleJsonTest should actually test v2.13" 2016-01-22 11:12:55 +00:00
Ken'ichi Ohmichi 7608b430cc Fix indents of servers-detail-resp.json
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
2016-01-20 23:37:34 +00:00
Tang Chen 30c6f49817 Add a REST API to trigger crash dump in an instance.
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>
2016-01-20 09:42:50 +08:00
Matt Riedemann cc3796cca5 Add python3* packages to development quickstart guide
Add the native distro packages for python 3 development to the dev
quickstart guide (needed for running the tox py34 target).

Change-Id: Iae651ac2f7d4b050cba46ee27e5a6d4232f3fddc
2016-01-18 10:25:13 -08:00
Tomi Juvonen 9345d5835f Add host_status attribute for servers/detail and servers/{server_id}
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
2016-01-16 20:07:49 +02:00
Matt Riedemann 0875a411aa ServerGroupsV213SampleJsonTest should actually test v2.13
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
2016-01-14 14:48:40 -08:00
Ken'ichi Ohmichi 070c2e659b Add reviewing point related to REST API
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
2016-01-13 02:54:46 +00:00
Jenkins 4e440918cf Merge "api: add soft-affinity policies for server groups" 2016-01-09 10:10:50 +00:00
Jenkins b6e2984d60 Merge "Replace deprecated library function os.popen() with subprocess" 2016-01-09 05:51:51 +00:00
Jenkins feb6feccb9 Merge "Remove Deprecated EC2 and ObjectStore impl/tests" 2016-01-09 04:23:21 +00:00
Jenkins 0f152d1110 Merge "scheduler: add soft-(anti-)affinity weighers" 2016-01-08 14:27:34 +00:00
Davanum Srinivas 4140eb4004 Remove Deprecated EC2 and ObjectStore impl/tests
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
2016-01-08 06:30:20 -05:00
Jenkins bff71e602b Merge "Fix advice for new contribs" 2016-01-07 12:44:01 +00:00
John Garbutt fbbe1cf316 Refactor _load_support_matrix
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
2016-01-07 11:18:51 +00:00
Balazs Gibizer 1c30edc5b2 api: add soft-affinity policies for server groups
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
2016-01-07 10:43:57 +01:00
Ildiko Vancsa 72ba18468e scheduler: add soft-(anti-)affinity weighers
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
2016-01-07 10:43:57 +01:00
Harshada Mangesh Kakad c40464514d Replace deprecated library function os.popen() with subprocess
os.popen() is deprecated since version 2.6. Resolved with use of
subprocess module.

Change-Id: Iea9c0501f46c57d809217912fb0f40eb2bc4f111
Closes-Bug: #1529836
2016-01-06 09:45:21 -08:00
Jenkins 816d90f999 Merge "Fix wrong method name in doc filter_scheduler" 2016-01-06 16:09:03 +00:00
Jenkins fd8f044d04 Merge "Document restrictions for working on cells v1" 2016-01-06 15:16:33 +00:00
Jenkins 1a5553efc8 Merge "Move Process and Mentoring pages to devref" 2016-01-06 15:15:31 +00:00
Alexis Lee 1a3633ef88 Fix advice for new contribs
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
2016-01-06 14:27:24 +00:00