<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Consolas;
        panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
        {mso-style-type:personal;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
span.E-MailFormatvorlage19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal>Dear all,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>unfortunately we are facing an problem while setting up Openstack (described at the end of the mail).<o:p></o:p></p><p class=MsoNormal>Last year we had no issue with our configuration.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I found the problem why the playbook stops and a temporary workaround.<o:p></o:p></p><p class=MsoNormal>But I don’t know the root cause, maybe you can help me with some advice.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Thank you in advance!<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Have a sunny weekend and best regards,<o:p></o:p></p><p class=MsoNormal>Philipp<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Where <b>setup-openstack.ym</b>l stops:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>TASK [<b>os_keystone : Check current state of Keystone DB</b>] **************************************************************************************************************************************************************************************<o:p></o:p></p><p class=MsoNormal>fatal: [infra1_keystone_container-01c233df]: FAILED! <span style='color:red'>=> {"changed": true, "cmd": ["/openstack/venvs/keystone-21.2.3.dev4/bin/keystone-manage", "db_sync", "--check"], "delta": "0:01:42.166790", "end": "2021-02-11 13:01:06.282388", "failed_when_result": true, "msg": "non-zero return code", "rc": 1, "start": "2021-02-11 12:59:24.115598", "stderr": "", "stderr_lines": [], "stdout": "", "stdout_lines": []}<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><b>Reason:<o:p></o:p></b></p><p class=MsoNormal>This is caused because HAProxy thinks the service is not available… caused by the health check against port 9200.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>If I test the cluster-check-service manually, I see the external_vip isn’t allowed.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=DE>root@bc1bl11:/home/ubuntu# <b><i>telnet -b <internal_vip> 192.168.110.235 9200</i></b><o:p></o:p></span></p><p class=MsoNormal><i><span style='color:#1F4E79'>Trying 192.168.110.235...<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Connected to 192.168.110.235.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Escape character is '^]'.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>HTTP/1.1 200 OK<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Content-Type: text/plain<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Connection: close<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Content-Length: 40<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'><o:p> </o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Percona XtraDB Cluster Node is synced.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Connection closed by foreign host.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'><o:p> </o:p></span></i></p><p class=MsoNormal><span lang=DE>root@bc1bl11:/home/ubuntu# <b><i>telnet -b <external_vip> 192.168.110.235 9200</i></b><o:p></o:p></span></p><p class=MsoNormal><i><span style='color:#1F4E79'>Trying 192.168.110.235...<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Connected to 192.168.110.235.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Escape character is '^]'.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>Connection closed by foreign host.<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'><o:p> </o:p></span></i></p><p class=MsoNormal><b>Workaround:<o:p></o:p></b></p><p class=MsoNormal>After manually modifying the service-configuration and adding the external_vip to the whitelist everything works and the OSA-playbook succeeds as well:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>root@infra1-galera-container-492e1206:/# <b>cat /etc/xinetd.d/mysqlchk</b> <o:p></o:p></p><p class=MsoNormal><i><span style='color:#1F4E79'># default: on<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'># description: mysqlchk<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'># Ansible managed<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>service mysqlchk<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>{<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        disable = no<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        flags = REUSE<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        socket_type = stream<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        port = 9200<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        wait = no<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        user = nobody<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        server = /usr/local/bin/clustercheck<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>        log_on_failure += USERID<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>                only_from = <b>192.168.110.200</b> 192.168.110.235 192.168.110.211 127.0.0.1<o:p></o:p></span></i></p><p class=MsoNormal><i><span style='color:#1F4E79'>                per</span>_source = UNLIMITED<o:p></o:p></i></p><p class=MsoNormal><i>}<o:p></o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><b>Question:<o:p></o:p></b></p><p class=MsoNormal>I am wondering now why haproxy uses the external_vip to check the mysql-service and why I am facing this problem now… because last year everything was fine with our configuration.<o:p></o:p></p><p class=MsoNormal>We just moved the external_vip from the NIC to the bridge in the netplan-config and the external_vip is now in the same network as the internal_vip.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='font-size:10.0pt;font-family:Consolas'>Here is also a snipped of our haproxy config:<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>root@bc1bl11:/home/ubuntu# <b>cat /etc/haproxy/haproxy.cfg </b><o:p></o:p></p><p class=MsoNormal><i># Ansible managed<o:p></o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><i>global<o:p></o:p></i></p><p class=MsoNormal><i>        log /dev/log local0<o:p></o:p></i></p><p class=MsoNormal><i>        chroot /var/lib/haproxy<o:p></o:p></i></p><p class=MsoNormal><i>        user haproxy<o:p></o:p></i></p><p class=MsoNormal><i>        group haproxy<o:p></o:p></i></p><p class=MsoNormal><i>        daemon<o:p></o:p></i></p><p class=MsoNormal><i>        maxconn 4096<o:p></o:p></i></p><p class=MsoNormal><i>        stats socket /var/run/haproxy.stat level admin mode 600<o:p></o:p></i></p><p class=MsoNormal><i>                ssl-default-bind-options force-tlsv12<o:p></o:p></i></p><p class=MsoNormal><i>        tune.ssl.default-dh-param 2048<o:p></o:p></i></p><p class=MsoNormal><i>        <o:p></o:p></i></p><p class=MsoNormal><i>defaults<o:p></o:p></i></p><p class=MsoNormal><i>        log global<o:p></o:p></i></p><p class=MsoNormal><i>        option dontlognull<o:p></o:p></i></p><p class=MsoNormal><i>        option redispatch<o:p></o:p></i></p><p class=MsoNormal><i>        option forceclose<o:p></o:p></i></p><p class=MsoNormal><i>        retries 3<o:p></o:p></i></p><p class=MsoNormal><i>        timeout client 50s<o:p></o:p></i></p><p class=MsoNormal><i>        timeout connect 10s<o:p></o:p></i></p><p class=MsoNormal><i>        timeout http-request 5s<o:p></o:p></i></p><p class=MsoNormal><i>        timeout server 50s<o:p></o:p></i></p><p class=MsoNormal><i>        maxconn 4096<o:p></o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><i>…<o:p></o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><i>frontend galera-front-1<o:p></o:p></i></p><p class=MsoNormal><i>    bind 192.168.110.211:3306 <o:p></o:p></i></p><p class=MsoNormal><i>    option tcplog<o:p></o:p></i></p><p class=MsoNormal><i>    timeout client 5000s<o:p></o:p></i></p><p class=MsoNormal><i>    acl white_list src 127.0.0.1/8 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8<o:p></o:p></i></p><p class=MsoNormal><i>    tcp-request content accept if white_list<o:p></o:p></i></p><p class=MsoNormal><i>    tcp-request content reject<o:p></o:p></i></p><p class=MsoNormal><i>    mode tcp<o:p></o:p></i></p><p class=MsoNormal><i>    default_backend galera-back<o:p></o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><i>backend galera-back<o:p></o:p></i></p><p class=MsoNormal><i>    mode tcp<o:p></o:p></i></p><p class=MsoNormal><i>    balance leastconn<o:p></o:p></i></p><p class=MsoNormal><i>    timeout server 5000s<o:p></o:p></i></p><p class=MsoNormal><i>    stick store-request src<o:p></o:p></i></p><p class=MsoNormal><i>    stick-table type ip size 256k expire 30m<o:p></o:p></i></p><p class=MsoNormal><i>    option tcplog<o:p></o:p></i></p><p class=MsoNormal><i>    option httpchk HEAD / HTTP/1.0\r\nUser-agent:\ osa-haproxy-healthcheck<o:p></o:p></i></p><p class=MsoNormal><i><o:p> </o:p></i></p><p class=MsoNormal><i>   # server infra1_galera_container-492e1206 192.168.110.235:3306<o:p></o:p></i></p><p class=MsoNormal><i>   server infra1_galera_container-492e1206 192.168.110.235:3306 <b>check port 9200 inter 12000 rise 1 fall 1<o:p></o:p></b></i></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p></div></body></html>