Bug 1617900 - [UPGRADES][13] Failed to upgrade Controllers: ERROR configuring haproxy
Summary: [UPGRADES][13] Failed to upgrade Controllers: ERROR configuring haproxy
Keywords:
Status: CLOSED DUPLICATE of bug 1613161
Alias: None
Product: Red Hat OpenStack
Classification: Red Hat
Component: puppet-tripleo
Version: 13.0 (Queens)
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: ---
Assignee: RHOS Maint
QA Contact: nlevinki
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-08-16 06:42 UTC by Yurii Prokulevych
Modified: 2018-08-20 12:06 UTC (History)
9 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-08-16 09:00:11 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Yurii Prokulevych 2018-08-16 06:42:21 UTC
Description of problem:
-----------------------
Controller upgrade failed:

openstack overcloud upgrade run \
        --stack overcloud \
        --roles Controller --playbook all 2>&1
...
u'        "2018-08-15 20:23:35,983 INFO: 724033 -- Removing container: docker-puppet-haproxy", ',
 u'        "2018-08-15 20:23:36,010 INFO: 724033 -- Pulling image: 192.168.24.1:8787/rhosp13/openstack-haproxy:2018-08-14.4", ',
 u'        "2018-08-15 20:23:36,063 DEBUG: 724033 -- Trying to pull repository 192.168.24.1:8787/rhosp13/openstack-haproxy ... ", ',
 u'        "2018-08-14.4: Pulling from 192.168.24.1:8787/rhosp13/openstack-haproxy", ',
 u'        "Digest: sha256:cec57d044669cdbcbaae7d5303648d3893da274b66135b55498ae0a68e11218f", ',
 u'        "Status: Image is up to date for 192.168.24.1:8787/rhosp13/openstack-haproxy:2018-08-14.4", ',
 u'        "2018-08-15 20:23:36,067 DEBUG: 724033 -- NET_HOST enabled", ',
 u'        "2018-08-15 20:23:36,067 DEBUG: 724033 -- Running docker command: /usr/bin/docker run --user root --name docker-puppet-haproxy --env PUPPET_TAGS=file,file_line,concat,augeas,cron,haproxy_conf
ig --env NAME=haproxy --env HOSTNAME=controller-0 --env NO_ARCHIVE= --env STEP=6 --volume /etc/localtime:/etc/localtime:ro --volume /tmp/tmpFK7zee:/etc/config.pp:ro,z --volume /etc/puppet/:/tmp/puppet-e
tc/:ro,z --volume /usr/share/openstack-puppet/modules/:/usr/share/openstack-puppet/modules/:ro,z --volume /var/lib/config-data:/var/lib/config-data/:z --volume tripleo_logs:/var/log/tripleo/ --volume /d
ev/log:/dev/log --volume /etc/pki/ca-trust/extracted:/etc/pki/ca-trust/extracted:ro --volume /etc/pki/tls/certs/ca-bundle.crt:/etc/pki/tls/certs/ca-bundle.crt:ro --volume /etc/pki/tls/certs/ca-bundle.tr
ust.crt:/etc/pki/tls/certs/ca-bundle.trust.crt:ro --volume /etc/pki/tls/cert.pem:/etc/pki/tls/cert.pem:ro --volume /var/lib/docker-puppet/docker-puppet.sh:/var/lib/docker-puppet/docker-puppet.sh:z --vol
ume /etc/ipa/ca.crt:/etc/ipa/ca.crt:ro --volume /etc/pki/tls/private/haproxy:/etc/pki/tls/private/haproxy:ro --volume /etc/pki/tls/certs/haproxy:/etc/pki/tls/certs/haproxy:ro --volume /etc/pki/tls/priva
te/overcloud_endpoint.pem:/etc/pki/tls/private/overcloud_endpoint.pem:ro --entrypoint /var/lib/docker-puppet/docker-puppet.sh --net host --volume /etc/hosts:/etc/hosts:ro 192.168.24.1:8787/rhosp13/opens
tack-haproxy:2018-08-14.4", ',
 u'        "2018-08-15 20:23:45,055 ERROR: 724033 -- Failed running docker-puppet.py for haproxy", ',
 u'        "2018-08-15 20:23:45,055 ERROR: 724033 -- Notice: hiera(): Cannot load backend module_data: cannot load such file -- hiera/backend/module_data_backend", ',
 u'        "2018-08-15 20:23:45,055 ERROR: 724033 -- + mkdir -p /etc/puppet", ',
 u'        "+ \'[\' -n file,file_line,concat,augeas,cron,haproxy_config \']\'", ',
 u'        "+ TAGS=\'--tags file,file_line,concat,augeas,cron,haproxy_config\'", ',
 u'        "+ origin_of_time=/var/lib/config-data/haproxy.origin_of_time", ',
 u'        "+ touch /var/lib/config-data/haproxy.origin_of_time", ',
 u'        "+ /usr/bin/puppet apply --summarize --detailed-exitcodes --color=false --logdest syslog --logdest console --modulepath=/etc/puppet/modules:/usr/share/openstack-puppet/modules --tags file,fil
