ansible-collections / community.network

Ansible Community Network Collection
http://galaxy.ansible.com/community/network
Other
124 stars 89 forks source link

Cumulus Linux: support for new nvue syntax #319

Open MEschenbacher opened 2 years ago

MEschenbacher commented 2 years ago
SUMMARY

Cumulus Linux now supports a new command line syntax nvue. Currently, there are some configurations which can not be done with nclu but only with nvue and vice versa, however, the documentation for nvue clearly states that one should not mix nclu and nvue commands:

IMPORTANT

Do not mix NVUE and NCLU commands to configure the switch; use either the NCLU CLI or the NVUE CLI.

Example for nclu lacking configuration options which nvue provides: https://docs.nvidia.com/networking-ethernet-software/cumulus-linux-44/Network-Virtualization/VXLAN-Devices/#single-vxlan-device

Example for nvue lacking configuration options which nclu provides: https://docs.nvidia.com/networking-ethernet-software/cumulus-linux-44/Layer-2/Ethernet-Bridging-VLANs/VLAN-aware-Bridge-Mode/#ipv6-link-local-address-generation

ISSUE TYPE
COMPONENT NAME

I propose either

ADDITIONAL INFORMATION

Example for option 2) (note the new parameter cli which should default to nclu but may be set to nvue.

- name: configure vrf
  community.network.nclu:
    cli: nvue
    template: |
      {% for name in ['internal', 'external'] %}
        set vrf {{name}} table auto
      {% endfor %}
MEschenbacher commented 2 years ago

Since recently, there is a warning on https://docs.nvidia.com/networking-ethernet-software/cumulus-linux-44/System-Configuration/Network-Command-Line-Utility-NCLU/

WARNING!

If you use automation to configure your switches, NVIDIA recommends that you do not use NCLU. Edit configuration files directly or use NVUE.

MEschenbacher commented 2 years ago

With the recent Cumulus Linux version 5.0.0, nvue is the default and all nclu is being replaced by nvue: https://docs.nvidia.com/networking-ethernet-software/cumulus-linux-50/Whats-New/

NOTE

Cumulus Linux 5.0.0 replaces NCLU with the NVUE object model. After you upgrade to Cumulus Linux 5.0.0, running NVUE configuration commands replaces the configuration in the applicable configuration files and removes any configuration you add manually or with automation tools like Ansible, Chef, or Puppet. To keep your configuration, you can do one of the following:

Update your automation tools to use NVUE. Configure NVUE to ignore certain underlying Linux files when applying configuration changes. Use Linux commands to configure the switch instead of NVUE.

Cumulus Linux 3.7, 4.3, and 4.4 releases continue to support NCLU. For more information, contact your NVIDIA Spectrum platform sales representative.