Bug 1298189

Summary: undercloud installation failed: Could not find resource 'Keystone_domain[heat_domain]
Product: Red Hat OpenStack Reporter: Ronnie Rasouli <rrasouli>
Component: instack-undercloudAssignee: James Slagle <jslagle>
Status: CLOSED ERRATA QA Contact: yeylon <yeylon>
Severity: urgent Docs Contact:
Priority: urgent    
Version: 8.0 (Liberty)CC: acruz, amaumene, arkady_kanevsky, chorn, dmacpher, emacchi, fhubik, fzdarsky, gael_rehault, joherr, johfulto, kbasil, mburns, mcornea, michele, mmagr, morazi, mtanino, mtessun, rhel-osp-director-maint, rhosp-bugs-internal, rrasouli, sasha, skinjo, srevivo, tonishim, vincent.y.chen
Target Milestone: gaKeywords: Automation, AutomationBlocker, Triaged
Target Release: 8.0 (Liberty)   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: instack-undercloud-2.2.1-1.el7ost Doc Type: Bug Fix
Doc Text:
The Puppet manifest that installs the Undercloud referred to the wrong resource name to create the keystone domain for Heat. The undercloud install failed with an error such as: puppet apply exited with exit code 1 This fix updates the Puppet manifest was changed to use the correct name of the resource. The Undercloud installation now finishes without an error.
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-04-07 21:45:10 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:
Bug Depends On:    
Bug Blocks: 1214764, 1261979, 1290377, 1295992    
Attachments:
Description Flags
Keystone_domain patch none

Description Ronnie Rasouli 2016-01-13 12:36:31 UTC
Description of problem:

Undercloud installation failed.

puppet apply exited with exit code 1




Version-Release number of selected component (if applicable):
instack-0.0.8-1.el7ost.noarch
instack-undercloud-2.2.0-1.el7ost.noarch


How reproducible:

100 %
Steps to Reproduce:
1.install virt 'instack-virt-setup' 
2.install tripleO client 'sudo yum install -y python-tripleoclient'
3.disable the selinux. sudo setenforce Permissive
4.install openstack: openstack --debug --log-file=undercloud_install.log undercloud install


Actual results:

undercloud installation failed
echo 'puppet apply exited with exit code 1'



Expected results:


Additional info:
log of undercloud installation:
http://file.tlv.redhat.com/~rrasouli/install-undercloud.log

Comment 2 Emilien Macchi 2016-01-13 12:46:09 UTC
can we have your version of openstack-puppet-modules please?

Thanks!

Comment 3 Arx Cruz 2016-01-13 13:12:00 UTC
Created attachment 1114400 [details]
Keystone_domain patch

This patch fix it.

If you want to add manually the fix, the file is located at /usr/share/instack-undercloud/puppet-stack-config/puppet-stack-config.pp

Comment 4 Ronnie Rasouli 2016-01-13 13:15:57 UTC
openstack-puppet-modules-7.0.3-1.el7ost.noarch

Comment 5 Ronnie Rasouli 2016-01-13 13:17:07 UTC
Testing the fix in comment 3 works
Adding the to undercloud/puppet-stack-config/puppet-stack-config.pp

keystone_domain { 'heat_domain':
  ensure => present
}

Comment 6 Arx Cruz 2016-01-13 13:33:15 UTC
One more thing:

This code that is using Keystone_domain is from github.com/rdo-management/instack-undercloud and the latest commit there is from September 2015.
According Ana Krivokapic, they move to upstream in github.com/openstack/instack-undercloud.

I'm not sure what's the deal here, keep using old content for OSPD 8 or have a new package pointing to the new repository upstream.

Comment 8 Martin Magr 2016-01-18 09:50:20 UTC
Resource Keystone_domain['heat_domain'] makes the error go away, but won't actually fix the issue. The problem is that Keystone_domain['heat_domain'] resource seems missing in class ::heat::keystone::domain.

The cause of this error is actually line:
Service['keystone'] -> Class['::keystone::roles::admin'] -> Keystone_domain['heat_domain']

Since in the class there's used ensure_resource for resource creation [1], there's IMHO possibility that Puppet does not have Heat_domain resource in the catalog at the time the line above is being parser. Hence better fix would be to change that to:
Service['keystone'] -> Class['::keystone::roles::admin'] -> Class['::heat::keystone::domain']


[1] https://github.com/openstack/puppet-heat/blob/master/manifests/keystone/domain.pp#L79

Comment 9 Martin Magr 2016-01-18 09:53:20 UTC
Just noticed that default value in the class is "$domain_name = 'heat'", so even following should help, but fix afrom comment #8 seems more flexible for me:

Service['keystone'] -> Class['::keystone::roles::admin'] -> Keystone_domain['heat']

Comment 10 Michele Baldessari 2016-01-18 16:53:34 UTC
FWIW I did encounter this problem in instack-undercloud 2.2.0 (puddle) but not in instack-undercloud 2.2.1 (poodle)

Comment 11 Mike Orazi 2016-01-20 14:36:30 UTC
*** Bug 1299625 has been marked as a duplicate of this bug. ***

Comment 12 Ralf Boernemeier 2016-01-21 08:04:18 UTC
I can confirm that the following change in line 299 of file 

/usr/share/instack-undercloud/puppet-stack-config/puppet-stack-config.pp

will fix the problem we have seen during "openstack undercloud install" with OSP 8 Beta 4 from the partner ftp site:

old: Service['keystone'] -> Class['::keystone::roles::admin'] -> Keystone_domain['heat_domain']

new: Service['keystone'] -> Class['::keystone::roles::admin'] -> Class['::heat::keystone::domain']

Regards,

Ralf (Fujitsu)

Comment 15 Gael Rehault 2016-01-31 20:11:28 UTC
Still happening on beta 5 ( workaround mentioned in #12 works)

Comment 17 Alexandre Maumené 2016-02-04 15:35:53 UTC
Hi,

I hit the same bug with the last OSP-d 8 puddle but the provided patch fixes the issue.

Regards,

Comment 19 Mike Burns 2016-02-11 23:33:50 UTC
*** Bug 1306855 has been marked as a duplicate of this bug. ***

Comment 20 Ronnie Rasouli 2016-02-12 10:23:47 UTC
verified on instack-undercloud-2.2.2-1.el7ost.noarch
The keystone changed to domain see below:

# to make sure they are done in order.
include ::keystone::roles::admin
Service['keystone'] -> Class['::keystone::roles::admin'] -> Class['::heat::keystone::domain']

Comment 21 Gael Rehault 2016-02-12 23:21:38 UTC
Beta6 - still an issue.

Comment 22 Ralf Boernemeier 2016-03-08 13:02:43 UTC
Hi,

works for me with OSP 8 Beta 7. Thanks!

Regards,

Ralf

Comment 24 errata-xmlrpc 2016-04-07 21:45:10 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://rhn.redhat.com/errata/RHEA-2016-0604.html

Comment 25 Dmitry Tantsur 2016-10-14 14:34:45 UTC
*** Bug 1306002 has been marked as a duplicate of this bug. ***