Steps to reproduce the problem:
1. Launch an instance.
2. Create a volume and attach it to the instance. The volume will have "attached_mode='rw'" -property:
[cloudadmin@controller-1 ~(admin)]$ openstack volume list --long
+--------------------------------------+----------+--------+------+------+----------+------------------------------------+--------------------+
| ID | Name | Status | Size | Type | Bootable | Attached to | Properties |
+--------------------------------------+----------+--------+------+------+----------+------------------------------------+--------------------+
| 4394bec9-3b87-4a6e-b977-cb56719b0d2a | test_vol | in-use | 1 | None | false | Attached to cirros-01 on /dev/vdb | attached_mode='rw' |
+--------------------------------------+----------+--------+------+------+----------+------------------------------------+--------------------+
3. Start live migration of the instance:
[cloudadmin@controller-1 ~(admin)]$ openstack server migrate --live compute-2 --block-migration cirros-01
4. After completion of the migration volume properties are lost:
[cloudadmin@controller-1 ~(admin)]$ openstack volume list --long
+--------------------------------------+----------+--------+------+------+----------+----------------------------------------------------------------------+--------------------+
| ID | Name | Status | Size | Type | Bootable | Attached to | Properties |
+--------------------------------------+----------+--------+------+------+----------+----------------------------------------------------------------------+--------------------+
| 4394bec9-3b87-4a6e-b977-cb56719b0d2a | test_vol | in-use | 1 | None | false | Attached to cirros-01 on /dev/vdb Attached to cirros-01 on /dev/vdb | attached_mode='rw' |
+--------------------------------------+----------+--------+------+------+----------+----------------------------------------------------------------------+--------------------+
[cloudadmin@controller-1 ~(admin)]$
[cloudadmin@controller-1 ~(admin)]$ openstack volume list --long
+--------------------------------------+----------+--------+------+------+----------+------------------------------------+------------+
| ID | Name | Status | Size | Type | Bootable | Attached to | Properties |
+--------------------------------------+----------+--------+------+------+----------+------------------------------------+------------+
| 4394bec9-3b87-4a6e-b977-cb56719b0d2a | test_vol | in-use | 1 | None | false | Attached to cirros-01 on /dev/vdb | |
+--------------------------------------+----------+--------+------+------+----------+------------------------------------+------------+
[cloudadmin@controller-1 ~(admin)]$
Version information:
[cloudadmin@controller-1 ~(admin)]$ sudo rpm -qa|grep nova
openstack-ansible-os_nova-17.0.2-1.el7.centos.ncir.2.noarch
python-nova-17.0.2-1.el7.centos.ncir.2.noarch
openstack-nova-placement-api-17.0.2-1.el7.centos.ncir.2.noarch
openstack-nova-novncproxy-17.0.2-1.el7.centos.ncir.2.noarch
nova-inventory-c2.g8617a07-1.el7.centos.ncir.noarch
openstack-nova-scheduler-17.0.2-1.el7.centos.ncir.2.noarch
openstack-nova-conductor-17.0.2-1.el7.centos.ncir.2.noarch
python2-novaclient-10.1.0-1.el7.noarch
openstack-nova-compute-17.0.2-1.el7.centos.ncir.2.noarch
openstack-nova-api-17.0.2-1.el7.centos.ncir.2.noarch
openstack-nova-common-17.0.2-1.el7.centos.ncir.2.noarch
openstack-nova-console-17.0.2-1.el7.centos.ncir.2.noarch
[cloudadmin@controller-1 ~(admin)]$ sudo rpm -qa|grep cinder
python-cinder-12.0.2-2.el7.noarch
openstack-cinder-12.0.2-2.el7.noarch
python2-cinderclient-3.5.0-1.el7.noarch
openstack-ansible-os_cinder-17.0.2-1.el7.centos.ncir.1.noarch
[cloudadmin@controller-1 ~(admin)]$
ceph: 12.2.5
libvirt: 3.9.0
Adding cinder since cinder controls the volume metadata and nova shouldn't be changing anything during live migration with respect to the attached_mode.