Commit Graph

60095 Commits

Author SHA1 Message Date
Zuul 668d4e590f Merge "Update Availability zone doc page" 2023-01-17 00:06:18 +00:00
Zuul d6d8db0c9f Merge "Reproduce PCI pool filtering bug" 2023-01-16 23:56:52 +00:00
Zuul 21f178c6e5 Merge "Unit test exceptions raised duing live migration monitoring" 2023-01-16 23:56:45 +00:00
Zuul 69599417d1 Merge "Remove use of removeprefix" 2023-01-16 23:49:50 +00:00
Zuul 07d1da2fa9 Merge "Enable new defaults and scope checks by default" 2023-01-16 23:49:43 +00:00
Zuul 06c878ee4e Merge "Rename _to_device_spec_conf to _to_list_of_json_str" 2023-01-16 19:44:24 +00:00
Zuul d9e7d477cc Merge "Follow up for the PCI in placement series" 2023-01-16 18:40:04 +00:00
Zuul 79a513d4ea Merge "libvirt: Report ephemeral encryption traits based on imagebackend" 2023-01-14 01:55:48 +00:00
Zuul 9e2ca01988 Merge "libvirt: Add encryption support to qemu-img create command" 2023-01-14 01:55:41 +00:00
Zuul 8e3ffb851b Merge "Allow enabling PCI scheduling in Placement" 2023-01-12 23:08:03 +00:00
Zuul 922f5f6da4 Merge "Remove deleted projects from flavor access list" 2023-01-12 18:50:49 +00:00
Zuul cfafd69017 Merge "Test multi create with PCI in placement" 2023-01-12 05:12:24 +00:00
Zuul 95c9761ef3 Merge "Test reschedule with PCI in placement" 2023-01-12 05:06:04 +00:00
Zuul b83120cf98 Merge "Support same host resize with PCI in placement" 2023-01-11 21:24:03 +00:00
Zuul bd9de5e045 Merge "Add mock to avoid loading guestfs in unit test" 2023-01-11 14:38:01 +00:00
Zuul d52234444b Merge "Support unshelve with PCI in placement" 2023-01-11 13:02:50 +00:00
Ghanshyam Mann d97af33c06 Enable new defaults and scope checks by default
As discussed in PTG, we need to test the new RBAC in the
integrated gate and accordingly enable the new defaults
and scope check by default. A new integrated testing job
has been added and results show that the new defaults and
scope checks are working fine. During testing, we found a
few bugs in neutron policies but all are fixed now.

enforce_scope and enforce_new_defaults are oslo policy config
options but they are per service level and the default value
can be overridden. Oslo policy 3.11.0 version allows to override
the default value for these config options[1] so upgrading the
oslo policy version in requirements.txt

Depends-On: https://review.opendev.org/c/openstack/devstack/+/869781
Depends-On: https://review.opendev.org/c/openstack/placement/+/869525

[1] https://github.com/openstack/oslo.policy/blob/3.11.0/oslo_policy/opts.py#L125

Change-Id: I977b2daedf880229c8d364ca011f2ea965b86e3a
2023-01-10 23:37:13 -06:00
Zuul 26f24b7086 Merge "Support evacuate with PCI in placement" 2023-01-10 17:34:31 +00:00
Balazs Gibizer 5e5b6751d3 Remove basepython def from tox.ini
It seems that with tox 4.2.6 the missing interpreter error was fixed but
the generative testenv feature is broken and the
[testenv:functional{,-py38,-py39,-py310}] format is leads to missing
interpreter error. It is due to a conflict between basepython = python3
and the version fragment in the generative target suppressed by
ignore_basepython_conflict = true.

This patch removes basepython = python3 assuming that developers already
switched for python3 in their environment as python2.7 is EOL.

Also we took the opportunity to add the global constraints via the
install_command instead of deps as deps is not used during the
installation of the editable package.

Change-Id: I258a7c13434b29402804181dea275b42d5539df0
2023-01-09 16:17:30 +01:00
Balazs Gibizer 01b5d6ca42 Reproduce PCI pool filtering bug
PCI pool filtering only follow the allocation candidate to select which
PCI pool can be used but does not consider how much devices should be
consumed from which pool.

