If you follow the documentation, you'll define in openstack_user_config.yml the "cinder_default_availability_zone" and cinder_storage_availability_zone.
If you have your storage-infra hosts (where is your cinder scheduler) on the same hosts as your storage hosts, you'll be able to create your volume with horizon with the option to create a volume in "Any availability zone".
However, when storage-infra hosts and storage hosts are different, the formers don't get the "cinder_*_availability_zone" variables. Therefore, when horizon will try to create in "any availability zone", it will try to create with the default, which is unset (and defaults to nova). The volume creation then fails.
If you follow the documentation, you'll define in openstack_ user_config. yml the "cinder_ default_ availability_ zone" and cinder_ storage_ availability_ zone.
If you have your storage-infra hosts (where is your cinder scheduler) on the same hosts as your storage hosts, you'll be able to create your volume with horizon with the option to create a volume in "Any availability zone".
However, when storage-infra hosts and storage hosts are different, the formers don't get the "cinder_ *_availability_ zone" variables. Therefore, when horizon will try to create in "any availability zone", it will try to create with the default, which is unset (and defaults to nova). The volume creation then fails.