Commit Graph

1136 Commits

Author SHA1 Message Date
Jenkins 5a157a229a Merge "Add PCIWeigher" 2017-06-08 20:44:17 +00:00
Stephen Finucane ec74cc688e Add PCIWeigher
Take three hosts, one with a single PCI device, one with many PCI
devices, and one with no PCI devices. Nova should prioritise these
differently based on the demands of the instance. If the instance
requests a single PCI device, then the first of the hosts should be
preferred. Similarly, if the instance requests multiple PCI devices,
then the second of these hosts would be preferred. Finally, if the
instance does not request a PCI device, then the last of these hosts
should be preferred.

While the first and second of these cases is already somewhat handled by
the NUMA topology filter (which will ensure the correct number and type
of PCI devices are available on the hosts), there is nothing to stop a
instance that *does not* require PCI devices from occupying space on one
of the few hosts that *does* have free PCI devices.

The PCIWeigher is designed to keep hosts with PCI device(s) as free as
possible, to best ensure they can satisfy requests from instances with
PCI requirements when called upon.  This change ensures (a) an instance
with PCI requirements has the best possible chance of scheduling
successfully and (b) an instance without these requirements won't clog
up hosts that have these valuable resources.

Change-Id: I04bf7e6b8324dcac6c93b0cb69c38c30fb05be56
Partially Implements: blueprint reserve-numa-with-pci
2017-06-08 09:44:46 +01:00
Vu Cong Tuan 0808398487 Fix html_last_updated_fmt for Python3
html_last_updated_fmt option is interpreted as a
byte string in python3, causing Sphinx build to break.
This patch makes it utf-8 string.

Changing Popen to .check_output because of 3 reasons:
1. check_output() will raise CalledProcessError if
the called process returns a non-zero return code.
2. For consistency with keystone [1] and cinder [2]
3. It makes the code look much better.

[1] https://review.openstack.org/#/c/457142/
[2] https://review.openstack.org/#/c/433081

Change-Id: Ia3e792c512da46c2b92d3ad9ec1657849d379052
2017-06-07 21:05:12 +00:00
Kevin_Zheng 78486ac3e1 Fix doc job with correct ref link
block_device_mapping.rst had bad ref link and i think with
oslosphinx 4.13 or Sphinx 1.6.2, it started throwing error.

This commit fix this.

Change-Id: Ia279fd93609664efcdb5038a50460d54dd14f254
2017-05-31 07:53:15 +00:00
Matt Riedemann 46ba7e8df5 Deprecate TypeAffinityFilter
This deprecates the TypeAffinityFilter. This filter, which
is really an anti-affinity filter for flavors, attempts to
ensure that no two flavors show up on the same host. However,
to do this it relies on the flavors.id primary key, which is
subject to "change" if/when the admin deletes and recreates a
flavor (this is how Horizon allows you to 'edit' a flavor).
When you do that, you have a new flavor with a new id primary
key and the filter will not know the difference. So you could
really end up with more than one m1.large instance on the
same host, which defeats the purpose of the filter.

This filter is also problematic for
blueprint put-host-manager-instance-info-on-a-diet because in
that blueprint we want to stop sending full instance objects
over RPC from all compute services to the scheduler just to
track affinity and anti-affinity. All we really need for the
ServerGroupAffinityFilter and ServerGroupAntiAffinityFilter
is the list of instance uuids on a host, not the full object.
If we can get rid of TypeAffinityFilter, we can change the
compute<>scheduler RPC calls to just pass the list of instance
uuids for update_instance_info rather than sending an InstanceList.

Change-Id: I660e0316b11afcad65c0fe7bd167ddcec9239a8b
2017-05-27 10:15:25 +00:00
Jenkins dd1a3ac5ae Merge "libvirt: remove glusterfs volume driver" 2017-05-26 19:19:04 +00:00
Eric Berglund aaae213bf3 Add strict option to discover_hosts
This adds a --strict option that can be passed in when calling the
nova-manage cell_v2 discover_hosts command. When this option is used,
the command will only return success if a new host has been found.
In any other case it is considered a failure.

Closes-Bug: #1692982

Change-Id: I942af11a3987e1edce67423c66931ad9ece65587
2017-05-24 13:48:54 +00:00
Matt Riedemann e8d8558531 doc: add cells v2 FAQ on mapping instances
This came up in IRC where someone upgraded from newton to
ocata and didn't use the simple_cell_setup command, but they
didn't run the map_instances command. Our cells v2 deploy/upgrade
guide mentions using simple_cell_setup for the minimal scenario
so it wasn't clear that they needed to run map_instances.

