diff --git a/ansible/group_vars/switches/mellanox b/ansible/group_vars/switches/mellanox new file mode 100644 index 000000000..7cb697916 --- /dev/null +++ b/ansible/group_vars/switches/mellanox @@ -0,0 +1,12 @@ +--- +# Switch configuration. + +############################################################################### +# Authentication configuration. + +# For Mellanox switches, this defines a 'provider' argument to the +# mellanox-switch role. +switch_mellanox_provider: + host: "{{ ansible_host }}" + username: "{{ ansible_user }}" + auth_pass: "{{ switch_auth_pass }}" diff --git a/ansible/physical-network.yml b/ansible/physical-network.yml index f75061016..e5ca01505 100644 --- a/ansible/physical-network.yml +++ b/ansible/physical-network.yml @@ -119,3 +119,15 @@ junos_switch_config_format: "{{ switch_junos_config_format }}" junos_switch_config: "{{ switch_config }}" junos_switch_interface_config: "{{ switch_interface_config }}" + +- name: Ensure Mellanox physical switches are configured + hosts: switches_of_type_mellanox:&switches_in_display_mode_False + gather_facts: no + roles: + - role: ssh-known-host + + - role: stackhpc.mellanox-switch + mellanox_switch_type: "{{ switch_type }}" + mellanox_switch_provider: "{{ switch_mellanox_provider }}" + mellanox_switch_config: "{{ switch_config }}" + mellanox_switch_interface_config: "{{ switch_interface_config }}" diff --git a/releasenotes/notes/mellanox-switch-cb82a8c278f5e652.yaml b/releasenotes/notes/mellanox-switch-cb82a8c278f5e652.yaml new file mode 100644 index 000000000..10745ed4a --- /dev/null +++ b/releasenotes/notes/mellanox-switch-cb82a8c278f5e652.yaml @@ -0,0 +1,5 @@ +--- +features: + - | + Adds support for configuration of Mellanox switches running MLNX-OS. This + is integrated with the `kayobe physical network configure` command. diff --git a/requirements.yml b/requirements.yml index 425393df9..c7e63ac0a 100644 --- a/requirements.yml +++ b/requirements.yml @@ -14,6 +14,7 @@ - src: stackhpc.grafana-conf - src: stackhpc.libvirt-host - src: stackhpc.libvirt-vm +- src: stackhpc.mellanox-switch - src: stackhpc.os-flavors - src: stackhpc.os-images - src: stackhpc.os-ironic-state