ansible-role-python_venv_build/tasks/python_venv_set_facts.yml
Jesse Pretorius (odyssey4me) 880ed4b185 Only create local facts folder when necessary
If we do not plan to set any local facts, we should
not be creating this folder. If we do need to set the
facts, then the tasks will need to be run via sudo to
ensure that they has the appropriate rights to create
the folder/files under /etc.

If this change is not implemented, and the playbook
running this role is not executed as root, then the
task fails because it does not have rights to create
the folder - even when there are no facts to set.

Change-Id: Idcb093775507728a7c68a877a05b8895d4c8c39f
2020-07-29 08:31:08 +00:00

37 lines
1.2 KiB
YAML

---
# Copyright 2018, Rackspace US, Inc.
#
# 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: Ensure local facts folder exists
become: true
file:
path: /etc/ansible/facts.d
state: directory
when:
- venv_facts_when_changed != []
- name: Record the necessary facts
become: true
ini_file:
dest: "/etc/ansible/facts.d/{{ venv_facts_dest }}.fact"
section: "{{ item.section }}"
option: "{{ item.option }}"
value: "{{ item.value | string }}"
with_items: "{{ venv_facts_when_changed }}"
when:
- venv_facts_when_changed != []
- (_install_venv_pip_packages is defined and
_install_venv_pip_packages is mapping and
_install_venv_pip_packages is changed)