Commit Graph

2158 Commits

Author SHA1 Message Date
Zuul a55ae413ea Merge "doc: remove confusing docs about aggregate allocation ratios" 2019-08-22 20:13:47 +00:00
Zuul efbe94cd7d Merge "Remove deprecated [neutron]/url option" 2019-08-22 19:57:32 +00:00
Zuul 44e5c88b22 Merge "FUP for I5576fa2a67d2771614266022428b4a95487ab6d5" 2019-08-22 12:15:08 +00:00
Zuul 1ae57fe04d Merge "Deprecate Aggregate[Core|Ram|Disk]Filters" 2019-08-21 22:27:13 +00:00
Matt Riedemann 8f53a051cc Remove deprecated [neutron]/url option
The url option was deprecated in Queens:

  I41724a612a5f3eabd504f3eaa9d2f9d141ca3f69

The same functionality is available in the
endpoint_override option so tests and docs
are updated to use that where they were using
url before.

Note that because the logic in the get_client
method changed, some small changes were made to
the test_withtoken and test_withtoken_context_is_admin
unit tests to differentiate from when there is a
context with a token that is not admin and an
admin context that does not have a token which
was otherwise determined by asserting the default
region name.

Change-Id: I6c068a84c4c0bd88f088f9328d7897bfc1f843f1
2019-08-21 17:55:56 +00:00
Matt Riedemann 69faaddc6c FUP for I5576fa2a67d2771614266022428b4a95487ab6d5
This addresses a single review comment for the vPMU
flavor extra spec docs [1].

[1] https://review.opendev.org/#/c/671338/13/doc/source/user/flavors.rst@379

Change-Id: Id8ba982b0efa92630be60f79c6ecb67f7fd79100
2019-08-21 11:45:51 -04:00
Sean Mooney 588194d785 Deprecate Aggregate[Core|Ram|Disk]Filters
The Aggregate[Core|Ram|Disk]Filters have not worked
correctly since ocata, this change deprecates them
for removal next cycle.
http://lists.openstack.org/pipermail/openstack-dev/2018-January/126283.html

Related-Bug: #1804125
Change-Id: Ibfbfdae9e6ec93f772631a84e8969f4e11da8aee
2019-08-20 16:45:23 -04:00
Sean Mooney 326bc658ee Libvirt: add support for vPMU configuration.
This change adds the ablity for a user or operator to contol
the virtualisation of a performance monitoring unit within a vm.
This change introduces a new "hw:pmu" extra spec and a corresponding
image metadata property "hw_pmu".

The glance image metadata doc will be updated seperately by:
https://review.opendev.org/#/c/675182

Change-Id: I5576fa2a67d2771614266022428b4a95487ab6d5
Implements: blueprint libvirt-pmu-configuration
2019-08-20 14:41:57 +00:00
Matt Riedemann 77efc084fc doc: remove confusing docs about aggregate allocation ratios
Change Ifaf596a8572637f843f47daf5adce394b0365676 added a note
about the behavior change in Ocata where allocation ratios
set on host aggregates was ignored because of placement resource
provider allocation ratios being used.

Later, change I7d8e822cd40dccaf5244e2cd95fa1af43fa9ed87 added
a lot more detail about allocation ratios in the scheduler docs
including the initial* allocation ratio config options. The note
from the previous change was moved and as a result leads to some
confusion since the doc starts by saying essentially, "you can
use these aggregate filters to manage allocation ratios on a set
of hosts" and then the immediate note says essentially, "oh btw
that doesn't work since ocata, sorry!".

To avoid the confusion, this simply removes the part about how
the aggregate filters can be used to manage allocation ratios.

Change-Id: I62710b0b8c098cca3f67020f4a6da5e684115414
Related-Bug: #1804125
2019-08-20 10:07:38 -04:00
Zuul e373761b49 Merge "Cache host to cell mapping in HostManager" 2019-08-12 12:55:46 +00:00
Zuul 790f628883 Merge "Add a document that describes profiling eventlet services" 2019-08-12 10:05:45 +00:00
Chris Dent 886142b17a Add a document that describes profiling eventlet services
Profiling eventlet using services is a bit different from standard
situations so here is a document that tries to explain the basics
on how to get started doing it.

Change-Id: If8c34653285f07c5cc1abccabfec16f18daafdde
2019-08-09 11:37:41 +01:00
Eric Fried 9ffdc0bcbc Use :oslo.config:* in nova-manage doc
Fix up some sphinx-isms in nova-manage.rst:

