-
Notifications
You must be signed in to change notification settings - Fork 144
Network: Meraki
THIS PAGE IS OLD and no longer maintained. For questions, please use the Ansible forum.
- Ansible 2.9 is likely to be a release with lots of changes to the Meraki modules. They may break your playbooks so keep an eye on this page for details on all changes.
- Ansible v2.8 now ships with 14 Meraki modules !
- Feedback is very much appreciated.
Name | GitHub (+ IRC) | Role | Affiliation |
---|---|---|---|
Kevin Breit | kbreit / mrproper | Lead |
Add yourself to this list as a Reviewer (help review PRs) or as a Member (discuss issues/roadmap).
I am very much looking for feedback on how you use, or would use, these modules. Please submit issues on the Ansible New Issues page if you would like to see functionality changed or enhanced.
- Modules do not respect Meraki’s rate limiting of 5 requests per second, per organization. Do not use Ansible forking or async with Meraki until the rate limiting is supported.
- Using HTTP (no SSL) turns PUT/POST/DELETE in to GET requests (on purpose?)
- API does not enforce Organizations to have unique names
- API idempotency issues
- Requires POST for creating and PUT (id) for updating
- DELETE is not idempotent, only works when exists
- VLANs are not enabled by default on a network. Ansible 2.9 will have support for enabling and disabling VLANs via the API. In the meantime, a network must have VLANs enabled via the Dashboard web interface.
- meraki_organization
- meraki_network
- meraki_admin
- meraki_snmp
- meraki_config_template
- meraki_device
- meraki_mr_l3_firewall
- meraki_mx_l3_firewall
- meraki_snmp
- meraki_ssid
- meraki_switchport
- meraki_vlan
- meraki_syslog
- meraki_content_filtering
- meraki_static_route
For details of Meraki related issues and pull request status, please see the Ansible Meraki Trello board.
Completed
- Modules always return data. Make it actually idempotent.
In Progress
- Convert returned data from camelCase to snake_case
- Develop Meraki connection plugin (uncertain)
- Enable/disable VLANs on network
- Massive bugfix and code quality improvements
- Add support for check mode
- Create modules for the following categories:
- MX layer 7 firewall rules
- MX malware protection settings
- Clients
- MX VPN firewall
- MX cellular firewall
- Network VPN settings
- Support for forthcoming BulkAction API, if appropriate
- Wireless health facts
- BLE
- Webhook HTTP configuration
- Service access controls
- Add support for new features
- Network alert configuration
Each Meraki module includes a suite of integration tests which help validate module functionality. Running the test is easy once you do a couple of setup steps.
- Setup your development environment as described at the Ansible Module Development web page. If you've already done this, run
$ . venv/bin/activate && . hacking/env-setup
from the root directory of the Ansible code base. - Rename the template file located at
/test/integration/inventory.networking.template
to/test/integration/inventory.networking
. - Edit the
inventory.networking
file with the following variables:
-
auth_key
- Authentication key as provided by the Meraki Dashboard. Required for all modules. -
test_org_name
- Name of organization which your tests will be conducted in. Required for most modules. -
test_org_id
- ID number of the organization which your tests will be conducted in. Required for some modules. Use the meraki_organization module to find the ID for the organization as this information isn't available in the dashboard. -
test_net_name
- Name of the network which your tests will be conducted in. Required for most modules. -
test_net_id
- ID number of the network which your tests will be conducted in. Required for some modules. Use the meraki_network module to find the ID of the network as this information isn't available in the dashboard.
This Wiki is used for quick notes, not for support or documentation.
Working groups are now in the Ansible forum
Ansible project:
Community,
Contributor Experience,
Docs,
News,
Outreach,
RelEng,
Testing
Cloud:
AWS,
Azure,
CloudStack,
Container,
DigitalOcean,
Docker,
hcloud,
Kubernetes,
Linode,
OpenStack,
oVirt,
Virt,
VMware
Networking:
ACI,
AVI,
F5,
Meraki,
Network,
NXOS
Ansible Developer Tools:
Ansible-developer-tools
Software:
Crypto,
Foreman,
GDrive,
GitLab,
Grafana,
IPA,
JBoss,
MongoDB,
MySQL,
PostgreSQL,
RabbitMQ,
Zabbix
System:
AIX,
BSD,
HP-UX,
macOS,
Remote Management,
Solaris,
Windows
Security:
Security-Automation,
Lockdown
Tooling:
AWX,
Galaxy,
Molecule
Plugins:
httpapi