65e6e5b035
This change will enable or disable no_log and debug options whenever the verbosity is set to an integer greater than 2. This will ensure operators and deployers are best equipped to troubleshoot issues by dynamically providing additional data in an expected way. To ensure we're able to differentiate between output masking and security masking, two options were used to enable or disable no_log across our roles and playbooks. > All debug options, without security implications, will now react to the `ansible_verbosity` built in by default. Changes have been made to our skeleton role to ensure this is enforced on all new roles created going forward. > An additional prefixed role option, `*_hide_sensitive_logs`, has been added to allow operators to easily toggle sensitive output when required. The role prefixed variables will respond to the global option `hide_sensitive_logs` as defined in THT which will ensure a consistent user experience. Depends-On: I84f3982811ade59bac5ebaf3a124f9bfa6fa22a4 Change-Id: Ia6658110326899107a0e277f0d2574c79a8a820b Signed-off-by: Kevin Carter <kecarter@redhat.com>
93 lines
3.1 KiB
YAML
93 lines
3.1 KiB
YAML
---
|
|
# Copyright 2019 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.
|
|
|
|
- hosts: keystone
|
|
vars:
|
|
hide_sensitive_logs: true
|
|
tasks:
|
|
- name: Check for containerized keystone fernet repository
|
|
stat:
|
|
path: /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys/
|
|
register: containerized_keystone_dir
|
|
|
|
- name: populate service facts
|
|
service_facts:
|
|
|
|
- name: Set container facts
|
|
set_fact:
|
|
is_container: "{{ containerized_keystone_dir.stat.isdir is defined and containerized_keystone_dir.stat.isdir }}"
|
|
podman_enabled: "{{ 'tripleo_keystone.service' in ansible_facts.services }}"
|
|
|
|
- name: Rotate fernet keys for keystone container
|
|
block:
|
|
- name: Set keystone facts
|
|
set_fact:
|
|
keystone_base: /var/lib/config-data/puppet-generated/keystone
|
|
|
|
- name: Remove previous fernet keys
|
|
shell: rm -rf /var/lib/config-data/puppet-generated/keystone/etc/keystone/fernet-keys/*
|
|
args:
|
|
warn: false
|
|
|
|
- name: Persist fernet keys to repository
|
|
copy:
|
|
dest: "{{ keystone_base }}{{ item.key }}"
|
|
content: "{{ item.value.content }}"
|
|
mode: 0600
|
|
with_dict: "{{ fernet_keys }}"
|
|
no_log: "{{ hide_sensitive_logs | bool }}"
|
|
|
|
- name: Set permissions to match container's user
|
|
shell: chown --reference={{ keystone_base }}/etc/keystone/fernet-keys {{ keystone_base }}{{ item.key }}
|
|
with_dict: "{{ fernet_keys }}"
|
|
no_log: "{{ not ((ansible_verbosity | int) >= 2) | bool }}"
|
|
|
|
- name: Restart keystone container with docker
|
|
shell: docker restart keystone
|
|
when: not podman_enabled
|
|
|
|
- name: Restart keystone container
|
|
service:
|
|
name: tripleo_keystone
|
|
state: restarted
|
|
when: podman_enabled
|
|
when:
|
|
- is_container | bool
|
|
|
|
- name: Rotate fernet keys for keystone (no container)
|
|
block:
|
|
- name: Remove previous fernet keys
|
|
shell: rm -rf /etc/keystone/fernet-keys/*
|
|
args:
|
|
warn: false
|
|
|
|
- name: Persist fernet keys to repository
|
|
copy:
|
|
dest: "{{ item.key }}"
|
|
content: "{{ item.value.content }}"
|
|
mode: 0600
|
|
owner: keystone
|
|
group: keystone
|
|
with_dict: "{{ fernet_keys }}"
|
|
no_log: "{{ hide_sensitive_logs | bool }}"
|
|
|
|
- name: Reload apache
|
|
service:
|
|
name: httpd
|
|
state: reloaded
|
|
when:
|
|
- not (is_container | bool)
|