The install guide doesn't mention any of this either since this
is about upgrades, and the install guide is focused on fresh installs
where there are no existing instances to map.

Change-Id: Iedf3aabf1508abf59a54071b20a7f1c58b63e32c
2017-05-23 12:55:17 -04:00
Matt Riedemann 7c1018a118 doc: add cells v2 FAQ on refreshing global cells cache
There is a cells cache in the API and in the request context,
which is used in the controller services (api, conductor, and
scheduler), so this adds a FAQ item about needing to restart
those services if you update the db connection or transport url
in a given cell which is already cached.

Change-Id: I56daf87dad9e86f747e945f0842344ddba42b91e
2017-05-23 12:38:52 -04:00
Matt Riedemann 64ed7a2824 doc: start a FAQs section for cells v2
We get random questions about cells v2 in IRC and some of them
are repeats, and some are just good questions which took some
thought to answer, so we should document those so they aren't
lost.

This is the start of a series, so it adds an initial question.

Change-Id: I96005d1b86bb92f71a5cc848afd2d0126dd9071a
2017-05-23 12:24:11 -04:00
Matt Riedemann bc783fe5be doc: add links to summit videos on cells v2
We've had a couple of nice presentations on cells v2
from previous summits. This change links those into the
top-level cells v2 docs in the devref. Note that I
consciously put them before the Manifesto section as
that might be somewhat dated at this point, but it would
also be nice as someone new to watch a presentation before
digging into prose for the details. I also elected to avoid
adding yet a third "References" section to this page since
the other ones are specifically references for install and
upgrade scenarios.

Change-Id: I8e60e018cd103e18dd34c3f9cbdd409ec6550a97
2017-05-23 11:22:17 -04:00
Jenkins 931c3f4818 Merge "Correct the wording about filter options" 2017-05-22 17:20:29 +00:00
Jenkins 5df773c93b Merge "nova-manage: Deprecate 'log' commands" 2017-05-19 23:51:35 +00:00
Jenkins d05f6bdf07 Merge "nova-manage: Deprecate 'project', 'account' commands" 2017-05-19 23:49:21 +00:00
Jenkins 3806ead0e0 Merge "Deprecate scheduler trusted filter" 2017-05-19 21:56:56 +00:00
Stephen Finucane 0ace1a9b25 nova-manage: Deprecate 'log' commands
These aren't maintained and their usefulness is questionable, given the
availability of logs in '/var/log/' and the plethora of powerful tools
(Logstash) that can be used to parse these logs in large deployments.

Change-Id: I685512a17b8aea700fadf167571f37ecf1874861
2017-05-19 16:07:49 -04:00
Stephen Finucane 3d269c5302 nova-manage: Deprecate 'project', 'account' commands
Most of these operations can be accomplished using the REST API [1],
with the 'quota_usage_refresh' command being the sole exception. This
particular command is duplicated in a new category - quota - thus
allowing us to fully deprecate the entire 'project' and 'account'
categories.

Note that the '(project|account) quota_usage_refresh' command has been
named 'quota refresh' and not 'quota usage_refresh'. This is because
cliff, which will be used by 'nova-manage' in the future, does not
support underscores in command names.

[1] https://developer.openstack.org/api-ref/compute/#quota-sets-os-quota-sets

Change-Id: Ic02a96802d2a38ed9c4e00991a6bd2088dfcffc6
2017-05-19 16:01:36 -04:00
Matt Riedemann 5c5bc57d2b libvirt: remove glusterfs volume driver
Cinder deprecated the GlusterFS volume driver
in Newton and deleted it in Ocata:

I10c576602dd0e65947d1a1af5d04b8ada54f4625

Since it's unused, unmaintained and unsupported in
Cinder we should remove it from the libvirt driver.

This also removes the related configuration options.

A note is left in the code since I'm unsure if anything
relies on checking for the netfs disk source_protocol which
was added at the same time as the glusterfs support in
Ic6dd861b40b692b25df67c9d5b63fd436c690fde.

Change-Id: I2745f5578646ec994b53f6b5c0a5f62637b0948a
2017-05-19 14:51:42 -04:00
Mike Perez 82f16b88f3 Deprecate scheduler trusted filter
Due to being marked experimental since it has existed on May 28, 2012
with no real activity of development since, this filter is being
deprecated.

mailing list discussion:
http://lists.openstack.org/pipermail/openstack-operators/2017-May/013371.html

Change-Id: If6e53feeb97e6050c1eb7962110ed89504c952fc
2017-05-19 14:45:12 +00:00
EdLeafe 2993d8d4fa Correct the wording about filter options
The current docs on the Filter Scheduler imply that filters can be
specified per request. This is not the case, so this change corrects
that page to remove this incorrect language, and make clear that only
the filters specified in the config file will be used.

