Add config-heat and config-resource options.

This add those two options. They work like their ir overcloud
conterpart.

This add the possibility to add new parameters *during*
update/upgrade/ffwd if required.

Currently adjustement has been done only to update templates.

The other limitation is that this is currently comptatible only in
infrared context and thus is skipped for upstream CI.

Change-Id: I43148a0bc494cf3fc6ff109e7f3a4b94cf751d99
(cherry picked from commit 212c02fb4e)
(cherry picked from commit 29e8fc8470)
(cherry picked from commit f9cf26d8bf)
This commit is contained in:
Sofer Athlan-Guyot 2020-02-26 07:53:21 +01:00 committed by Athlan-Guyot sofer
parent 204ca182ff
commit 149225157b
5 changed files with 73 additions and 0 deletions

View File

@ -162,6 +162,49 @@ subparsers:
type: Value
help: Overcloud ssh user name name
default: ''
config-heat:
type: NestedDict
action: append
help: |
Inject additional Tripleo Heat Templates configuration options under "paramater_defaults"
entry point.
Example:
--config-heat ComputeExtraConfig.nova::allow_resize_to_same_host=true
--config-heat NeutronOVSFirewallDriver=openvswitch
should inject the following yaml to "overcloud deploy" command:
---
parameter_defaults:
ComputeExtraConfig:
nova::allow_resize_to_same_host: true
NeutronOVSFirewallDriver: openvswitch
It is also possible to have . (dot) included in key by escaping it.
Example:
--config-heat "ControllerExtraConfig.opendaylight::log_levels.org\.opendaylight\.netvirt\.elan=TRACE"
should inject the following yaml to "overcloud deploy" command:
---
parameter_defaults:
ControllerExtraConfig:
opendaylight::log_levels:
org.opendaylight.netvirt.elan: TRACE
config-resource:
type: NestedDict
action: append
help: |
Inject additional Tripleo Heat Templates configuration options under "resource_registry"
entry point.
Example:
--config-resource OS::TripleO::BlockStorage::Net::SoftwareConfig=/home/stack/nic-configs/cinder-storage.yaml
should inject the following yaml to "overcloud deploy" command:
---
resource_registry:
OS::TripleO::BlockStorage::Net::SoftwareConfig: /home/stack/nic-configs/cinder-storage.yaml
- title: TripleO Fast Forward Upgrade
options:
overcloud-ffu-upgrade:

View File

@ -0,0 +1,19 @@
---
- name: set parameter_defaults for config_heat_extra.yaml
set_fact:
config_heat_extra_yaml:
parameter_defaults: "{{ install.get('config', {}).get('heat', {}) }}"
when: install.get('config', {}).get('heat', {})
- name: set resource_registry for config_heat_extra.yaml
vars:
config_resource: "{{ install.get('config', {}).get('resource', {}) }}"
set_fact:
config_heat_extra_yaml: "{{ config_heat_extra_yaml | default({}) | combine({'resource_registry': config_resource}) }}"
when: install.get('config', {}).get('resource', {})
- name: inject config_heat_extra.yaml
copy:
dest: "{{ install.deployment.files | basename }}/config_heat_extra.yaml"
content: "{{ config_heat_extra_yaml | to_nice_yaml }}"
when: config_heat_extra_yaml is defined

View File

@ -14,6 +14,11 @@
- name: get auxiliary facts for major upgrades
import_tasks: ../common/auxilary-facts.yaml
# TODO: Not comptatible with oooq
- name: Build extra templates based on new options.
import_tasks: ../common/build_extra_template.yaml
when: not use_oooq|bool
- name: create update workaround scripts
template:
src: workarounds.sh.j2

View File

@ -36,6 +36,9 @@ openstack overcloud update converge \
{% if cli_converted_options|default(false)|bool -%}
-e {{working_dir}}/cli_opts_params.yaml \
{% endif -%}
{% if config_heat_extra_yaml is defined -%}
-e {{ working_dir }}/{{ install.deployment.files | basename }}/config_heat_extra.yaml \
{% endif -%}
{% if roles_data != default_roles_data -%}
--roles-file {{ roles_data }} \
{% endif -%}

View File

@ -33,6 +33,9 @@ openstack overcloud update prepare --templates {{ tht_directory }} \
{% if cli_converted_options|default(false)|bool -%}
-e {{working_dir}}/cli_opts_params.yaml \
{% endif -%}
{% if config_heat_extra_yaml is defined -%}
-e {{ working_dir }}/{{ install.deployment.files | basename }}/config_heat_extra.yaml \
{% endif -%}
{% if roles_data != default_roles_data -%}
--roles-file {{ roles_data }} \
{% endif -%}