blueprint: pci-device-tracking-in-placement
Change-Id: I97851180b7af275ea7e4c175be6056130906af87
2023-01-05 17:32:40 +01:00
Balazs Gibizer cf11f8e8e2 Rename _to_device_spec_conf to _to_list_of_json_str
As this util func is used both for device_spec and PCI alias config in
the functional test it is renamed to fit for both use.

Change-Id: I7abe2038680f6a7ec08da1a8a9ba22a04949f37d
2023-01-05 17:32:40 +01:00
Balazs Gibizer e161fb3d39 Follow up for the PCI in placement series
blueprint: pci-device-tracking-in-placement
Change-Id: I95d868a7416cc4561cc9b3c938c888df5b9c1270
2023-01-05 17:32:40 +01:00
Balazs Gibizer 2cb1eedeaf Allow enabling PCI scheduling in Placement
A new configuration option [filter_scheduler]pci_in_placement is added
that allows enabling the scheduler logic for PCI device handling in
Placement for flavor based PCI requests.

blueprint: pci-device-tracking-in-placement
Change-Id: I5ddf6d3cdc7e05cc4914b9b1e762fa02a5c7c550
2023-01-05 17:25:27 +01:00
Zuul ba9d4c909b Merge "Support cold migrate and resize with PCI tracking in placement" 2023-01-05 14:40:02 +00:00
melanie witt ecb11043e9 Add mock to avoid loading guestfs in unit test
We recently discovered that when the perfect conditions are present
where:

  * libguestfs-dev/el and guestfs python bindings are installed

and

  * unit tests are not being run in a venv or guestfs python bindings
    are installed in the tox venv

the test will end up loading the guestfs module and try to call the
real guestfs and possibly libvirt and fail because of it.

Our unit tests shouldn't be loading modules like guestfs, so this adds
proper mocking to the test along with a poison fixture that will
prevent future accidental imports of such modules.

Closes-Bug: #1994913

Change-Id: I676ee1fd33cf053681a07448759c28f0f2ad79d1
2023-01-05 01:51:32 +00:00
Zuul c18f6f9a4f Merge "doc: soft delete and shadow tables" 2023-01-03 18:55:21 +00:00
Zuul 00a62d218d Merge "Func test for PCI in placement scheduling" 2022-12-21 19:20:17 +00:00
Zuul 1c46c4e9e5 Merge "Store allocated RP in InstancePCIRequest" 2022-12-21 19:20:09 +00:00
Zuul afc2ebacac Merge "[doc] Fix BFV Rescue trait name in microversion" 2022-12-21 16:52:24 +00:00
Balazs Gibizer 2cf58d3d1e Test multi create with PCI in placement
blueprint: pci-device-tracking-in-placement
Change-Id: Ibca8bc47b84a9302d2e18ac9f6a9d223ea70ad15
2022-12-21 16:17:34 +01:00
Balazs Gibizer bb3e2c301b Test reschedule with PCI in placement
blueprint: pci-device-tracking-in-placement
Change-Id: I32e8c3d525caffcc4a007c6fa4ddbd6769fe62f7
2022-12-21 16:17:34 +01:00
Balazs Gibizer fa4832c660 Support same host resize with PCI in placement
Id02e445c55fc956965b7d725f0260876d42422f2 added special case in the
healing logic for same host resize. Now that the scheduler also creates
allocation on the destination host during resize we need to make sure
that the drop_move_claim code that runs during revert and confirm drops
the tracked migration from the resource tracker only after the healing
logic run as these migrations being confirmed / reverted are still
affecting PciDevices at this point.

