Commit Graph

2607 Commits

Author SHA1 Message Date
Zuul d8de985ff8 Merge "Update contributor guide for Yoga" 2021-09-30 16:01:56 +00:00
Takashi Natsume a2bedcc6fc Update contributor guide for Yoga
Change-Id: I3f5eed7e4dc908d611bf67dd8c14abaa19b6436e
Signed-off-by: Takashi Natsume <takanattie@gmail.com>
2021-09-19 11:09:27 +09:00
melanie witt 9797b921d0 Add section for 'nova-manage placement audit' tool
The 'nova-manage placement audit' tool has functionality that can
delete orphaned allocations in placement. Add a section for it in the
doc for troubleshooting orphaned allocations.

Change-Id: I697de57cf7eb43c0993af2b1f5b3f5c4395ef097
2021-09-16 22:07:31 +00:00
Lee Yarwood 70040856aa docs: Add nova-volume volume_attachment refresh admin workflow
This adds some basic documentation for the above command and also
includes some very generic osc commands to use when checking volume
attachments.

Blueprint: nova-manage-refresh-connection-info
Change-Id: Ib3d680654fe0809c9e8341dffd3a63ab02945a38
2021-09-15 10:26:39 +01:00
Zuul 497b2c5a9b Merge "[doc] port-resource-request-groups not landed in Xena" 2021-09-10 23:35:25 +00:00
Zuul e276184892 Merge "Describe the use of Review-Priority label" 2021-09-10 10:58:38 +00:00
Balazs Gibizer 22d4057a16 [doc] port-resource-request-groups not landed in Xena
This patches adjusts the nova documentation about the extended port
resource request support in nova as the neutron API extension did not
land in Xena.

Change-Id: I3b961426745084bdb4a6d04468f5a3c762be4cfa
blueprint: qos-minimum-guaranteed-packet-rate
2021-09-06 13:03:22 +02:00
Zuul 713b653fc0 Merge "Add --sleep option for archive_deleted_rows --until-complete" 2021-09-03 12:45:25 +00:00
melanie witt fc77ce191f Add --sleep option for archive_deleted_rows --until-complete
Currently, when 'nova-manage db archive_deleted_rows' is run with
the --until-complete option, the process will archive rows in batches
in a tight loop, which can cause problems in busy environments where
the aggressive archiving interferes with other requests trying to write
to the database.

This adds an option for users to specify an amount of time in seconds
to sleep between batches of rows while archiving with --until-complete,
allowing the process to be throttled.

Closes-Bug: #1912579

Change-Id: I638b2fa78b81919373e607458e6f68a7983a79aa
2021-09-02 13:55:46 +02:00
Balazs Gibizer 44309c419f Support interface attach / detach with new resource request format
The interface attach and detach logic is now fully adapted to the new
extended resource request format, and supports more than one request
group in a single port.

blueprint: qos-minimum-guaranteed-packet-rate
Change-Id: I73e6acf5adfffa9203efa3374671ec18f4ea79eb
2021-09-01 15:51:47 +02:00
Zuul e81211318a Merge "Support move ops with extended resource request" 2021-08-31 21:38:24 +00:00
Zuul 9abcb3825a Merge "Support boot with extended resource request" 2021-08-31 21:38:15 +00:00
Zuul 649b2452da Merge "nova-manage: Introduce volume show, refresh, get_connector commands" 2021-08-31 10:54:48 +00:00
Zuul 0d0de2e448 Merge "docs: admin/networking rename neutron_tunneled to neutron_tunnel" 2021-08-31 08:37:47 +00:00
Zuul 77c8f91a5b Merge "Bump min placement microversion to 1.36" 2021-08-31 01:35:22 +00:00
Zuul f8cc8b6863 Merge "Reject server create with extended resource req" 2021-08-31 00:52:42 +00:00
Balazs Gibizer 191bdf2069 Support move ops with extended resource request
Nova re-generates the resource request of an instance for each server
move operation (migrate, resize, evacuate, live-migrate, unshelve) to
find (or validate) a target host for the instance move. This patch
extends the this logic to support the extended resource request from
neutron.

