Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1193152

Summary: rhel-osp-Installer: there's no notification when not selecting a backend for cinder. (it happens only when no completing the wizard)
Product: Red Hat OpenStack Reporter: Omri Hochman <ohochman>
Component: rhel-osp-installerAssignee: Mike Burns <mburns>
Status: CLOSED WONTFIX QA Contact: Omri Hochman <ohochman>
Severity: medium Docs Contact:
Priority: medium    
Version: 7.0 (Kilo)CC: rhos-maint, yeylon
Target Milestone: ---Keywords: ZStream
Target Release: Installer   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-04-29 14:49:37 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Omri Hochman 2015-02-16 17:06:49 UTC
rhel-osp-Installer: there's no notification when not selecting a backend for cinder.  (without selecting - deployment fails)    

Environment ( Puddle: 2015-02-13.3 - A1 r1 ) : 
----------------------------------------------
puppet-server-3.6.2-2.el7.noarch
puppet-3.6.2-2.el7.noarch
openstack-puppet-modules-2014.2.8-2.el7ost.noarch
rhel-osp-installer-client-0.5.5-5.el7ost.noarch
rhel-osp-installer-0.5.5-5.el7ost.noarch
foreman-1.6.0.49-6.el7ost.noarch
openstack-neutron-2014.2.2-2.el7ost.noarch


Description:
-------------
My deployment failed since I forgot to select a backend for cinder, there is no notification to alarm the user to choose cinder backend, as well, the default value is no backend for cinder selected. 

and It's hard to figure from the log what happened once the deployment failed. 


The log :
----------
Feb 16 11:46:52 maca25400702875 puppet-agent[11848]: Could not retrieve catalog from remote server: Error 400 on SERVER: Enable a backend for cinder-volume. at /etc/puppet/environments/production/modules/quickstack/manifests/cinder_volume.pp:161 on node maca25400702875.example.com
Feb 16 11:46:52 maca25400702875 puppet-agent[11848]: Not using cache on failed catalog
Feb 16 11:46:52 maca25400702875 puppet-agent[11848]: Could not retrieve catalog; skipping run
Feb 16 11:47:57 maca25400702875 puppet-agent[12123]: Could not retrieve catalog from remote server: Error 400 on SERVER: Enable a backend for cinder-volume. at /etc/puppet/environments/production/modules/quickstack/manifests/cinder_volume.pp:161 on node maca25400702875.example.com
Feb 16 11:47:57 maca25400702875 puppet-agent[12123]: Not using cache on failed catalog
Feb 16 11:47:57 maca25400702875 puppet-agent[12123]: Could not retrieve catalog; skipping run
Feb 16 11:49:00 maca25400702875 puppet-agent[12378]: Could not retrieve catalog from remote server: Error 400 on SERVER: Enable a backend for cinder-volume. at /etc/puppet/environments/production/modules/quickstack/manifests/cinder_volume.pp:161 on node maca25400702875.example.com
Feb 16 11:49:00 maca25400702875 puppet-agent[12378]: Not using cache on failed catalog
Feb 16 11:49:00 maca25400702875 puppet-agent[12378]: Could not retrieve catalog; skipping run



The code:
----------
    } elsif str2bool_i("$backend_rbd") {
      Class['quickstack::ceph::client_packages'] -> Cinder::Backend::Rbd<| |>
      class { '::cinder::volume::rbd':
        rbd_pool            => $rbd_pool,
        rbd_ceph_conf       => $rbd_ceph_conf,
        rbd_flatten_volume_from_snapshot
                            => $rbd_flatten_volume_from_snapshot,
        rbd_max_clone_depth => $rbd_max_clone_depth,
        rbd_user            => $rbd_user,
        rbd_secret_uuid     => $rbd_secret_uuid,
      }
    } elsif str2bool_i("$backend_iscsi") {
      include ::quickstack::firewall::iscsi

      class { '::cinder::volume::iscsi':
        iscsi_ip_address => $iscsi_bind_addr,
      }
    } else {
      fail("Enable a backend for cinder-volume.")
    }

  } else {

Comment 5 Omri Hochman 2015-02-16 17:26:15 UTC
There is a validation for selecting cinder backend - but it happens only on the page of the wizard when user suppose to choose the backend - in-case the user jumps to another page  and go back to the deployment - he can avoid this validation and wizard is remain uncompleted.   


Steps : 

(1) Create new deployment using the 'new deployment' wizard  . 
(2) from the page when the user suppose to choose backend for cinder 
  - don't select cinder backend 
  - go to any another page (for example :  hosts --> provision templates) 
(3) Go to OpenStack-Installer --> deployment --> choose the created deployment. 
(4) Assign hosts and start the deployment.

results :
---------
- No notification for not selected backed for cinder. 
- deployment fails.