73 lines
2.3 KiB
YAML
73 lines
2.3 KiB
YAML
---
|
|
|
|
- name: Contiv | Wait for netmaster
|
|
uri:
|
|
url: "http://127.0.0.1:{{ contiv_netmaster_port }}/info"
|
|
register: result
|
|
until: result.status is defined and result.status == 200
|
|
retries: 10
|
|
delay: 5
|
|
|
|
- name: Contiv | Get global configuration
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
global info --json --all
|
|
register: global_config
|
|
run_once: true
|
|
changed_when: false
|
|
|
|
- set_fact:
|
|
contiv_global_config: "{{ (global_config.stdout|from_json)[0] }}"
|
|
|
|
- name: Contiv | Set global forwarding mode
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
global set --fwd-mode={{ contiv_fwd_mode }}
|
|
when: "contiv_global_config.get('fwdMode', '') != contiv_fwd_mode"
|
|
run_once: true
|
|
|
|
- name: Contiv | Set global fabric mode
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
global set --fabric-mode={{ contiv_fabric_mode }}
|
|
when: "contiv_global_config.networkInfraType != contiv_fabric_mode"
|
|
run_once: true
|
|
|
|
- name: Contiv | Get existing networks
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
net ls -q
|
|
register: net_result
|
|
run_once: true
|
|
changed_when: false
|
|
|
|
- name: Contiv | Create networks
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
net create \
|
|
--encap={{ item.encap|default("vxlan") }} \
|
|
--gateway={{ item.gateway }} \
|
|
--nw-type={{ item.nw_type|default("data") }} \
|
|
--pkt-tag={{ item.pkt_tag|default("0") }} \
|
|
--subnet={{ item.subnet }} \
|
|
--tenant={{ item.tenant|default("default") }} \
|
|
"{{ item.name }}"
|
|
with_items: "{{ contiv_networks }}"
|
|
when: item['name'] not in net_result.stdout_lines
|
|
run_once: true
|
|
|
|
- name: Contiv | Check if default group exists
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
group ls -q
|
|
register: group_result
|
|
run_once: true
|
|
changed_when: false
|
|
|
|
- name: Contiv | Create default group
|
|
command: |
|
|
{{ bin_dir }}/netctl --netmaster "http://127.0.0.1:{{ contiv_netmaster_port }}" \
|
|
group create default-net default
|
|
when: "'default' not in group_result.stdout_lines"
|
|
run_once: true
|