As the changes in the neutron interface code is called from nova-compute
service during the port binding the compute service version is bumped.
And a check is added to the compute-api to reject the move operations
with ports having extended resource request if there are old computes
in the cluster.

blueprint: qos-minimum-guaranteed-packet-rate
Change-Id: Ibcf703e254e720b9a6de17527325758676628d48
2021-08-27 17:59:18 +02:00
Balazs Gibizer c3886c3ca7 Support boot with extended resource request
This adds the final missing pieces to support creating servers with
ports having extended resource request. As the changes in the neutron
interface code is called from nova-compute service during the port
binding the compute service version is bumped. And a check is added to
the compute-api to reject such server create requests if there are old
computes in the cluster.

Note that some of the negative and SRIOV related interface attach
tests are also started to pass as they are not dependent on any of the
interface attach specific implementation. Still interface attach is
broken here as the failing of the positive tests show.

blueprint: qos-minimum-guaranteed-packet-rate

Change-Id: I9060cc9cb9e0d5de641ade78c5fd7e1cc77ade46
2021-08-27 15:51:12 +02:00
Stephan Pampel fc1a99dc16 docs: admin/networking rename neutron_tunneled to neutron_tunnel
Closes-Bug: #1941757
Change-Id: Ic8756ad4e977b24ced52beca3e18f4f8163f0be0
2021-08-26 16:18:09 +02:00
Lee Yarwood e906a8c0ec nova-manage: Introduce volume show, refresh, get_connector commands
Add a combination of commands to allow users to show existing stashed
connection_info for a volume attachment and update volume attachments
with fresh connection_info from Cinder by recreating the attachments.

Unfortunately we don't have an easy way to access host connector
information remotely (i.e. over the RPC API), meaning we need to also
provide a command to get the compute specific connector information
which must be run on the compute node that the instance is located on.

Blueprint: nova-manage-refresh-connection-info
Co-authored-by: Stephen Finucane <stephenfin@redhat.com>
Change-Id: I2e3a77428f5f6113c10cc316f94bbec83f0f46c1
2021-08-25 10:26:07 +01:00
Zuul fded762f4d Merge "fup: Remove unused legacy block_device_info format" 2021-08-25 02:25:41 +00:00
Zuul caa2a5d556 Merge "Fix documentation about cpu topologies" 2021-08-24 20:38:37 +00:00
Balazs Gibizer 1d62485472 Fix documentation about cpu topologies
There was a copy paste error about requesting host without SMT enabled.

Change-Id: Ief2914201cb28060ed85f7cb6d6f202ad96db991
Closes-Bug: #1940535
2021-08-24 13:53:02 +02:00
Stephen Finucane 6652999494 scheduler: Merge driver into manager
There's only one driver now, which means there isn't really a driver at
all. Move the code into the manager altogether and avoid a useless layer
of abstraction.

Change-Id: I609df5b707e05ea70c8a738701423ca751682575
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-23 16:52:25 +01:00
Stephen Finucane 289438b4c2 docs: Drop references to non-filter scheduler drivers
Take the opportunity to clean up the docs quite a bit, ultimately
combining two disparate guides on the scheduler into one.

Change-Id: Ia72d39b4774d93793b381359b554c717dc9a6994
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-23 16:45:37 +01:00
Balazs Gibizer f6e8c512fb Bump min placement microversion to 1.36
To implement the usage of same_subtree query parameter in the
allocation candidate request first the minimum requires placement
microversion needs to be bumped from 1.35 to 1.36. This patch makes such
bump and update the related nova upgrade check. Later patches will
modify the query generation to include the same_subtree param to the
request.

