d6251506f7
This patch introduces an optional backend encryption for the Nova API service. When used in conjunction with enabling TLS for service API endpoints, network communcation will be encrypted end to end, from client through HAProxy to the Nova service. Change-Id: I48e1540b973016079d5686b328e82239dcffacfd Partially-Implements: blueprint add-ssl-internal-network
100 lines
2.8 KiB
YAML
100 lines
2.8 KiB
YAML
---
|
|
- name: Ensuring config directories exist
|
|
become: true
|
|
file:
|
|
path: "{{ node_config_directory }}/{{ item.key }}"
|
|
state: "directory"
|
|
owner: "{{ config_owner_user }}"
|
|
group: "{{ config_owner_group }}"
|
|
mode: "0770"
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ nova_services }}"
|
|
|
|
- name: Check if policies shall be overwritten
|
|
stat:
|
|
path: "{{ item }}"
|
|
delegate_to: localhost
|
|
run_once: True
|
|
register: nova_policy
|
|
with_first_found:
|
|
- files: "{{ supported_policy_format_list }}"
|
|
paths:
|
|
- "{{ node_custom_config }}/nova/"
|
|
skip: true
|
|
|
|
- name: Set nova policy file
|
|
set_fact:
|
|
nova_policy_file: "{{ nova_policy.results.0.stat.path | basename }}"
|
|
nova_policy_file_path: "{{ nova_policy.results.0.stat.path }}"
|
|
when:
|
|
- nova_policy.results
|
|
|
|
- include_tasks: copy-certs.yml
|
|
when:
|
|
- kolla_copy_ca_into_containers | bool or nova_enable_tls_backend | bool
|
|
|
|
- name: Copying over config.json files for services
|
|
become: true
|
|
template:
|
|
src: "{{ item.key }}.json.j2"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/config.json"
|
|
mode: "0660"
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ nova_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over nova.conf
|
|
become: true
|
|
vars:
|
|
service_name: "{{ item.key }}"
|
|
merge_configs:
|
|
sources:
|
|
- "{{ role_path }}/templates/nova.conf.j2"
|
|
- "{{ node_custom_config }}/global.conf"
|
|
- "{{ node_custom_config }}/nova.conf"
|
|
- "{{ node_custom_config }}/nova/{{ item.key }}.conf"
|
|
- "{{ node_custom_config }}/nova/{{ inventory_hostname }}/nova.conf"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/nova.conf"
|
|
mode: "0660"
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
with_dict: "{{ nova_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over existing policy file
|
|
become: true
|
|
template:
|
|
src: "{{ nova_policy_file_path }}"
|
|
dest: "{{ node_config_directory }}/{{ item.key }}/{{ nova_policy_file }}"
|
|
mode: "0660"
|
|
when:
|
|
- inventory_hostname in groups[item.value.group]
|
|
- item.value.enabled | bool
|
|
- nova_policy_file is defined
|
|
- item.key in nova_services_require_policy_json
|
|
with_dict: "{{ nova_services }}"
|
|
notify:
|
|
- "Restart {{ item.key }} container"
|
|
|
|
- name: Copying over nova-api-wsgi.conf
|
|
template:
|
|
src: "nova-api-wsgi.conf.j2"
|
|
dest: "{{ node_config_directory }}/nova-api/nova-api-wsgi.conf"
|
|
mode: "0660"
|
|
become: true
|
|
when:
|
|
- inventory_hostname in groups["nova-api"]
|
|
- nova_services["nova-api"].enabled | bool
|
|
notify:
|
|
- "Restart nova-api container"
|
|
|
|
- import_tasks: check-containers.yml
|
|
when: kolla_action != "config"
|