[NUMA] Successful In-place rebuild with images having different cpu thread policy

Bug #1859664 reported by Archit Modi on 2020-01-14
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Undecided
Unassigned

Bug Description

Description
===========
Performing rebuild of a vm with a different image passes when the images have different cpu_threads_policy defined in image metadata, when it should fail

Steps to reproduce
==================
1. Create two images, one with hw_cpu_threads_policy=prefer and other hw_cpu_threads_policy=isolate
2. create a flavor with 2 cpus, make sure Compute host has at least 4 physical cpus, and following metadata:
hw:cpu_policy='dedicated'
3. create a vm with first image
4. Rebuild the vm with the second image. It passes here when it should be failing

Expected result
===============
Rebuild fails with below error:
An instance's NUMA topology cannot be changed as part of a rebuild. The image provided is invalid for this instance. (HTTP 400)

Actual result
=============
(overcloud) [stack@undercloud-0 ~]$ openstack image set --property hw_cpu_threads_policy='prefer' rhel7.7
(overcloud) [stack@undercloud-0 ~]$ openstack image set --property hw_cpu_threads_policy='isolate' rhel8.1
+--------------------------------------+------------+--------+------------+-------------+-------------------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
| ID | Name | Status | Task State | Power State | Networks | Image Name | Image ID | Flavor Name | Flavor ID | Availability Zone | Host | Properties |
+--------------------------------------+------------+--------+------------+-------------+-------------------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
| 6d833fa7-4c9e-4d8f-bebc-a0c4b9da98ec | test-19390 | ACTIVE | None | Running | private=192.168.100.132, 10.0.0.236 | rhel7.7 | 35bb7039-b659-4084-a657-52f556dfe05f | | | nova | compute-0.redhat.local | |
+--------------------------------------+------------+--------+------------+-------------+-------------------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
(overcloud) [stack@undercloud-0 ~]$ openstack server rebuild --image rhel8.1 --wait test-19390
Complete
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
| Field | Value |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
| OS-DCF:diskConfig | MANUAL |
| OS-EXT-AZ:availability_zone | nova |
| OS-EXT-SRV-ATTR:host | compute-0.redhat.local |
| OS-EXT-SRV-ATTR:hostname | test-19390 |
| OS-EXT-SRV-ATTR:hypervisor_hostname | compute-0.redhat.local |
| OS-EXT-SRV-ATTR:instance_name | instance-00000006 |
| OS-EXT-SRV-ATTR:kernel_id | |
| OS-EXT-SRV-ATTR:launch_index | 0 |
| OS-EXT-SRV-ATTR:ramdisk_id | |
| OS-EXT-SRV-ATTR:reservation_id | r-gox0z74u |
| OS-EXT-SRV-ATTR:root_device_name | /dev/vda |
| OS-EXT-STS:power_state | Running |
| OS-EXT-STS:task_state | rebuilding |
| OS-EXT-STS:vm_state | active |
| OS-SRV-USG:launched_at | 2020-01-10T21:39:48.000000 |
| OS-SRV-USG:terminated_at | None |
| accessIPv4 | |
| accessIPv6 | |
| addresses | private=192.168.100.132, 10.0.0.236 |
| adminPass | 8bndFiMX5beY |
| config_drive | |
| created | 2020-01-10T21:39:29Z |
| description | None |
| flavor | disk='13', ephemeral='0', extra_specs.hw:cpu_policy='dedicated', original_name='m1.custom', ram='2148', swap='0', vcpus='2' |
| hostId | 466779e6411be23cbf1ba8749524600f2c29561ed92139381e264e61 |
| host_status | UP |
| id | 6d833fa7-4c9e-4d8f-bebc-a0c4b9da98ec |
| image | rhel8.1 (0a514761-857c-4b82-bf72-25b30810be1f) |
| key_name | mykey |
| locked | False |
| locked_reason | None |
| name | test-19390 |
| progress | 0 |
| project_id | 96a6914ad7264c929cdc17f9ba662349 |
| properties | |
| security_groups | name='default' |
| server_groups | [] |
| status | REBUILD |
| tags | [] |
| trusted_image_certificates | None |
| updated | 2020-01-10T21:40:14Z |
| user_data | None |
| user_id | a73228cfc17c4767aff80a2a20b27dd7 |
| volumes_attached | |
+-------------------------------------+-----------------------------------------------------------------------------------------------------------------------------+
(overcloud) [stack@undercloud-0 ~]$ openstack server list --long
+--------------------------------------+------------+--------+------------+-------------+-------------------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
| ID | Name | Status | Task State | Power State | Networks | Image Name | Image ID | Flavor Name | Flavor ID | Availability Zone | Host | Properties |
+--------------------------------------+------------+--------+------------+-------------+-------------------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
| 6d833fa7-4c9e-4d8f-bebc-a0c4b9da98ec | test-19390 | ACTIVE | None | Running | private=192.168.100.132, 10.0.0.236 | rhel8.1 | 0a514761-857c-4b82-bf72-25b30810be1f | | | nova | compute-0.redhat.local | |
+--------------------------------------+------------+--------+------------+-------------+-------------------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+

Environment
===========
NUMATopologyFilter should be enabled, compute nodes should have NUMA

Archit Modi (amodi5) on 2020-01-14
summary: - [NUMA] Successful In-place rebuild of images with different cpu thread
- policy
+ [NUMA] Successful In-place rebuild with images having different cpu
+ thread policy
Archit Modi (amodi5) wrote :

Configuration issue where i had to use hw_cpu_thread_policy instead of hw_cpu_threads_policy:

Logs confirming expected error while rebuilding:
(overcloud) [stack@undercloud-0 ~]$ openstack image set --property hw_cpu_thread_policy='prefer' rhel7.7
(overcloud) [stack@undercloud-0 ~]$ openstack image set --property hw_cpu_thread_policy='isolate' rhel8.0
+--------------------------------------+------------+--------+------------+-------------+------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
| ID | Name | Status | Task State | Power State | Networks | Image Name | Image ID | Flavor Name | Flavor ID | Availability Zone | Host | Properties |
+--------------------------------------+------------+--------+------------+-------------+------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
| dd8545a3-8a88-4647-abd8-c8fef6958db6 | test-12470 | ACTIVE | None | Running | private=192.168.100.46 | rhel7.7 | bc5d13ae-058f-4b06-a362-cf98933f274d | | | nova | compute-0.redhat.local | |
+--------------------------------------+------------+--------+------------+-------------+------------------------+------------+--------------------------------------+-------------+-----------+-------------------+------------------------+------------+
(overcloud) [stack@undercloud-0 ~]$ openstack server rebuild --image rhel8.0 --wait test-12470
An instance's NUMA topology cannot be changed as part of a rebuild. The image provided is invalid for this instance. (HTTP 400) (Request-ID: req-8db11997-b2b7-4d49-a848-2b2d32b67149)

Changed in nova:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers