summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | | | | | | Merge "compute: enhance compute evacuate instance to support target state"Zuul2023-02-0115-65/+201
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / /
| * | | | | | | | compute: enhance compute evacuate instance to support target stateSahid Orentino Ferdjaoui2023-01-3115-65/+201
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to the bp/allowing-target-state-for-evacuate. This change is extending compute API to accept a new argument targetState. The targetState argument when set will force state of an evacuated instance to the destination host. Signed-off-by: Sahid Orentino Ferdjaoui <sahid.ferdjaoui@industrialdiscipline.com> Change-Id: I9660d42937ad62d647afc6be965f166cc5631392
* | | | | | | | | Merge "Detect host renames and abort startup"Zuul2023-02-013-12/+101
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Detect host renames and abort startupDan Smith2023-01-303-12/+101
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Except on ironic, if we are able to determine that our locally- configured node has a hostname other than what we expect, we should abort startup. Since we currently depend on the loose name-based association of nodes, services, and instances, we need to make sure we do not startup in an inconsistent configuration. Related to blueprint stable-compute-uuid Change-Id: I595b27a57516cffe1f172cf2fb736e1b11373a1d
* | | | | | | | | | Merge "Add further workaround features for qemu_monitor_announce_self"Zuul2023-01-314-10/+97
|\ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / |/| | | | | | | | |
| * | | | | | | | | Add further workaround features for qemu_monitor_announce_selfas02023-01-304-10/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In some cases on Arista VXLAN fabrics, VMs are inaccessible via network after live migration, despite garps being observed on the fabric itself. This patch builds on the feature ``[workarounds]/enable_qemu_monitor_announce_self`` feature as reported in `bug 1815989 <https://bugs.launchpad.net/nova/+bug/1815989>` This patch adds the ability to config the number of times the QEMU announce_self monitor command is called, and add a new configuration option to specify a delay between calling the announce_self command multiple times, as in some cases, multiple announce_self monitor commands are required for the fabric to honor the garp packets and the VM to become accessible via the network after live migration. Closes-Bug: #1996995 Change-Id: I2f5bf7c9de621bb1dc7fae5b3374629a4fcc1f46
* | | | | | | | | | Fixup patch for stable-compute-uuid seriesDan Smith2023-01-305-8/+6
| |/ / / / / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Minor cleanups from feedback on earlier patches. Related to blueprint stable-compute-uuid Change-Id: I00505f1df47b46ed36645c781354258e255f0dcc
* | | | | | | | | Make resource tracker use UUIDs instead of namesDan Smith2023-01-309-169/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This makes the resource tracker look up and create ComputeNode objects by uuid instead of nodename. For drivers like ironic that already provide 'uuid' in the resources dict, we can use that. For those that do not, we force the uuid to be the locally-persisted node uuid, and use that to find/create the ComputeNode object. A (happy) side-effect of this is that if we find a deleted compute node object that matches that of our hypervisor, we undelete it instead of re-creating one with a new uuid, which may clash with our old one. This means we remove some of the special-casing of ironic rebalance, although the tests for that still largely stay the same. Change-Id: I6a582a38c302fd1554a49abc38cfeda7c324d911
* | | | | | | | | Merge "Fix huge-page doc"Zuul2023-01-301-1/+1
|\ \ \ \ \ \ \ \ \
| * | | | | | | | | Fix huge-page docRajesh Tailor2023-01-101-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This change updates the echo command as per description [1], to append huge-page specific paramters instead of overwriting. [1] https://docs.openstack.org/nova/zed/admin/huge-pages.html Closes-Bug: #2002317 Change-Id: Ibd8b555c4d6a70cd221b12821d6e9d88cf132a4a
* | | | | | | | | | Merge "Persist existing node uuids locally"Zuul2023-01-303-10/+184
|\ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | Persist existing node uuids locallyDan Smith2023-01-203-10/+184
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If we start up from an older service version, we need to look at the database to determine what our node is and write it locally. This leap of faith will be the last time we need to look up our node based on our hostname. Instead of relying on this, operators can (ideally) pre-populate the compute node identities for maximum safety. Change-Id: I178700bf5ba172603593b1c9972520d05face849
* | | | | | | | | | | Merge "Fix rescue volume-based instance"Zuul2023-01-304-11/+220
|\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | Fix rescue volume-based instanceRajesh Tailor2022-08-264-11/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of now, when attempting to rescue a volume-based instance using an image without the hw_rescue_device and/or hw_rescue_bus properties set, the rescue api call fails (as non-stable rescue for volume-based instances are not supported) leaving the instance in error state. This change checks for hw_rescue_device/hw_rescue_bus image properties before attempting to rescue and if the property is not set, then fail with proper error message, without changing instance state. Related-Bug: #1978958 Closes-Bug: #1926601 Change-Id: Id4c8c5f3b32985ac7d3d7c833b82e0876f7367c1
* | | | | | | | | | | | Merge "Add get_available_node_uuids() to virt driver"Zuul2023-01-2710-6/+39
|\ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / | |/| | | | | | | | | |
| * | | | | | | | | | | Add get_available_node_uuids() to virt driverDan Smith2023-01-2010-6/+39
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds a get_available_node_uuids() method to the virt driver interface. This aims to eventually replace the nodename-based interface, but currently provides an implementation that will work for most drivers. Any driver that does not override this method will get the locally-persistent UUID from nova.virt.node. Ironic obviously needs to override this (which is easy), as well as the fake driver because it supports multiple nodes for testing. The libvirt driver overrides it only because we test multiple libvirt driver instances on a single host and we need each instantiation of it to "capture" the UUID we have mocked out at the time it is started. Change-Id: Ibe14d2b223c737d82c217a74bc94e41603271a9d
* | | | | | | | | | | | Merge "Pass service ref to init_host(), if exists"Zuul2023-01-265-18/+22
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / /
| * | | | | | | | | | | Pass service ref to init_host(), if existsDan Smith2023-01-205-18/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This just adds the service ref to init_host() so that we can pass it (if it exists) at startup. On the first run, this will be None, so we know that we don't have an existing service record and thus do not need to do any migration. Related to blueprint stable-compute-uuid Change-Id: I1491c9b234ef0c262b5ed01d4c138eba8dedff77
* | | | | | | | | | | | Merge "Add virt/node module for stable uuids"Zuul2023-01-266-0/+274
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / /
| * | | | | | | | | | | Add virt/node module for stable uuidsDan Smith2023-01-206-0/+274
| | |_|_|/ / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related to blueprint stable-compute-uuid Change-Id: Ie8897a843fadf325c696b411923f075e237a7342
* | | | | | | | | | | Merge "libvirt: Replace usage of compareCPU() with compareHypervisorCPU()"Zuul2023-01-265-19/+57
|\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | libvirt: Replace usage of compareCPU() with compareHypervisorCPU()Kashyap Chamarthy2023-01-245-19/+57
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The older libvirt API compareCPU() does not take into account the capabilities of the "host hypervisor" (KVM, QEMU and the details libvirt knows about the host) when comparing CPUs. This is causing unwanted failures during CPU compatibility checks. To fix this and other related problems, libvirt has introduced (in v4.4.0) a newer API, compareHypervisorCPU(), which _does_ take into account the host hypervisor's capabilities before comparing CPUs. This will help fix a range of problems, such as[1][2]. So let's switch to the newer API, which is largely a drop-in replacement. In this patch: - Introduce a wrapper method, compare_hypervisor_cpu() for libvirt's compareHypervisorCPU() API. - Update the _compare_cpu() method to use the wrapper method, compare_hypervisor_cpu(). - Update the unit tests to use the newer API, compareHypervisorCPU(). [1] https://bugs.launchpad.net/ubuntu/+source/libvirt/+bug/1978064 [2] https://bugzilla.redhat.com/show_bug.cgi?id=2138381 Change-Id: Ib523753f52993cfe72e35e0309e429ca879c125c Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
* | | | | | | | | | | | Merge "libvirt: At start-up rework compareCPU() usage with a workaround"Zuul2023-01-263-30/+46
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / /
| * | | | | | | | | | | libvirt: At start-up rework compareCPU() usage with a workaroundKashyap Chamarthy2023-01-243-30/+46
| | |_|/ / / / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this patch: - Remove the first compareCPU() call (called via the wrapper _compare_cpu()) in _check_cpu_compatibility(), and let libvirt handle it. (QEMU >=2.9 and libvirt >= 4.4.0 are the mininum required versions, and upstream Nova satisfies them by a good margin.) - Validate the user-configured CPU models from _get_cpu_model_mapping(). And take into account all the CPU flags before calling _compare_cpu(). (Suggested-by: Sean Mooney -- thanks!) - Add a workaround to allow skipping the remaining compareCPU() call in _check_cpu_compatibility() as a potential future-proof (because we cannot test all possible CPU models and hardware). Unlike the removed first call, this call takes into account the extra CPU flags provided by the user into account when evaluating guest CPU model compatibility. As a follow up comes the patch[1] that replaces the older libvirt CPU API with the newer one. [1] https://review.opendev.org/c/openstack/nova/+/869950 -- libvirt: Replace usage of compareCPU() with compareHypervisorCPU() Change-Id: I8ef9db851b37c5249d2efbe09a15a1ddbae8205d Signed-off-by: Kashyap Chamarthy <kchamart@redhat.com>
* | | | | | | | | | | Merge "Handle InstanceInvalidState exception"Zuul2023-01-263-0/+35
|\ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | Handle InstanceInvalidState exceptionRajesh Tailor2023-01-233-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When instance task state is 'deleting' or 'migrating', then get_vnc_console throws 500 error, as InstanceInvalidState exception is not handled there. This change handles InstanceInvalidState in api layer in get_vnc_console call. Closes-Bug: #1968618 Change-Id: Ia738a0972b050f549f446c85171d3f33e60ada4f
* | | | | | | | | | | | Merge "Check VMDK create-type against an allowed list"Zuul2023-01-253-0/+86
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Check VMDK create-type against an allowed listDan Smith2023-01-243-0/+86
| |/ / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Related-Bug: #1996188 Change-Id: I5a399f1d3d702bfb76c067893e9c924904c8c360
* | | | | | | | | | | | Merge "Make tenant network policy default to PROJECT_READER_OR_ADMIN"Zuul2023-01-241-2/+2
|\ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / |/| | | | | | | | | | |
| * | | | | | | | | | | Make tenant network policy default to PROJECT_READER_OR_ADMINGhanshyam Mann2022-11-191-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This policy is missed to default to legacy admin in - https://review.opendev.org/c/openstack/nova/+/849209 Making tenant network policy also default to PROJECT_READER_OR_ADMIN. Change-Id: I1097d948f8c10ff99c54e8c369a7058ea14e6934
* | | | | | | | | | | | Merge "Microversion 2.94: FQDN in hostname"Zuul2023-01-2130-8/+960
|\ \ \ \ \ \ \ \ \ \ \ \ | |_|_|/ / / / / / / / / |/| | | | | | | | | | |
| * | | | | | | | | | | Microversion 2.94: FQDN in hostnameArtom Lifshitz2023-01-1730-8/+960
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend microversion 2.90 to allow FQDNs in the hostname parameter. Multi-create with --hostname continues to be refused, returning error 400 to the user. This simplifies the code by not needing to handle any sort of suffix or prefix mangling of the FQDN to handle multiple instances. No other changes are made - not Neutron integration, metadata API changes (the FQDN will appear as-is in places where the hostname currently appears), etc. Change-Id: I47e397dc6da8263762479cc8ae4f8777a6d9d811 Implements: bp/fqdn-in-hostname
* | | | | | | | | | | | Merge "Split ignored_tags in stats.py"Zuul2023-01-201-5/+15
|\ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | Split ignored_tags in stats.pyBalazs Gibizer2023-01-051-5/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As a follow up for https://review.opendev.org/c/openstack/nova/+/854121/14/nova/pci/stats.py#75 this patch split the ignored_tags to two list, ignored_pool_tags and ignored_spec_tags as the two tag list are different. Change-Id: I735792ab285ad42e622e9a71e2a533f821316854
* | | | | | | | | | | | | Merge "Clean up after ImportModulePoisonFixture"Zuul2023-01-191-2/+4
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Clean up after ImportModulePoisonFixtureBalazs Gibizer2023-01-191-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ImportModulePoisonFixture installs a MetaPathFinder to sys.meta_path to catch unsuitable imports during testing. But the extra finder wasn't removed during fixture cleanup so such finder is leaked between test cases running in the same test executor. As all our test cases has this poison set up by default this only caused unnecessary finders accumulating in sys.meta_path. Change-Id: I2692552000687d51158dad0d938d68e891b40d8a
* | | | | | | | | | | | | | Merge "Bump openstack-placement version in functional tox env"Zuul2023-01-191-1/+1
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| | | | | | | | | | | | |
| * | | | | | | | | | | | | Bump openstack-placement version in functional tox envGhanshyam Mann2023-01-181-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Nova functional tests import the placement test fixture and which require the new fix change merged in placement - https://review.opendev.org/c/openstack/placement/+/869525 the above change is released in openstack-placement 9.0.0.0b1 version - https://review.opendev.org/c/openstack/releases/+/870989 bumping that version in tox.ini as functional test env use the placement from PyPi. Change-Id: Ib0217f85f9d2782f1a742b19f6ec56a082946a2b
* | | | | | | | | | | | | | Merge "FUP for the scheduler part of PCI in placement"Zuul2023-01-187-104/+114
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| / / / / / / / / / / / / | |/ / / / / / / / / / / /
| * | | | | | | | | | | | FUP for the scheduler part of PCI in placementBalazs Gibizer2023-01-057-104/+114
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixing minor comments from: * https://review.opendev.org/c/openstack/nova/+/852771 * https://review.opendev.org/c/openstack/nova/+/853316 * https://review.opendev.org/c/openstack/nova/+/854120 * https://review.opendev.org/c/openstack/nova/+/854440 * https://review.opendev.org/c/openstack/nova/+/854119 * https://review.opendev.org/c/openstack/nova/+/854121 blueprint: pci-device-tracking-in-placement Change-Id: Id34c13c0052928b43a302f30bf4ce7a87d1ceeec
* | | | | | | | | | | | | Merge "Use new get_rpc_client API from oslo.messaging"Zuul2023-01-184-37/+34
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Use new get_rpc_client API from oslo.messagingTobias Urdin2023-01-174-37/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use the new API that is consistent with the existing API instead of instantiating the client class directly. This was introduced in release 14.1.0 here [1] and added into oslo.messaging here [2] [1] https://review.opendev.org/c/openstack/requirements/+/869340 [2] https://review.opendev.org/c/openstack/oslo.messaging/+/862419 Change-Id: If1128fe0faacef757ed10023c00a67e5ec0440bd
* | | | | | | | | | | | | | Merge "Strictly follow placement allocation during PCI claim"Zuul2023-01-185-63/+192
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | |/ / / / / / / / / / / / / |/| / / / / / / / / / / / / | |/ / / / / / / / / / / /
| * | | | | | | | | | | | Strictly follow placement allocation during PCI claimBalazs Gibizer2023-01-055-63/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The current PCI claim logic only ensures that the PCI devices are allocated from the pools that are also used by the placement allocation. But it does not make sure that the correct amount of device is consumed from the correct pool. This could lead to a situation where the placement allocation used one dev from RP1 and two devs from RP2 while the PCI claim did the opposite and allocated two devs from the pool mapped to RP1 and one from the other. This patch fixes the logic in the stats module to not only consider the pools but also consider the amount of devices based on the placement allocation (candidate). blueprint: pci-device-tracking-in-placement Change-Id: Ibc8cacc85a09ffc2985c1eb637ae35014b8e595e
* | | | | | | | | | | | | Merge "Update Availability zone doc page"Zuul2023-01-171-15/+41
|\ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | Update Availability zone doc pageRajesh Tailor2022-09-231-15/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Availability zone doc page [1] mentioned that server moving operation (evacuate/live-migrate) request can force target host and bypass scheduler. This support of forcing target host for evacuate/live-migrate request was removed in [2]. This change updates the doc page by mentioning that it was possible to force a host with older API microversion and how to use it, if user wants to force target host for evacuate/live-migrate. [1] https://docs.openstack.org/nova/latest/admin/availability-zones.html#implications-for-moving-servers [2] https://review.opendev.org/q/topic:bp%252Fremove-force-flag-from-live-migrate-and-evacuate Closes-Bug: #1947421 Change-Id: Iaf989ccbde49a8c3735d260b2dd4a319bc77caf8
* | | | | | | | | | | | | | Merge "Reproduce PCI pool filtering bug"Zuul2023-01-161-0/+85
|\ \ \ \ \ \ \ \ \ \ \ \ \ \ | | |/ / / / / / / / / / / / | |/| | | | | | | | | | | |
| * | | | | | | | | | | | | Reproduce PCI pool filtering bugBalazs Gibizer2023-01-051-0/+85
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | | | | | | | | | | Merge "Unit test exceptions raised duing live migration monitoring"Zuul2023-01-161-0/+79
|\ \ \ \ \ \ \ \ \ \ \ \ \ \
| * | | | | | | | | | | | | | Unit test exceptions raised duing live migration monitoringmelanie witt2022-09-271-0/+79
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds some test coverage to verify the expected handling of exceptions raised in Guest.get_job_info() during live migration monitoring. In the case of the related bug fix, this testing verifies that the post live migration method is called after handling the special case and workaround of libvirt error "migration was active, but no RAM info was set". Related-Bug: #1982284 Change-Id: Ibab54aa4f2e929b384b75e7e0a21c8b059b680c5