Change-Id: I5bfec9b9ec49e60c454d71f6fc645038504ef9ef
blueprint: qos-minimum-guaranteed-packet-rate
2021-08-21 10:00:51 +02:00
Balazs Gibizer e357ad3c23 Reject server create with extended resource req
To prepare for the unlikely event that Neutron merges and an operator
enables the port-resource-request-groups neutron API extension before
nova adds support for it, this patch rejects server creation if such
extension is enabled in Neutron. Enabling that extension has zero
benefits without nova support hence the harsh but simple rejection.

A subsequent patch will reject server lifecycle operations in a more
sophisticated way and as soon as we support some operations, like
boot, the deployer might rightfully choose to enable the Neutron
extension.

Change-Id: I2c55d9da13a570efbc1c862116cea31aaa6aa02e
blueprint: qos-minimum-guaranteed-packet-rate
2021-08-21 09:49:54 +02:00
Zuul 033af94179 Merge "Deprecate filters that have been replaced by placement filters" 2021-08-21 02:51:28 +00:00
Zuul 51f3d6c60c Merge "Rename vgpu options to mdev" 2021-08-20 22:57:10 +00:00
Zuul 00454f6279 Merge "scheduler: Merge 'FilterScheduler' into base class" 2021-08-20 17:17:37 +00:00
Zuul eedbff3859 Merge "api: Improve extra spec validator help texts" 2021-08-20 16:17:26 +00:00
Zuul 560fbf069f Merge "docs: Explicitly state lack of support for node renaming" 2021-08-20 16:17:10 +00:00
Lee Yarwood b11e3f1d0d fup: Remove unused legacy block_device_info format
As announced on the ML [1] this change removes the now unused legacy format
from the codebase and updates the reference docs.

[1] http://lists.openstack.org/pipermail/openstack-discuss/2021-August/024116.html

Change-Id: I3895b61b436b9bb882477d2d1b3f4907f03b3b1c
2021-08-20 13:26:46 +01:00
Zuul cca1bb1bae Merge "Block servers with vGPU and device profile in heal_allocations" 2021-08-18 14:43:06 +00:00
Stephen Finucane a7584ec1a5 docs: Add documentation on database migrations
Alembic does lots of new things. Provide docs for how to use this. We
also improve upgrade docs slightly, removing references to ancient
reviews that are no longer really helpful as well as calling out our N
-> N+1 constraint.

Change-Id: I3760b82ce3bd71aa0a760d7137d69dfa3f29dc1d
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-17 13:49:18 +01:00
Stephen Finucane 905c9723e9 db: Integrate alembic
This looks more complicated than it is, but it's really quite simple.
Essentially we have to deal with two possible configurations:

- For existing deployments, the DB sync operation should apply any
  outstanding sqlalchemy-migrate-based migrations, dummy apply the
  initial alembic migration, and then apply any additional alembic-based
  migrations requested (or any available, if no version is specified).

- For new deployments, the DB sync operation should apply the initial
  alembic migration and any additional alembic-based migrations
  requested (or any available, if no version is specified). No
  sqlalchemy-migrate-based migrations will ever be applied.

While we continue to allow users to request a specific database
migration version to upgrade to, we *do not* allow them to request a
sqlalchemy-migrate-based migration version. There's no good reason to do
this - the deployment won't run with an out-of-date DB schema (something
that's also true of the alembic migration, fwiw) - and we want to get
people off of sqlalchemy-migrate as fast as possible. A change in a
future release can remove the sqlalchemy-migrate-based migrations once
we're sure that they'll have upgraded to a release including all of the
sqlalchemy-migrated-based migrations (so Wallaby).

Tests are modified to validate the sanity of these operations. They're
mostly trivial changes, but we do need to do some funky things to ensure
that (a) we don't use logger configuration from 'alembic.ini' that will
mess with our existing logger configuration and (b) we re-use connection
objects as necessary to allow us to run tests against in-memory
databases, where a different connection would actually mean a different
database. We also can't rely on 'WalkVersionsMixin' from oslo.db since
that only supports sqlalchemy-migrate [1]. We instead must re-invent the
wheel here somewhat.

[1] https://github.com/openstack/oslo.db/blob/10.0.0/oslo_db/sqlalchemy/test_migrations.py#L42-L44