Closes-Bug: #1689339

Change-Id: I3459a894481cab7d3961ef875015e2b8011e9a58
2017-05-08 16:10:43 +00:00
Ngo Quoc Cuong 08438d2f74 Trivial fix typo in document
Change-Id: I6f008218b20babec2678d0c34b970cbeb5c432b1
2017-05-08 13:38:19 +07:00
Jenkins 7a03047212 Merge "XenAPI: update support matrix to support detach interface" 2017-05-07 21:01:58 +00:00
Jenkins f7f8d81e2e Merge "Fixed a broken link in API Plugins document" 2017-05-06 07:02:40 +00:00
shaofeng_cheng acbec41a69 Replace newton to release_name in upgrade.rst
Replace newton to release_name to avoid such updates
for each new release.

Change-Id: I9f580fb00eabff90e7581af10b323592c22737c3
2017-05-04 16:03:59 +08:00
Jenkins 03e76353a8 Merge "devref and reno for nova-{api,metadata}-wsgi scripts" 2017-05-03 16:12:44 +00:00
Jenkins 19fdd69048 Merge "Remove nova-cert leftovers" 2017-05-03 03:26:50 +00:00
Chris Dent 4b89755784 devref and reno for nova-{api,metadata}-wsgi scripts
This provides a brief explanation of the new nova-api-wsgi [1] and
nova-metadata-wsgi [2] scripts in the Architecture section of the devref
with links to the new doc added to the man pages for the eventlet
scripts.

The nova-api.rst mentioned ec2 so figured best to fix that now
rather than forget about it, despite not being entirely germane.

There is also a reno note that indicates the availability of the new
scripts.

There is a devstack change which is testing the new wsgi scripts as
well as forcing grenade to not use them at
If2d7e363a6541854f2e30c03171bef7a41aff745

[1] I7c4acfaa6c50ac0e4d6de69eb62ec5bbad72ff85
[2] Icb35fe2b94ab02c0ba8ba8129ae18aae0f794756

Change-Id: I351b2af3b256d3031bd2a65feba0495e815f8427
Related-Bug: #1661360
2017-05-02 16:58:28 +00:00
Jenkins 3653231715 Merge "Update devref with vendordata changes." 2017-05-02 16:10:54 +00:00
Michael Still 812801561d Update devref with vendordata changes.
Change-Id: Id0e39e998b6fa46b0fc91d3512afdafcf50a01a2
2017-05-02 15:10:54 +00:00
Emilien Macchi f2121f5880 Remove nova-cert leftovers
Right now, we can't build Nova package in RDO because the tooling still
find some bits for nova-cert in Nova codebase.
This patch aims to purge them:

- man entry for nova-cert
- nova-cert binary in setup.cfg

Change-Id: Iebee0fbcdad5808e6543e3bcad10ea1f08b8f306
2017-05-02 08:19:29 -04:00
Huan Xie 3dc9a3c481 XenAPI: update support matrix to support detach interface
With XenServer as hypervisor, we have implemented the blueprint
attach/detach interface https://review.openstack.org/#/c/365505/
and it can pass the tempest, so mark this feauture as complete
in support matrix

Change-Id: I34709b41c4ba6133e3539a3a7ef1224dbdf266bf
2017-05-02 02:39:42 -07:00
Jenkins d6d5c6be0c Merge "Remove nova-cert" 2017-05-01 15:09:26 +00:00
jichenjc d6bf770816 Trivial fix: fix broken links
the guideline include a broken links
nova/api/openstack/rest_api_version_history.rst need to be
nova/api/openstack/compute/rest_api_version_history.rst

Change-Id: I54f4796382865081654f2ab471fd67274d84bb89
2017-04-28 17:03:48 +08:00
Matthew Treinish 2bcee77e3b Remove nova-cert
This commit removes nova-cert which has been deprecated since change
Id7a1fc943cbe6d860a50d3cc776717b55351004b. The APIs have been hard coded
to return a 410 whenever they're called now. For the API ref a new
section for obsolete apis is added to the bottom of the page and the
certificates api ref is moved there.

Implements bp remove-nova-cert

Change-Id: I2c78a0c6599b92040146cf9f0042cff8fd2509c3
2017-04-27 22:28:01 -04:00
Kiseok Kim cf4a1b1686 Fixed a broken link in API Plugins document
TrivialFix

