Files
Damian Dabrowski ffce91c98b Add support for hashi_vault PKI backend
Patch [1] introduced support for hashi_vault backend to ansible-role-pki.

This patch adds this support to OSA integrated repo by defining
default variables and tests.

[1] https://review.opendev.org/c/openstack/ansible-role-pki/+/948881

Change-Id: I8f796bc3f7eeba09af2fdff4a8e2e7de5252f936
Signed-off-by: Damian Dabrowski <damian.dabrowski@cleura.com>
2026-05-13 23:11:31 +02:00

199 lines
5.6 KiB
YAML

---
# Copyright 2015, 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.
# Identify AIO builds in the git user-agent
- name: Include prepare_git_useragent tasks
ansible.builtin.include_tasks: prepare_git_useragent.yml
# Attempt data device detection if enabled
- name: Include detect_data_disk_device tasks
ansible.builtin.include_tasks: detect_data_disk_device.yml
when:
- bootstrap_host_data_disk_device is none
- bootstrap_host_data_disk_device_detect | bool
# Before we do anything, check the minimum requirements
- name: Import check-requirements tasks
ansible.builtin.import_tasks: check-requirements.yml
tags:
- check-requirements
# We will look for the most specific variable files first and eventually
# end up with the least-specific files.
- name: Gather variables for each operating system
ansible.builtin.include_vars: "{{ item }}"
with_first_found:
- "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_version'] | lower }}.yml"
- "{{ ansible_facts['distribution'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml"
- "{{ ansible_facts['os_family'] | lower }}-{{ ansible_facts['distribution_major_version'] | lower }}.yml"
- "{{ ansible_facts['distribution'] | lower }}.yml"
- "{{ ansible_facts['os_family'] | lower }}.yml"
tags:
- always
- name: Gather runtime variables
ansible.builtin.import_tasks: gather_runtime_vars.yml
tags:
- always
- name: Create the required directories
ansible.builtin.file:
path: "{{ item }}"
state: directory
mode: "0755"
with_items:
- "/openstack"
tags:
- create-directories
- name: Import install_packages tasks
ansible.builtin.import_tasks: install_packages.yml
tags:
- install-packages
# Prepare the data disk, if one is provided
- name: Include prepare_data_disk tasks
ansible.builtin.include_tasks: prepare_data_disk.yml
when:
- bootstrap_host_data_disk_device != None
args:
apply:
tags:
- prepare-data-disk
tags:
- always
# Symlink host repos to /openstack/src to match the lxc continer bind mount
# NOTE(jrosser) this must happen *after* prepare_data_disk as /openstack may remounted
- name: Use on-disk repos for openstack services in CI
block:
- name: Symlink /openstack/src to /home/zuul/src
ansible.builtin.file:
src: "{{ lookup('env', 'ZUUL_SRC_PATH') }}"
dest: '/openstack/src'
state: link
- name: Create override for zuul git server to local repos
ansible.builtin.copy:
content: |
openstack_opendev_base_url: "file:///openstack/src/opendev.org"
dest: "/etc/openstack_deploy/user_variables_zuulrepos.yml"
mode: "0644"
when:
- "lookup('env', 'ZUUL_SRC_PATH') | length > 0"
- name: Import prepare_loopback tasks
ansible.builtin.import_tasks: prepare_loopback.yml
tags:
- prepare-loopback
# Prepare the zfs storage loopback disk
- name: Include prepare_zfs tasks
ansible.builtin.include_tasks: prepare_zfs.yml
when:
- bootstrap_host_loopback_zfs | bool
- bootstrap_host_data_disk_device == None
- _lxc_container_backing_store == 'zfs'
args:
apply:
tags:
- prepare-loopback
tags:
- always
# Prepare the NFS server and loopback disks
- name: Include prepare_nfs tasks
ansible.builtin.include_tasks: prepare_nfs.yml
when:
- bootstrap_host_nfs | bool
args:
apply:
tags:
- prepare-nfs
tags:
- always
# Ensure hostname/ip is consistent with inventory
- name: Import prepare_hostname tasks
ansible.builtin.import_tasks: prepare_hostname.yml
tags:
- prepare-hostname
# Prepare the network interfaces
- name: Import prepare_networking tasks
ansible.builtin.include_tasks: prepare_networking.yml
args:
apply:
tags:
- prepare-networking
when:
- ansible_facts['os_family'] == 'RedHat'
tags:
- prepare-networking
# Ensure that there are both private and public ssh keys for root
- name: Import prepare_ssh_keys tasks
ansible.builtin.import_tasks: prepare_ssh_keys.yml
tags:
- prepare-ssh-keys
# Prepare local squid proxy
- name: Include prepare_squid tasks
ansible.builtin.include_tasks: prepare_squid.yml
when:
- "'proxy' in bootstrap_host_scenarios_expanded"
args:
apply:
tags:
- prepare-squid
tags:
- always
# Prepare local step-ca certificate authority
- name: Include prepare_step_ca tasks
ansible.builtin.include_tasks: prepare_step_ca.yml
when:
- "'stepca' in bootstrap_host_scenarios_expanded"
args:
apply:
tags:
- prepare-step-ca
tags:
- always
# Put the OpenStack-Ansible configuration for an All-In-One on the host
- name: Include prepare_aio_config tasks
ansible.builtin.include_tasks: prepare_aio_config.yml
when:
- bootstrap_host_aio_config | bool
args:
apply:
tags:
- prepare-aio-config
tags:
- always
# Prepare local OpenBao server
- include_tasks: prepare_openbao.yml
when:
- "'openbao' in bootstrap_host_scenarios_expanded"
args:
apply:
tags:
- openbao
tags:
- always