Bugzilla will be upgraded to version 5.0. The upgrade date is tentatively scheduled for 2 December 2018, pending final testing and feedback.
Bug 1238844 - heat_stack_user_role not usable after deployment
heat_stack_user_role not usable after deployment
Status: CLOSED ERRATA
Product: Red Hat OpenStack
Classification: Red Hat
Component: rhosp-director (Show other bugs)
Director
Unspecified Unspecified
high Severity unspecified
: ga
: Director
Assigned To: Jay Dobies
Amit Ugol
: Triaged
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-07-02 15:19 EDT by Ben Nemec
Modified: 2015-08-05 09:58 EDT (History)
11 users (show)

See Also:
Fixed In Version: openstack-tripleo-heat-templates-0.8.6-29.el7ost
Doc Type: Bug Fix
Doc Text:
The Overcloud's configured its Heat component incorrectly and lacked settings for heat_stack_user_role, stack_domain_admin, and stack_domain_admin_password. This fix correctly sets the user and admin roles in /etc/heat/heat.conf.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-08-05 09:58:18 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)


External Trackers
Tracker ID Priority Status Summary Last Updated
OpenStack gerrit 199204 None None None Never
Red Hat Product Errata RHEA-2015:1549 normal SHIPPED_LIVE Red Hat Enterprise Linux OpenStack Platform director Release 2015-08-05 13:49:10 EDT

  None (edit)
Description Ben Nemec 2015-07-02 15:19:40 EDT
Description of problem: The config option heat_stack_user_role is set to an empty value by default after deploying with OSP director.  This makes it impossible to do simple things like creating servers with Heat.


Version-Release number of selected component (if applicable):
python-rdomanager-oscplugin-0.0.8-13.el7ost.noarch
instack-undercloud-2.1.2-6.el7ost.noarch

How reproducible: Always?


Steps to Reproduce:
1. Install OpenStack via OSP director
2. Try to deploy a stack that creates a server
3.

Actual results: ERROR heat.common.keystoneclient [-] Failed to add user ba-sw6-0-bf2x26luglme-OpenStackBMCServer-usvh72rhlmoz to role , check role exists!


Expected results: Heat stack deployed successfully


Additional info:
Comment 3 Ben Nemec 2015-07-02 15:21:49 EDT
I worked around this by setting the value to "admin" and restarting heat-engine, but that's probably not okay as a default.  Maybe we need to create a role for this as part of install?
Comment 4 chris alfonso 2015-07-06 11:58:56 EDT
Zane, should this default to the admin user role? If so, we can get it fixed to do so.
Comment 5 chris alfonso 2015-07-06 11:58:57 EDT
Zane, should this default to the admin user role? If so, we can get it fixed to do so.
Comment 6 Zane Bitter 2015-07-06 13:36:39 EDT
No, it should *definitely* not be the admin role. That would be a very very bad thing - this role is meant to have *minimal* privileges, because credentials for these users end up on servers deployed by Heat+Nova. The default (which is "heat_stack_user") should be correct, unless we are using a different value when we set up the Stack User domain in Keystone and create the role for it.

shardy's writeup on how/why this feature works may be helpful: http://hardysteven.blogspot.com/2014/04/heat-auth-model-updates-part-2-stack.html
Comment 7 Steve Baker 2015-07-06 17:20:35 EDT
Here is the current heat.conf contents for an overcloud heat:

# Keystone role for heat template-defined users. (string value)
#heat_stack_user_role = heat_stack_user
heat_stack_user_role =

# Keystone domain ID which contains heat template-defined users. If this option
# is set, stack_user_domain_name option will be ignored. (string value)
# Deprecated group/name - [DEFAULT]/stack_user_domain
#stack_user_domain_id = <None>

# Keystone domain name which contains heat template-defined users. If
# `stack_user_domain_id` option is set, this option is ignored. (string value)
#stack_user_domain_name = <None>

# Keystone username, a user with roles sufficient to manage users and projects
# in the stack_user_domain. (string value)
#stack_domain_admin = <None>

# Keystone password for stack_domain_admin user. (string value)
#stack_domain_admin_password = <None>

So heat_stack_user_role is incorrectly set to <empty>, and stack_user_domain_name, stack_domain_admin, stack_domain_admin_password are not being set at all. This would result in a non-functional heat so I'd like to propose this as a blocker.

heat.conf instance_user is also currently being set to heat-admin. This would better be set to <empty> so that the default image users can be used to ssh into guest vms.
Comment 8 James Slagle 2015-07-06 17:31:07 EDT
configuring the stack domain will be address by https://bugzilla.redhat.com/show_bug.cgi?id=1235748

what should heat_stack_user_role be set to?
Comment 9 Zane Bitter 2015-07-06 17:56:40 EDT
It should be left at the default (which fwiw is "heat_stack_user"), and not explicitly set to the empty string.
Comment 10 Steve Baker 2015-07-06 18:21:18 EDT
... or it can be explicitly set to heat_stack_user, whichever would be easiest.

I'll raise a separate bz for setting instance_user to blank
Comment 11 Ben Nemec 2015-07-06 18:58:38 EDT
Just verifying that setting it to heat_stack_user got me past the error as well, so that should take care of this bug.  Should only need to figure out where the blank value is coming from and fix that.
Comment 15 Amit Ugol 2015-07-21 11:40:08 EDT
Servers are created successfully now.
Comment 17 errata-xmlrpc 2015-08-05 09:58:18 EDT
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-2015:1549

Note You need to log in before you can comment on or make changes to this bug.