This repo contains the Ansible roles used to test the full mesh connectivity between your hosts.
This tool aims to help you with testing a full mesh connectivity between your nodes, both on IPv4 and IPv6. It was created as a helper tool for me to quickly test that network configurations created during development of network automation tools act preciesly as I expect: they either permit certain traffic flows or not; and I want to know that for sure.
The tool was originally created and tested for Ubuntu Linux. Other distributions require further testing and, probably, playbooks' modification.
The high-level workflow of the tool is the following:
- It collects all the IPv4 and IPv6 addresses configred at Linux hosts in
ansible_facts
. - Once the data is collected, the joint list of all IPv4 and IPv6 addresses is build.
- Then each host tries to reach all other IP addreses and document the result.
- Finally, the joint report is produced
In order to run the playbook, make sure you have Ansible Base 2.10+ version installed. The tool relies solely on ansible.builtin
collection, so no extra collections are needed. To get a connectivity report:
- Modify
hosts
file per your topology. - Run the playbook as
ansible-playbook validate_reachability.yaml
. - Wait...
- Once the playbook is finished, check
output/report.txt
file.
This repository supports our blog Karneliuk.com. Find the corresponding blogposts explaing these files.
Enroll to our Zero-To-Hero Network Automation Training. Study in online groups or in a self-paced mode.
Contact us with your request and we will find the most suitable solution for you.
(c)2022, Karneliuk.com