Commit Graph

60394 Commits (master)

Author SHA1 Message Date
Zuul 87d4807848 Merge "docs: update libvirt support matrix by adding min versions" 2023-09-25 14:21:17 +00:00
Zuul f8697f4816 Merge "Update master for stable/2023.2" 2023-09-25 13:31:37 +00:00
Sylvain Bauza 05fb718456 docs: update libvirt support matrix by adding min versions
We had a long blip between Xena and now where we didn't changed the libvirt
versions. Now it's time to modify the documentation for it.

Change-Id: Ida10f12d7dd950e470ba06d0f38c3dd6ac7f8876
TODO: We should also modify the supported distro versions.
2023-09-25 12:08:25 +02:00
Zuul 11843f249c Merge "Fix pep8 errors with new hacking" 2023-09-22 17:34:40 +00:00
Zuul c96ff395df Merge "db: Replace use of backref" 2023-09-22 12:25:03 +00:00
OpenStack Proposal Bot 4fa7a335dc Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I48a9dbd179f46134d653542f94d797dc0b818e38
2023-09-22 03:20:48 +00:00
OpenStack Release Bot ab9f55f649 Update master for stable/2023.2
Add file to the reno documentation build to show release notes for
stable/2023.2.

Use pbr instruction to increment the minor version number
automatically so that master versions are higher than the versions on
stable/2023.2.

Sem-Ver: feature
Change-Id: Ifd0b0ebbe148a323304a9e422e4c7f2bf39757f8
2023-09-21 10:36:59 +00:00
Zuul 1f60a71e0a Merge "Add a Bobcat prelude section" 2023-09-19 13:50:23 +00:00
Sylvain Bauza 10ea7a4fb2 Add a Bobcat prelude section
Shamelessly copied from the cycle highlights.

Change-Id: I79b501e61b91fc0e003bfe352975c6500917f7e7
2023-09-19 11:32:43 +02:00
Zuul 022b1bf2a6 Merge "Revert "Limit nodes by ironic shard key"" 2023-09-18 19:07:55 +00:00
Zuul 270e63e20a Merge "Revert "Add nova-manage ironic-compute-node-move"" 2023-09-18 13:41:30 +00:00
Zuul 3e8b2f37a7 Merge "Make our nova-ovs-hybrid-plug job omit cinder" 2023-09-16 21:27:13 +00:00
Zuul b4e6daf6fa Merge "Add service version for Bobcat" 2023-09-14 08:24:43 +00:00
Zuul 4b0515514d Merge "Revert "Make compute node rebalance safter"" 2023-09-13 21:32:20 +00:00
Zuul 12d252a264 Merge "Update compute rpc alias for bobcat" 2023-09-13 20:08:44 +00:00
Amit Uniyal c486cc89dc Make our nova-ovs-hybrid-plug job omit cinder
modifies nova-ovs-hybrid-plug job to disable cinder and swift to
ensure we test for this going forward.

Change-Id: I52046e6f7acdfb20eeba67dda59cbb5169e5d17e
2023-09-13 12:23:43 -07:00
Sylvain Bauza 9a27434ffc Revert "Limit nodes by ironic shard key"
This reverts commit f5a12f511b.

Change-Id: I4a329237231ba741b57b2ef6437fcee226915d40
2023-09-13 19:24:48 +02:00
Sylvain Bauza 3491b945b9 Revert "Add nova-manage ironic-compute-node-move"
This reverts commit 9068db09e4.

Change-Id: Ibf9a426a90c73bfc921f807e617a25647fc49400
2023-09-13 19:24:36 +02:00
Sylvain Bauza 36a5740e2a Revert "Make compute node rebalance safter"
This reverts commit 772f5a1ae4.

Change-Id: I20e78dfafe19fc1e7dc7344238c01cb585f744dc
2023-09-13 19:24:20 +02:00
Stephen Finucane 031eda5826 db: Replace use of backref
Per the SQLAlchemy docs [1]:

  The relationship.backref keyword should be considered legacy, and use
  of relationship.back_populates with explicit relationship() constructs
  should be preferred.

A number of the relationships defined here don't have foreign keys (long
live mordred?) so their conversion is slightly more difficult than would
otherwise be the case. A blog post is available to explain what's going
on [2] and might be worth a read. The learnings from that blog post do
have the benefit of allowing us to simplify some existing relationships
that had unnecessary arguments defined.

[1] https://docs.sqlalchemy.org/en/14/orm/backref.html
[2] https://that.guru/blog/sqlalchemy-relationships-without-foreign-keys/