blueprint: pci-device-tracking-in-placement
Change-Id: I6241965fe6c1cc1f2560fcce65d5e32ef308d502
2022-12-21 16:17:34 +01:00
Balazs Gibizer b387401187 Support unshelve with PCI in placement
blueprint: pci-device-tracking-in-placement
Change-Id: I35ca3ae82be5dc345d80ad1857abb915c987d34e
2022-12-21 16:17:34 +01:00
Balazs Gibizer 53642766f8 Support evacuate with PCI in placement
blueprint: pci-device-tracking-in-placement
Change-Id: I1462ee4f4dd143b56732332f7ed00df00a9f2067
2022-12-21 16:17:34 +01:00
Balazs Gibizer e667a7f8d8 Support cold migrate and resize with PCI tracking in placement
This patch adds support for cold migrate, and resize with PCI
devices when the placement tracking is enabled.

Same host resize, evacuate and unshelve will be supported by subsequent
patches. Live migration was not supported with flavor based PCI requests
before so it won't be supported now either.

blueprint: pci-device-tracking-in-placement
Change-Id: I8eec331ab3c30e5958ed19c173eff9998c1f41b0
2022-12-21 16:17:34 +01:00
Balazs Gibizer 1462883dcc Func test for PCI in placement scheduling
This patch adds various functional test cases showing that the placement
allocation candidate restricts the available PCI pools during the run of
the filter scheduler and that the placement PCI allocation later drives
the PCI claim code in the compute.

blueprint: pci-device-tracking-in-placement
Change-Id: If46ee131a9e5499ae91da93ddaac88aa49182f56
2022-12-21 16:17:34 +01:00
Balazs Gibizer f86f1800f0 Store allocated RP in InstancePCIRequest
After the scheduler selected a target host and allocated an allocation
candidate that is passed the filters nova need to make sure that PCI
claim will allocate the real PCI devices from the RP which is allocated
in placement. Placement returns the request group - provider mapping for
each allocation candidate so nova can map which InstancePCIRequest was
fulfilled from which RP in the selected allocation candidate. This
mapping is then recorded in the InstancePCIRequest object and used
during the PCI claim to filter for PCI pools that can be used to claim
PCI devices from.

blueprint: pci-device-tracking-in-placement
Change-Id: I18bb31e23cc014411db68c31317ed983886d1a8e
2022-12-21 16:17:34 +01:00
Zuul b9a49ffb04 Merge "Filter PCI pools based on Placement allocation" 2022-12-20 19:04:59 +00:00
Zuul 72281b9f93 Merge "Add a hacking rule for the setDaemon method" 2022-12-20 16:25:03 +00:00
Zuul 7f7aabd26e Merge "Improving logging at '_allocate_mdevs'." 2022-12-20 16:24:55 +00:00
Zuul 3ec23d3f37 Merge "Update gate jobs as per the 2023.1 cycle testing runtime" 2022-12-20 16:24:47 +00:00
Stephen Finucane 3ccf82ef9e Remove use of removeprefix
This is not supported on Python 3.8 [1]. I have no idea why this was not
failing CI.

[1] https://docs.python.org/3.9/library/stdtypes.html#str.removeprefix

Change-Id: I225e9ced0f75c415b1d2fee05440291e3d8635c0
Signed-off-by: Stephen Finucane <sfinucan@redhat.com>
2022-12-20 16:12:12 +00:00
Zuul a2139db1ff Merge "Doc: Fix list servers detailed response param" 2022-12-20 16:07:24 +00:00
Zuul 7db43d8f38 Merge "libvirt: fix typo in test_config" 2022-12-20 16:07:16 +00:00
Zuul 6a67b5f03f Merge "db: Drop redundant indexes on instances and console_auth_tokens tables" 2022-12-20 16:07:00 +00:00
Zuul aec72ddeb6 Merge "Modify the command of getting serial console" 2022-12-20 15:05:36 +00:00
Zuul 9881e8d629 Merge "Correct reST markup in config help string" 2022-12-20 15:05:27 +00:00
Zuul fe839970cf Merge "fix typo in architecture document" 2022-12-20 15:03:36 +00:00
Zuul 9d0b55b70b Merge "Fix link to Cyborg device profiles API" 2022-12-20 15:03:28 +00:00
Zuul a077a5f5dd Merge "Add os_vif in nova-config-generator" 2022-12-20 15:03:18 +00:00