Public bug reported:

Using Watcher, live migrating an instance that has a volume attached
fails after migrating the volume. The migration fails with
libvirt.libvirtError: Cannot access storage file '/dev/sdd': No such
file or directory

Steps to reproduce the nova live migrate issue after volume migration:
1. Create an audit template: 
 
 openstack optimize audittemplate create zm_test hardware_maintenance 
--strategy zone_migration

2. Create vms with volumes:

set -ex
 
# Create Image
IMG=cirros-0.5.2-x86_64-disk.img
URL=http://download.cirros-cloud.net/0.5.2/$IMG
DISK_FORMAT=qcow2
RAW=$IMG
NUMBER_OF_INSTANCES=${1:-8}
 
 
# Create flavor
openstack flavor show m1.tiny || \
    openstack flavor create --ram 512 --vcpus 1 --disk 1 --ephemeral 1 m1.tiny
 
curl -L -# $URL > /tmp/$IMG
if type qemu-img >/dev/null 2>&1; then
    RAW=$(echo $IMG | sed s/img/raw/g)
    qemu-img convert -f qcow2 -O raw /tmp/$IMG /tmp/$RAW
    DISK_FORMAT=raw
fi
 
openstack image show cirros || \
    openstack image create --container-format bare --disk-format $DISK_FORMAT 
cirros < /tmp/$RAW
 
# Create security group and icmp/ssh rules
openstack security group show basic || {
    openstack security group create basic
    openstack security group rule create basic --protocol icmp --ingress 
--icmp-type -1
    openstack security group rule create basic --protocol tcp --ingress 
--dst-port 22
}
 
# Create an instance
for (( i=1; i<${NUMBER_OF_INSTANCES}; i++ )); do
    NAME=test_${i}
    VOL_NAME=tes_vol_${i}
 
    # create a volume 
    openstack volume create --size ${i} --image cirros ${VOL_NAME}
    openstack server show ${NAME} || {
        openstack server create --flavor m1.tiny --image cirros --nic 
net-id=private ${NAME} --security-group basic --wait
        fip=$(openstack floating ip create public -f value -c 
floating_ip_address)
        openstack server add floating ip ${NAME} $fip
    }
    openstack server add volume ${NAME} ${VOL_NAME}
    openstack server list --long
 
done

3. Create the audit:

