From 551b7528c86316bd5acdf994d800a24ec9a34586 Mon Sep 17 00:00:00 2001 From: ramishra Date: Sat, 13 Feb 2021 09:22:11 +0530 Subject: [PATCH] Handle network config override It was earlier possible to override network config for undercloud with a custom config using ``net_config_override`` in undercloud.conf or with ``UndercloudNetConfigOverride`` parameter. Though it's now possible to change ``UndercloudNetworkConfigTemplate`` parameter to override the default config, we probably still need to support``net_config_override`` and ``UndercloudNetConfigOverride`` for backward compatibility. Closes-Bug: #1915585 Depends-On: https://review.opendev.org/c/openstack/tripleo-heat-templates/+/775471 Change-Id: Ied2caf9cd5c1b14d30d0badb4e949f620263c96e --- .../tripleo_network_config/defaults/main.yml | 1 + .../tasks/os_net_config.yml | 21 ++++++++++++++++--- 2 files changed, 19 insertions(+), 3 deletions(-) diff --git a/tripleo_ansible/roles/tripleo_network_config/defaults/main.yml b/tripleo_ansible/roles/tripleo_network_config/defaults/main.yml index 6983823e8..fce3eb29c 100644 --- a/tripleo_ansible/roles/tripleo_network_config/defaults/main.yml +++ b/tripleo_ansible/roles/tripleo_network_config/defaults/main.yml @@ -31,3 +31,4 @@ tripleo_network_config_os_net_config_mappings: {} tripleo_network_config_safe_defaults: true tripleo_network_config_with_ansible: false tripleo_network_config_template: templates/single_nic_vlan.j2 +tripleo_network_config_override: {} diff --git a/tripleo_ansible/roles/tripleo_network_config/tasks/os_net_config.yml b/tripleo_ansible/roles/tripleo_network_config/tasks/os_net_config.yml index 0ad82741a..f671615a4 100644 --- a/tripleo_ansible/roles/tripleo_network_config/tasks/os_net_config.yml +++ b/tripleo_ansible/roles/tripleo_network_config/tasks/os_net_config.yml @@ -22,7 +22,18 @@ block: - name: Set nic_config_file fact set_fact: - nic_config_file: "{{ (tripleo_network_config_with_ansible|bool) | ternary('/etc/os-net-config/config.yaml', '/etc/os-net-config/config.json') }}" + nic_config_file: "{{ (tripleo_network_config_with_ansible|bool) \ + | ternary('/etc/os-net-config/config.yaml', \ + '/etc/os-net-config/config.json') }}" + - name: Render overidden network config + no_log: "{{ tripleo_network_config_hide_sensitive_logs | bool }}" + copy: + content: "{{tripleo_network_config_override | to_yaml}}" + dest: "{{ nic_config_file }}" + mode: 0600 + backup: true + when: + - tripleo_network_config_override.keys()|length > 0 - name: Render network_config no_log: "{{ tripleo_network_config_hide_sensitive_logs | bool }}" template: @@ -30,7 +41,9 @@ dest: "{{ nic_config_file }}" mode: 0600 backup: true - when: not tripleo_network_config_with_ansible|bool + when: + - not tripleo_network_config_with_ansible|bool + - tripleo_network_config_override.keys()|length == 0 - name: Render network_config from template no_log: "{{ tripleo_network_config_hide_sensitive_logs | bool }}" template: @@ -38,7 +51,9 @@ dest: "{{ nic_config_file }}" mode: 0600 backup: true - when: tripleo_network_config_with_ansible|bool + when: + - tripleo_network_config_with_ansible|bool + - tripleo_network_config_override.keys()|length == 0 - name: Run tripleo_os_net_config_module with network_config tripleo_os_net_config: config_file: "{{ nic_config_file }}"