Change-Id: I8387faa888ae29af56949e3a4f5805dd75045d07
2017-04-28 02:06:57 +00:00
Jenkins 2658bd30f8 Merge "Update doc/source/process.rst" 2017-04-26 12:29:51 +00:00
Jenkins ee722915fb Merge "nova-manage: Deprecate 'shell' commands" 2017-04-25 21:18:19 +00:00
Takashi NATSUME f332a0476f Update doc/source/process.rst
Update doc/source/process.rst for pike cycle.

TrivialFix
Change-Id: Ic5075996122fc56cd2f7a0953470f2f6ab1a8b80
2017-04-25 13:09:51 -07:00
Jenkins 893ee87d3c Merge "Tell people that the nova-cells man page is for cells v1" 2017-04-21 17:57:51 +00:00
Jenkins 60ad364963 Merge "Add release note and update cell install guide for multi-cell limitations" 2017-04-21 17:57:06 +00:00
Matt Riedemann a2fd38f45a Tell people that the nova-cells man page is for cells v1
We have to continue scrubbing our documentation for anything
that generically refers to 'cells' since older documentation is
referring to cells v1, and we don't want people to confuse that
with cells v2. This simply provides a warning that cells v1 is
not recommended for new deployments and if you were looking for
help with cells v2 commands, we need to redirect you.

Change-Id: I3bd0332607bff169b5f496d17e4fc7d372ea991b
2017-04-21 10:11:39 -07:00
Matt Riedemann 9a5c3cd7da Add release note and update cell install guide for multi-cell limitations
As of change If1e03c9343b8cc9c34bd51c2b4d25acdb21131ff, using
"nova hypervisor-list" before compute hosts are mapped to a cell
will result in an empty list.

Our cells v2 install steps mention using 'nova hypervisor-list' after
creating a cell and starting compute services to tell when to run
the discover_hosts command, but now hypervisor-list won't work until
you've run discover_hosts, so it's a catch-22.

This change adds a release note to let people writing deployment tools
to know about the change in behavior and also updates the install steps
to use service-list instead of hypervisor-list, since service-list does
not require the compute host to be mapped to the cell first.

We are going to need to make a similar change in the OpenStack install
guide since that also mentions using 'nova hypervisor-list' before
discover_hosts.

Change-Id: If2baab40c2e2a3de20e561bba50688d615b002ef
Closes-Bug: #1682060
2017-04-21 10:11:03 -07:00
shaofeng_cheng 6f7bbf3e17 Update etherpad url
Update etherpad url in how_to_get_involved.rst.

Change-Id: I2f9709c1cdb21eab7804c4e2948dc90ffb0350b7
2017-04-18 09:21:56 +08:00
Jenkins 3d015a8b4d Merge "fixed typos and reword stable api doc" 2017-04-07 09:15:34 +00:00
Matt Riedemann f828f6db6f docs: update description for AggregateInstanceExtraSpecsFilter
This copies a line from the ComputeCapabilitiesFilter description
which points out that if the flavor does not have any extra specs
then it passes the filter. I had to figure this out via code inspection
so it would be good to document it.

Change-Id: Id7b3ec5dd2847c9ea615981031d7e0f2b1beb3e2
2017-04-04 17:42:48 -04:00
Stephen Finucane b8ee0ca245 nova-manage: Deprecate 'shell' commands
The usefulness of these options is dubious at best and there's no real
reason to keep them around. Deprecate this command now, with the plan to
remove it entirely in Queens.

Change-Id: I5c578d4f322cab1be69b8e498a8dd3bbff29b269
Partially-Implements: bp move-nova-cmds-to-cliff
2017-04-04 14:25:57 +01:00
Jenkins 13f44f90c0 Merge "doc: Separate the releasenotes guide from the code-review section" 2017-04-03 22:53:20 +00:00
Lee Yarwood c6a399f453 doc: Separate the releasenotes guide from the code-review section
This was previously hidden within the code review guide making it almost
impossible to find from the initial index page.

Change-Id: I47e771c641d72a837345b1b9a07e86ca4313b518
2017-04-03 22:02:59 +00:00
Matt Riedemann 068d2565d1 Distinguish between cells v1 and v2 in upgrades doc
The note about rolling upgrades not being supported for cells
was referring to cells v1, so let's make that clear.

We will support rolling upgrades for cells v2 deployments, we
just haven't documented it yet (or done it in a grenade job).

Change-Id: I6a8b3d3aaa49859e8b769a296684ac96883719f8
2017-04-03 13:31:15 -04:00
Lee Yarwood 9cf7a0363a doc: Move code-review under developer policies
This was previously hidden within Architecture Evolution Plans.

Change-Id: I7198f46e0f1a0a3d37312cc85077e53367c2cdec
2017-03-30 16:33:36 +01:00