- Replace ``[group]/option`` with :oslo.config:option:`group.option`
- Replace ``[group]`` with :oslo.config:group:`group`
- Replace `default role used for italics` with *explicit italics*
- Fix up a mention of [placement_database] -- for which we can't use
  :oslo.config:* because that section doesn't exist anymore -- to
  pertain only to Rocky & Stein, where it did exist.

Change-Id: I9cfb9d0b20d4dfc18236a2d528a8f65534c9a263
2019-08-07 17:55:32 -05:00
Matt Riedemann 2c5134d5f3 Don't mention CONF.api_database.connection in user-facing messages/docs
CONF.api_database.connection is a variable in code, not something
an operator needs to know what it means, so this changes that
mention in the docs and error message for the nova-manage db
archive_deleted_rows command.

Change-Id: If27814e0006a6c33ae6270dff626586c41eafcad
Closes-Bug: #1839391
2019-08-07 17:29:51 -04:00
Matt Riedemann 3a69fdb333 Cache host to cell mapping in HostManager
If the instances per host are not cached in the HostManager
we lookup the HostMapping per candidate compute node during
each scheduling request to get the CellMapping so we can target
that cell database to pull the instance uuids on the given host.

For example, if placement returned 20 compute node allocation
candidates and we don't have the instances cached for any of those,
we'll do 20 queries to the API DB to get host mappings.

We can improve this by caching the host to cell uuid after the first
lookup for a given host and then after that, get the CellMapping
from the cells cache (which is a dict, keyed by cell uuid, to the
CellMapping for that cell).

Change-Id: Ic6b1edfad2e384eb32c6942edc522ee301123cbc
Related-Bug: #1737465
2019-08-06 16:20:23 -04:00
Matt Riedemann d780216c6a doc: fix physets typo
I'm pretty sure this was meant to be physnets given the
context and this was added with Ide262733ffd7714fdc702b31c61bdd42dbf7acc3
which is about provider physical network affinity to NUMA nodes.

Change-Id: Ia9282325441ec42af6b03cda704b1cc7bac8d9f4
2019-08-05 14:07:59 -04:00
Wang Huaqiang 4945e6dbd4 doc: correct the information of 'cpu_map'
libvirt has split the CPU feature flags file 'cpu_map.xml' into
a bunch of flag files for each CPU model, which are stored under
directory 'src/cpu_map/'.

Update this change accordingly.

Change-Id: Id45587adb6ecd8e0bdef344c90979eaea61e61b8
2019-08-02 20:19:18 +08:00
Matt Riedemann 2e57826a77 Remove Request Spec Migration upgrade status check
The "Request Spec Migration" upgrade status check was added
in Rocky [1] and the related online data migration was removed
in Stein [2]. Now that we're in Train we should be able to
remove the upgrade status check.

The verify install docs are updated to remove the now-removed
check along with "Console Auths" which were removed in Train [3].

[1] I1fb63765f0b0e8f35d6a66dccf9d12cc20e9c661
[2] Ib0de49b3c0d6b3d807c4eb321976848773c1a9e8
[3] I5c7e54259857d9959f5a2dfb99102602a0cf9bb7

Change-Id: I6dfa0b226ab0b99864fc27209ebb7b73e3f73512
2019-07-30 12:58:39 -04:00
Dongcan Ye e8f5641aef Fix wrong huge pages in doc
Change-Id: Ic3839eeca02c50451c884d23d313a135f04994ba
Related-Bug: #1816454
2019-07-29 09:53:38 +00:00
Zuul 054bf13a78 Merge "Remove 'nova.virt.driver.ComputeDriver.estimate_instance_overhead'" 2019-07-25 18:16:39 +00:00
Stephen Finucane 97096c8e4a Remove 'nova.virt.driver.ComputeDriver.estimate_instance_overhead'
With the removal of the Core, Ram and Disk filters in change
I8a0d332877fbb9794700081e7954f2501b7e7c09, there's now only a single
caller for the 'estimate_instance_overhead' function. This call results
in the 'memory_mb_used', 'local_gb_used', 'vcpus_used', 'free_ram_mb'
and 'free_disk_gb' fields of a compute nodes 'ComputeNode' object being
modified when calculating usage as part of the resource tracker to
include driver-specific overhead. However, these fields are no longer
used for for anything except logging and the 'os-hypervisors' API. Since
overhead is not reflected in placement (and therefore the scheduler),
reporting them as part of the various usage values for both logging and
that API is actually a bit of a lie and is likely to cause confusion
among users. Remove the whole thing and make our logs and the
'os-hypervisors' API better match what's stored in placement.

