Description of problem:
This is a backport request for the following upstream Horizon bug:
https://bugs.launchpad.net/charm-openstack-dashboard/+bug/1721286
Fix commit:
https://review.openstack.org/#/c/513763/
Description from upstream bug:
Running openstack-origin cloud:ocata-xenial on stable/17.08 charms, we have an environment with the following Nova availability zones:
west-java-1a
west-java-1b
west-java-1c
When going to the Images tab of the project in Horizon, and selecting the far-right drop-down menu for any image and selecting "Create Volume" we are presented with a dialog which includes an Availability Zone drop-down which lists the above three AZs, none of which have a cinder-api or cinder-volume host residing within. When trying to create a volume from an instance on this dashboard, we get the error:
Invalid input received: Availability zone 'west-java-1a' is invalid. (HTTP 400)
When using Launch Instance with Create New Image = Yes, from same Image on the Images tab, we still get the same AZ dropdowns, but the system initializes the new volume and attaches to a running instance in that AZ properly.
Also, when using the Volumes tab and pressing the Create New Volume button, we can create a volume from any image, and the Availability Zone in this dialog only shows the "nova" AZ.
To re-create, build openstack ocata-xenial with three computes, one in each of 3 new AZs, cinder-api, cinder-ceph, and a minimal ceph cluster, all with defaults and load image into glance either with glance-simplestreams-sync or other method. Click into Horizon's Images tab of admin project and click the drop-down of an image and select Create Volume. Fill out the form, you should only see the 3 new AZs but no nova AZ for creation of the volume, it should give the 404 error.
You'll notice that you might have the following availability zones:
openstack availability zone list
+--------------+-------------+
| Zone Name | Zone Status |
+--------------+-------------+
| internal | available |
| west-java-1a | available |
| west-java-1b | available |
| west-java-1c | available |
| nova | available |
| nova | available |
| nova | available |
+--------------+-------------+
This 404 error is coming from the cinder api and has nothing to do with glance/images. It's simply that cinder's availability zone is "nova" and the nova aggregate-based availability zones should not be used in a cinder availability zone pull-down on the Images tab Create Volume dialog.
jujumanage@cmg01z00infr001:~/charms/cinder$ openstack volume create --availability-zone nova --size 50 foo
+---------------------+--------------------------------------+
| Field | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| consistencygroup_id | None |
| created_at | 2017-10-04T15:37:34.804855 |
| description | None |
| encrypted | False |
| id | ca32eb14-60f8-42c8-a5ef-d7687d25d606 |
| migration_status | None |
| multiattach | False |
| name | foo |
| properties | |
| replication_status | None |
| size | 50 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| type | None |
| updated_at | None |
| user_id | b327544aba2a482b9f12f1e6e615c394 |
+---------------------+--------------------------------------+
jujumanage@cmg01z00infr001:~/charms/cinder$ openstack volume create --availability-zone west-java-1a --size 50 foo
Invalid input received: Availability zone 'west-java-1a' is invalid. (HTTP 400) (Request-ID: req-2f7d7d00-f361-4772-9f71-66e4ebaefdc3)
Version-Release number of selected component (if applicable):
Red Hat Openstack Platform 10
This has already landed upstream in current master, stable/pike and stable/ocata.
Comment 18Radomir Dopieralski
2018-02-21 18:31:44 UTC
I verified that the "nova" availability zone now appears in the "create volume" wizard, and that the availability zones created with host aggregates are not displayed in version python-django-horizon-10.0.5-8.el7ost
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory, and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHBA-2018:0361