From bffa56cc8e3ccde69618463a08cb2a6d7171563a Mon Sep 17 00:00:00 2001 From: Milisha-Gupta Date: Mon, 3 Mar 2025 15:56:54 +0530 Subject: [PATCH 1/5] changes for nic_name to oim_nic_name --- .../common/tasks/assign_network_interface.yml | 8 ++++---- .../common/tasks/validate_admin_nic.yml | 4 ++-- .../common/tasks/validate_bmc_nic.yml | 4 ++-- .../roles/discovery_validations/common/vars/main.yml | 6 +++--- .../mtms/tasks/validate_bmc_mechanism.yml | 2 +- .../discovery_validations/switch_based/vars/main.yml | 2 +- input/network_spec.yml | 4 ++-- input/provision_config.yml | 2 +- .../tasks/validate_network_spec.yml | 2 +- .../provision/validation/validate_network_address.py | 2 +- .../import_input_parameters/templates/1.7/network_spec.j2 | 4 ++-- .../templates/1.7/provision_config.j2 | 2 +- utils/obsolete/configure_pxe_static.yml | 8 ++++---- 13 files changed, 25 insertions(+), 25 deletions(-) diff --git a/discovery/roles/discovery_validations/common/tasks/assign_network_interface.yml b/discovery/roles/discovery_validations/common/tasks/assign_network_interface.yml index 6628f0c0a..3a3bd53a8 100644 --- a/discovery/roles/discovery_validations/common/tasks/assign_network_interface.yml +++ b/discovery/roles/discovery_validations/common/tasks/assign_network_interface.yml @@ -22,7 +22,7 @@ ansible.builtin.set_fact: bmc_details_status: true when: - - network_data.bmc_network.nic_name | default("", true) | length > 0 + - network_data.bmc_network.oim_nic_name | default("", true) | length > 0 - network_data.bmc_network.netmask_bits | default("", true) | length > 0 - network_data.bmc_network.static_range | default("", true) | length > 0 - network_data.bmc_network.dynamic_range | default("", true) | length > 0 @@ -40,15 +40,15 @@ network_interface_type: "lom" when: - bmc_details_status - - network_data.admin_network.nic_name == network_data.bmc_network.nic_name + - network_data.admin_network.oim_nic_name == network_data.bmc_network.oim_nic_name - name: Assign Dedicated to network_interface_type ansible.builtin.set_fact: network_interface_type: "dedicated" when: - (not bmc_details_status) or - (network_data.bmc_network.nic_name | default("", true) | length > 1 - and network_data.admin_network.nic_name != network_data.bmc_network.nic_name) + (network_data.bmc_network.oim_nic_name | default("", true) | length > 1 + and network_data.admin_network.oim_nic_name != network_data.bmc_network.oim_nic_name) rescue: - name: Failed to initialize network interface type ansible.builtin.fail: diff --git a/discovery/roles/discovery_validations/common/tasks/validate_admin_nic.yml b/discovery/roles/discovery_validations/common/tasks/validate_admin_nic.yml index 27f14565a..95d95d7a7 100644 --- a/discovery/roles/discovery_validations/common/tasks/validate_admin_nic.yml +++ b/discovery/roles/discovery_validations/common/tasks/validate_admin_nic.yml @@ -16,7 +16,7 @@ - name: Validate admin_nic details ansible.builtin.assert: that: - - network_data.admin_network.nic_name | default("", true) | length > 0 + - network_data.admin_network.oim_nic_name | default("", true) | length > 0 - network_data.admin_network.netmask_bits | default("", true) | length > 0 - network_data.admin_network.static_range | default("", true) | length > 0 - network_data.admin_network.dynamic_range | default("", true) | length > 0 @@ -91,7 +91,7 @@ - name: Set admin_nic_ip and admin_nic ansible.builtin.set_fact: admin_nic_ip: "{{ network_data.admin_network.primary_oim_admin_ip }}" - admin_nic: "{{ network_data.admin_network.nic_name }}" + admin_nic: "{{ network_data.admin_network.oim_nic_name }}" - name: Ensure NIC exists on the system ansible.builtin.assert: diff --git a/discovery/roles/discovery_validations/common/tasks/validate_bmc_nic.yml b/discovery/roles/discovery_validations/common/tasks/validate_bmc_nic.yml index 3b4e96297..73102b1dd 100644 --- a/discovery/roles/discovery_validations/common/tasks/validate_bmc_nic.yml +++ b/discovery/roles/discovery_validations/common/tasks/validate_bmc_nic.yml @@ -20,7 +20,7 @@ - name: Validate bmc_nic details ansible.builtin.assert: that: - - network_data.bmc_network.nic_name | default("", true) | length > 0 + - network_data.bmc_network.oim_nic_name | default("", true) | length > 0 - network_data.bmc_network.netmask_bits | default("", true) | length > 0 - network_data.bmc_network.static_range | default("", true) | length > 0 - network_data.bmc_network.dynamic_range | default("", true) | length > 0 @@ -194,7 +194,7 @@ - name: Set bmc_ip ansible.builtin.set_fact: bmc_nic_ip: "{{ script_output.stdout }}" - bmc_nic: "{{ network_data.bmc_network.nic_name }}" + bmc_nic: "{{ network_data.bmc_network.oim_nic_name }}" when: - script_output.rc == 0 diff --git a/discovery/roles/discovery_validations/common/vars/main.yml b/discovery/roles/discovery_validations/common/vars/main.yml index 002012378..4e5541bbb 100644 --- a/discovery/roles/discovery_validations/common/vars/main.yml +++ b/discovery/roles/discovery_validations/common/vars/main.yml @@ -79,11 +79,11 @@ repo_config_metadata_fail_msg: "Failed: Cannot change repo_config in subsequent # Usage: assign_network_interface.yml network_interface_fail_msg: "Failed. Please provide a valid network interface type." warning_msg_bmc_network_details_incomplete: "Warning, BMC network details incomplete. BMC discovery and support will be skipped. -Note: nic_name, netmask_bits, static_range and dynamic_range are mandatory parameters under bmc_network in network_spec.yml for bmc discover" +Note: oim_nic_name, netmask_bits, static_range and dynamic_range are mandatory parameters under bmc_network in network_spec.yml for bmc discover" # Usage: validate_admin_nic.yml success_msg_admin_nic_details: "Admin nic details validated" -fail_msg_admin_nic_details: "Failed. Invalid admin_nic details (nic_name, netmask_bits, static_range or dynamic_range) in network_spec file." +fail_msg_admin_nic_details: "Failed. Invalid admin_nic details (oim_nic_name, netmask_bits, static_range or dynamic_range) in network_spec file." fail_msg_admin_netmask_bits: "Failed. Invalid Admin netmask_bits provided in network_spec file." success_subnet: "The subnet provided is validated" fail_subnet: "Failed. Please provide proper subnet with netmask {{ omnia_admin_netmask }} in provision_config.yml" @@ -109,7 +109,7 @@ success_msg_bmc_nic_details: "BMC nic details validated" bmc_params_success_msg: "Successfully validated bmc network params" bmc_params_failure_msg: "Failed. Please provide proper input parameters for bmc network in network_spec file." fail_msg_bmc_netmask_bits: "Failed. Invalid BMC netmask_bits provided in network_spec file." -fail_msg_bmc_nic_details: "Failed. Invalid bmc_network details (nic_name, netmask_bits, static_range or dynamic_range) in network_spec file." +fail_msg_bmc_nic_details: "Failed. Invalid bmc_network details (oim_nic_name, netmask_bits, static_range or dynamic_range) in network_spec file." bmc_nic_start: "{{ bmc_nic_subnet.split('.')[0] + '.' + bmc_nic_subnet.split('.')[1] + '.' + pxe_nic_start_range.split('.')[-2] + '.' + pxe_nic_start_range.split('.')[-1] }}" bmc_nic_end: "{{ bmc_nic_subnet.split('.')[0] + '.' + bmc_nic_subnet.split('.')[1] + '.' diff --git a/discovery/roles/discovery_validations/mtms/tasks/validate_bmc_mechanism.yml b/discovery/roles/discovery_validations/mtms/tasks/validate_bmc_mechanism.yml index 707ec90e3..b24c320f3 100644 --- a/discovery/roles/discovery_validations/mtms/tasks/validate_bmc_mechanism.yml +++ b/discovery/roles/discovery_validations/mtms/tasks/validate_bmc_mechanism.yml @@ -21,7 +21,7 @@ ansible.builtin.set_fact: discovery_mech_bmc: true when: - - network_data.bmc_network.nic_name | default('', true) | length > 0 + - network_data.bmc_network.oim_nic_name | default('', true) | length > 0 - network_data.bmc_network.static_range | length > 0 - network_data.bmc_network.dynamic_range | length > 0 - network_data.bmc_network.netmask_bits | int >= 1 diff --git a/discovery/roles/discovery_validations/switch_based/vars/main.yml b/discovery/roles/discovery_validations/switch_based/vars/main.yml index ed88d98b2..10d3aaaf0 100644 --- a/discovery/roles/discovery_validations/switch_based/vars/main.yml +++ b/discovery/roles/discovery_validations/switch_based/vars/main.yml @@ -29,6 +29,6 @@ switch_snmp3_password_fail_msg: "Failed. Incorrect switch_snmp3_username or swit # Usage: validate_bmc_details_status.yml bmc_network_details_fail_msg: "Failed. bmc_network details should be provided in network_spec.yml when enable_switch_based is set true. -nic_name, netmask_bits, static_range and dynamic_range are mandatory parameters under bmc_network in network_spec.yml for switch discovery of nodes" +oim_nic_name, netmask_bits, static_range and dynamic_range are mandatory parameters under bmc_network in network_spec.yml for switch discovery of nodes" bmc_discovery_warning_msg: "[WARNING] bmc discovery will be skipped when enable_switch_based is set true in provision_config.yml. Either switch_based discovery or bmc discovery allowed during execution of discovery_provision.yml." diff --git a/input/network_spec.yml b/input/network_spec.yml index 54bcfd95d..b79535b06 100644 --- a/input/network_spec.yml +++ b/input/network_spec.yml @@ -1,7 +1,7 @@ --- Networks: - admin_network: - nic_name: "eno1" + oim_nic_name: "eno1" netmask_bits: "16" primary_oim_admin_ip: "10.5.255.254" static_range: "10.5.0.1-10.5.0.200" @@ -13,7 +13,7 @@ MTU: "1500" - bmc_network: - nic_name: "" + oim_nic_name: "" netmask_bits: "" static_range: "" dynamic_range: "" diff --git a/input/provision_config.yml b/input/provision_config.yml index 120e28a41..44a942c0d 100644 --- a/input/provision_config.yml +++ b/input/provision_config.yml @@ -49,7 +49,7 @@ pxe_mapping_file_path: "" # If enable_switch_based is set to true, Following inputs should be provided: # switch_based_details should be provided in provision_config.yml # switch_snmp3_username and switch_snmp3_password should be provided in provision_config_credentials.yml -# bmc_network details with nic_name, netmask_bits, static_range and dynamic_range should be provided in network_spec.yml +# bmc_network details with oim_nic_name, netmask_bits, static_range and dynamic_range should be provided in network_spec.yml # Warning: If enable_switch_based is set to true, bmc discovery will be skipped. # For enabling bmc discovery, set enable_switch_based to false and provide bmc_network details in network_spec.yml # It accepts true and false values diff --git a/prepare_oim/roles/prepare_oim_validation/tasks/validate_network_spec.yml b/prepare_oim/roles/prepare_oim_validation/tasks/validate_network_spec.yml index 05a11af38..92325de91 100644 --- a/prepare_oim/roles/prepare_oim_validation/tasks/validate_network_spec.yml +++ b/prepare_oim/roles/prepare_oim_validation/tasks/validate_network_spec.yml @@ -16,7 +16,7 @@ - name: Set admin network nic and ip ansible.builtin.set_fact: admin_nic_ip: "{{ network_data.admin_network.primary_oim_admin_ip }}" - admin_nic: "{{ network_data.admin_network.nic_name }}" + admin_nic: "{{ network_data.admin_network.oim_nic_name }}" admin_netmask_bits: "{{ network_data.admin_network.netmask_bits }}" - name: Ensure NIC exists on the system diff --git a/shared_libraries/provision/validation/validate_network_address.py b/shared_libraries/provision/validation/validate_network_address.py index 7e4bd3758..c1a9e250d 100644 --- a/shared_libraries/provision/validation/validate_network_address.py +++ b/shared_libraries/provision/validation/validate_network_address.py @@ -47,7 +47,7 @@ def main(): network_data = json.loads(network_string) network_interface = sys.argv[1] network_interface_ip = [] - result = subprocess.run(['ip', 'addr', 'show', network_data[network_interface]["nic_name"]], capture_output=True, text=True, check=True) + result = subprocess.run(['ip', 'addr', 'show', network_data[network_interface]["oim_nic_name"]], capture_output=True, text=True, check=True) for ip in result.stdout.split("inet ")[1:]: network_interface_ip.append(ip.split()[0]) diff --git a/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 b/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 index ef7e7d996..566500d39 100644 --- a/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 +++ b/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 @@ -8,7 +8,7 @@ Networks: {% endif %} {% if network_type == 'admin_network' %} - {{ network_type }}: - nic_name: "{{ details.nic_name }}" + oim_nic_name: "{{ details.oim_nic_name }}" netmask_bits: "{{ details.netmask_bits }}" static_range: "{{ details.static_range }}" dynamic_range: "{{ details.dynamic_range }}" @@ -20,7 +20,7 @@ Networks: {% elif network_type == 'bmc_network' %} - {{ network_type }}: - nic_name: "{{ details.nic_name }}" + oim_nic_name: "{{ details.oim_nic_name }}" netmask_bits: "{{ details.netmask_bits }}" static_range: "{{ details.static_range }}" dynamic_range: "{{ details.dynamic_range }}" diff --git a/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 b/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 index 4ef00dfa4..19d8be076 100644 --- a/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 +++ b/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 @@ -57,7 +57,7 @@ pxe_mapping_file_path: "{{ provision_config_ns.pxe_mapping_file_path }}" # Value # If enable_switch_based is set to true, Following inputs should be provided: # switch_based_details should be provided in provision_config.yml # switch_snmp3_username and switch_snmp3_password should be provided in provision_config_credentials.yml -# bmc_network details with nic_name, netmask_bits, static_range and dynamic_range should be provided in network_spec.yml +# bmc_network details with oim_nic_name, netmask_bits, static_range and dynamic_range should be provided in network_spec.yml # Warning: If enable_switch_based is set to true, bmc discovery will be skipped. # For enabling bmc discovery, set enable_switch_based to false and provide bmc_network details in network_spec.yml # It accepts true and false values diff --git a/utils/obsolete/configure_pxe_static.yml b/utils/obsolete/configure_pxe_static.yml index 2c0722825..d70c267bd 100644 --- a/utils/obsolete/configure_pxe_static.yml +++ b/utils/obsolete/configure_pxe_static.yml @@ -76,17 +76,17 @@ - name: Remove extra characters from connection name ansible.builtin.set_fact: - nic_name: "{{ nic_conn_name[1:-1] }}" + oim_nic_name: "{{ nic_conn_name[1:-1] }}" when: '" " in nic_conn_name' - name: Save nic connection when extra characters are not available ansible.builtin.set_fact: - nic_name: "{{ nic_conn_name }}" + oim_nic_name: "{{ nic_conn_name }}" when: '" " not in nic_conn_name' - name: Change IP from dhcp to static with DNS entries ansible.builtin.nmcli: - conn_name: '{{ nic_name }}' + conn_name: '{{ oim_nic_name }}' type: ethernet ip4: '{{ ip_prefix.stdout }}' gw4: '{{ prev_gateway }}' @@ -96,7 +96,7 @@ - name: Change IP from dhcp to static without DNS entries ansible.builtin.nmcli: - conn_name: '{{ nic_name }}' + conn_name: '{{ oim_nic_name }}' type: ethernet ip4: '{{ ip_prefix.stdout }}' gw4: '{{ prev_gateway }}' From e3d31045ed8671ec6ffd48be036d3f64336823b6 Mon Sep 17 00:00:00 2001 From: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> Date: Mon, 3 Mar 2025 21:44:36 +0530 Subject: [PATCH 2/5] Update configure_pxe_static.yml Signed-off-by: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> --- utils/obsolete/configure_pxe_static.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/utils/obsolete/configure_pxe_static.yml b/utils/obsolete/configure_pxe_static.yml index d70c267bd..2c0722825 100644 --- a/utils/obsolete/configure_pxe_static.yml +++ b/utils/obsolete/configure_pxe_static.yml @@ -76,17 +76,17 @@ - name: Remove extra characters from connection name ansible.builtin.set_fact: - oim_nic_name: "{{ nic_conn_name[1:-1] }}" + nic_name: "{{ nic_conn_name[1:-1] }}" when: '" " in nic_conn_name' - name: Save nic connection when extra characters are not available ansible.builtin.set_fact: - oim_nic_name: "{{ nic_conn_name }}" + nic_name: "{{ nic_conn_name }}" when: '" " not in nic_conn_name' - name: Change IP from dhcp to static with DNS entries ansible.builtin.nmcli: - conn_name: '{{ oim_nic_name }}' + conn_name: '{{ nic_name }}' type: ethernet ip4: '{{ ip_prefix.stdout }}' gw4: '{{ prev_gateway }}' @@ -96,7 +96,7 @@ - name: Change IP from dhcp to static without DNS entries ansible.builtin.nmcli: - conn_name: '{{ oim_nic_name }}' + conn_name: '{{ nic_name }}' type: ethernet ip4: '{{ ip_prefix.stdout }}' gw4: '{{ prev_gateway }}' From 047b15c5b9e238ffc070567a8e90f6d7d8f96c75 Mon Sep 17 00:00:00 2001 From: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> Date: Mon, 3 Mar 2025 21:45:18 +0530 Subject: [PATCH 3/5] Update provision_config.j2 Signed-off-by: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> --- .../import_input_parameters/templates/1.7/provision_config.j2 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 b/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 index 19d8be076..4ef00dfa4 100644 --- a/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 +++ b/upgrade/roles/import_input_parameters/templates/1.7/provision_config.j2 @@ -57,7 +57,7 @@ pxe_mapping_file_path: "{{ provision_config_ns.pxe_mapping_file_path }}" # Value # If enable_switch_based is set to true, Following inputs should be provided: # switch_based_details should be provided in provision_config.yml # switch_snmp3_username and switch_snmp3_password should be provided in provision_config_credentials.yml -# bmc_network details with oim_nic_name, netmask_bits, static_range and dynamic_range should be provided in network_spec.yml +# bmc_network details with nic_name, netmask_bits, static_range and dynamic_range should be provided in network_spec.yml # Warning: If enable_switch_based is set to true, bmc discovery will be skipped. # For enabling bmc discovery, set enable_switch_based to false and provide bmc_network details in network_spec.yml # It accepts true and false values From 15d6aca41b75d05beed4335c374eabe3ba8e72b6 Mon Sep 17 00:00:00 2001 From: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> Date: Mon, 3 Mar 2025 22:20:29 +0530 Subject: [PATCH 4/5] Update validate_inventory_file.py Signed-off-by: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> --- .../provision/server_spec_update/validate_inventory_file.py | 1 + 1 file changed, 1 insertion(+) diff --git a/shared_libraries/provision/server_spec_update/validate_inventory_file.py b/shared_libraries/provision/server_spec_update/validate_inventory_file.py index 19e336aa5..52115ad77 100644 --- a/shared_libraries/provision/server_spec_update/validate_inventory_file.py +++ b/shared_libraries/provision/server_spec_update/validate_inventory_file.py @@ -37,6 +37,7 @@ def validate_inventory(category_list, hostvars): # Remove localhost from inventory hostvars.pop('localhost','none') + hostvars.pop('omnia_provision','none') # Validate hosts in inventory file for host, host_data in hostvars.items(): From 6ab48be26dea6e9ba2e8fd4fb4e3b7d693160c50 Mon Sep 17 00:00:00 2001 From: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> Date: Mon, 3 Mar 2025 22:21:41 +0530 Subject: [PATCH 5/5] Update network_spec.j2 Signed-off-by: Milisha Gupta <52577117+Milisha-Gupta@users.noreply.github.com> --- .../import_input_parameters/templates/1.7/network_spec.j2 | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 b/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 index 566500d39..ef7e7d996 100644 --- a/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 +++ b/upgrade/roles/import_input_parameters/templates/1.7/network_spec.j2 @@ -8,7 +8,7 @@ Networks: {% endif %} {% if network_type == 'admin_network' %} - {{ network_type }}: - oim_nic_name: "{{ details.oim_nic_name }}" + nic_name: "{{ details.nic_name }}" netmask_bits: "{{ details.netmask_bits }}" static_range: "{{ details.static_range }}" dynamic_range: "{{ details.dynamic_range }}" @@ -20,7 +20,7 @@ Networks: {% elif network_type == 'bmc_network' %} - {{ network_type }}: - oim_nic_name: "{{ details.oim_nic_name }}" + nic_name: "{{ details.nic_name }}" netmask_bits: "{{ details.netmask_bits }}" static_range: "{{ details.static_range }}" dynamic_range: "{{ details.dynamic_range }}"