Change-Id: I5a135b012dabdff7cf06204fc3c5438aaa0985c9
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2023-09-13 13:17:27 +01:00
Zuul 53012f1c55 Merge "adapt to oslo.log changes" 2023-09-11 16:42:25 +00:00
Zuul 96ae9708e6 Merge "doc: mark the maximum microversion for 2023.2 Bobcat" 2023-09-11 15:48:39 +00:00
Sean Mooney ea07f96eb1 adapt to oslo.log changes
This change refactors prvisep util test cases to account for the
fact that oslo.log now conditionally uses an internal pipe mutex
when logging under eventlet.

This was added by Iac1b0891ae584ce4b95964e6cdc0ff2483a4e57d
which is part of oslo.log 5.3.0

As a result we need to mock all calls to oslo.log in unit tests
that are assertign if os.write is called. when the internal
pipe mutex is used oslo.log calls os.write when the mutex is
released.

Related-Bug: #1983863
Change-Id: Id313669df80f9190b79690fff25f8e3fce2a4aca
2023-09-11 16:15:32 +01:00
Sylvain Bauza a3e0910d88 Add service version for Bobcat
We agreed last cycle on the support envelope.
Pre-RC1, we need to add a service version in the object.
Post-RC1, depending on whether it's SLURP or not SLURP, we need to bump
the minimum version or not.

This patch only focuses on pre-RC1 stage.
Given Caracal is SLURP, we won't need any post-RC1 patch for updating the min
that will stay to be Antelope.

HTH.

Change-Id: I50deead4bbd1e383c9e4ca472a3d2724b78ee104
2023-09-05 16:38:27 +02:00
Zuul 49bff9b9c6 Merge "Follow up for unified limits: PCPU and documentation" 2023-09-05 14:36:09 +00:00
Sylvain Bauza f502a23600 Update compute rpc alias for bobcat
This adds an alias for Bobcat

Change-Id: I244c8b17c6c0483e9c9e4131e1c94db34a439e77
2023-09-05 16:23:42 +02:00
Sylvain Bauza 515d9cbfa4 doc: mark the maximum microversion for 2023.2 Bobcat
We need it for this release.

Change-Id: Ic9aee508a72489ad0cc1948d1ccafad0bd09fb14
2023-09-05 16:20:13 +02:00
OpenStack Proposal Bot 82a17a37de Imported Translations from Zanata
For more information about this automatic import see:
https://docs.openstack.org/i18n/latest/reviewing-translation-import.html

Change-Id: I1e8922b801f13a05d82d46d5eb6c237fb4ea56b8
2023-09-05 03:09:58 +00:00
Zuul ad307b31f8 Merge "[alembic] Alembic operations require keywords only arguments" 2023-09-04 13:25:42 +00:00
Zuul eee5b39b8e Merge "Make compute node rebalance safter" 2023-09-02 08:26:43 +00:00
Zuul 0318016ea4 Merge "Add nova-manage ironic-compute-node-move" 2023-09-02 02:42:22 +00:00
Sean Mooney 68b2131d81 only attempt to clean up dangling bdm if cinder is installed
This change ensure we only try to clean up dangling bdms if
cinder is installed and reachable.

Closes-Bug: #2033752
Change-Id: I0ada59d8901f8620fd1f3dc20d6be303aa7dabca
2023-09-01 17:00:40 +00:00
melanie witt d42fe462be Follow up for unified limits: PCPU and documentation
This addresses comments from code review to add handling of PCPU during
the migration/copy of limits from the Nova database to Keystone. In
legacy quotas, there is no settable quota limit for PCPU, so the limit
for VCPU is used for PCPU. With unified limits, PCPU will have its own
quota limit, so for the automated migration command, we will simply
create a dedicated limit for PCPU that is the same value as the limit
for VCPU.

On the docs side, this adds more detail about the token authorization
settings needed to use the nova-manage limits migrate_to_unified_limits
CLI command and documents more OSC limit commands like show and delete.

Related to blueprint unified-limits-nova-tool-and-docs

