diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js index dbe2b00028..248aab5ca1 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.js @@ -545,8 +545,13 @@ var volumeDeferred = $q.defer(); var volumeSnapshotDeferred = $q.defer(); serviceCatalog - .ifTypeEnabled('volume') - .then(onVolumeServiceEnabled, resolvePromises); + .ifTypeEnabled('volumev2') + .then(onVolumeServiceEnabled, onCheckVolumeV3); + function onCheckVolumeV3() { + serviceCatalog + .ifTypeEnabled('volumev3') + .then(onVolumeServiceEnabled, resolvePromises); + } function onVolumeServiceEnabled() { model.volumeBootable = true; novaExtensions diff --git a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js index 133b336173..b917c6ffa0 100644 --- a/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js +++ b/openstack_dashboard/dashboards/project/static/dashboard/project/workflow/launch-instance/launch-instance-model.service.spec.js @@ -242,7 +242,9 @@ if (theType === 'network' && neutronEnabled) { deferred.resolve(); - } else if (theType === 'volume' && cinderEnabled) { + } else if (theType === 'volumev2' && cinderEnabled) { + deferred.resolve(); + } else if (theType === 'volumev3' && cinderEnabled) { deferred.resolve(); } else { deferred.reject(); diff --git a/openstack_dashboard/static/app/core/images/actions/create-volume.service.js b/openstack_dashboard/static/app/core/images/actions/create-volume.service.js index 594ecf1fcf..9b9b87dcb9 100644 --- a/openstack_dashboard/static/app/core/images/actions/create-volume.service.js +++ b/openstack_dashboard/static/app/core/images/actions/create-volume.service.js @@ -72,7 +72,12 @@ function initAction() { createVolumePromise = policy.ifAllowed({rules: [['volume', 'volume:create']]}); - volumeServiceEnabledPromise = serviceCatalog.ifTypeEnabled('volume'); + if (serviceCatalog.ifTypeEnabled('volumev2') || + serviceCatalog.ifTypeEnabled('volumev3')) { + volumeServiceEnabledPromise = true; + } else { + volumeServiceEnabledPromise = false; + } } function allowed(image) {