openstack optimize audit create -a zm_test -p
storage_pools='[{"src_pool": "jgilaber-
watcher-3@lvmdriver-1#lvmdriver-1", "dst_pool": "jgilaber-
watcher-2@lvmdriver-1#lvmdriver-1", "src_type": "lvmdriver-1",
"dst_type": "lvmdriver-1"}]' -p compute_nodes='[{"src_node": "jgilaber-
watcher-3", "dst_node": "jgilaber-watcher-1"}]' -p
with_attached_volume=true

Note the audit id that is generated

4. Check the action plan generated

openstack optimize actionplan list --audit <audit_id>

Note the action plan uuid

5. Start the proposed action plan

openstack  optimize actionplan start <action_plan_id>


As a result, the audit triggers the migration of volumes and instances 5 and 2, 
test_2 was migrated succesfully, but test_5 failed.
List of events:

(venv) ubuntu@jgilaber-watcher-1:/opt/stack/watcher$ openstack server event 
list test_5
+------------------------------------------+--------------------------------------+----------------+----------------------------+
| Request ID                               | Server ID                          
  | Action         | Start Time                 |
+------------------------------------------+--------------------------------------+----------------+----------------------------+
| req-c805b970-97cd-424d-8415-7c30f4101399 | 
db250a8a-f788-48d4-bd56-76fd6890c11b | live-migration | 
2025-05-30T08:42:08.000000 |
| req-6850d126-7e0c-4d80-85d4-16216476a842 | 
db250a8a-f788-48d4-bd56-76fd6890c11b | swap_volume    | 
2025-05-30T08:41:16.000000 |
| req-24a8e19a-a43c-4249-a700-2efa0edaf92f | 
db250a8a-f788-48d4-bd56-76fd6890c11b | attach_volume  | 
2025-05-30T08:35:51.000000 |
| req-05a16a88-4266-45b6-8c35-bc2c0d83a434 | 
db250a8a-f788-48d4-bd56-76fd6890c11b | create         | 
2025-05-30T08:35:29.000000 |
+------------------------------------------+--------------------------------------+----------------+----------------------------+
```
```
(venv) ubuntu@jgilaber-watcher-1:/opt/stack/watcher$ openstack server event 
show test_5 req-6850d126-7e0c-4d80-85d4-16216476a842
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Value                                                            
                                                                                
                             |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| action     | swap_volume                                                      
                                                                                
                             |
| events     | details=, event='compute_swap_volume', 
finish_time='2025-05-30T08:41:41.000000', host='jgilaber-watcher-3',            
                                                       |
|            | 
host_id='381be10e2d2b6140b67be690bf8877fa69223584c6a2c4a513155085', 
result='Success', start_time='2025-05-30T08:41:16.000000', traceback=           
                          |
| id         | req-6850d126-7e0c-4d80-85d4-16216476a842                         
                                                                                
                             |
| message    | None                                                             
                                                                                
                             |
| project_id | 14f6d4c19ca04da0b68cd09b986428a8                                 
                                                                                
                             |
| request_id | req-6850d126-7e0c-4d80-85d4-16216476a842                         
                                                                                
                             |
| start_time | 2025-05-30T08:41:16.000000                                       
                                                                                
                             |
| user_id    | af0c6c70cc2a46e1abe39d3ad31de18c                                 
                                                                                
                             |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(venv) ubuntu@jgilaber-watcher-1:/opt/stack/watcher$ openstack server event 
show test_5 req-c805b970-97cd-424d-8415-7c30f4101399
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Field      | Value                                                            
                                                                                
                             |
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| action     | live-migration                                                   
                                                                                
                             |
| events     | details=, 
event='compute_rollback_live_migration_at_destination', 
finish_time='2025-05-30T08:42:41.000000', host='jgilaber-watcher-1',            
                            |
|            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:38.000000', traceback=           
                          |
|            | details=, event='compute_pre_live_migration', 
finish_time='2025-05-30T08:42:29.000000', host='jgilaber-watcher-1',            
                                                |
|            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:17.000000', traceback=           
                          |
|            | details=, event='compute_live_migration', 
finish_time='2025-05-30T08:42:15.000000', host='jgilaber-watcher-3',            
                                                    |
|            | 
host_id='381be10e2d2b6140b67be690bf8877fa69223584c6a2c4a513155085', 
result='Success', start_time='2025-05-30T08:42:14.000000', traceback=           
                          |
|            | details=, event='compute_check_can_live_migrate_source', 
finish_time='2025-05-30T08:42:12.000000', host='jgilaber-watcher-3',            
                                     |
|            | 
host_id='381be10e2d2b6140b67be690bf8877fa69223584c6a2c4a513155085', 
result='Success', start_time='2025-05-30T08:42:11.000000', traceback=           
                          |
|            | details=, event='compute_check_can_live_migrate_destination', 
finish_time='2025-05-30T08:42:13.000000', host='jgilaber-watcher-1',            
                                |
|            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:09.000000', traceback=           
                          |
|            | details=, event='conductor_live_migrate_instance', 
finish_time='2025-05-30T08:42:14.000000', host='jgilaber-watcher-1',            
                                           |
|            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:08.000000', traceback=           
                          |
| id         | req-c805b970-97cd-424d-8415-7c30f4101399                         
                                                                                
                             |
| message    | None                                                             
                                                                                
                             |
| project_id | 14f6d4c19ca04da0b68cd09b986428a8                                 
                                                                                
                             |
| request_id | req-c805b970-97cd-424d-8415-7c30f4101399                         
                                                                                
                             |
| start_time | 2025-05-30T08:42:08.000000                                       
                                                                                
                             |
| user_id    | af0c6c70cc2a46e1abe39d3ad31de18c                                 
                                                                                
                             |
+------------+-----------------------------------------------------------------------------------------------------------------------------

Compute-nova logs from the source host with the error and guest xml
https://paste.openstack.org/show/b9u14yO4KYJS31babgqt/

** Affects: nova
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/2112187

Title:
  Live migration fails after migrating the volume the instance has
  attached

Status in OpenStack Compute (nova):
  New

Bug description:
  Using Watcher, live migrating an instance that has a volume attached
  fails after migrating the volume. The migration fails with
  libvirt.libvirtError: Cannot access storage file '/dev/sdd': No such
  file or directory

  Steps to reproduce the nova live migrate issue after volume migration:
  1. Create an audit template: 
   
   openstack optimize audittemplate create zm_test hardware_maintenance 
--strategy zone_migration

  2. Create vms with volumes:

  set -ex
   
  # Create Image
  IMG=cirros-0.5.2-x86_64-disk.img
  URL=http://download.cirros-cloud.net/0.5.2/$IMG
  DISK_FORMAT=qcow2
  RAW=$IMG
  NUMBER_OF_INSTANCES=${1:-8}
   
   
  # Create flavor
  openstack flavor show m1.tiny || \
      openstack flavor create --ram 512 --vcpus 1 --disk 1 --ephemeral 1 m1.tiny
   
  curl -L -# $URL > /tmp/$IMG
  if type qemu-img >/dev/null 2>&1; then
      RAW=$(echo $IMG | sed s/img/raw/g)
      qemu-img convert -f qcow2 -O raw /tmp/$IMG /tmp/$RAW
      DISK_FORMAT=raw
  fi
   
  openstack image show cirros || \
      openstack image create --container-format bare --disk-format $DISK_FORMAT 
cirros < /tmp/$RAW
   
  # Create security group and icmp/ssh rules
  openstack security group show basic || {
      openstack security group create basic
      openstack security group rule create basic --protocol icmp --ingress 
--icmp-type -1
      openstack security group rule create basic --protocol tcp --ingress 
--dst-port 22
  }
   
  # Create an instance
  for (( i=1; i<${NUMBER_OF_INSTANCES}; i++ )); do
      NAME=test_${i}
      VOL_NAME=tes_vol_${i}
   
      # create a volume 
      openstack volume create --size ${i} --image cirros ${VOL_NAME}
      openstack server show ${NAME} || {
          openstack server create --flavor m1.tiny --image cirros --nic 
net-id=private ${NAME} --security-group basic --wait
          fip=$(openstack floating ip create public -f value -c 
floating_ip_address)
          openstack server add floating ip ${NAME} $fip
      }
      openstack server add volume ${NAME} ${VOL_NAME}
      openstack server list --long
   
  done

  3. Create the audit:

  openstack optimize audit create -a zm_test -p
  storage_pools='[{"src_pool": "jgilaber-
  watcher-3@lvmdriver-1#lvmdriver-1", "dst_pool": "jgilaber-
  watcher-2@lvmdriver-1#lvmdriver-1", "src_type": "lvmdriver-1",
  "dst_type": "lvmdriver-1"}]' -p compute_nodes='[{"src_node":
  "jgilaber-watcher-3", "dst_node": "jgilaber-watcher-1"}]' -p
  with_attached_volume=true

  Note the audit id that is generated

  4. Check the action plan generated

  openstack optimize actionplan list --audit <audit_id>

  Note the action plan uuid

  5. Start the proposed action plan

  openstack  optimize actionplan start <action_plan_id>

  
  As a result, the audit triggers the migration of volumes and instances 5 and 
