Support copying static Vendordata file into Nova API container
Nova provides a mechanism to set static vendordata via a file [1]. This patch provides support in Kolla Ansible for using this feature. Arguably this could be part of a generic mechansim for copying arbitrary config, but: - It's not clear if there is anything else that would take advantage of this - One size might not fit all [1] https://docs.openstack.org/nova/latest/configuration/config.html#api.vendordata_jsonfile_path Change-Id: Id420376d96d0c40415c369ae8dd36e845a781820
This commit is contained in:
parent
e80b877d26
commit
9af42fcebc
@ -31,6 +31,19 @@
|
|||||||
when:
|
when:
|
||||||
- nova_policy.results
|
- nova_policy.results
|
||||||
|
|
||||||
|
- name: Check for vendordata file
|
||||||
|
stat:
|
||||||
|
path: "{{ node_custom_config }}/nova/vendordata.json"
|
||||||
|
delegate_to: localhost
|
||||||
|
run_once: True
|
||||||
|
register: vendordata_file
|
||||||
|
|
||||||
|
- name: Set vendordata file path
|
||||||
|
set_fact:
|
||||||
|
vendordata_file_path: "{{ vendordata_file.stat.path }}"
|
||||||
|
when:
|
||||||
|
- vendordata_file.stat.exists
|
||||||
|
|
||||||
- include_tasks: copy-certs.yml
|
- include_tasks: copy-certs.yml
|
||||||
when:
|
when:
|
||||||
- kolla_copy_ca_into_containers | bool or nova_enable_tls_backend | bool
|
- kolla_copy_ca_into_containers | bool or nova_enable_tls_backend | bool
|
||||||
@ -94,3 +107,18 @@
|
|||||||
- nova_services["nova-api"].enabled | bool
|
- nova_services["nova-api"].enabled | bool
|
||||||
notify:
|
notify:
|
||||||
- "Restart nova-api container"
|
- "Restart nova-api container"
|
||||||
|
|
||||||
|
- name: Copying over vendordata file
|
||||||
|
vars:
|
||||||
|
service: "{{ nova_services['nova-api'] }}"
|
||||||
|
copy:
|
||||||
|
src: "{{ vendordata_file_path }}"
|
||||||
|
dest: "{{ node_config_directory }}/nova-api/vendordata.json"
|
||||||
|
mode: "0660"
|
||||||
|
become: True
|
||||||
|
when:
|
||||||
|
- vendordata_file_path is defined
|
||||||
|
- inventory_hostname in groups[service['group']]
|
||||||
|
- service.enabled | bool
|
||||||
|
notify:
|
||||||
|
- "Restart nova-api container"
|
||||||
|
@ -32,6 +32,12 @@
|
|||||||
"dest": "/etc/nova/certs/nova-key.pem",
|
"dest": "/etc/nova/certs/nova-key.pem",
|
||||||
"owner": "nova",
|
"owner": "nova",
|
||||||
"perm": "0600"
|
"perm": "0600"
|
||||||
|
}{% endif %}{% if vendordata_file_path is defined %},
|
||||||
|
{
|
||||||
|
"source": "{{ container_config_directory }}/vendordata.json",
|
||||||
|
"dest": "/etc/nova/vendordata.json",
|
||||||
|
"owner": "nova",
|
||||||
|
"perm": "0600"
|
||||||
}{% endif %}
|
}{% endif %}
|
||||||
],
|
],
|
||||||
"permissions": [
|
"permissions": [
|
||||||
|
@ -41,6 +41,10 @@ track_instance_changes = False
|
|||||||
[api]
|
[api]
|
||||||
use_forwarded_for = true
|
use_forwarded_for = true
|
||||||
|
|
||||||
|
{% if vendordata_file_path is defined %}
|
||||||
|
vendordata_jsonfile_path = /etc/nova/vendordata.json
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
# Super conductor
|
# Super conductor
|
||||||
[conductor]
|
[conductor]
|
||||||
workers = {{ openstack_service_workers }}
|
workers = {{ openstack_service_workers }}
|
||||||
|
@ -56,3 +56,12 @@ Cells
|
|||||||
|
|
||||||
Information on using Nova Cells V2 to scale out can be found in
|
Information on using Nova Cells V2 to scale out can be found in
|
||||||
:doc:`nova-cells-guide`.
|
:doc:`nova-cells-guide`.
|
||||||
|
|
||||||
|
Vendordata
|
||||||
|
==========
|
||||||
|
|
||||||
|
Nova supports passing deployer provided data to instances using a
|
||||||
|
concept known as Vendordata. If a Vendordata file is located in the
|
||||||
|
following path within the Kolla configuration, Kolla will
|
||||||
|
automatically use it when the Nova service is deployed or
|
||||||
|
reconfigured: ``/etc/kolla/config/nova/vendordata.json``.
|
||||||
|
@ -0,0 +1,6 @@
|
|||||||
|
---
|
||||||
|
features:
|
||||||
|
- |
|
||||||
|
Support for configuring a Vendordata file for Nova has been
|
||||||
|
added. This allows users to pass through arbitrary data to
|
||||||
|
instances.
|
Loading…
x
Reference in New Issue
Block a user