68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
---
|
|
- name: Create servers and test cloudscale inventory plugin
|
|
hosts: localhost
|
|
gather_facts: False
|
|
roles:
|
|
- cloudscale_common
|
|
tasks:
|
|
- block:
|
|
- import_tasks: setup.yml
|
|
|
|
- import_tasks: change-inventory-config.yml
|
|
vars:
|
|
inventory_config: inventory-public.yml
|
|
|
|
- import_tasks: common-asserts.yml
|
|
vars:
|
|
identifier: 'name'
|
|
inventory: 'Public v4'
|
|
|
|
- name: Verify inventory with public IP
|
|
assert:
|
|
that:
|
|
# Test ansible_host setting
|
|
- server_public.interfaces.0.addresses.0.address
|
|
== hostvars[server_public.name].ansible_host
|
|
- server_public_private.interfaces.0.addresses.0.address
|
|
== hostvars[server_public_private.name].ansible_host
|
|
- '"ansible_host" not in hostvars[server_private.name]'
|
|
|
|
- import_tasks: change-inventory-config.yml
|
|
vars:
|
|
inventory_config: inventory-private.yml
|
|
|
|
- import_tasks: common-asserts.yml
|
|
vars:
|
|
identifier: 'name'
|
|
inventory: 'Private v4'
|
|
|
|
- name: Verify inventory with private IP
|
|
assert:
|
|
that:
|
|
# Test ansible_host setting
|
|
- '"ansible_host" not in hostvars[server_public.name]'
|
|
- server_private.interfaces.0.addresses.0.address
|
|
== hostvars[server_private.name].ansible_host
|
|
- server_public_private.interfaces.1.addresses.0.address
|
|
== hostvars[server_public_private.name].ansible_host
|
|
|
|
- import_tasks: change-inventory-config.yml
|
|
vars:
|
|
inventory_config: inventory-uuid.yml
|
|
|
|
- import_tasks: common-asserts.yml
|
|
vars:
|
|
identifier: 'uuid'
|
|
inventory: 'UUID'
|
|
|
|
- name: Verify inventory with UUID
|
|
assert:
|
|
that:
|
|
# Test server name groups
|
|
- groups[server_public.name | safe_group_name] == [server_public.uuid]
|
|
- groups[server_private.name | safe_group_name] == [server_private.uuid]
|
|
- groups[server_public_private.name | safe_group_name] == [server_public_private.uuid]
|
|
- groups[server_unsafe_chars.name | safe_group_name] == [server_unsafe_chars.uuid]
|
|
|
|
always:
|
|
- import_tasks: cleanup.yml
|