community.routeros.facts – Collect facts from remote devices running MikroTik RouterOS

Note

This plugin is part of the community.routeros collection (version 1.2.0).

You might already have this collection installed if you are using the ansible package. It is not included in ansible-core. To check whether it is installed, run ansible-galaxy collection list.

To install it, use: ansible-galaxy collection install community.routeros.

To use it in a playbook, specify: community.routeros.facts.

Synopsis

  • Collects a base set of device facts from a remote device that is running RotuerOS. This module prepends all of the base network fact keys with ansible_net_<fact>. The facts module will always collect a base set of facts from the device and can enable or disable collection of additional facts.

Parameters

Parameter

Comments

gather_subset

string

When supplied, this argument will restrict the facts collected to a given subset. Possible values for this argument include all, hardware, config, and interfaces. Can specify a list of values to include a larger subset. Values can also be used with an initial ! to specify that a specific subset should not be collected.

Default: “!config”

Examples

- name: Collect all facts from the device
  community.routeros.facts:
    gather_subset: all

- name: Collect only the config and default facts
  community.routeros.facts:
    gather_subset:
      - config

- name: Do not collect hardware facts
  community.routeros.facts:
    gather_subset:
      - "!hardware"

Returned Facts

Facts returned by this module are added/updated in the hostvars host facts and can be referenced by name just like any other host fact. They do not need to be registered in order to use them.

Key

Description

ansible_net_all_ipv4_addresses

list / elements=string

All IPv4 addresses configured on the device

Returned: when interfaces is configured

ansible_net_all_ipv6_addresses

list / elements=string

All IPv6 addresses configured on the device

Returned: when interfaces is configured

ansible_net_arch

string

The CPU architecture of the device

Returned: always

ansible_net_bgp_instance

dictionary

The dict bgp instance

Returned: bgp instance information

ansible_net_bgp_peer

dictionary

The dict bgp peer

Returned: peer information

ansible_net_bgp_vpnv4_route

dictionary

The dict bgp vpnv4 route

Returned: vpnv4 route information

ansible_net_config

string

The current active config from the device

Returned: when config is configured

ansible_net_config_nonverbose

string

added in 1.2.0 of community.routeros

The current active config from the device in minimal form.

This value is idempotent in the sense that if the facts module is run twice and the device’s config was not changed between the runs, the value is identical. This is achieved by running /export and stripping the timestamp from the comment in the first line.

Returned: when config is configured

ansible_net_cpu_load

string

Current CPU load

Returned: always

ansible_net_gather_subset

list / elements=string

The list of fact subsets collected from the device

Returned: always

ansible_net_hostname

string

The configured hostname of the device

Returned: always

ansible_net_interfaces

dictionary

A hash of all interfaces running on the system

Returned: when interfaces is configured

ansible_net_memfree_mb

integer

The available free memory on the remote device in MiB

Returned: when hardware is configured

ansible_net_memtotal_mb

integer

The total memory on the remote device in MiB

Returned: when hardware is configured

ansible_net_model

string

The model name returned from the device

Returned: always

ansible_net_neighbors

dictionary

The list of neighbors from the remote device

Returned: when interfaces is configured

ansible_net_ospf_instance

dictionary

The dict ospf instance

Returned: ospf instance information

ansible_net_ospf_neighbor

dictionary

The dict ospf neighbor

Returned: ospf neighbor information

ansible_net_route

dictionary

The dict routes in all routing table

Returned: routes information in all routing table

ansible_net_serialnum

string

The serial number of the remote device

Returned: always

ansible_net_spacefree_mb

dictionary

The available disk space on the remote device in MiB

Returned: when hardware is configured

ansible_net_spacetotal_mb

dictionary

The total disk space on the remote device in MiB

Returned: when hardware is configured

ansible_net_uptime

string

The uptime of the device

Returned: always

ansible_net_version

string

The operating system version running on the remote device

Returned: always

Authors

  • Egor Zaitsev (@heuels)