It seems that the qos handling is missing from the cross cell resize codepath. The qos support and the cross cell support was implemented in parallel so this caused that qos work missed the cross cell case.
The scheduling and placement resource allocation handling is common between same cell and cross cell resize. But after that point the two codepaths diverge. The neutron port binding is properly updated in ComputeManager.prep_resize() for same cell resize. But the PrepResizeAtDestTask conductor task during the cross cell resize does not consider the destination host placement allocation when creates the port bindig for the dest host in neutron.
The proposed way forward is to:
1) document that qos is not supported in cross cell resize case
2) disable the qos resize tempest test for the nova-multi-cell job
then later:
3) implement qos handling for cross cell resize
4) re-enable the tempest test
It seems that the qos handling is missing from the cross cell resize codepath. The qos support and the cross cell support was implemented in parallel so this caused that qos work missed the cross cell case.
The scheduling and placement resource allocation handling is common between same cell and cross cell resize. But after that point the two codepaths diverge. The neutron port binding is properly updated in ComputeManager. prep_resize( ) for same cell resize. But the PrepResizeAtDes tTask conductor task during the cross cell resize does not consider the destination host placement allocation when creates the port bindig for the dest host in neutron.
The proposed way forward is to:
1) document that qos is not supported in cross cell resize case
2) disable the qos resize tempest test for the nova-multi-cell job
then later:
3) implement qos handling for cross cell resize
4) re-enable the tempest test