TripleO-puppet fails to set up keystone container during standalone deployment

Bug #1978131 reported by Tom Weininger
14
This bug affects 2 people
Affects Status Importance Assigned to Milestone
tripleo
Fix Released
Critical
Takashi Kajinami

Bug Description

Description
===========
TripleO standalone deployment failed on CentOS9 VM and current master with "Evaluation Error: Error while evaluating a Resource Statement, Apache::Vhost[keystone_wsgi]"

Steps to reproduce
==================
Run on an CentOS9 VM with current TripleO master:

sudo openstack tripleo deploy \
         --stack standalone \
         --templates \
         --control-virtual-ip=192.168.122.2 \
         --local-ip=192.168.1.19/24 \
         -e /usr/share/openstack-tripleo-heat-templates/environments/standalone/standalone-tripleo.yaml \
         -r /usr/share/openstack-tripleo-heat-templates/roles/Standalone.yaml \
         -e /usr/share/openstack-tripleo-heat-templates/environments/services/barbican.yaml \
         -e /usr/share/openstack-tripleo-heat-templates/environments/services/octavia.yaml \
         -e $HOME/containers-prepare-parameters.yaml \
         -e $HOME/standalone_parameters.yaml \
         -e $HOME/octavia_parameters.yaml \
         --output-dir $HOME \
         --standalone-role Standalone

Expected result
===============
No error.

Actual result
=============
<13>Jun 9 14:35:08 puppet-user: Error: Evaluation Error: Error while evaluating a Resource Statement, Apache::Vhost[keystone_wsgi]:
<13>Jun 9 14:35:08 puppet-user: parameter 'port' variant 0 expects an Undef value, got Tuple
<13>Jun 9 14:35:08 puppet-user: parameter 'port' variant 1 index 1 expects an Integer value, got String
<13>Jun 9 14:35:08 puppet-user: parameter 'port' variant 2 index 0 expects a String value, got Integer
<13>Jun 9 14:35:08 puppet-user: parameter 'port' variant 3 expects an Integer value, got Tuple
<13>Jun 9 14:35:08 puppet-user: parameter 'port' variant 4 expects a String value, got Tuple (file: /etc/puppet/modules/openstacklib/manifests/wsgi/apache.pp, line: 357) on node tripleo.localdomain

Environment
===========
CentOS9 Stream, TripleO current master branch as of 09.06.2022.

puppet-apache-7.0.1-0.20220609100347.dd36951.el9.noarch

Logs & Configs
==============

See https://paste.opendev.org/show/814853/

$ sudo grep ' $port' /etc/puppet/modules/apache/manifests/vhost.pp
See https://paste.opendev.org/show/bHBnBHwPxXLyECIqw32W/

$ sudo hiera -c /etc/puppet/hiera.yaml keystone::wsgi::apache::api_port
[5000, "35357"]

Revision history for this message
Takashi Kajinami (kajinamit) wrote :

It seems puppetlabs-apache introduced type validation and the hieradata passed to api_port does not
match with the any of the expected types.

https://github.com/puppetlabs/puppetlabs-apache/commit/ae56cc9a6dbcd3846ccbcb9f8a7b9302d8b2a996

We should use only number or string, otherwise we need to fix puppetlabs-apache to accept that "mixed" type usage.

Changed in tripleo:
importance: Undecided → Critical
Changed in tripleo:
status: New → Triaged
Changed in tripleo:
assignee: nobody → Takashi Kajinami (kajinamit)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)
Changed in tripleo:
status: Triaged → In Progress
Changed in tripleo:
milestone: none → zed-1
tags: added: promotion-blocker
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix merged to tripleo-heat-templates (master)

Reviewed: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/845317
Committed: https://opendev.org/openstack/tripleo-heat-templates/commit/2de73e76243948036bb1bdcaec5b805ddb26676d
Submitter: "Zuul (22348)"
Branch: master

commit 2de73e76243948036bb1bdcaec5b805ddb26676d
Author: Takashi Kajinami <email address hidden>
Date: Fri Jun 10 13:50:57 2022 +0900

    Keystone: Remove unnecessary binds for admin endpoint

    In the past Keystone required a separate instance for admin endpoint.
    However that requirement was removed and current TripleO deploys only
    a single keystone instance, which listens on tcp/5000 in
    KeystonePublicApiNetwork [1].

    Now haproxy forwards all keystone api access to tcp/5000 in
    KeystonePublicApiNetwork and no longer uses backend on tcp/35357 in
    KeystoneAdminApiNetwork.

    [1] 5bd82e9ef051e732c0f991eaf4f9e3572aac87f6

    Closes-Bug: #1978131
    Change-Id: I9daaf69463e74f0f7fb63586ff6464194391da30

Changed in tripleo:
status: In Progress → Fix Released
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix included in openstack/tripleo-heat-templates 17.0.0

This issue was fixed in the openstack/tripleo-heat-templates 17.0.0 release.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.