When we use rabbitmq 3.7 we might hit the following issue when running rabbitmqctl commands inside containers (as puppet does):
Error: Failed to apply catalog: Cannot parse invalid user line: warning:
the VM is running with native name encoding of latin1 which may cause
Elixir to malfunction as it expects utf8. Please ensure your locale is
set to UTF-8 (which can be verified by running "locale" in your shell)
Since containers do not have UTF-8 as a default we have this problem:
[root@overcloud-controller-0 ~]# podman exec -it rabbitmq-bundle-podman-0 sh
()[root@overcloud-controller-0 /]$ rabbitmqctl -q list_users
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by ru nning "locale" in your shell) user tags
guest [administrator]
()[root@overcloud-controller-0 /]$ locale
LANG=
LC_CTYPE="POSIX"
LC_NUMERIC="POSIX"
LC_TIME="POSIX"
LC_COLLATE="POSIX"
LC_MONETARY="POSIX"
LC_MESSAGES="POSIX"
LC_PAPER="POSIX"
LC_NAME="POSIX"
LC_ADDRESS="POSIX"
LC_TELEPHONE="POSIX"
LC_MEASUREMENT="POSIX"
LC_IDENTIFICATION="POSIX"
LC_ALL=
This is the THT version of forcing UTF-8 on all rabbitmq_init_bundles
and on epmd itself. The puppet-tripleo one is the depends-on:
Depends-on: I21ef2e7862f3e5e21812d342b1681f8d5f7f005d
Tested on the original environment from Emilien where we saw this issue
during scale-up. After appling this review and its dependency we
correctly got a scaleup with rabbitm3.7 working
Reviewed: https:/ /review. openstack. org/649299 /git.openstack. org/cgit/ openstack/ tripleo- heat-templates/ commit/ ?id=bc9b922ddcd b6625b0e4c8b678 51b3843d1d8775
Committed: https:/
Submitter: Zuul
Branch: master
commit bc9b922ddcdb662 5b0e4c8b67851b3 843d1d8775
Author: Michele Baldessari <email address hidden>
Date: Tue Apr 2 14:20:37 2019 +0200
Force C.UTF-8 when dealing with rabbitmq
When we use rabbitmq 3.7 we might hit the following issue when running rabbitmqctl commands inside containers (as puppet does):
Error: Failed to apply catalog: Cannot parse invalid user line: warning:
the VM is running with native name encoding of latin1 which may cause
Elixir to malfunction as it expects utf8. Please ensure your locale is
set to UTF-8 (which can be verified by running "locale" in your shell)
This is fundamentally the tripleo version of /github. com/voxpupuli/ puppet- rabbitmq/ issues/ 671
https:/
This is a strict requirement coming from Elixir: /github. com/elixir- lang/elixir/ issues/ 3548
https:/
Since containers do not have UTF-8 as a default we have this problem: overcloud- controller- 0 ~]# podman exec -it rabbitmq- bundle- podman- 0 sh root@overcloud- controller- 0 /]$ rabbitmqctl -q list_users root@overcloud- controller- 0 /]$ locale CTYPE=" POSIX" NUMERIC= "POSIX" COLLATE= "POSIX" MONETARY= "POSIX" MESSAGES= "POSIX" PAPER=" POSIX" ADDRESS= "POSIX" TELEPHONE= "POSIX" MEASUREMENT= "POSIX" IDENTIFICATION= "POSIX"
[root@
()[
warning: the VM is running with native name encoding of latin1 which may cause Elixir to malfunction as it expects utf8. Please ensure your locale is set to UTF-8 (which can be verified by ru nning "locale" in your shell) user tags
guest [administrator]
()[
LANG=
LC_
LC_
LC_TIME="POSIX"
LC_
LC_
LC_
LC_
LC_NAME="POSIX"
LC_
LC_
LC_
LC_
LC_ALL=
This is the THT version of forcing UTF-8 on all rabbitmq_ init_bundles e21812d342b1681 f8d5f7f005d
and on epmd itself. The puppet-tripleo one is the depends-on:
Depends-on: I21ef2e7862f3e5
Tested on the original environment from Emilien where we saw this issue
during scale-up. After appling this review and its dependency we
correctly got a scaleup with rabbitm3.7 working
Closes-Bug: #1822673 f14ea4aea4dfb52 e22a8864d46
Co-Authored-By: Damien Ciabrini <email address hidden>
Change-Id: Ifc1377811de68b