e_line,concat,augeas,cron,haproxy_config /etc/config.pp", ',
 u'        "Warning: Unknown variable: \'haproxy_member_options_real\'. at /etc/puppet/modules/tripleo/manifests/haproxy.pp:1082:34", ',
 u'        "Error: Evaluation Error: Error while evaluating a Function Call, union(): Every parameter must be an array at /etc/puppet/modules/tripleo/manifests/haproxy.pp:1082:28 on node controller-0.lo
caldomain", ',
 u'        "+ rc=1", ',
 u'        "+ \'[\' 1 -ne 2 -a 1 -ne 0 \']\'", ',
 u'        "+ exit 1", ',
 u'        "2018-08-15 20:23:45,056 INFO: 724033 -- Finished processing puppet configs for haproxy", ',
...

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
puppet-tripleo-8.3.4-6.el7ost.noarch
openstack-tripleo-heat-templates-8.0.4-20.el7ost.noarch


Steps to Reproduce:
-------------------
1. Upgrade UC to RHOS-13(2018-08-14.4)
2. Install repos/images for RHOS-13, prepare playbooks for upgrades
3. Start controllers upgrade

Actual results:
---------------
Upgrade fails

Expected results:
-----------------
Upgrade succeeds

Comment 2 Michele Baldessari 2018-08-16 08:51:05 UTC
Martin, I think your change in 'SSL support for haproxy -> novnc proxy connection' has a small bug in manifests/haproxy.pp:
diff --git a/manifests/haproxy.pp b/manifests/haproxy.pp
index 202e238c2500..75ff6d976ee5 100644
--- a/manifests/haproxy.pp
+++ b/manifests/haproxy.pp
@@ -1059,6 +1059,13 @@ class tripleo::haproxy (
   }

   if $nova_novncproxy {
+    if $enable_internal_tls {
+      # we need to make sure we use ssl for checks.
+      $haproxy_member_options_real   = delete($haproxy_member_options, 'check')
+      $novncproxy_ssl_member_options = ['check-ssl']
+    } else {
+      $novncproxy_ssl_member_options = []
+    }
     ::tripleo::haproxy::endpoint { 'nova_novncproxy':
       public_virtual_ip => $public_virtual_ip,
       internal_ip       => $nova_api_vip,
@@ -1072,6 +1079,7 @@ class tripleo::haproxy (
       }),
       public_ssl_port   => $ports[nova_novnc_ssl_port],
       service_network   => $nova_novncproxy_network,
+      member_options    => union($haproxy_member_options_real, $internal_tls_member_options, $novncproxy_ssl_member_options),
     }
   }



We need to set $haproxy_member_options_real  = $haproxy_member_options in the else branch of the if, no?

Comment 3 Michele Baldessari 2018-08-16 09:00:11 UTC

*** This bug has been marked as a duplicate of bug 1613161 ***


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