nclu – Configure network interfaces using NCLU¶
Synopsis¶
- Interface to the Network Command Line Utility, developed to make it easier to configure operating systems running ifupdown2 and Quagga, such as Cumulus Linux. Command documentation is available at https://docs.cumulusnetworks.com/cumulus-linux/System-Configuration/Network-Command-Line-Utility-NCLU/
Parameters¶
Examples¶
- name: Add two interfaces without committing any changes
  nclu:
    commands:
        - add int swp1
        - add int swp2
- name: Modify hostname to Cumulus-1 and commit the change
  nclu:
    commands:
        - add hostname Cumulus-1
    commit: true
- name: Add 48 interfaces and commit the change.
  nclu:
    template: |
        {% for iface in range(1,49) %}
        add int swp{{iface}}
        {% endfor %}
    commit: true
    description: "Ansible - add swps1-48"
- name: Fetch Status Of Interface
  nclu:
    commands:
        - show interface swp1
  register: output
- name: Print Status Of Interface
  debug:
    var: output
- name: Fetch Details From All Interfaces In JSON Format
  nclu:
    commands:
        - show interface json
  register: output
- name: Print Interface Details
  debug:
    var: output["msg"]
- name: Atomically add an interface
  nclu:
    commands:
        - add int swp1
    atomic: true
    description: "Ansible - add swp1"
- name: Remove IP address from interface swp1
  nclu:
    commands:
        - del int swp1 ip address 1.1.1.1/24
- name: Configure BGP AS and add 2 EBGP neighbors using BGP Unnumbered
  nclu:
    commands:
        - add bgp autonomous-system 65000
        - add bgp neighbor swp51 interface remote-as external
        - add bgp neighbor swp52 interface remote-as external
    commit: true
- name: Configure BGP AS and Add 2 EBGP neighbors Using BGP Unnumbered via Template
  nclu:
    template: |
      {% for neighbor in range(51,53) %}
      add bgp neighbor swp{{neighbor}} interface remote-as external
      add bgp autonomous-system 65000
      {% endfor %}
    atomic: true
- name: Check BGP Status
  nclu:
    commands:
        - show bgp summary json
  register: output
- name: Print BGP Status In JSON
  debug:
    var: output["msg"]
Return Values¶
Common return values are documented here, the following are the fields unique to this module:
| Key | Returned | Description | 
|---|---|---|
| changed 
                  boolean
                                       | changed | whether the interface was changed Sample: True | 
| msg 
                  string
                                       | always | human-readable report of success or failure Sample: interface bond0 config updated | 
Status¶
- This module is not guaranteed to have a backwards compatible interface. [preview]
- This module is maintained by the Ansible Community. [community]
Authors¶
- Cumulus Networks (@isharacomix)
Hint
If you notice any issues in this documentation, you can edit this document to improve it.
