| Summary: | Overcloud deployment without Heat services fails | ||
|---|---|---|---|
| Product: | Red Hat OpenStack | Reporter: | Marius Cornea <mcornea> |
| Component: | puppet-tripleo | Assignee: | Steven Hardy <shardy> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | Marius Cornea <mcornea> |
| Severity: | urgent | Docs Contact: | |
| Priority: | medium | ||
| Version: | 10.0 (Newton) | CC: | aschultz, dbecker, jjoyce, jschluet, jslagle, mburns, morazi, rhel-osp-director-maint, shardy, slinaber, tvignaud |
| Target Milestone: | z6 | Keywords: | TestOnly, Triaged, ZStream |
| Target Release: | 10.0 (Newton) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | puppet-tripleo-5.6.0-3.el7ost | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2017-10-10 18:08:24 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: | |
I think this has been fixed upstream: https://review.openstack.org/#/c/398128 https://review.openstack.org/#/c/398127/ I'll raise a bug and propose backports to stable/newton stable/newton backports proposed: https://review.openstack.org/#/c/399595/ https://review.openstack.org/#/c/399599/ There was no upstream LP bug so I raised this one: https://bugs.launchpad.net/tripleo/+bug/1642961 Verified by inspection that openstack-tripleo-heat-templates-5.1.0-5.el7ost.noarch.rpm contains the t-h-t patch, but we've not yet picked up the puppet-tripleo change in a build. According to our records, this should be resolved by puppet-tripleo-5.6.1-2.el7ost. This build is available now. Works on latest build:
[stack@undercloud-0 ~]$ cat roles_data.yaml
# Specifies which roles (groups of nodes) will be deployed
# Note this is used as an input to the various *.j2.yaml
# jinja2 templates, so that they are converted into *.yaml
# during the plan creation (via a mistral action/workflow).
#
# The format is a list, with the following format:
#
# * name: (string) mandatory, name of the role, must be unique
#
# CountDefault: (number) optional, default number of nodes, defaults to 0
# sets the default for the {{role.name}}Count parameter in overcloud.yaml
#
# HostnameFormatDefault: (string) optional default format string for hostname
# defaults to '%stackname%-{{role.name.lower()}}-%index%'
# sets the default for {{role.name}}HostnameFormat parameter in overcloud.yaml
#
# ServicesDefault: (list) optional default list of services to be deployed
# on the role, defaults to an empty list. Sets the default for the
# {{role.name}}Services parameter in overcloud.yaml
- name: Controller
CountDefault: 1
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::Core
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::MySQL
- OS::TripleO::Services::RabbitMQ
- OS::TripleO::Services::HAproxy
- OS::TripleO::Services::Keystone
- OS::TripleO::Services::Keepalived
- OS::TripleO::Services::Memcached
- OS::TripleO::Services::Pacemaker
- OS::TripleO::Services::Redis
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftProxy
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::VipHosts
- name: ObjectStorage
ServicesDefault:
- OS::TripleO::Services::CACerts
- OS::TripleO::Services::Kernel
- OS::TripleO::Services::Ntp
- OS::TripleO::Services::SwiftStorage
- OS::TripleO::Services::SwiftRingBuilder
- OS::TripleO::Services::Snmp
- OS::TripleO::Services::Sshd
- OS::TripleO::Services::Timezone
- OS::TripleO::Services::TripleoPackages
- OS::TripleO::Services::TripleoFirewall
- OS::TripleO::Services::SensuClient
- OS::TripleO::Services::FluentdClient
- OS::TripleO::Services::VipHosts
[stack@undercloud-0 ~]$ openstack catalog list
+----------+--------------+---------------------------------------------------------------------------------+
| Name | Type | Endpoints |
+----------+--------------+---------------------------------------------------------------------------------+
| swift | object-store | regionOne |
| | | publicURL: http://10.0.0.103:8080/v1/AUTH_4c5d4ba1052b48eabb549015e55e16d6 |
| | | internalURL: http://172.17.3.13:8080/v1/AUTH_4c5d4ba1052b48eabb549015e55e16d6 |
| | | adminURL: http://172.17.3.13:8080 |
| | | |
| keystone | identity | regionOne |
| | | publicURL: http://10.0.0.103:5000/v2.0 |
| | | internalURL: http://172.17.1.14:5000/v2.0 |
| | | adminURL: http://192.168.24.6:35357/v2.0 |
| | | |
+----------+--------------+---------------------------------------------------------------------------------+
|
Description of problem: I'm trying to do an overcloud deployment which doesn't run Heat services(a Swift only environment) but deployment fails with the following error: Error: Could not find data item heat::keystone::domain::domain_password in any Hiera data file and no default supplied at /etc/puppet/modules/tripleo/manifests/profile/base/keystone.pp:68 on node overcloud-serviceapi-0.localdomain Error: Could not find data item heat::keystone::domain::domain_password in any Hiera data file and no default supplied at /etc/puppet/modules/tripleo/manifests/profile/base/keystone.pp:68 on node overcloud-serviceapi-0.localdomain This is the roles_data.yaml file that I am using: - name: Controller CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::Core - OS::TripleO::Services::Kernel - OS::TripleO::Services::MySQL - OS::TripleO::Services::RabbitMQ - OS::TripleO::Services::HAproxy - OS::TripleO::Services::Memcached - OS::TripleO::Services::Pacemaker - OS::TripleO::Services::Ntp - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::VipHosts - name: ObjectStorage ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::SwiftStorage - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::VipHosts - name: ServiceApi CountDefault: 1 ServicesDefault: - OS::TripleO::Services::CACerts - OS::TripleO::Services::Core - OS::TripleO::Services::Keystone - OS::TripleO::Services::Kernel - OS::TripleO::Services::Ntp - OS::TripleO::Services::SwiftProxy - OS::TripleO::Services::SwiftRingBuilder - OS::TripleO::Services::Snmp - OS::TripleO::Services::Timezone - OS::TripleO::Services::Horizon - OS::TripleO::Services::TripleoPackages - OS::TripleO::Services::TripleoFirewall - OS::TripleO::Services::SensuClient - OS::TripleO::Services::FluentdClient - OS::TripleO::Services::VipHosts Version-Release number of selected component (if applicable): openstack-heat-templates-0-0.7.1e6015dgit.el7ost.noarch How reproducible: 100% Steps to Reproduce: 1. Deploy overcloud without Heat services Actual results: Deployment fails. Expected results: Deployment should proceed. Additional info: Workaround: add an additional unused role in roles_data.yaml which contains the Heat services: - name: Heat CountDefault: 1 ServicesDefault: - OS::TripleO::Services::HeatApi - OS::TripleO::Services::HeatApiCfn - OS::TripleO::Services::HeatApiCloudwatch - OS::TripleO::Services::HeatEngine After doing this the overcloud deployment passes but Keystone endpoints for Heat also get created on the overcloud even though there's no Heat service configured/running on the overcloud nodes: openstack catalog list +----------+----------------+----------------------------------------------------------------------------------+ | Name | Type | Endpoints | +----------+----------------+----------------------------------------------------------------------------------+ | swift | object-store | regionOne | | | | publicURL: https://172.16.18.25:13808/v1/AUTH_b654c355d174407c834043ad2d841f19 | | | | internalURL: http://10.0.0.145:8080/v1/AUTH_b654c355d174407c834043ad2d841f19 | | | | adminURL: http://10.0.0.145:8080 | | | | | | heat-cfn | cloudformation | regionOne | | | | publicURL: https://172.16.18.25:13005/v1 | | | | internalURL: http://10.0.0.19:8000/v1 | | | | adminURL: http://10.0.0.19:8000/v1 | | | | | | keystone | identity | regionOne | | | | publicURL: https://172.16.18.25:13000/v2.0 | | | | internalURL: http://10.0.0.19:5000/v2.0 | | | | adminURL: http://192.168.0.12:35357/v2.0 | | | | | | heat | orchestration | regionOne | | | | publicURL: https://172.16.18.25:13004/v1/b654c355d174407c834043ad2d841f19 | | | | internalURL: http://10.0.0.19:8004/v1/b654c355d174407c834043ad2d841f19 | | | | adminURL: http://10.0.0.19:8004/v1/b654c355d174407c834043ad2d841f19 | | | | | +----------+----------------+----------------------------------------------------------------------------------+