Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1804721

Summary: Instance HA is not deployable as a parameter has a typo
Product: Red Hat OpenStack Reporter: Joachim von Thadden <j.thadden>
Component: puppet-pacemakerAssignee: RHOS Maint <rhos-maint>
Status: CLOSED DUPLICATE QA Contact: nlevinki <nlevinki>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: 16.0 (Train)CC: jjoyce, jschluet, michele, slinaber, tvignaud
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-02-19 15:12:35 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:

Description Joachim von Thadden 2020-02-19 14:06:41 UTC
Description of problem:
When deploying RHOSP16 following Instance HA guide (https://access.redhat.com/documentation/en-us/red_hat_openstack_platform/16.0/html-single/high_availability_for_compute_instances/index#instanceha-install) the deployment fails in step 1 on all computes. The error is:


TASK [Run puppet host configuration for step 1] ********************************
Wednesday 19 February 2020  14:29:48 +0100 (0:00:01.725)       0:13:44.297 ****
changed: [overcloud-controller-0]
changed: [overcloud-controller-1]
changed: [overcloud-controller-2]
changed: [overcloud-novacompute-0]
changed: [overcloud-novacompute-1]
changed: [overcloud-novacompute-2]

TASK [Wait for puppet host configuration to finish] ****************************
Wednesday 19 February 2020  14:29:50 +0100 (0:00:01.679)       0:13:45.976 ****
FAILED - RETRYING: Wait for puppet host configuration to finish (1200 retries left).
...

fatal: [overcloud-novacompute-2]: FAILED! => {"ansible_job_id": "207743052380.41382", "attempts": 4, "changed": true, "cmd": "set -o pipefail; puppet apply  --modulepath=/etc/puppet/modules:/opt/stack/puppet-modules:/usr/share/openstack-puppet/modules --detailed-exitcodes --summarize --color=false   /var/lib/tripleo-config/puppet_step_config.pp 2>&1 | logger -s -t puppet-user", "delta": "0:00:10.227307", "end": "2020-02-19 14:30:00.625813", "failed_when_result": true, "finished": 1, "msg": "non-zero return code", "rc": 1, "start": "2020-02-19 14:29:50.398506", "stderr": "<13>Feb 19 14:29:50 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\\n   (file & line not available)\n<13>Feb 19 14:29:59 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5\n<13>Feb 19 14:29:59 puppet-user:    (file: /etc/puppet/hiera.yaml)\n<13>Feb 19 14:29:59 puppet-user: Warning: Undefined variable '::deploy_config_name'; \\n   (file & line not available)\n<13>Feb 19 14:29:59 puppet-user: Warning: ModuleLoader: module 'tripleo' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)\n<13>Feb 19 14:29:59 puppet-user: Warning: Unknown variable: '::deployment_type'. (file: /etc/puppet/modules/tripleo/manifests/profile/base/database/mysql/client.pp, line: 89, column: 8)\n<13>Feb 19 14:29:59 puppet-user: Warning: ModuleLoader: module 'pacemaker' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)\n<13>Feb 19 14:29:59 puppet-user: Warning: Unknown variable: '::pacemaker::pcsd_sysconfig'. (file: /etc/puppet/modules/pacemaker/manifests/remote.pp, line: 90, column: 20)\n<13>Feb 19 14:30:00 puppet-user: Warning: ModuleLoader: module 'concat' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)\n<13>Feb 19 14:30:00 puppet-user: Warning: tag is a metaparam; this value will inherit to all contained resources in the tripleo::firewall::rule definition\n<13>Feb 19 14:30:00 puppet-user: Notice: Scope(Class[Tripleo::Firewall::Post]): At this stage, all network traffic is blocked.\n<13>Feb 19 14:30:00 puppet-user: Notice: Compiled catalog for overcloud-novacompute-2.rhosp16.infra-as-code.org in environment production in 1.26 seconds\n<13>Feb 19 14:30:00 puppet-user: Error: Validation of File_line[pcsd_bind_addr] failed: path is a required attribute (file: /etc/puppet/modules/pacemaker/manifests/remote.pp, line: 89)", "stderr_lines": ["<13>Feb 19 14:29:50 puppet-user: Warning: The function 'hiera' is deprecated in favor of using 'lookup'. See https://puppet.com/docs/puppet/5.5/deprecated_language.html\\n   (file & line not available)", "<13>Feb 19 14:29:59 puppet-user: Warning: /etc/puppet/hiera.yaml: Use of 'hiera.yaml' version 3 is deprecated. It should be converted to version 5", "<13>Feb 19 14:29:59 puppet-user:    (file: /etc/puppet/hiera.yaml)", "<13>Feb 19 14:29:59 puppet-user: Warning: Undefined variable '::deploy_config_name'; \\n   (file & line not available)", "<13>Feb 19 14:29:59 puppet-user: Warning: ModuleLoader: module 'tripleo' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)", "<13>Feb 19 14:29:59 puppet-user: Warning: Unknown variable: '::deployment_type'. (file: /etc/puppet/modules/tripleo/manifests/profile/base/database/mysql/client.pp, line: 89, column: 8)", "<13>Feb 19 14:29:59 puppet-user: Warning: ModuleLoader: module 'pacemaker' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)", "<13>Feb 19 14:29:59 puppet-user: Warning: Unknown variable: '::pacemaker::pcsd_sysconfig'. (file: /etc/puppet/modules/pacemaker/manifests/remote.pp, line: 90, column: 20)", "<13>Feb 19 14:30:00 puppet-user: Warning: ModuleLoader: module 'concat' has unresolved dependencies - it will only see those that are resolved. Use 'puppet module list --tree' to see information about modules\\n   (file & line not available)", "<13>Feb 19 14:30:00 puppet-user: Warning: tag is a metaparam; this value will inherit to all contained resources in the tripleo::firewall::rule definition", "<13>Feb 19 14:30:00 puppet-user: Notice: Scope(Class[Tripleo::Firewall::Post]): At this stage, all network traffic is blocked.", "<13>Feb 19 14:30:00 puppet-user: Notice: Compiled catalog for overcloud-novacompute-2.rhosp16.infra-as-code.org in environment production in 1.26 seconds", "<13>Feb 19 14:30:00 puppet-user: Error: Validation of File_line[pcsd_bind_addr] failed: path is a required attribute (file: /etc/puppet/modules/pacemaker/manifests/remote.pp, line: 89)"], "stdout": "", "stdout_lines": []}

Looking into /etc/puppet/modules/pacemaker/manifests/remote.pp on the computes you see:


    if $pcsd_bind_addr != undef {
      file_line { 'pcsd_bind_addr':
        path    => $::pacemaker::pcsd_sysconfig,
        line    => "PCSD_BIND_ADDR='${pcsd_bind_addr}'",
        match   => '^PCSD_BIND_ADDR=',
        require => Class['::pacemaker::install'],
        before  => Service['pcsd'],
        notify  => Service['pcsd'],
      }
    }

Unfortunately the parameter
  $::pacemaker::pcsd_sysconfig
is not defined as it should be
  $::pacemaker::params::pcsd_sysconfig



How reproducible:
always

Steps to Reproduce:
1. follow the guide to configure Instance HA
2. deploy
3. see it fail

Actual results:
overcloud deployment fails

Expected results:
overcloud deployment succeeds and instance HA is properly configured


Additional info:

Comment 1 Joachim von Thadden 2020-02-19 14:16:05 UTC
Problem seems to be in:
 [root@iac-director ~]# rpm -qf /usr/share/openstack-puppet/modules/pacemaker/manifests/remote.pp
puppet-pacemaker-0.8.1-0.20191218041139.80dcc19.el8ost.noarch

Trying out following patch atm:
--- /usr/share/openstack-puppet/modules/pacemaker/manifests/remote.pp.org       2019-12-18 05:09:41.000000000 +0100
+++ /usr/share/openstack-puppet/modules/pacemaker/manifests/remote.pp   2020-02-19 15:11:20.062573843 +0100
@@ -87,7 +87,7 @@
 
     if $pcsd_bind_addr != undef {
       file_line { 'pcsd_bind_addr':
-        path    => $::pacemaker::pcsd_sysconfig,
+        path    => $::pacemaker::params::pcsd_sysconfig,
         line    => "PCSD_BIND_ADDR='${pcsd_bind_addr}'",
         match   => '^PCSD_BIND_ADDR=',
         require => Class['::pacemaker::install'],