tripleo-validations/roles/system_encoding/tasks/main.yml
Daniel Bengtsson c1b0791e13 Add a validation to check the local.
I don't know how to explain how it happens, but we have had several
customers case[1], for example, different local for writing to the database
and reading. What causes an error during minor update, the keystone
client calls the command to list the openstack projects. So we have a
python unicode error. For rabbitmq we force the utf-8 local, so we
decided that we assume that we must be in utf-8 everywhere. Add this
validation to ensure the local system is configure with the good local.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1824513

Change-Id: I8b8f2a17a4963af46dd2c5407fb089414a804247
(cherry picked from commit 6521f1b81a)
(cherry picked from commit e18073465a)
2020-11-26 13:25:55 +01:00

37 lines
1.2 KiB
YAML

---
# Copyright 2020 Red Hat, Inc.
# All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
- name: Get local lang
set_fact:
locale_lang: "{{ (lookup('env', 'LANG')) }}"
when:
system_encoding_locale is not defined
- name: Set value to check
set_fact:
locale_to_check: >-
{%- if system_encoding_locale is defined -%}
{{ (system_encoding_locale | lower).split('.')[-1] }}
{%- else -%}
{{ (locale_lang | lower).split('.')[-1] }}
{%- endif -%}
- name: Verify the local
fail:
msg: >-
The local must be unicode ({{ system_encoding_wanted|join(', ') }}).
Got {{ locale_to_check }}
failed_when: locale_to_check not in system_encoding_wanted