Bug 1510419

Summary: [osp12] cannot use enable-internal-tls.yaml due to /usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml doesn't exist
Product: Red Hat OpenStack Reporter: Artem Hrechanychenko <ahrechan>
Component: python-tripleoclientAssignee: Martin André <maandre>
Status: CLOSED ERRATA QA Contact: Artem Hrechanychenko <ahrechan>
Severity: high Docs Contact:
Priority: high    
Version: 12.0 (Pike)CC: hbrock, josorior, jschluet, jslagle, m.andre, mburns, mkrcmari, ohochman, rhel-osp-director-maint
Target Milestone: rcKeywords: ReleaseNotes, Triaged
Target Release: 12.0 (Pike)   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: python-tripleoclient-7.3.3-4.el7ost Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1741171 (view as bug list) Environment:
Last Closed: 2017-12-13 22:19:18 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: 1741171    

Description Artem Hrechanychenko 2017-11-07 11:41:32 UTC
Description of problem:

TASK [containerized_deployment : Create /home/stack/templates/container_images.yaml to upload to local registry] ***
10:58:36 fatal: [undercloud-0]: FAILED! => {
10:58:36     "changed": true,
10:58:36     "cmd": "openstack overcloud container image prepare --namespace docker-registry.engineering.redhat.com/rhosp12 --tag 20171103.1 --prefix openstack --suffix docker --set ceph_namespace=docker-registry.engineering.redhat.com/ceph --set ceph_image=rhceph-2-rhel7 --set ceph_tag=latest  -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml -e /home/stack/cloud-names.yaml -e /home/stack/virt/network/network-environment.yaml > /home/stack/templates/container_images.yaml",
10:58:36     "delta": "0:00:00.644325",
10:58:36     "end": "2017-11-07 05:58:35.491117",
10:58:36     "failed": true,
10:58:36     "rc": 1,
10:58:36     "start": "2017-11-07 05:58:34.846792"
10:58:36 }
10:58:36
10:58:36 STDERR:
10:58:36
10:58:36 Could not fetch contents for file:///usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml
10:58:36 

[stack@undercloud-0 ~]$ cat /usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml
# ********************************************************************************
# DEPRECATED: Use tripleo-heat-templates/environments/ssl/enable-internal-tls.yaml
# instead.
# ********************************************************************************
# A Heat environment file which can be used to enable a
# a TLS for in the internal network via certmonger
parameter_defaults:
  EnableInternalTLS: true
  RabbitClientUseSSL: true

  # Required for novajoin to enroll the overcloud nodes
  ServerMetadata:
    ipa_enroll: True

resource_registry:
  OS::TripleO::Services::CertmongerUser: ../puppet/services/certmonger-user.yaml

  OS::TripleO::Services::HAProxyInternalTLS: ../puppet/services/haproxy-internal-tls-certmonger.yaml

  # We use apache as a TLS proxy
  OS::TripleO::Services::TLSProxyBase: ../puppet/services/apache.yaml

  # Creates nova metadata that will create the extra service principals per
  # node.
  OS::TripleO::ServiceServerMetadataHook: ../extraconfig/nova_metadata/krb-service-principals.yaml
[stack@undercloud-0 ~]$ cat /usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml
cat: /usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml: No such file or directory


Version-Release number of selected component (if applicable):
openstack-tripleo-heat-templates-7.0.3-0.20171023134948.el7ost.noarch

How reproducible:
always

Steps to Reproduce:
1.deploy undercloud 
2.openstack overcloud container image prepare --namespace docker-registry.engineering.redhat.com/rhosp12 --tag 20171103.1 --prefix openstack --suffix docker --set ceph_namespace=docker-registry.engineering.redhat.com/ceph --set ceph_image=rhceph-2-rhel7 --set ceph_tag=latest  -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml -e /home/stack/cloud-names.yaml -e /home/stack/virt/network/network-environment.yaml > /home/stack/templates/container_images.yaml

3.

Actual results:
/usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml doesn't exist 

Expected results:
container_images.yaml was generate

Additional info:

Comment 2 Juan Antonio Osorio 2017-11-07 12:00:55 UTC
Seems that the issue is caused by the tripleo-common not rendering the /usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.j2.yaml .

I'm not acquainted with that code and can't seem to follow it :/. Steven, could you take a look?

Comment 3 Artem Hrechanychenko 2017-11-08 14:52:12 UTC
w/a is do not add enable-internal-tls.yaml to prepare command

Comment 5 Martin André 2017-11-13 13:18:26 UTC
Stable/pike backport proposed at https://review.openstack.org/519343

Comment 6 Martin André 2017-11-14 15:51:35 UTC
Stable/pike backport merge, proposed downstream rhos-12.0-patches patch at https://code.engineering.redhat.com/gerrit/123219 to speed up inclusion in OSP12.

Comment 7 Marian Krcmarik 2017-11-16 13:48:26 UTC
*** Bug 1512553 has been marked as a duplicate of this bug. ***

Comment 9 Artem Hrechanychenko 2017-11-20 08:25:15 UTC
VERIFIED

[stack@undercloud-0 ~]$ rpm -q python-tripleoclient
python-tripleoclient-7.3.3-4.el7ost.noarch


[stack@undercloud-0 ~]$ ls /usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml 
ls: cannot access /usr/share/openstack-tripleo-heat-templates/extraconfig/nova_metadata/krb-service-principals.yaml: No such file or directory

[stack@undercloud-0 ~]$ openstack overcloud container image prepare --namespace docker-registry.engineering.redhat.com/rhosp12 --tag 20171116.1 --prefix openstack --suffix docker --set ceph_namespace=docker-registry.engineering.redhat.com/ceph --set ceph_image=rhceph-2-rhel7 --set ceph_tag=latest  -e /usr/share/openstack-tripleo-heat-templates/environments/ceph-ansible/ceph-ansible.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/tls-everywhere-endpoints-dns.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/services/haproxy-public-tls-certmonger.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/enable-internal-tls.yaml -e /home/stack/cloud-names.yaml -e /home/stack/virt/network/network-environment.yaml > container_images_test.yaml
[stack@undercloud-0 ~]$ echo $?
0

Comment 12 errata-xmlrpc 2017-12-13 22:19:18 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:3462