RabbitMQ-specific IPv6 sysctl flags were dropped when migrating to the kernel-baremetal-ansible service

Bug #1880967 reported by Damien Ciabrini
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
tripleo
Invalid
High
Damien Ciabrini

Bug Description

When kernel-baremetal-ansible.yaml was introduced, various sysctl settings dealing with IPv6 were not ported from kernel-baremetal-puppet.yaml. This had at least one side effect of breaking the fix we did in lp#1780065 [1]:

              # always allow ipv6 on loopback for rabbitmq, see +bug/1780065
              net.ipv6.conf.lo.disable_ipv6:
                value: 0

Without that setting, the Erlang VM cannot start on a host where IPv6 is entirely disabled. This in turn prevents rabbitmq from starting and make the deployment fail.

[1] https://bugs.launchpad.net/tripleo/+bug/1780065

Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Fix proposed to tripleo-heat-templates (master)

Fix proposed to branch: master
Review: https://review.opendev.org/731241

Changed in tripleo:
status: Confirmed → In Progress
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on tripleo-heat-templates (master)

Change abandoned by Damien Ciabrini (<email address hidden>) on branch: master
Review: https://review.opendev.org/731241
Reason: after discussion with ysandeep, that patch is not needed, the original issue was due to downstream nodepool customization

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

After further investigation, it seems the error seen on that environment was not a due to a t-h-t regression but to a misconfiguration. Quoting ysandeep:

"
 I don't think we need that anymore.. In our case that was due to downstream nodepool customization. 99-tripleo.conf is correctly poppulated by tripleo ansible.
"

I'm closing the bug accordingly.

Changed in tripleo:
status: In Progress → Invalid
Revision history for this message
Takashi Kajinami (kajinamit) wrote :

I think this problem is still valid. I noticed that net.ipv6.conf.lo.disabled_ipv6=0 comes BEFORE net.ipv6.conf.all.disabled_ipv6=1, which ends up in 99-sysctl.conf when KernelDisableIPv6, which results in net.ipv6.conf.lo.disabled_ipv6=1 actually.

However seems like erlang vm can start even with this setup, since we allow net.ipv6.ip_nonlocal_bind by default recently.

I think we can reproduced the issue by setting both KernelDisableIPv6: 1 and KernelIpNonLocalBind: 0 in the template.

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

correction

I noticed that net.ipv6.conf.lo.disabled_ipv6=0 comes BEFORE net.ipv6.conf.all.disabled_ipv6=1, which ends up in 99-sysctl.conf when KernelDisableIPv6

I meant to say;

I noticed that net.ipv6.conf.lo.disabled_ipv6=0 comes BEFORE net.ipv6.conf.all.disabled_ipv6=1 in 99-sysctl.conf when KernelDisableIPv6, which results in ...

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

Thanks for the heads up Takashi, I wonder if we should reopen this bug and correct subject and description, or it we should track your issue in a dedicated lp. Even if the end-result is the same, the cause looks sufficiently different that I would prefer doing the latter.

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

Other bug subscribers

Remote bug watches

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