dmf

12Modules12Plugins

Overview

Description

Ansible Modules to Manage DANZ Monitoring Fabric

Readme

arista.dmf - Ansible Modules for DANZ Monitoring Fabric (DMF)

Description

Arista Networks supports Ansible for managing DANZ Monitoring Fabric (DMF) via DMF controllers.

Requirements

DANZ Monitoring Fabric

Python

  • Python3.10

Please check the minimum version supported by your ansible installation on Ansible Website

Additional Python Libraries required

Ansible version:

  • ansible >= 8.0 or ansible-core >= 2.15.0, < 2.17.0

3rd party Python libraries:

Requirements

Installation

Collection Installation

Ansible galaxy hosts all stable versions of this collection. Installation from ansible-galaxy is the most convenient approach for consuming arista.dmf content

ansible-galaxy collection install arista.dmf

Python Requirements Installation

In a shell, run the following commands after installing the collection from ansible-galaxy:

export ARISTA_DMF_DIR=$(ansible-galaxy collection list arista.dmf --format yaml | head -1 | cut -d: -f1)
pip3 install -r ${ARISTA_DMF_DIR}/arista/dmf/requirements.txt

Use Cases

Add TACACS server and update TACACS authentication order

- name: Add TACACS server
  arista.dmf.controller_aaa:
    state: present
    tacacs_ip: 1.1.1.1
    key: "020a0e570a0c1c25404f1a13011b13180600"
    key_type: encrypted
    verify_ssl: false

- name: Update TACACS Authentication order
  arista.dmf.controller_aaa:
    state: present
    auth_order: remote-before-local
    verify_ssl: false

Update banner

- name: "UPDATE BANNER"
  arista.dmf.controller_banner:
    state: present
    banner: "I'm Bruce, I am a banner"
    verify_ssl: False

Bootstrap a controller (using IPv4, L3ZTN)

- name: Controller Node Bootstrap
  ignore_errors: yes
  arista.dmf.controller_bootstrap:
    auth:
      recovery_password: admin
    hostname: ctrl-1
    ip_setting: ipv4
    ip_addresses:
      address_v4: 10.10.10.10
      prefix_v4: 25
      gateway_v4: 10.10.10.11
    cluster:
      state: new
      name: test-cluster
      address: 10.10.10.12
      password: admin
    dns:
      - 1.1.1.1
      - 8.8.8.8
    search_domain: arista.com
    console:
      address: 10.10.12.10
      conn_type: ssh
      port: 22
      ssh_auth:
        password: "{{ consolepassword }}"
        username: "testuser:7043"
    l3ztn: true
    ntp:
      state: default

Add 2 switches (1 core, and 1 filter), 1 service node and 1 recorder node

- name: "ADD SN, Switches,  AND RN NODES"
  arista.dmf.controller_node:
    node_type: "{{ item.type }}"
    node_name: "{{ item.name }}"
    node_mac: "{{ item.mac }}"
    state: present
    verify_ssl: False
  loop:
    - {type: "service", name: "sn", mac: "78:ac:44:05:65:da"}
    - {type: "packet-recorder", name: "rn", mac: "24:6e:96:c6:c2:88"}
    - {type: "switch", name: "core-1", mac: "f4:8e:38:71:6d:8f"}
    - {type: "switch", name: "filter-1", mac: "cc:37:ab:2c:97:ea"}
  loop_control:
    label: "{{ item.name }}"

Add SNMP host, remove SNMP host

- name: Add SNMP Host
  arista.dmf.controller_snmp:
    state: present
    snmp_host: 1.1.1.3
    udp_port: 8162
    verify_ssl: false

- name: Remove SNMP Host
  arista.dmf.controller_snmp:
    state: absent
    snmp_host: 1.1.1.3
    udp_port: 8162
    verify_ssl: false

Add syslog servers

- name: "Add Syslog Servers"
  arista.dmf.controller_syslog:
    state: present
    server: "{{ item }}"
    verify_ssl: False
  loop:
    - 8.8.8.8

Upgrade a cluster

- name: "UPGRADE"
  ignore_errors: True
  arista.dmf.controller_system:
    upgrade:
      image: "scp://dmf@10.10.10.10:/home/dmf/Downloads/DMF-8.2.0-Controller-Appliance-2022-04-22.iso"
      checksum: "0d0efb6e8e8272618b037441de1c099ebe84fa7ad8a0fdf557df64d1fe40fac9"
      scp_password: "dmf"
    verify_ssl: False

Add a user to a cluster

- name: "ADD USER"
  arista.dmf.controller_user:
    username: joe
    full_name: "Joe Bloggs"
    encrypted_password: "abc123"
    state: present
    verify_ssl: False
  diff: false

Factory reset

- name: "FACTORY RESET CTRL1 AND RN"
  arista.dmf.factory_reset:
    verify_ssl: False

Bootstrap a managed-appliance

- name: Recorder Node Bootstrap
  arista.dmf.node_bootstrap:
    auth:
      recovery_password: admin
      admin_password: admin
    hostname: rn
    ip_setting: ipv4
    ip_addresses:
      address_v4: 10.10.10.10
      prefix_v4: 25
      gateway_v4: 10.10.10.11
    controller: 10.10.10.12
    dns:
      - 1.1.1.1
      - 8.8.8.8
    search_domain: arista.com
    console:
      address: 10.10.12.10
      conn_type: ssh
      port: 22
      ssh_auth:
        password: "{{ consolepassword }}"
        username: "testuser:7025"
    ntp:
      state: default

Add recorder node interface

- name: "ADD RECORDER INTERFACE"
  arista.dmf.recorder_interface:
    switch_name: filter-1
    switch_intf: ethernet6
    description: "Added via Ansible"
    state: present
    verify_ssl: False

Testing

The ansible modules in this collection have been tested against the following DMF releases:

We do not guarantee compatability with other release versions.

Support

Collection overview

This repository provides content for Ansible's collection arista.dmf with the following content:

List of available modules

Submiting support requests

Customer support is available around the globe. A list of various support links is available on the Arista Customer Support Website

Release Notes and Roadmap

Changelog

Related Information

Please see Arista Networks documentation page in order to retrieve useful references on the DMF product

License Information

The project is published under Apache License.

Certification

Product
2.4
DocumentationDependencies
No dependencies
There are currently no dependencies for this collection.
View in Automation Hub
Red Hat logoLinkedInYouTubeFacebookTwitter

Platforms

Products & services

Try, buy, sell

Help

About Red Hat Ecosystem Catalog

The Red Hat Ecosystem Catalog is the official source for discovering and learning more about the Red Hat Ecosystem of both Red Hat and certified third-party products and services.

We’re the world’s leading provider of enterprise open source solutions—including Linux, cloud, container, and Kubernetes. We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2025 Red Hat