Bug 1416347

Summary: Overcloud deployment using external Ceph cluster fails
Product: Red Hat OpenStack Reporter: Marius Cornea <mcornea>
Component: openstack-tripleo-heat-templatesAssignee: Giulio Fidente <gfidente>
Status: CLOSED ERRATA QA Contact: Yogev Rabl <yrabl>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 11.0 (Ocata)CC: achernet, dbecker, emacchi, gfidente, jomurphy, mburns, morazi, rhel-osp-director-maint, sclewis, tbarron
Target Milestone: rc   
Target Release: 11.0 (Ocata)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: openstack-tripleo-heat-templates-6.0.0-0.20170127041112.ce54697.el7ost.1.noarch Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-05-17 19:42:59 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 Marius Cornea 2017-01-25 10:39:34 UTC
Description of problem:
Overcloud deployment using external Ceph cluster fails with:

  status: CREATE_FAILED
  status_reason: |
    Error: resources[0]: Deployment to server failed: deploy_status_code : Deployment exited with non-zero status code: 1
  deploy_stdout: |
    Notice: hiera(): Cannot load backend module_data: cannot load such file -- hiera/backend/module_data_backend
  deploy_stderr: |
    exception: connect failed
    Warning: This method is deprecated, please use match expressions with Stdlib::Compat::Array instead. They are described at https://docs.puppet.com/puppet/latest/reference/lang_data_type.html#match-expressions. at ["/var/lib/heat-config/heat-config-puppet/1e47f108-e17d-4966-8e45-b5ffd908c09d.pp", 33]:["/etc/puppet/modules/tripleo/manifests/profile/base/ceph/client.pp", 29]
       (at /etc/puppet/modules/stdlib/lib/puppet/functions/deprecation.rb:25:in `deprecation')
    Warning: ModuleLoader: module 'ceph' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules
       (file & line not available)
    Warning: This method is deprecated, please use the stdlib validate_legacy function, with Stdlib::Compat::Hash. There is further documentation for validate_legacy function in the README. at ["/var/lib/heat-config/heat-config-puppet/1e47f108-e17d-4966-8e45-b5ffd908c09d.pp", 33]:["/etc/puppet/modules/tripleo/manifests/profile/base/ceph/client.pp", 29]
       (at /etc/puppet/modules/stdlib/lib/puppet/functions/deprecation.rb:25:in `deprecation')
    Error: Evaluation Error: Error while evaluating a Function Call, "{ client.openstack: { secret: 'AQDU2odYsbj/BBAAf3qyWzBj0ZKyOiWKI4vOCQ==', mode: '0644', cap_mon: 'allow r', cap_osd: 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=backups, allow rwx pool=vms, allow rwx pool=images, allow rwx pool=metrics' } }" is not a Hash.  It looks to be a String at /etc/puppet/modules/ceph/manifests/profile/params.pp:239:3 on node overcloud-serviceapi-0.localdomain

Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-6.0.0-0.20170120220933.36d493c.el7ost.noarch
puppet-ceph-2.2.1-0.20170116235834.8e01a41.el7ost.noarch

How reproducible:
one time

Steps to Reproduce:
1. Deploy overcloud with custom roles and using an external Ceph cluster

Actual results:
Deployment fails

Expected results:
Deployment is successful.

Additional info:
Deploy command:
source ~/stackrc
export THT=/usr/share/openstack-tripleo-heat-templates/

openstack overcloud deploy --templates $THT \
-r ~/openstack_deployment/roles/roles_data.yaml \
-e $THT/environments/puppet-pacemaker.yaml \
-e $THT/environments/network-isolation.yaml \
-e $THT/environments/network-management.yaml \
-e $THT/environments/storage-environment.yaml \
-e $THT/environments/puppet-ceph-external.yaml \
-e ~/openstack_deployment/environments/nodes.yaml \
-e ~/openstack_deployment/environments/network-environment.yaml \
-e ~/openstack_deployment/environments/disk-layout.yaml \
-e ~/openstack_deployment/environments/neutron-settings.yaml \
-e ~/openstack_deployment/environments/external-ceph.yaml \
--log-file overcloud_deployment.log &> overcloud_install.log

/home/stack/openstack_deployment/environments/external-ceph.yaml
parameter_defaults:
  # NOTE: These example parameters are required when using CephExternal
  CephClusterFSID: '03eba0bd-8a3c-4dfb-91cb-1348fd7a1e66'
  CephClientKey: 'AQDU2odYsbj/BBAAf3qyWzBj0ZKyOiWKI4vOCQ=='
  CephExternalMonHost: '10.0.0.250'

roles_data.yaml:
http://paste.openstack.org/show/596407/

Comment 3 Yogev Rabl 2017-03-28 20:29:08 UTC
Verified. 
An Overcloud deployment with external Ceph cluster was successful

Comment 5 errata-xmlrpc 2017-05-17 19:42:59 UTC
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/RHEA-2017:1245