I undertook some research into this. My findings are below, but tl;dr: it appears that this now works as expected and the bug can be closed. --- # Problem There were reports that resizing an instance from a pinned flavor to a unpinned one not result in the pinning being removed. The opposite is also reportedly true. # Steps ## Create the required flavors $ openstack flavor create test.unpinned --id 100 --ram 2048 --disk 0 --vcpus 2 $ openstack flavor create test.pinned --id 101 --ram 2048 --disk 0 --vcpus 2 $ openstack flavor set test.pinned --property "hw:cpu_policy=dedicated" # Ensure this is available $ openstack flavor list +-----+---------------+-------+------+-----------+-------+-----------+ | ID | Name | RAM | Disk | Ephemeral | VCPUs | Is Public | +-----+---------------+-------+------+-----------+-------+-----------+ | 1 | m1.tiny | 512 | 1 | 0 | 1 | True | | 101 | test.unpinned | 2048 | 0 | 0 | 2 | True | | 101 | test.pinned | 2048 | 0 | 0 | 2 | True | | 2 | m1.small | 2048 | 20 | 0 | 1 | True | | 3 | m1.medium | 4096 | 40 | 0 | 2 | True | | 4 | m1.large | 8192 | 80 | 0 | 4 | True | | 42 | m1.nano | 64 | 0 | 0 | 1 | True | | 5 | m1.xlarge | 16384 | 160 | 0 | 8 | True | | 84 | m1.micro | 128 | 0 | 0 | 1 | True | +-----+---------------+-------+------+-----------+-------+-----------+ $ openstack image list +--------------------------------------+---------------------------------+--------+ | ID | Name | Status | +--------------------------------------+---------------------------------+--------+ | c44bba29-653e-4ddf-963d-442af4c33a13 | cirros-0.3.4-x86_64-uec | active | | 8b0284ee-ae6c-4e80-b5ee-26895d574717 | cirros-0.3.4-x86_64-uec-ramdisk | active | | 855c2971-aedc-4d5f-a366-73bb14707965 | cirros-0.3.4-x86_64-uec-kernel | active | +--------------------------------------+---------------------------------+--------+ # Boot an instance $ openstack server create --flavor=test.pinned \ --image=cirros-0.3.4-x86_64-uec --wait test1 # Validate that the instance is pinned $ openstack server list +--------------------------------------+-------+--------+--------------------------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+--------+--------------------------------------------------------+ | 857597cb-266b-4032-8030-e3cc76ebf0e7 | test1 | ACTIVE | private=10.0.0.3, fd2a:ec16:99e1:0:f816:3eff:fe99:df9f | +--------------------------------------+-------+--------+--------------------------------------------------------+ $ sudo virsh list Id Name State ---------------------------------------------------- 1 instance-00000001 running $ sudo virsh dumpxml instance-00000001 instance-00000001 ... 2 2048 ... ... # Resize the instance to the unpinned flavor $ openstack server resize test1 --flavor test.unpinned --wait complete $ openstack server list +--------------------------------------+-------+---------------+--------------------------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+---------------+--------------------------------------------------------+ | 857597cb-266b-4032-8030-e3cc76ebf0e7 | test1 | VERIFY_RESIZE | private=10.0.0.3, fd2a:ec16:99e1:0:f816:3eff:fe99:df9f | +--------------------------------------+-------+---------------+--------------------------------------------------------+ $ openstack server resize test1 --confirm # Validate that the instance is no longer pinned $ openstack server list +--------------------------------------+-------+--------+--------------------------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+--------+--------------------------------------------------------+ | 857597cb-266b-4032-8030-e3cc76ebf0e7 | test1 | ACTIVE | private=10.0.0.3, fd2a:ec16:99e1:0:f816:3eff:fe99:df9f | +--------------------------------------+-------+--------+--------------------------------------------------------+ $ sudo virsh list Id Name State ---------------------------------------------------- 2 instance-00000001 running $ sudo virsh dumpxml instance-00000001 instance-00000002 ... 2 2048 ... # Resize the instance back to the pinned flavor $ openstack server resize test1 --flavor test.pinned --wait complete $ openstack server list +--------------------------------------+-------+---------------+--------------------------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+---------------+--------------------------------------------------------+ | 857597cb-266b-4032-8030-e3cc76ebf0e7 | test1 | VERIFY_RESIZE | private=10.0.0.3, fd2a:ec16:99e1:0:f816:3eff:fe99:df9f | +--------------------------------------+-------+---------------+--------------------------------------------------------+ $ openstack server resize test1 --confirm # Validate that the instance is pinned once more $ openstack server list +--------------------------------------+-------+--------+--------------------------------------------------------+ | ID | Name | Status | Networks | +--------------------------------------+-------+--------+--------------------------------------------------------+ | 857597cb-266b-4032-8030-e3cc76ebf0e7 | test1 | ACTIVE | private=10.0.0.3, fd2a:ec16:99e1:0:f816:3eff:fe99:df9f | +--------------------------------------+-------+--------+--------------------------------------------------------+ $ sudo virsh list Id Name State ---------------------------------------------------- 3 instance-00000001 running $ sudo virsh dumpxml instance-00000001 instance-00000001 ... 2 2048 ... ...