Currently volume migration bewteen different availability zones does not work. Sometimes the users need to migrate volume from one availability zone to another one. We shoud surpport this use case.
Test steps:
1. show all cinder hosts
cinder-manage host list
host zone
2C5_19_CG1 nova
2C5_19_CG1@lvm nova
2C5_19_CG2@lvm nova151
2C5_19_CG1@lvm2 nova
2C5_19_CG2@lvm2 nova151
2.create a volume and show the detail information
# cinder create 1 --name volume1 --volume-type lvm
# cinder show 45e13f9e-0d00-4c2a-bcee-01a9953e419b
+---------------------------------------+--------------------------------------+
| Property | Value |
+---------------------------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2016-02-26T09:33:55.000000 |
| description | None |
| encrypted | False |
| id | 45e13f9e-0d00-4c2a-bcee-01a9953e419b |
| metadata | {} |
| multiattach | False |
| name | volume1 |
| os-vol-host-attr:host | 2C5_19_CG1@lvm2#lvm |
| os-vol-mig-status-attr:migstat | None |
| os-vol-mig-status-attr:name_id | None |
| os-vol-tenant-attr:tenant_id | 32bfe3124bb2478aad3e6aa1cee09f14 |
| os-volume-replication:driver_data | None |
| os-volume-replication:extended_status | None |
| replication_status | disabled |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | available |
| user_id | 9134a1a11e5441c29e37757231f36450 |
| volume_type | lvm |
+---------------------------------------+--------------------------------------+
3. migrate the volume to cinder host 2C5_19_CG2@lvm2, which belongs to another availability zone.
cinder migrate 45e13f9e-0d00-4c2a-bcee-01a9953e419b 2C5_19_CG2@lvm2#lvm
4. error will be found in /var/log/cinder/scheduler.log
2016-02-26 17:41:18.397 28443 ERROR cinder.scheduler.manager [req-5783d33f-bfa5-499f-8f3f-30409558e04d 9134a1a11e5441c29e37757231f36450 32bfe3124bb2478aad3e6aa1cee09f14 - - -] Failed to schedule_migrate_volume_to_host: No valid host was found. Cannot place volume 45e13f9e-0d00-4c2a-bcee-01a9953e419b on 2C5_19_CG2@lvm2
I would not expect volume migration to work between AZs. Just as you cannot attach a volume to a VM in a different AZ, you cannot copy between volumes in two AZs.