yahoo-eng-team team mailing list archive
-
yahoo-eng-team team
-
Mailing list archive
-
Message #94771
[Bug 2085122] [NEW] nova-compute restart unpins pinned VMs if [libvirt]power_management=true.
Public bug reported:
Reproduction:
* have a deployment with pinned CPUs configured and power mgmt enabled
[root@edpm-compute-0 ~]# podman exec -it nova_compute cat /etc/nova/nova.conf.d/25-cpu-pinning-nova.conf | egrep -e '_set|power' -B1
[compute]
cpu_shared_set = 0,1,2,3
cpu_dedicated_set = 4-19
--
[libvirt]
cpu_power_management=true
* check that nova-compute disabled the unused pcpus at startup
On-line CPU(s) list: 0-3,20-255
Off-line CPU(s) list: 4-19
* boot a VM with nova that using pinned CPUs
[zuul@controller-0 ~]$ openstack flavor show m1.dedicated
+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| access_project_ids | None |
| description | None |
| disk | 1 |
| id | 4e5abbfc-2cfc-4f13-a0b0-442aeb51ea7b |
| name | m1.dedicated |
| os-flavor-access:is_public | True |
| properties | hw:cpu_policy='dedicated' |
| ram | 512 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 2 |
+----------------------------+--------------------------------------+
[zuul@controller-0 ~]$ openstack --os-compute-api-version 2.80 server
create --image cirros --flavor m1.dedicated --nic none vm1-gibi
* observe that nova onlined the two pcpus allocated to the VM
[root@edpm-compute-0 ~]# virsh dumpxml 5 | grep vcpupin
<vcpupin vcpu='0' cpuset='7'/>
<vcpupin vcpu='1' cpuset='11'/>
[root@edpm-compute-0 ~]# lscpu | grep 'line CPU'
On-line CPU(s) list: 0-3,7,11,20-255
Off-line CPU(s) list: 4-6,8-10,12-19
[root@edpm-compute-0 ~]# taskset -cp `pgrep qemu-kvm`
pid 130794's current affinity list: 7,11
* restart the nova-compute service
[root@edpm-compute-0 ~]# systemctl restart edpm_nova_compute
* observe that the VM is still running, the allocated PCPU cores are offlined and the VM is unpinned
[root@edpm-compute-0 ~]# virsh list
Id Name State
-----------------------------------
5 instance-00000007 running
[root@edpm-compute-0 ~]# virsh dumpxml 5 | grep vcpupin
<vcpupin vcpu='0' cpuset='7'/>
<vcpupin vcpu='1' cpuset='11'/>
[root@edpm-compute-0 ~]# lscpu | grep 'line CPU'
On-line CPU(s) list: 0-3,20-255
Off-line CPU(s) list: 4-19
[root@edpm-compute-0 ~]# taskset -cp `pgrep qemu-kvm`
pid 130794's current affinity list: 0-3,20-255
Expected behavior:
* nova-compute restart does not offline any PCPU that are used by
running VMs.
Relevant nova-compute log during the service restart:
Oct 17 14:47:26 edpm-compute-0 nova_compute[130962]: 2024-10-17 14:47:26.544 2 DEBUG nova.virt.libvirt.cpu.api [None req-b2f86412-9ebd-44ae-9d0d-925cd6bcb7fd - - - - - -] Cores powered up : {'4', '15', '5', '6', '19', '10', '14', '17', '18', '11', '9', '16', '7', '8', '12', '13'} power_up /usr/lib/python3.9/site-packages/nova/virt/libvirt/cpu/api.py:107
Oct 17 14:47:28 edpm-compute-0 nova_compute[130962]: 2024-10-17 14:47:28.938 2 DEBUG nova.virt.libvirt.cpu.api [None req-b2f86412-9ebd-44ae-9d0d-925cd6bcb7fd - - - - - -] Cores powered down : {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19} power_down_all_dedicated_cpus /usr/lib/python3.9/site-packages/nova/virt/libvirt/cpu/api.py:169
** Affects: nova
Importance: Undecided
Status: New
** Tags: libvirt
** Tags added: libvirt
--
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2085122
Title:
nova-compute restart unpins pinned VMs if
[libvirt]power_management=true.
Status in OpenStack Compute (nova):
New
Bug description:
Reproduction:
* have a deployment with pinned CPUs configured and power mgmt enabled
[root@edpm-compute-0 ~]# podman exec -it nova_compute cat /etc/nova/nova.conf.d/25-cpu-pinning-nova.conf | egrep -e '_set|power' -B1
[compute]
cpu_shared_set = 0,1,2,3
cpu_dedicated_set = 4-19
--
[libvirt]
cpu_power_management=true
* check that nova-compute disabled the unused pcpus at startup
On-line CPU(s) list: 0-3,20-255
Off-line CPU(s) list: 4-19
* boot a VM with nova that using pinned CPUs
[zuul@controller-0 ~]$ openstack flavor show m1.dedicated
+----------------------------+--------------------------------------+
| Field | Value |
+----------------------------+--------------------------------------+
| OS-FLV-DISABLED:disabled | False |
| OS-FLV-EXT-DATA:ephemeral | 0 |
| access_project_ids | None |
| description | None |
| disk | 1 |
| id | 4e5abbfc-2cfc-4f13-a0b0-442aeb51ea7b |
| name | m1.dedicated |
| os-flavor-access:is_public | True |
| properties | hw:cpu_policy='dedicated' |
| ram | 512 |
| rxtx_factor | 1.0 |
| swap | |
| vcpus | 2 |
+----------------------------+--------------------------------------+
[zuul@controller-0 ~]$ openstack --os-compute-api-version 2.80 server
create --image cirros --flavor m1.dedicated --nic none vm1-gibi
* observe that nova onlined the two pcpus allocated to the VM
[root@edpm-compute-0 ~]# virsh dumpxml 5 | grep vcpupin
<vcpupin vcpu='0' cpuset='7'/>
<vcpupin vcpu='1' cpuset='11'/>
[root@edpm-compute-0 ~]# lscpu | grep 'line CPU'
On-line CPU(s) list: 0-3,7,11,20-255
Off-line CPU(s) list: 4-6,8-10,12-19
[root@edpm-compute-0 ~]# taskset -cp `pgrep qemu-kvm`
pid 130794's current affinity list: 7,11
* restart the nova-compute service
[root@edpm-compute-0 ~]# systemctl restart edpm_nova_compute
* observe that the VM is still running, the allocated PCPU cores are offlined and the VM is unpinned
[root@edpm-compute-0 ~]# virsh list
Id Name State
-----------------------------------
5 instance-00000007 running
[root@edpm-compute-0 ~]# virsh dumpxml 5 | grep vcpupin
<vcpupin vcpu='0' cpuset='7'/>
<vcpupin vcpu='1' cpuset='11'/>
[root@edpm-compute-0 ~]# lscpu | grep 'line CPU'
On-line CPU(s) list: 0-3,20-255
Off-line CPU(s) list: 4-19
[root@edpm-compute-0 ~]# taskset -cp `pgrep qemu-kvm`
pid 130794's current affinity list: 0-3,20-255
Expected behavior:
* nova-compute restart does not offline any PCPU that are used by
running VMs.
Relevant nova-compute log during the service restart:
Oct 17 14:47:26 edpm-compute-0 nova_compute[130962]: 2024-10-17 14:47:26.544 2 DEBUG nova.virt.libvirt.cpu.api [None req-b2f86412-9ebd-44ae-9d0d-925cd6bcb7fd - - - - - -] Cores powered up : {'4', '15', '5', '6', '19', '10', '14', '17', '18', '11', '9', '16', '7', '8', '12', '13'} power_up /usr/lib/python3.9/site-packages/nova/virt/libvirt/cpu/api.py:107
Oct 17 14:47:28 edpm-compute-0 nova_compute[130962]: 2024-10-17 14:47:28.938 2 DEBUG nova.virt.libvirt.cpu.api [None req-b2f86412-9ebd-44ae-9d0d-925cd6bcb7fd - - - - - -] Cores powered down : {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19} power_down_all_dedicated_cpus /usr/lib/python3.9/site-packages/nova/virt/libvirt/cpu/api.py:169
To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2085122/+subscriptions