2, test_2 was migrated succesfully, but test_5 failed.
  List of events:

  (venv) ubuntu@jgilaber-watcher-1:/opt/stack/watcher$ openstack server event 
list test_5
  
+------------------------------------------+--------------------------------------+----------------+----------------------------+
  | Request ID                               | Server ID                        
    | Action         | Start Time                 |
  
+------------------------------------------+--------------------------------------+----------------+----------------------------+
  | req-c805b970-97cd-424d-8415-7c30f4101399 | 
db250a8a-f788-48d4-bd56-76fd6890c11b | live-migration | 
2025-05-30T08:42:08.000000 |
  | req-6850d126-7e0c-4d80-85d4-16216476a842 | 
db250a8a-f788-48d4-bd56-76fd6890c11b | swap_volume    | 
2025-05-30T08:41:16.000000 |
  | req-24a8e19a-a43c-4249-a700-2efa0edaf92f | 
db250a8a-f788-48d4-bd56-76fd6890c11b | attach_volume  | 
2025-05-30T08:35:51.000000 |
  | req-05a16a88-4266-45b6-8c35-bc2c0d83a434 | 
db250a8a-f788-48d4-bd56-76fd6890c11b | create         | 
2025-05-30T08:35:29.000000 |
  
+------------------------------------------+--------------------------------------+----------------+----------------------------+
  ```
  ```
  (venv) ubuntu@jgilaber-watcher-1:/opt/stack/watcher$ openstack server event 
