Bug 1274439

Summary: rhel-osp-director: undercloud deployment fails due to: Error: Could not find resource 'Exec[heat_domain_create]' for relationship from 'Class[Keystone::Roles::Admin]' on node instack.localdomain
Product: Red Hat OpenStack Reporter: Alexander Chuzhoy <sasha>
Component: instack-undercloudAssignee: Jiri Stransky <jstransk>
Status: CLOSED ERRATA QA Contact: Alexander Chuzhoy <sasha>
Severity: high Docs Contact:
Priority: high    
Version: 7.0 (Kilo)CC: emacchi, gfidente, jslagle, jstransk, lbezdick, mburns, rhel-osp-director-maint, sasha, sclewis, yeylon
Target Milestone: y2   
Target Release: 7.0 (Kilo)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: instack-undercloud-2.1.2-33.el7ost Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-21 16:57:04 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 Alexander Chuzhoy 2015-10-22 17:46:23 UTC
rhel-osp-director: undercloud deployment fails due to: Error: Could not find resource 'Exec[heat_domain_create]' for relationship from 'Class[Keystone::Roles::Admin]' on node instack.localdomain


Environment:
instack-undercloud-2.1.2-31.el7ost.noarch

Steps to reproduce:
run "openstack undercloud install"


Result:
                    
