diff --git a/ansible/group_vars/switches/type b/ansible/group_vars/switches/type deleted file mode 100644 index 5f0ea8d1d..000000000 --- a/ansible/group_vars/switches/type +++ /dev/null @@ -1,7 +0,0 @@ ---- -############################################################################### -# Switch type configuration. - -# This configures the type of switch, which is used to determine how the switch -# will be configured. -switch_type: diff --git a/ansible/physical-network.yml b/ansible/physical-network.yml index 9166ada8e..f75061016 100644 --- a/ansible/physical-network.yml +++ b/ansible/physical-network.yml @@ -19,6 +19,12 @@ # Set this variable to True in order to display the candidate switch # configuration and exit without applying it. physical_network_display: False + # List of supported values for the 'switch_type' variable. + supported_switch_types: + - dell + - dell-powerconnect + - junos + - mellanox tasks: - name: Fail if both interface name and description limits are specified fail: @@ -29,6 +35,14 @@ - physical_network_interface_limit != '' - physical_network_interface_description_limit != '' + - name: Fail if the switch type is not defined + fail: + msg: > + The switch type is not defined or is unrecognised. Configure the type + of each host in the 'switches' group via the 'switch_type' variable. + when: switch_type is not defined or + switch_type not in supported_switch_types + - name: Group hosts by their switch type group_by: key: "switches_of_type_{{ switch_type }}"