Change-Id: I850af601f81bd5d2ecc029682ae10d3a07c936ce
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-09 15:34:40 +01:00
Stephen Finucane bf8b5fc7d0 db: Move remaining 'nova.db.sqlalchemy' modules
The two remaining modules, 'api_models' and 'api_migrations', are
moved to the new 'nova.db.api' module.

Change-Id: I138670fe36b07546db5518f78c657197780c5040
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-08-09 15:34:40 +01:00
Zuul b218f167cc Merge "db: Move main DB migrations" 2021-08-06 16:57:04 +00:00
Balazs Gibizer 59c2262ca5 Block servers with vGPU and device profile in heal_allocations
Nested allocations are only partially supported in nova-manage placement
heal_allocations CLI. This patch documents the missing support and
blocks healing instances with VGPU or Cyborg device profile request in
the embedded flavor. Blocking is needed as if --forced is used with such
instances then the tool could recreate an allocation ignoring some of
these resources.

Change-Id: I89ac90d2ea8bc268940869dbbc90352bfad5c0de
Related-Bug: bug/1939020
2021-08-06 15:58:39 +02:00
Sylvain Bauza ff4d0d002a Rename vgpu options to mdev
As a prerequisite for blueprint generic-mdevs we need to rename the
existing enabled_vgpu_types options and dynamically generated groups
into enabled_mdev_types.
There is no upgrade impact for existing users, as the original
options are still accepted.

NOTE(sbauza): As we have a lot of methods and objects named gpu-ish
let's just change what we need here and provide followups for
fixing internal tech debt later.

Change-Id: Idba094f6366a24965804b88da0bc1b9754549c99
Partially-Implements: blueprint generic-mdevs
2021-08-03 16:54:54 +02:00
Zuul b5aa1de0ab Merge "docs: Add libvirt misc doc" 2021-07-27 18:24:31 +00:00
Zuul fa60c0aa45 Merge "docs: Change formatting of hypervisor config guides" 2021-07-27 18:24:22 +00:00
Zuul db489c37ed Merge "docs: Fold in MDS security flaw doc" 2021-07-27 18:24:12 +00:00
Stephen Finucane d4f9b03c5c api: Improve extra spec validator help texts
Correct a variety of gaps and other issues seen while improving the
flavor docs.

Change-Id: I8d68016cecb0269a5f9af88b0a08578f85403e23
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-07-27 16:55:57 +01:00
Zuul 3566459e51 Merge "docs: Clarify host-model, host-passthrough differences" 2021-07-22 15:36:43 +00:00
Stephen Finucane d88fe2895b docs: Replace 'nova boot' with 'openstack server create'
Replace references to novaclient with OSC in the boot from volume guide.

This is essentially a revert of commit aa3964118, which was a revert of
an earlier attempt at doing this that fell down because it didn't
reflect the changes in CLI parameters between the different tools.

Change-Id: Ic99440dd618243517f64506e3da88885fc2c44c9
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-07-07 13:29:07 +00:00
Stephen Finucane bcf225daf4 db: Move main DB migrations
We place these in a 'legacy_migrations' directory, as we will soon be
adding alembic-based migrations in a 'migration' directory.

Change-Id: Ib927e4c48f59a467a913875111ffbf64ffe0de90
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-07-05 11:05:04 +01:00
Zuul ee3b492506 Merge "Improve policy doc for supported scope info" 2021-06-29 17:49:53 +00:00
Zuul b280ab292b Merge "Fix typos in minimum version policy docs" 2021-06-29 17:14:27 +00:00
Stephen Finucane e0534cc289 scheduler: Merge 'FilterScheduler' into base class
There are no longer any custom filters. We don't need the abstract base
class. Merge the code in and give it a more useful 'SchedulerDriver'
name.

Change-Id: Id08dafa72d617ca85e66d50b3c91045e0e8723d0
Signed-off-by: Stephen Finucane <stephenfin@redhat.com>
2021-06-29 12:24:41 +01:00