mirror of
https://github.com/zahodi/ansible-mikrotik.git
synced 2025-08-03 17:45:09 +02:00
185 lines
4.5 KiB
YAML
185 lines
4.5 KiB
YAML
---
|
|
- name: add eoip interface
|
|
mt_command:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
command: /interface/eoip/add
|
|
command_arguments:
|
|
name: eoip-interface1
|
|
ignore_errors: yes
|
|
|
|
- name: Add bridge1
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
state: present
|
|
parameter: bridge
|
|
settings:
|
|
name: "{{ item }}"
|
|
arp: proxy-arp
|
|
with_items:
|
|
- "bridge1"
|
|
|
|
- name: Add bridge1 again (idempotency test)
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
state: present
|
|
parameter: bridge
|
|
settings:
|
|
name: "{{ item }}"
|
|
arp: proxy-arp
|
|
with_items:
|
|
- "bridge1"
|
|
register: mod_bridge1
|
|
failed_when: (
|
|
not ansible_check_mode
|
|
) and (
|
|
( mod_bridge1 | changed )
|
|
)
|
|
|
|
# bridge ports depend on bridge being created first
|
|
|
|
- name: Add interface to bridge1 (port)
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge port"
|
|
state: present
|
|
settings:
|
|
bridge: "{{ item[0] }}"
|
|
interface: "{{ item[1] }}"
|
|
with_nested:
|
|
- [ "bridge1" ]
|
|
- [ "ether2" ]
|
|
|
|
- name: Add interface to bridge1 (port) again (idempotency test)
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge port"
|
|
state: present
|
|
settings:
|
|
bridge: "{{ item[0] }}"
|
|
interface: "{{ item[1] }}"
|
|
with_nested:
|
|
- [ "bridge1" ]
|
|
- [ "ether2" ]
|
|
register: mod_bridge1_port
|
|
failed_when: (
|
|
not ansible_check_mode
|
|
) and (
|
|
( mod_bridge1_port | changed )
|
|
)
|
|
|
|
- name: Add additional param to bridge port
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge port"
|
|
state: present
|
|
settings:
|
|
bridge: "{{ item[0] }}"
|
|
interface: "{{ item[1] }}"
|
|
edge: "{{ item[2] }}"
|
|
with_nested:
|
|
- [ "bridge1" ]
|
|
- [ "ether2" ]
|
|
- [ "yes-discover" ]
|
|
|
|
- name: ALWAYS_CHANGES Add 2nd interface to bridge1 port
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge port"
|
|
state: present
|
|
settings:
|
|
bridge: bridge1
|
|
interface: eoip-tunnel1
|
|
register: bridge1_add_2nd_inter
|
|
failed_when: (
|
|
not ansible_check_mode
|
|
) and (
|
|
not ( bridge1_add_2nd_inter | changed )
|
|
)
|
|
|
|
- name: ALWAYS_CHANGES Remove 2nd interface to bridge1 port
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge port"
|
|
state: absent
|
|
settings:
|
|
bridge: bridge1
|
|
interface: "eoip-tunnel1"
|
|
register: bridge1_rem_2nd_inter
|
|
failed_when: (
|
|
not ansible_check_mode
|
|
) and (
|
|
not ( bridge1_rem_2nd_inter | changed )
|
|
)
|
|
|
|
- name: Add bridge2
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge"
|
|
state: present
|
|
settings:
|
|
name: "bridge2"
|
|
arp: "reply-only"
|
|
|
|
- name: Adjust settings
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge settings"
|
|
settings:
|
|
allow-fast-path: "yes"
|
|
use-ip-firewall: "yes"
|
|
use-ip-firewall-for-vlan: "yes"
|
|
use-ip-firewall-for-pppoe: "no"
|
|
|
|
- name: Adjust settings (test changes)
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge settings"
|
|
settings:
|
|
allow-fast-path: "yes"
|
|
use-ip-firewall-for-vlan: "no"
|
|
use-ip-firewall-for-pppoe: "no"
|
|
register: bridge_settings_1
|
|
failed_when: (
|
|
not ansible_check_mode
|
|
) and (
|
|
not ( bridge_settings_1 | changed )
|
|
)
|
|
|
|
- name: Adjust settings again (idempotency test)
|
|
mt_interfaces:
|
|
hostname: "{{ mt_hostname }}"
|
|
username: "{{ mt_user }}"
|
|
password: "{{ mt_pass }}"
|
|
parameter: "bridge settings"
|
|
settings:
|
|
allow-fast-path: "yes"
|
|
use-ip-firewall-for-vlan: "no"
|
|
use-ip-firewall-for-pppoe: "no"
|
|
register: bridge_settings_2
|
|
failed_when: (
|
|
not ansible_check_mode
|
|
) and (
|
|
( bridge_settings_2 | changed )
|
|
)
|