Change-Id: I033e8269194de54432079cbc970431e3dcea7ce5
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-07-24 16:26:01 +01:00
Zuul ab34c941be Merge "Remove deprecated Core/Ram/DiskFilter" 2019-07-23 23:36:06 +00:00
Zuul 9dbf7b7ca9 Merge "Drop delete_build_requests_with_no_instance_uuid online migration" 2019-07-23 22:43:45 +00:00
Zuul 383a4cf371 Merge "Update api-ref location" 2019-07-23 16:22:27 +00:00
Stephen Finucane 78645e61c6 Remove deprecated Core/Ram/DiskFilter
These were deprecated during Stein [1] and can now be removed, lest they
cause hassle with the PCPU work. As noted in [1], the aggregate
equivalents of same are left untouched for now.

[1] https://review.opendev.org/#/c/596502/

Change-Id: I8a0d332877fbb9794700081e7954f2501b7e7c09
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2019-07-23 07:49:41 -07:00
Zuul 4781ef3321 Merge "Update AZ admin doc to mention the new way to specify hosts" 2019-07-23 13:28:31 +00:00
Zuul 8fc20874b8 Merge "nova-manage: heal port allocations" 2019-07-22 21:59:30 +00:00
Andreas Jaeger dbe6321537 Update api-ref location
The api documentation is now published on docs.openstack.org instead
of developer.openstack.org. Update all links that are changed to the
new location.

Note that Neutron publishes to api-ref/network, not networking anymore.

Note that redirects will be set up as well but let's point now to the
new location.

For details, see:
http://lists.openstack.org/pipermail/openstack-discuss/2019-July/007828.html

Change-Id: Id2cf3aa252df6db46575b5988e4937ecfc6792bb
2019-07-22 19:17:28 +02:00
Zuul 063ef486e9 Merge "Exit 1 when db sync runs before api_db sync" 2019-07-20 03:26:41 +00:00
zhangyangyang d29d1d1a9e Bump the openstackdocstheme extension to 1.20
Some options are now automatically configured by the version 1.20:
- project
- html_last_updated_fmt
- latex_engine
- latex_elements
- version
- release.

Change-Id: I3a5c7e115d0c4f52b015d0d55eb09c9836cd2fe7
2019-07-19 18:30:16 +08:00
Zuul cea01e5f4b Merge "Defaults missing group_policy to 'none'" 2019-07-16 17:37:05 +00:00
Balazs Gibizer ad4f798362 Defaults missing group_policy to 'none'
If more than one numbered request group is in the placement a_c query
then the group_policy is mandatory. Based on the PTG discussion [1]
'none' seems to be a good default policy from nova perspective. So this
patch makes sure that if the group_policy is not provided in the flavor
extra_spec and there are more than one numbered group in the request and
the flavor only provide one or zero groups (so groups are coming from
other sources like neutron ports) then the group_policy is defaulted to
'none'.

The reasoning behind this change: If more than one numbered request
group is coming from the flavor extra_spec then the creator of the
flavor is responsible to add a group_policy to the flavor. So in this
nova only warns but let the request fail in placement to force the
fixing of the flavor. However when numbered groups are coming from
other sources (like neutron ports) then the creator of the flavor
cannot know if additional group will be included so we don't want to
force the flavor creator but simply default the group_policy.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2019-May/005807.html

Change-Id: I0681de217ed9f5d77dae0d9555632b8d160bb179
2019-07-16 14:05:32 +02:00
Zuul a9741bcc77 Merge "doc: Add links to novaclient contributor guide" 2019-07-16 00:27:03 +00:00
Balazs Gibizer 54dea2531c nova-manage: heal port allocations
Before I97f06d0ec34cbd75c182caaa686b8de5c777a576 it was possible to
create servers with neutron ports which had resource_request (e.g. a
port with QoS minimum bandwidth policy rule) without allocating the
requested resources in placement. So there could be servers for which
the allocation needs to be healed in placement.

This patch extends the nova-manage heal_allocation CLI to create the
missing port allocations in placement and update the port in neutron
with the resource provider uuid that is used for the allocation.

