Observed nova pass the correct device number during vbd creation to xenserver, but the nova mapping created in the database was for the wrong device.
A bdm for swap, based on the flavor, is created on https://github.com/openstack/nova/blob/master/nova/compute/api.py#L725, but the swap is actually created on https://github.com/openstack/nova/blob/master/nova/virt/xenapi/vmops.py#L746, again based on flavor, but with no regard for the previously created bdm for swap.
Perhaps we should implement default_device_names_for_instance() in xen driver (as referenced on https://github.com/openstack/nova/blob/master/nova/compute/manager.py#L1631).
Observed nova pass the correct device number during vbd creation to xenserver, but the nova mapping created in the database was for the wrong device.
A bdm for swap, based on the flavor, is created on https:/ /github. com/openstack/ nova/blob/ master/ nova/compute/ api.py# L725, but the swap is actually created on https:/ /github. com/openstack/ nova/blob/ master/ nova/virt/ xenapi/ vmops.py# L746, again based on flavor, but with no regard for the previously created bdm for swap.
Perhaps we should implement default_ device_ names_for_ instance( ) in xen driver (as referenced on https:/ /github. com/openstack/ nova/blob/ master/ nova/compute/ manager. py#L1631).