show test_5 req-6850d126-7e0c-4d80-85d4-16216476a842
  
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | Field      | Value                                                          
                                                                                
                               |
  
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | action     | swap_volume                                                    
                                                                                
                               |
  | events     | details=, event='compute_swap_volume', 
finish_time='2025-05-30T08:41:41.000000', host='jgilaber-watcher-3',            
                                                       |
  |            | 
host_id='381be10e2d2b6140b67be690bf8877fa69223584c6a2c4a513155085', 
result='Success', start_time='2025-05-30T08:41:16.000000', traceback=           
                          |
  | id         | req-6850d126-7e0c-4d80-85d4-16216476a842                       
                                                                                
                               |
  | message    | None                                                           
                                                                                
                               |
  | project_id | 14f6d4c19ca04da0b68cd09b986428a8                               
                                                                                
                               |
  | request_id | req-6850d126-7e0c-4d80-85d4-16216476a842                       
                                                                                
                               |
  | start_time | 2025-05-30T08:41:16.000000                                     
                                                                                
                               |
  | user_id    | af0c6c70cc2a46e1abe39d3ad31de18c                               
                                                                                
                               |
  
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  (venv) ubuntu@jgilaber-watcher-1:/opt/stack/watcher$ openstack server event 
show test_5 req-c805b970-97cd-424d-8415-7c30f4101399
  
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | Field      | Value                                                          
                                                                                
                               |
  
+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
  | action     | live-migration                                                 
                                                                                
                               |
  | events     | details=, 
event='compute_rollback_live_migration_at_destination', 
finish_time='2025-05-30T08:42:41.000000', host='jgilaber-watcher-1',            
                            |
  |            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:38.000000', traceback=           
                          |
  |            | details=, event='compute_pre_live_migration', 
finish_time='2025-05-30T08:42:29.000000', host='jgilaber-watcher-1',            
                                                |
  |            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:17.000000', traceback=           
                          |
  |            | details=, event='compute_live_migration', 
finish_time='2025-05-30T08:42:15.000000', host='jgilaber-watcher-3',            
                                                    |
  |            | 
host_id='381be10e2d2b6140b67be690bf8877fa69223584c6a2c4a513155085', 
result='Success', start_time='2025-05-30T08:42:14.000000', traceback=           
                          |
  |            | details=, event='compute_check_can_live_migrate_source', 
finish_time='2025-05-30T08:42:12.000000', host='jgilaber-watcher-3',            
                                     |
  |            | 
host_id='381be10e2d2b6140b67be690bf8877fa69223584c6a2c4a513155085', 
result='Success', start_time='2025-05-30T08:42:11.000000', traceback=           
                          |
  |            | details=, event='compute_check_can_live_migrate_destination', 
finish_time='2025-05-30T08:42:13.000000', host='jgilaber-watcher-1',            
                                |
  |            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:09.000000', traceback=           
                          |
  |            | details=, event='conductor_live_migrate_instance', 
finish_time='2025-05-30T08:42:14.000000', host='jgilaber-watcher-1',            
                                           |
  |            | 
host_id='636609f8b2efe009a9bf62531dbfd40694ee83a1bb9d81403df7c404', 
result='Success', start_time='2025-05-30T08:42:08.000000', traceback=           
                          |
  | id         | req-c805b970-97cd-424d-8415-7c30f4101399                       
                                                                                
                               |
  | message    | None                                                           
                                                                                
                               |
  | project_id | 14f6d4c19ca04da0b68cd09b986428a8                               
                                                                                
                               |
  | request_id | req-c805b970-97cd-424d-8415-7c30f4101399                       
                                                                                
                               |
  | start_time | 2025-05-30T08:42:08.000000                                     
                                                                                
                               |
  | user_id    | af0c6c70cc2a46e1abe39d3ad31de18c                               
                                                                                
                               |
  
+------------+-----------------------------------------------------------------------------------------------------------------------------

  Compute-nova logs from the source host with the error and guest xml
  https://paste.openstack.org/show/b9u14yO4KYJS31babgqt/

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/2112187/+subscriptions


-- 
Mailing list: https://launchpad.net/~yahoo-eng-team
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~yahoo-eng-team
More help   : https://help.launchpad.net/ListHelp

Reply via email to