mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-04-10 02:40:58 +00:00
323 lines
8.9 KiB
YAML
323 lines
8.9 KiB
YAML
---
|
|
- name: Create external network
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
external: true
|
|
name: ansible_external_network
|
|
state: present
|
|
|
|
- name: Create external subnet
|
|
openstack.cloud.subnet:
|
|
cidr: 10.6.6.0/24
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_external_subnet
|
|
network_name: ansible_external_network
|
|
state: present
|
|
|
|
- name: Create internal network
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_internal_network
|
|
state: present
|
|
|
|
- name: Create internal subnet
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
network_name: ansible_internal_network
|
|
name: ansible_internal_subnet
|
|
cidr: 10.7.7.0/24
|
|
|
|
- name: Create router
|
|
openstack.cloud.router:
|
|
cloud: "{{ cloud }}"
|
|
external_fixed_ips:
|
|
- subnet: ansible_external_subnet
|
|
ip: 10.6.6.10
|
|
interfaces:
|
|
- net: ansible_internal_network
|
|
subnet: ansible_internal_subnet
|
|
portip: 10.7.7.1
|
|
name: ansible_router
|
|
network: ansible_external_network
|
|
state: present
|
|
|
|
- name: Create load-balancer
|
|
openstack.cloud.loadbalancer:
|
|
assign_floating_ip: true
|
|
cloud: "{{ cloud }}"
|
|
floating_ip_network: ansible_external_network
|
|
name: ansible_lb
|
|
state: present
|
|
timeout: 450
|
|
vip_subnet: ansible_internal_subnet
|
|
register: load_balancer
|
|
|
|
- name: Create load-balancer listener
|
|
openstack.cloud.lb_listener:
|
|
cloud: "{{ cloud }}"
|
|
load_balancer: ansible_lb
|
|
name: ansible_listener
|
|
protocol: HTTP
|
|
protocol_port: 8080
|
|
state: present
|
|
register: listener
|
|
|
|
- name: Assert return values of lb_listener module
|
|
assert:
|
|
that:
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- "['allowed_cidrs', 'alpn_protocols', 'connection_limit', 'created_at', 'default_pool', 'default_pool_id',
|
|
'default_tls_container_ref', 'description', 'id', 'insert_headers', 'is_admin_state_up', 'l7_policies',
|
|
'load_balancer_id', 'load_balancers', 'name', 'operating_status', 'project_id', 'protocol', 'protocol_port',
|
|
'provisioning_status', 'sni_container_refs', 'tags', 'timeout_client_data', 'timeout_member_connect',
|
|
'timeout_member_data', 'timeout_tcp_inspect', 'tls_ciphers', 'tls_versions', 'updated_at'
|
|
]|difference(listener.listener.keys())|length == 0"
|
|
|
|
- name: Create load-balancer listener again
|
|
openstack.cloud.lb_listener:
|
|
cloud: "{{ cloud }}"
|
|
load_balancer: ansible_lb
|
|
name: ansible_listener
|
|
protocol: HTTP
|
|
protocol_port: 8080
|
|
state: present
|
|
register: listener
|
|
|
|
- name: Assert return values of lb_listener module
|
|
assert:
|
|
that:
|
|
- listener is not changed
|
|
|
|
- name: Update load-balancer listener description
|
|
openstack.cloud.lb_listener:
|
|
cloud: "{{ cloud }}"
|
|
description: "Ansible load-balancer listener"
|
|
load_balancer: ansible_lb
|
|
name: ansible_listener
|
|
protocol: HTTP
|
|
protocol_port: 8080
|
|
state: present
|
|
register: listener
|
|
|
|
- name: Assert return values of lb_listener module
|
|
assert:
|
|
that:
|
|
- listener.listener.description == "Ansible load-balancer listener"
|
|
|
|
- name: Create load-balancer pool
|
|
openstack.cloud.lb_pool:
|
|
cloud: "{{ cloud }}"
|
|
lb_algorithm: ROUND_ROBIN
|
|
listener: "{{ listener.listener.id }}"
|
|
name: ansible_pool
|
|
protocol: HTTP
|
|
state: present
|
|
register: pool
|
|
|
|
- name: Assert return values of lb_pool module
|
|
assert:
|
|
that:
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- "['alpn_protocols', 'created_at', 'description', 'health_monitor_id', 'id', 'is_admin_state_up', 'lb_algorithm',
|
|
'listener_id', 'listeners', 'loadbalancer_id', 'loadbalancers', 'members','name', 'operating_status',
|
|
'project_id', 'protocol', 'provisioning_status', 'session_persistence', 'tags', 'tls_ciphers', 'tls_enabled',
|
|
'tls_versions', 'updated_at'
|
|
]|difference(pool.pool.keys())|length == 0"
|
|
|
|
- name: Create load-balancer pool again
|
|
openstack.cloud.lb_pool:
|
|
cloud: "{{ cloud }}"
|
|
lb_algorithm: ROUND_ROBIN
|
|
listener: "{{ listener.listener.id }}"
|
|
name: ansible_pool
|
|
protocol: HTTP
|
|
state: present
|
|
register: pool
|
|
|
|
- name: Assert return values of lb_pool module
|
|
assert:
|
|
that:
|
|
- pool is not changed
|
|
|
|
- name: Update load-balancer pool description
|
|
openstack.cloud.lb_pool:
|
|
cloud: "{{ cloud }}"
|
|
description: "Ansible load-balancer pool"
|
|
lb_algorithm: ROUND_ROBIN
|
|
listener: "{{ listener.listener.id }}"
|
|
name: ansible_pool
|
|
protocol: HTTP
|
|
state: present
|
|
register: pool
|
|
|
|
- name: Assert return values of lb_pool module
|
|
assert:
|
|
that:
|
|
- pool.pool.description == "Ansible load-balancer pool"
|
|
|
|
- name: Create load-balancer pool member
|
|
openstack.cloud.lb_member:
|
|
address: 10.7.7.42
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_member
|
|
pool: ansible_pool
|
|
protocol_port: 8080
|
|
state: present
|
|
register: member
|
|
|
|
- name: Assert return values of lb_member module
|
|
assert:
|
|
that:
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- "['address', 'backup', 'created_at', 'id', 'is_admin_state_up', 'monitor_address', 'monitor_port', 'name',
|
|
'operating_status', 'project_id', 'protocol_port', 'provisioning_status', 'subnet_id', 'tags', 'updated_at',
|
|
'weight'
|
|
]|difference(member.member.keys())|length == 0"
|
|
|
|
- name: Create load-balancer pool member again
|
|
openstack.cloud.lb_member:
|
|
address: 10.7.7.42
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_member
|
|
pool: ansible_pool
|
|
protocol_port: 8080
|
|
state: present
|
|
register: member
|
|
|
|
- name: Assert return values of lb_member module
|
|
assert:
|
|
that:
|
|
- member is not changed
|
|
|
|
- name: Update load-balancer pool member weight
|
|
openstack.cloud.lb_member:
|
|
address: 10.7.7.42
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_member
|
|
pool: ansible_pool
|
|
protocol_port: 8080
|
|
state: present
|
|
weight: 42
|
|
register: member
|
|
|
|
- name: Assert return values of lb_member module
|
|
assert:
|
|
that:
|
|
- member.member.weight == 42
|
|
|
|
- name: Create load-balancer health monitor
|
|
openstack.cloud.lb_health_monitor:
|
|
cloud: "{{ cloud }}"
|
|
delay: 10
|
|
health_monitor_timeout: 5
|
|
max_retries: 3
|
|
name: ansible_health_monitor
|
|
pool: ansible_pool
|
|
state: present
|
|
register: health_monitor
|
|
|
|
- name: Assert return values of lb_health_monitor module
|
|
assert:
|
|
that:
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- "['created_at', 'delay', 'expected_codes', 'http_method', 'id', 'is_admin_state_up', 'max_retries',
|
|
'max_retries_down', 'name', 'operating_status', 'pool_id', 'pools', 'project_id', 'provisioning_status',
|
|
'tags', 'timeout', 'type', 'updated_at', 'url_path'
|
|
]|difference(health_monitor.health_monitor.keys())|length == 0"
|
|
|
|
- name: Create load-balancer health monitor again
|
|
openstack.cloud.lb_health_monitor:
|
|
cloud: "{{ cloud }}"
|
|
delay: 10
|
|
health_monitor_timeout: 5
|
|
max_retries: 3
|
|
name: ansible_health_monitor
|
|
pool: ansible_pool
|
|
state: present
|
|
register: health_monitor
|
|
|
|
- name: Assert return values of lb_health_monitor module
|
|
assert:
|
|
that:
|
|
- health_monitor is not changed
|
|
|
|
- name: Update load-balancer health monitor delay
|
|
openstack.cloud.lb_health_monitor:
|
|
cloud: "{{ cloud }}"
|
|
delay: 1337
|
|
health_monitor_timeout: 5
|
|
max_retries: 3
|
|
name: ansible_health_monitor
|
|
pool: ansible_pool
|
|
state: present
|
|
register: health_monitor
|
|
|
|
- name: Assert return values of lb_health_monitor module
|
|
assert:
|
|
that:
|
|
- health_monitor.health_monitor.delay == 1337
|
|
|
|
- name: Delete load-balancer health monitor
|
|
openstack.cloud.lb_health_monitor:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_health_monitor
|
|
state: absent
|
|
|
|
- name: Delete load-balancer pool member
|
|
openstack.cloud.lb_member:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_member
|
|
pool: ansible_pool
|
|
state: absent
|
|
|
|
- name: Delete load-balancer pool
|
|
openstack.cloud.lb_pool:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_pool
|
|
state: absent
|
|
|
|
- name: Delete load-balancer listener
|
|
openstack.cloud.lb_listener:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_listener
|
|
state: absent
|
|
|
|
- name: Delete load-balancer
|
|
openstack.cloud.loadbalancer:
|
|
cloud: "{{ cloud }}"
|
|
delete_floating_ip: true
|
|
name: ansible_lb
|
|
state: absent
|
|
timeout: 150
|
|
|
|
- name: Delete router
|
|
openstack.cloud.router:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_router
|
|
state: absent
|
|
|
|
- name: Delete internal subnet
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_internal_subnet
|
|
state: absent
|
|
|
|
- name: Delete internal network
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_internal_network
|
|
state: absent
|
|
|
|
- name: Delete external subnet
|
|
openstack.cloud.subnet:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_external_subnet
|
|
state: absent
|
|
|
|
- name: Delete external network
|
|
openstack.cloud.network:
|
|
cloud: "{{ cloud }}"
|
|
name: ansible_external_network
|
|
state: absent
|