There are known limiations of this patch. It does not try to reimplement
Placement's allocation candidate functionality. Therefore it cannot
handle the situation when there is more than one RP in the compute
tree which provides the required traits for a port. In this situation
deciding which RP to use would require the in_tree allocation candidate
support from placement which is not available yet and 2) information
about which PCI PF an SRIOV port is allocated from its VF and which RP
represents that PCI device in placement. This information is only
available on the compute hosts.

For the unsupported cases the command will fail gracefully. As soon as
migration support for such servers are implemented in the blueprint
support-move-ops-with-qos-ports the admin can heal the allocation of
such servers by migrating them.

During healing both placement and neutron need to be updated. If any of
those updates fail the code tries to roll back the previous updates for
the instance to make sure that the healing can be re-run later without
issue. However if the rollback fails then the script will terminate with
an error message pointing to documentation that describes how to
recover from such a partially healed situation manually.

Closes-Bug: #1819923
Change-Id: I4b2b1688822eb2f0174df0c8c6c16d554781af85
2019-07-15 17:22:40 +02:00
Stephen Finucane 426790237e docs: Correct issues with 'openstack quota set' commands
Change Ic857918b15496049b5ccacde9515f130cc0bd7e9 against
openstack-manuals updated the quotas document to use openstackclient
commands in place of novaclient commands. It missed the fact that you
need to pass the '--class' parameter if you wish to set a quota for a
class rather than a project. Correct this.

Change-Id: I5dc65924fee65f6340d1495a9b1b992001c30731
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
Closes-Bug: #1834057
2019-07-10 17:41:57 +01:00
Takashi NATSUME de31466fdb doc: Fix a parameter of NotificationPublisher
The 'binary' parameter has been changed to the 'source'
since I95b5b0826190d396efe7bfc017f6081a6356da65.
But the notification document has not been updated yet.

Replace the 'binary' parameter with the 'source' parameter.

Change-Id: I141c90ac27d16f2e9c033bcd2f95ac08904a2f52
Closes-Bug: #1836005
2019-07-10 16:13:51 +09:00
Zuul 93cae754cf Merge "doc: Replace a wiki link with API ref guide link" 2019-07-09 23:23:33 +00:00
Takashi NATSUME 09d24e5ffa doc: Add links to novaclient contributor guide
Add links to the document for adding a new microversion support
in python-novaclient.

Depends-On: https://review.opendev.org/667002
Change-Id: Ic58afe401464a0da2b19306e7cc6ce412f177b16
2019-07-09 17:33:47 -04:00
Takashi NATSUME c329397e9c doc: Replace a wiki link with API ref guide link
Replace the link to the NovaAPIRef wiki with
the link to the API reference guideline in the nova doc.

Change-Id: I211e828c54256391aea38e475171e92aac230e56
2019-07-09 17:26:26 -04:00
zhu.boxiang fd480a7a3d Update AZ admin doc to mention the new way to specify hosts
Mention the new way to specify hosts where instances are launched.
Compare with these two ways.

Also fixed a few things in the existing docs:

1. Fixed the policy rule name for forced_host.
2. Updated the "openstack availability zone list" command to use the
   --compute option.
3. Replaced the "openstack host list" example with
   "openstack compute service list --service nova-compute"
   since the os-hosts API was deprecated in 2.43.

Depends-On: https://review.opendev.org/#/c/669609/

Part of Blueprint: add-host-and-hypervisor-hostname-flag-to-create-server

Change-Id: Ic471c0621e15aa497d33ef010c7f87890508fbeb
2019-07-09 15:18:55 -04:00
Zuul 1f46fafcf5 Merge "Cleanup quota user docs" 2019-07-09 19:13:47 +00:00
Mark Goddard e99937c9a9 Exit 1 when db sync runs before api_db sync
Since cells v2 was introduced, nova operators must run two commands to
migrate the database schemas of nova's databases - nova-manage api_db
sync and nova-manage db sync. It is necessary to run them in this order,
since the db sync may depend on schema changes made to the api database
in the api_db sync. Executing the db sync first may fail, for example
with the following seen in a Queens to Rocky upgrade:

