Comment 3 for bug 1984237

Revision history for this message
Damien Ciabrini (dciabrin) wrote :

As to why GnuTLS in involved:

The failure happening during ansible task "Run init bundle puppet on the host for mysql" is due to several factors.

1. This tasks essentially runs puppet on the host like the following:

   # puppet apply --debug --verbose --detailed-exitcodes --summarize --tags 'pacemaker::property' -e 'noop_resource("Mysql_datadir"); include ::tripleo::profile::base::pacemaker'

The resource we're noop'ing tells puppet to load puppet-mysql, which - as a side effects - configures LD_LIBRARY_PATH during the puppet run.

2. When puppet-pacemaker runs a subshell to inspect the state of the pacemaker cluster, the environment of the subshell is basically:

   # LD_LIBRARY_PATH=:/usr/lib:/usr/lib64:/opt/rh/rh-mysql56/root/usr/lib:/opt/rh/rh-mysql56/root/usr/lib64:/opt/rh/rh-mysql57/root/usr/lib:/opt/rh/rh-mysql57/root/usr/lib64:/opt/rh/rh-mysql80/root/usr/lib:/opt/rh/rh-mysql80/root/usr/lib64:/opt/rh/rh-mariadb100/root/usr/lib:/opt/rh/rh-mariadb100/root/usr/lib64:/opt/rh/rh-mariadb101/root/usr/lib:/opt/rh/rh-mariadb101/root/usr/lib64:/opt/rh/rh-mariadb102/root/usr/lib:/opt/rh/rh-mariadb102/root/usr/lib64:/opt/rh/rh-mariadb103/root/usr/lib:/opt/rh/rh-mariadb103/root/usr/lib64:/opt/rh/mysql55/root/usr/lib:/opt/rh/mysql55/root/usr/lib64:/opt/rh/mariadb55/root/usr/lib:/opt/rh/mariadb55/root/usr/lib64:/usr/mysql/5.5/lib:/usr/mysql/5.5/lib64:/usr/mysql/5.6/lib:/usr/mysql/5.6/lib64:/usr/mysql/5.7/lib:/usr/mysql/5.7/lib64 crm_node -l
   Error in GnuTLS initialization: Error while performing self checks.
   1 standalone member

3. While the call to crm_node succeeds, there's additional output on stdout, and a later subshell ran by puppet-pacemaker cannot parse the output it expects:

   # LD_LIBRARY_PATH=/usr/lib64:<...puppet-mysql-libs...> cibadmin -Q --scope crm_config
   Error in GnuTLS initialization: Error while performing self checks.
   <crm_config>
     <cluster_property_set id="cib-bootstrap-options">
       <nvpair id="cib-bootstrap-options-have-watchdog" name="have-watchdog" value="false"/>
       <nvpair id="cib-bootstrap-options-dc-version" name="dc-version" value="2.1.4-2.el9-dc6eb4362e"/>
       <nvpair id="cib-bootstrap-options-cluster-infrastructure" name="cluster-infrastructure" value="corosync"/>
       <nvpair id="cib-bootstrap-options-cluster-name" name="cluster-name" value="tripleo_cluster"/>
       <nvpair id="cib-bootstrap-options-stonith-enabled" name="stonith-enabled" value="false"/>
     </cluster_property_set>
   </crm_config>

4. This bad parsing ultimately makes the puppet run fail.