Change-Id: Ifdb1691d7b25d28216d26479418ea323476fee1a
2023-09-01 06:19:51 +00:00
Zuul 88c73e2931 Merge "Bump MIN_{LIBVIRT,QEMU} for "Bobcat"" 2023-09-01 04:56:37 +00:00
Zuul 3fdc97ca5f Merge "Add documentation for unified limits" 2023-08-31 23:54:17 +00:00
Zuul f2c84c82e2 Merge "nova-manage: Add 'limits migrate_to_unified_limits'" 2023-08-31 23:54:10 +00:00
Zuul 5ab8ba17e8 Merge "Fix tox docs target" 2023-08-31 21:02:48 +00:00
Zuul 33ed31a421 Merge "Remove unused mocks" 2023-08-31 21:02:39 +00:00
Zuul 080d7f561b Merge "Update serial console example client for py3" 2023-08-31 21:02:32 +00:00
Zuul c8bb6236ae Merge "Delete dangling bdms" 2023-08-31 21:02:24 +00:00
Zuul 9adf7af0e7 Merge "Limit nodes by ironic shard key" 2023-08-31 21:00:22 +00:00
Zuul 579e673f90 Merge "Reproducer for dangling bdms" 2023-08-31 19:06:39 +00:00
Zuul b71c14b5ab Merge "Add function to get all attachments in Cinder.API module" 2023-08-31 19:06:30 +00:00
John Garbutt 772f5a1ae4 Make compute node rebalance safter
Many bugs around nova-compute rebalancing are focused around
problems when the compute node and placement resources are
deleted, and sometimes they never get re-created.

To limit this class of bugs, we add a check to ensure a compute
node is only ever deleted when it is known to have been deleted
in Ironic.

There is a risk this might leave orphaned compute nodes and
resource providers that need manual clean up because users
do not want to delete the node in Ironic, but are removing it
from nova management. But on balance, it seems safer to leave
these cases up to the operator to resolve manually, and collect
feedback on how to better help those users.

blueprint ironic-shards

Change-Id: I7cd9e5ab878cea05462cac24de581dca6d50b3c3
2023-08-31 17:21:15 +00:00
John Garbutt 9068db09e4
Add nova-manage ironic-compute-node-move
When people transition from three ironic nova-compute processes down
to one process, we need a way to move the ironic nodes, and any
associcated instances, between nova-compute processes.

For saftey, a nova-compute process must first be forced_down via
the API, similar to when using evacaute, before moving the associated
ironic nodes to another nova-compute process. The destination
nova-compute process should ideally not be running, but not forced
down.

blueprint ironic-shards

Change-Id: I7ef25e27bf8c47f994e28c59858cf3df30975b05
2023-08-31 18:19:49 +01:00
Amit Uniyal 9d5935d007 Delete dangling bdms
On reboot, check the instance volume status on the cinder side.
Verify if volume exists and cinder has an attachment ID, else
delete its BDMS data from nova DB and vice versa.

Updated existing test cases to use CinderFixture while rebooting as
reboot calls get_all_attachments

Implements: blueprint https://blueprints.launchpad.net/nova/+spec/cleanup-dangling-volume-attachments
Closes-Bug: 2019078

Change-Id: Ieb619d4bfe0a6472aefb118b58283d7ad8d24c29
2023-08-31 14:19:58 +00:00
John Garbutt f5a12f511b
Limit nodes by ironic shard key
Ironic in API 1.82 added the option for nodes to be associated with
a specific shard key. This can be used to partition up the nodes within
a single ironic conductor group into smaller sets of nodes that can
each be managed by their own nova-compute ironic service.

We add a new [ironic]shard config option to allow operators to say
which shard each nova-compute process should target.
As such, when the shard is set we ignore the peer_list setting
and always have a hash ring of one.

blueprint ironic-shards

Change-Id: I5c1b5688c96096f4cfecfc5b16ea59d2ee5756d6
2023-08-31 14:31:26 +01:00
John Garbutt cbf400df1d Deprecate ironic.peer_list
As part of the move to using Ironic shards, we document that the best
practice for scaling Ironic and Nova deployments is to shard Ironic
nodes between nova-compute processes, rather than attempting to
user the peer_list.

Currently, we only allow users to do this using conductor groups.
This works well for those wanting a conductor group per L2 network
domain. But in general, conductor groups per nova-compute are
a very poor trade off in terms of ironic deployment complexity.
Futher patches will look to enable the use of ironic shards,
alongside conductor groups, to more easily shard your ironic nodes
between nova-compute processes.

To avoid confusion, we rename the partition_key configuration
value to conductor_group.

blueprint ironic-shards

Change-Id: Ia2e23a59dbd2f13c6f74ca975c249751bebf54b2
2023-08-31 08:56:10 +00:00
Zuul 4490c8bc84 Merge "Remove deprecated AZ filter." 2023-08-31 07:21:33 +00:00
Amit Uniyal c33a9ccf4c Reproducer for dangling bdms
- Added reproducer test for dangling BDMs

Related-Bug: 2019078
Change-Id: Ieb76b00600acc9c7610546f5a1afab5b65903825
2023-08-31 05:27:55 +00:00