nova-manage db sync
ERROR: Could not access cell0.
Has the nova_api database been created?
Has the nova_cell0 database been created?
Has "nova-manage api_db sync" been run?
Has "nova-manage cell_v2 map_cell0" been run?
Is [api_database]/connection set in nova.conf?
Is the cell0 database connection URL correct?
Error: (pymysql.err.InternalError) (1054, u"Unknown column
        'cell_mappings.disabled' in 'field list'") [SQL: u'SELECT
cell_mappings.created_at AS cell_mappings_created_at,
cell_mappings.updated_at AS cell_mappings_updated_at,
cell_mappings.id AS cell_mappings_id, cell_mappings.uuid AS
cell_mappings_uuid, cell_mappings.name AS cell_mappings_name,
cell_mappings.transport_url AS cell_mappings_transport_url,
cell_mappings.database_connection AS
cell_mappings_database_connection, cell_mappings.disabled AS
cell_mappings_disabled \nFROM cell_mappings \nWHERE
cell_mappings.uuid = %(uuid_1)s \n LIMIT %(param_1)s'] [parameters:
{u'uuid_1': '00000000-0000-0000-0000-000000000000', u'param_1': 1}]
(Background on this error at: http://sqlalche.me/e/2j85)

Despite this error, the command actually exits zero, so deployment tools
are likely to continue with the upgrade, leading to issues down the
line.

This change modifies the command to exit 1 if the cell0 sync fails.

This change also clarifies this ordering in the upgrade and nova-manage
documentation, and adds information on exit codes for the command.

Change-Id: Iff2a23e09f2c5330b8fc0e9456860b65bd6ac149
Closes-Bug: #1832860
2019-07-04 09:16:41 +01:00
Matt Riedemann 12a6fe57b9 Follow up for pre-filter-disabled-computes series
This is a collection of follow up changes from the
patches in the series.

* https://review.opendev.org/#/c/668565/1/nova/tests/unit/compute/test_resource_tracker.py
* https://review.opendev.org/#/c/668707/1/nova/virt/libvirt/driver.py
* https://review.opendev.org/#/c/668743/1/nova/compute/manager.py@5020
* https://review.opendev.org/#/c/668752/1/doc/source/admin/configuration/schedulers.rst
* https://review.opendev.org/#/c/654596/8/nova/compute/api.py

Related to blueprint pre-filter-disabled-computes

Change-Id: I2efb833c6f18b13f86abc6c62bcf2c6f77aa15c1
2019-07-03 15:53:06 -04:00
Matt Riedemann 168d34c8d1 Add placement request pre-filter compute_status_filter
This adds a new mandatory placement request pre-filter
which is used to exclude compute node resource providers
with the COMPUTE_STATUS_DISABLED trait. The trait is
managed by the nova-compute service when the service's
disabled status changes.

Change I3005b46221ac3c0e559e1072131a7e4846c9867c makes
the compute service sync the trait during the
update_available_resource flow (either on start of the
compute service or during the periodic task run).

Change Ifabbb543aab62b917394eefe48126231df7cd503 makes
the libvirt driver's _set_host_enabled callback reflect
the trait when the hypervisor goes up or down out of band.

Change If32bca070185937ef83f689b7163d965a89ec10a will add
the final piece which is the os-services API calling the
compute service to add/remove the trait when a compute
service is disabled or enabled.

Since this series technically functions without the API
change, the docs and release note are added here.

Part of blueprint pre-filter-disabled-computes

Change-Id: I317cabbe49a337848325f96df79d478fd65811d9
2019-07-02 16:01:02 -04:00
Matt Riedemann c9ed708d87 Fix update_provider_tree signature in reference docs
The migration guide for porting from old methods to upt
was missing the allocations kwarg in the code samples.

Change-Id: I43fd8d5eeb382d1e5472fa4e9a2f01bd0e4bf243
2019-06-25 12:46:07 -04:00
Zuul 91647a9b71 Merge "doc: Fix nova-manage cell_v2 list_cells output" 2019-06-25 13:34:06 +00:00
Zuul f696660bf3 Merge "Mention [cinder]/cross_az_attach in the AZ docs" 2019-06-24 13:34:01 +00:00
Takashi NATSUME 632150aaa8 doc: Fix nova-manage cell_v2 list_cells output
The output of 'nova-manage cell_v2 list_cells' command
has been modified since Idb306e4f854957fd2ded9ae061fc27f0ef768fc0 and
I96a6d5e59d33c65314fc187c0286ce3408d30bdc.

Fix the output of the command in the install documents.

Change-Id: I45d0e2ee1ff182347345af46f9a388f2884ba6cd
Closes-Bug: #1833647
2019-06-24 10:09:44 +09:00
Zuul d65d7034cd Merge "conf: Rename 'configuration drive' to 'config drive'" 2019-06-23 09:13:16 +00:00
Zuul 68b2ec6fda Merge "docs: Rework all things metadata'y" 2019-06-23 09:13:08 +00:00