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

Bug #1859664 reported by Archit Modi
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
OpenStack Compute (nova)
Invalid
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)
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
Revision history for this message
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  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.