From b8220a2367cff8b935676b5fb3db92e3a2036724 Mon Sep 17 00:00:00 2001 From: Mohammed Naser Date: Tue, 6 Mar 2018 13:32:17 -0500 Subject: [PATCH] Added vendor_data.json support This patch adds the ability for a deployer to add vendor_data.json for deployments. It can make things configurable via a simple dictionary. Change-Id: If5b061776120c3d7a7ff763eb2757c0b5b184000 --- defaults/main.yml | 1 + releasenotes/notes/added-vendor-data-c35cb7735b1ee9c7.yaml | 4 ++++ tasks/nova_post_install.yml | 4 ++++ templates/nova.conf.j2 | 1 + templates/vendor_data.json.j2 | 2 ++ 5 files changed, 12 insertions(+) create mode 100644 releasenotes/notes/added-vendor-data-c35cb7735b1ee9c7.yaml create mode 100644 templates/vendor_data.json.j2 diff --git a/defaults/main.yml b/defaults/main.yml index 47a73c18..ceadc0e7 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -557,6 +557,7 @@ nova_nova_conf_overrides: {} nova_rootwrap_conf_overrides: {} nova_api_paste_ini_overrides: {} nova_policy_overrides: {} +nova_vendor_data_overrides: {} nova_placement_uwsgi_ini_overrides: {} nova_api_metadata_uwsgi_ini_overrides: {} nova_api_os_compute_uwsgi_ini_overrides: {} diff --git a/releasenotes/notes/added-vendor-data-c35cb7735b1ee9c7.yaml b/releasenotes/notes/added-vendor-data-c35cb7735b1ee9c7.yaml new file mode 100644 index 00000000..561f4f63 --- /dev/null +++ b/releasenotes/notes/added-vendor-data-c35cb7735b1ee9c7.yaml @@ -0,0 +1,4 @@ +--- +features: + - Added the ability to configure vendor data for Nova in order to be able to + push things via the metadata service or config drive. diff --git a/tasks/nova_post_install.yml b/tasks/nova_post_install.yml index 394f649c..b6501cfa 100644 --- a/tasks/nova_post_install.yml +++ b/tasks/nova_post_install.yml @@ -47,6 +47,10 @@ dest: "/etc/nova/api-paste.ini" config_overrides: "{{ nova_api_paste_ini_overrides }}" config_type: "ini" + - src: "vendor_data.json.j2" + dest: "/etc/nova/vendor_data.json" + config_overrides: "{{ nova_vendor_data_overrides }}" + config_type: "json" - src: "policy.json.j2" dest: "/etc/nova/policy.json-{{ nova_venv_tag }}" config_overrides: "{{ nova_policy_overrides }}" diff --git a/templates/nova.conf.j2 b/templates/nova.conf.j2 index 209158d9..868ad2e8 100644 --- a/templates/nova.conf.j2 +++ b/templates/nova.conf.j2 @@ -295,6 +295,7 @@ secure_proxy_ssl_header = {{ nova_secure_proxy_ssl_header }} auth_strategy = keystone enable_instance_password = {{ nova_enable_instance_password }} use_forwarded_for = {{ nova_network_services[nova_network_type]['use_forwarded_for'] | bool }} +vendordata_jsonfile_path = /etc/nova/vendor_data.json [scheduler] max_attempts = {{ nova_scheduler_max_attempts }} diff --git a/templates/vendor_data.json.j2 b/templates/vendor_data.json.j2 new file mode 100644 index 00000000..2c63c085 --- /dev/null +++ b/templates/vendor_data.json.j2 @@ -0,0 +1,2 @@ +{ +}