tricircle/tricircle/tempestplugin/multi_gw_topology_test.yaml

574 lines
13 KiB
YAML

- task_set_id: preparation
tasks:
- task_id: image1
region: region1
type: image
query:
get_one: true
- task_id: image2
region: region2
type: image
query:
get_one: true
- task_id: ext-net1
region: central
type: network
params:
name: ext-net1
is_router_external: true
provider_network_type: vlan
provider_physical_network: bridge
availability_zone_hints: [RegionOne]
- task_id: ext-subnet1
region: central
type: subnet
depend: [ext-net1]
params:
name: ext-subnet1
ip_version: 4
cidr: 163.3.124.0/24
is_dhcp_enabled: false
network_id: ext-net1@id
- task_id: ext-net2
region: central
type: network
params:
name: ext-net2
is_router_external: true
provider_network_type: flat
provider_physical_network: extern
availability_zone_hints: [RegionTwo]
- task_id: ext-subnet2
region: central
type: subnet
depend: [ext-net2]
params:
name: ext-subnet2
ip_version: 4
cidr: 163.3.125.0/24
is_dhcp_enabled: false
network_id: ext-net2@id
- task_id: router1
region: central
type: router
params:
name: router1
availability_zone_hints: [RegionOne]
- task_id: router2
region: central
type: router
params:
name: router2
availability_zone_hints: [RegionTwo]
- task_id: router3
region: central
type: router
params:
name: router3
- task_id: net1
region: central
type: network
params:
name: net1
availability_zone_hints: [RegionOne]
- task_id: subnet1
region: central
type: subnet
depend: [net1]
params:
name: subnet1
ip_version: 4
cidr: 10.0.1.0/24
network_id: net1@id
- task_id: net2
region: central
type: network
params:
name: net2
availability_zone_hints: [RegionTwo]
- task_id: subnet2
region: central
type: subnet
depend: [net2]
params:
name: subnet2
ip_version: 4
cidr: 10.0.2.0/24
network_id: net2@id
- task_id: add-gateway1
region: central
type: router
action:
target: router1@id
method: update
depend:
- ext-net1
- ext-subnet1
- router1
params:
external_gateway_info:
network_id: ext-net1@id
enable_snat: true
- task_id: add-gateway2
region: central
type: router
action:
target: router2@id
method: update
depend:
- ext-net2
- ext-subnet2
- router2
params:
external_gateway_info:
network_id: ext-net2@id
enable_snat: true
- task_id: add-subnet1
region: central
type: router
depend:
- subnet1
- router1
action:
target: router1@id
method: add_interface_to_router
params:
subnet_id: subnet1@id
- task_id: add-subnet2
region: central
type: router
depend:
- subnet2
- router2
action:
target: router2@id
method: add_interface_to_router
params:
subnet_id: subnet2@id
- task_id: inf-net1
region: central
type: port
depend:
- net1
- subnet1
params:
network_id: net1@id
- task_id: inf-net2
region: central
type: port
depend:
- net2
- subnet2
params:
network_id: net2@id
- task_id: add-inf1
region: central
type: router
depend:
- inf-net1
- router3
action:
target: router3@id
method: add_interface_to_router
params:
port_id: inf-net1@id
- task_id: add-inf2
region: central
type: router
depend:
- inf-net2
- router3
action:
target: router3@id
method: add_interface_to_router
params:
port_id: inf-net2@id
- task_id: vm1
region: region1
type: server
depend:
- net1
- image1
- add-gateway1
- add-subnet1
- add-inf1
params:
flavor_id: 1
image_id: image1@id
name: vm1
networks:
- uuid: net1@id
- task_id: vm2
region: region2
type: server
depend:
- net2
- image2
- add-gateway2
- add-subnet2
- add-inf2
params:
flavor_id: 1
image_id: image2@id
name: vm2
networks:
- uuid: net2@id
- task_set_id: wait-for-job
tasks:
- task_id: check-job
region: central
type: job
validate:
predicate: all
retries: 10
condition:
- status: SUCCESS
- task_set_id: check
depend: [preparation]
tasks:
- task_id: router1
region: region1
type: router
query:
get_one: true
params:
name: preparation@router1@id
- task_id: router2
region: region2
type: router
query:
get_one: true
params:
name: preparation@router2@id
- task_id: router3-1
region: region1
type: router
query:
get_one: true
params:
name: preparation@router3@id
- task_id: router3-2
region: region2
type: router
query:
get_one: true
params:
name: preparation@router3@id
- task_id: check-subnets1
region: region1
type: subnet
validate:
predicate: any
condition:
- cidr: 10.0.1.0/24
host_routes:
- destination: 10.0.2.0/24
nexthop: 10.0.1.*
- cidr: 100.0.0.0/24
- cidr: 163.3.124.0/24
- task_id: check-subnets2
region: region2
type: subnet
validate:
predicate: any
condition:
- cidr: 10.0.2.0/24
host_routes:
- destination: 10.0.1.0/24
nexthop: 10.0.2.*
- cidr: 100.0.0.0/24
- cidr: 163.3.125.0/24
- task_id: check-ports1
region: region1
type: port
depend: [router1]
validate:
predicate: any
condition:
- fixed_ips:
- ip_address: 10.0.1*
- fixed_ips:
- ip_address: 163.3.124*
params:
device_id: router1@id
- task_id: check-ports2
region: region2
type: port
depend: [router2]
validate:
predicate: any
condition:
- fixed_ips:
- ip_address: 10.0.2*
- fixed_ips:
- ip_address: 163.3.125*
params:
device_id: router2@id
- task_id: check-ports3-1
region: region1
type: port
depend: [router3-1]
validate:
predicate: any
condition:
- fixed_ips:
- ip_address: 10.0.1*
- fixed_ips:
- ip_address: 100.0.0*
params:
device_id: router3-1@id
- task_id: check-ports3-2
region: region2
type: port
depend: [router3-2]
validate:
predicate: any
condition:
- fixed_ips:
- ip_address: 10.0.2*
- fixed_ips:
- ip_address: 100.0.0*
params:
device_id: router3-2@id
- task_id: check-routers3-1
region: region1
type: router
validate:
predicate: any
condition:
- routes:
- destination: 10.0.2*
nexthop: 100.0.0*
- task_id: check-routers3-2
region: region2
type: router
validate:
predicate: any
condition:
- routes:
- destination: 10.0.1*
nexthop: 100.0.0*
- task_id: check-servers1
region: region1
type: server
validate:
predicate: any
condition:
- status: ACTIVE
name: vm1
- task_id: check-servers2
region: region2
type: server
validate:
predicate: any
condition:
- status: ACTIVE
name: vm2
- task_set_id: clean
depend: [preparation]
tasks:
- task_id: delete-vm1
region: region1
type: server
action:
target: preparation@vm1@id
method: delete
- task_id: delete-vm2
region: region2
type: server
action:
target: preparation@vm2@id
method: delete
- task_id: remove-gateway1
region: central
type: router
action:
target: preparation@router1@id
method: update
params:
external_gateway_info: null
- task_id: remove-gateway2
region: central
type: router
action:
target: preparation@router2@id
method: update
params:
external_gateway_info: null
- task_id: remove-subnet1
region: central
type: router
action:
target: preparation@router1@id
method: remove_interface_from_router
params:
subnet_id: preparation@subnet1@id
- task_id: remove-subnet2
region: central
type: router
action:
target: preparation@router2@id
method: remove_interface_from_router
params:
subnet_id: preparation@subnet2@id
- task_id: remove-inf1
region: central
type: router
action:
target: preparation@router3@id
method: remove_interface_from_router
params:
port_id: preparation@inf-net1@id
- task_id: remove-inf2
region: central
type: router
action:
target: preparation@router3@id
method: remove_interface_from_router
params:
port_id: preparation@inf-net2@id
- task_id: delete-router1
region: central
type: router
action:
target: preparation@router1@id
method: delete
retries: 3
depend:
- remove-gateway1
- remove-subnet1
- task_id: delete-router2
region: central
type: router
action:
target: preparation@router2@id
method: delete
retries: 3
depend:
- remove-gateway2
- remove-subnet2
- task_id: delete-router3
region: central
type: router
action:
target: preparation@router3@id
method: delete
retries: 3
depend:
- remove-inf1
- remove-inf2
# router3 must be the last router to delete, otherwise bridge
# resources will not be deleted, this is a known issue
- delete-router1
- delete-router2
- task_id: delete-inf1
region: central
type: port
action:
target: preparation@inf-net1@id
method: delete
depend: [delete-router3]
- task_id: delete-inf2
region: central
type: port
action:
target: preparation@inf-net2@id
method: delete
depend: [delete-router3]
- task_id: delete-subnet1
region: central
type: subnet
action:
target: preparation@subnet1@id
method: delete
retries: 3
depend: [delete-inf1]
- task_id: delete-subnet2
region: central
type: subnet
action:
target: preparation@subnet2@id
method: delete
retries: 3
depend: [delete-inf2]
- task_id: delete-net1
region: central
type: network
action:
target: preparation@net1@id
method: delete
depend: [delete-subnet1]
- task_id: delete-net2
region: central
type: network
action:
target: preparation@net2@id
method: delete
depend: [delete-subnet2]
- task_id: delete-ext-subnet1
region: central
type: subnet
action:
target: preparation@ext-subnet1@id
method: delete
depend: [delete-router1]
- task_id: delete-ext-net1
region: central
type: network
action:
target: preparation@ext-net1@id
method: delete
depend: [delete-ext-subnet1]
- task_id: delete-ext-subnet2
region: central
type: subnet
action:
target: preparation@ext-subnet2@id
method: delete
depend: [delete-router2]
- task_id: delete-ext-net2
region: central
type: network
action:
target: preparation@ext-net2@id
method: delete
depend: [delete-ext-subnet2]
- task_set_id: clean-check
tasks:
- task_id: check-no-routers1
region: region1
type: router
validate:
predicate: all
condition:
- name: invalid-name
- task_id: check-no-routers2
region: region2
type: router
validate:
predicate: all
condition:
- name: invalid-name
- task_id: check-no-networks1
region: region1
type: network
validate:
predicate: all
condition:
- name: invalid-name
- task_id: check-no-networks2
region: region2
type: network
validate:
predicate: all
condition:
- name: invalid-name
- task_id: check-jobs
region: central
type: job
validate:
predicate: all
retries: 10
condition:
- status: SUCCESS