blob: f683dc5967a3531e2f5eae104f49dcb5b3dc51a4 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
---
- name: VPNaaS | Create network | {{ site_name }}
ansible.builtin.shell: |
{{ ovn_vpnaas_activate }}
openstack network create "net_{{ site_name }}"
environment: "{{ os_auth_env }}"
register: net_create
failed_when:
- net_create.rc != 0
- "'already exists' not in net_create.stderr"
retries: "{{ ovn_vpnaas_consistency_retries }}"
delay: "{{ ovn_vpnaas_consistency_delay }}"
until: net_create.rc == 0 or 'already exists' in net_create.stderr
changed_when: false
- name: VPNaaS | Create subnet | {{ site_name }}
ansible.builtin.shell: |
{{ ovn_vpnaas_activate }}
openstack subnet create --network "net_{{ site_name }}" --subnet-range "{{ site_cidr }}" "subnet_{{ site_name }}"
environment: "{{ os_auth_env }}"
register: subnet_create
failed_when:
- subnet_create.rc != 0
- "'already exists' not in subnet_create.stderr"
retries: "{{ ovn_vpnaas_consistency_retries }}"
delay: "{{ ovn_vpnaas_consistency_delay }}"
until: subnet_create.rc == 0 or 'already exists' in subnet_create.stderr
changed_when: false
- name: VPNaaS | Create router | {{ site_name }}
ansible.builtin.shell: |
{{ ovn_vpnaas_activate }}
openstack router create --external-gateway public1 "router_{{ site_name }}"
environment: "{{ os_auth_env }}"
failed_when: false
changed_when: false
- name: VPNaaS | Debug | List all routers
ansible.builtin.shell: |
{{ ovn_vpnaas_activate }}
openstack router list
environment: "{{ os_auth_env }}"
register: all_routers_debug
changed_when: false
- name: VPNaaS | Debug | Show router list output
ansible.builtin.debug:
var: all_routers_debug.stdout_lines
- name: VPNaaS | Get router ID | {{ site_name }}
ansible.builtin.shell: |
set -o pipefail
{{ ovn_vpnaas_activate }}
openstack router list --name "router_{{ site_name }}" -f value -c ID | head -n 1
args:
executable: /bin/bash
register: current_router_id
until: current_router_id.stdout != ""
retries: 5
delay: 10
environment: "{{ os_auth_env }}"
changed_when: false
- name: VPNaaS | Attach subnet to router | {{ site_name }}
ansible.builtin.shell: |
{{ ovn_vpnaas_activate }}
openstack router add subnet "{{ current_router_id.stdout.strip() }}" "subnet_{{ site_name }}"
environment: "{{ os_auth_env }}"
register: router_add_result
failed_when:
- router_add_result.rc != 0
- "'already has an interface' not in router_add_result.stderr"
retries: "{{ ovn_vpnaas_consistency_retries }}"
delay: "{{ ovn_vpnaas_consistency_delay }}"
until: router_add_result.rc == 0 or 'already has an interface' in router_add_result.stderr
changed_when: false
|