+ puppet apply --detailed-exitcodes /etc/puppet/manifests/puppet-stack-config.pp                                                                                                          
Warning: You cannot collect without storeconfigs being set on line 234 in file /etc/puppet/manifests/puppet-stack-config.pp                                                               
Warning: You cannot collect without storeconfigs being set on line 238 in file /etc/puppet/manifests/puppet-stack-config.pp                                                               
Warning: You cannot collect without storeconfigs being set on line 242 in file /etc/puppet/manifests/puppet-stack-config.pp                                                               
Warning: Scope(Class[Glance::Api]): The auth_host parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                  
Warning: Scope(Class[Glance::Api]): The auth_port parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                  
Warning: Scope(Class[Glance::Api]): The auth_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.                                                              
Warning: Scope(Class[Glance::Registry]): The auth_host parameter is deprecated. Please use auth_uri and identity_uri instead.                                                             
Warning: Scope(Class[Glance::Registry]): The auth_port parameter is deprecated. Please use auth_uri and identity_uri instead.                                                             
Warning: Scope(Class[Glance::Registry]): The auth_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.                                                         
Warning: Scope(Class[Nova::Api]): The auth_host parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                    
Warning: Scope(Class[Nova::Api]): The auth_port parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                    
Warning: Scope(Class[Nova::Api]): The auth_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                
Warning: Scope(Class[Nova::Vncproxy::Common]): Could not look up qualified variable '::nova::compute::vncproxy_host'; class ::nova::compute has not been evaluated                        
Warning: Scope(Class[Nova::Vncproxy::Common]): Could not look up qualified variable '::nova::compute::vncproxy_protocol'; class ::nova::compute has not been evaluated                    
Warning: Scope(Class[Nova::Vncproxy::Common]): Could not look up qualified variable '::nova::compute::vncproxy_port'; class ::nova::compute has not been evaluated                        
Warning: Scope(Class[Nova::Vncproxy::Common]): Could not look up qualified variable '::nova::compute::vncproxy_path'; class ::nova::compute has not been evaluated                        
Warning: Scope(Class[Neutron::Server]): The auth_host parameter is deprecated. Please use auth_uri and identity_uri instead.                                                              
Warning: Scope(Class[Neutron::Server]): The auth_port parameter is deprecated. Please use auth_uri and identity_uri instead.                                                              
Warning: Scope(Class[Neutron::Server]): The auth_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.                                                          
Warning: Scope(Class[Concat::Setup]): concat::setup is deprecated as a public API of the concat module and should no longer be directly included in the manifest.                         
Warning: Scope(Class[Swift::Proxy::Authtoken]): The auth_host parameter is deprecated. Please use auth_uri and identity_uri instead.                                                      
Warning: Scope(Class[Swift::Proxy::Authtoken]): The auth_port parameter is deprecated. Please use auth_uri and identity_uri instead.                                                      
Warning: Scope(Class[Swift::Proxy::Authtoken]): The auth_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.                                                  
Warning: Scope(Class[Ceilometer::Api]): The keystone_host parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.                                        
Warning: Scope(Class[Ceilometer::Api]): The keystone_port parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.                                        
Warning: Scope(Class[Ceilometer::Api]): The keystone_protocol parameter is deprecated. Please use keystone_auth_uri and keystone_identity_uri instead.                                    
Warning: Scope(Class[Heat]): The keystone_host parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                     
Warning: Scope(Class[Heat]): The keystone_port parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                     
Warning: Scope(Class[Heat]): The keystone_protocol parameter is deprecated. Please use auth_uri and identity_uri instead.                                                                 
Warning: Scope(Class[Heat::Keystone::Domain]): The auth_url parameter is deprecated and will be removed in future releases                                                                
Warning: Scope(Class[Heat::Keystone::Domain]): The keystone_admin parameter is deprecated and will be removed in future releases                                                          
Warning: Scope(Class[Heat::Keystone::Domain]): The keystone_password parameter is deprecated and will be removed in future releases                                                       
Warning: Scope(Class[Heat::Keystone::Domain]): The keystone_tenant parameter is deprecated and will be removed in future releases                                                         
Warning: Variable access via 'notification_email_to' is deprecated. Use '@notification_email_to' instead. template[/etc/puppet/modules/keepalived/templates/global_config.erb]:3          
   (at /etc/puppet/modules/keepalived/templates/global_config.erb:3:in `block in result')                                                                                                 
Warning: notify is a metaparam; this value will inherit to all contained resources in the keepalived::instance definition                                                                 
Warning: Scope(Neutron::Plugins::Ml2::Type_driver[local]): local type_driver is useful only for single-box, because it provides no connectivity between hosts                             
Warning: Scope(Swift::Storage::Server[6002]): The default incoming_chmod set to 0644 may yield in error prone directories and will be changed in a later release.                         
Warning: Scope(Swift::Storage::Server[6002]): The default outgoing_chmod set to 0644 may yield in error prone directories and will be changed in a later release.                         
Warning: Scope(Swift::Storage::Server[6001]): The default incoming_chmod set to 0644 may yield in error prone directories and will be changed in a later release.
Warning: Scope(Swift::Storage::Server[6001]): The default outgoing_chmod set to 0644 may yield in error prone directories and will be changed in a later release.
Warning: Scope(Swift::Storage::Server[6000]): The default incoming_chmod set to 0644 may yield in error prone directories and will be changed in a later release.
Warning: Scope(Swift::Storage::Server[6000]): The default outgoing_chmod set to 0644 may yield in error prone directories and will be changed in a later release.
Error: Could not find resource 'Exec[heat_domain_create]' for relationship from 'Class[Keystone::Roles::Admin]' on node instack.localdomain
Error: Could not find resource 'Exec[heat_domain_create]' for relationship from 'Class[Keystone::Roles::Admin]' on node instack.localdomain
+ rc=1
+ set -e
+ echo 'puppet apply exited with exit code 1'
puppet apply exited with exit code 1
+ '[' 1 '!=' 2 -a 1 '!=' 0 ']'
+ exit 1
[2015-10-22 13:38:43,181] (os-refresh-config) [ERROR] during configure phase. [Command '['dib-run-parts', '/usr/libexec/os-refresh-config/configure.d']' returned non-zero exit status 1]

[2015-10-22 13:38:43,182] (os-refresh-config) [ERROR] Aborting...
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 526, in install
    _run_orc(instack_env)
  File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 461, in _run_orc
    _run_live_command(args, instack_env, 'os-refresh-config')
  File "/usr/lib/python2.7/site-packages/instack_undercloud/undercloud.py", line 297, in _run_live_command
    raise RuntimeError('%s failed. See log for details.', name)
RuntimeError: ('%s failed. See log for details.', 'os-refresh-config')
ERROR: openstack Command 'instack-install-undercloud' returned non-zero exit status 1


Expected result:

Successfully deployed undercloud.

Comment 2 Mike Burns 2015-10-22 20:36:11 UTC
this appears to be caused by an openstack-puppet-modules change.  I'm not sure, though, if the fix is on the director or opm side, so adding the opm folks and director folks

Comment 3 Giulio Fidente 2015-10-23 11:11:02 UTC
This was introduced with openstack-puppet-modules-2015.1.8-25.el7ost.noarch

Looks like an updated version of puppet-heat uses ensure_resource keystone_domain but the version of puppet-keystone included does not provide for a keystone_domain resource.

Comment 4 Jiri Stransky 2015-10-23 11:34:13 UTC
I think this is actually a different problem, but spanning from the same root cause -- updates to puppet modules around heat & keystone.

Previously puppet-heat was incompatible with puppet-keystone, they are now compatible with each other, but they aren't compatible with instack-undercloud. I'll submit a backport of this: https://review.gerrithub.io/244988/

Comment 5 Jiri Stransky 2015-10-23 11:46:43 UTC
Submitted a backport and marked it -1 for now, to wait for acks.

Comment 6 James Slagle 2015-10-26 01:38:33 UTC
sasha, this needs a qa_ack

Comment 7 James Slagle 2015-10-27 01:07:50 UTC
built into brew

Comment 8 James Slagle 2015-11-02 18:23:29 UTC
we decided to revert the breaking change in opm that caused this this given all the additional changes needed in the overcloud

so, we need to revert the undercloud fix here as well. the new build is instack-undercloud-2.1.2-33.el7ost

Comment 11 Alexander Chuzhoy 2015-11-26 18:22:39 UTC
Verified:
Environment:
instack-undercloud-2.1.2-34.el7ost.noarch


Able to deploy undercloud with no issues.

Comment 13 errata-xmlrpc 2015-12-21 16:57:04 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/RHBA-2015:2651