mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-07 05:43:15 +00:00
103 lines
2.3 KiB
YAML
103 lines
2.3 KiB
YAML
---
|
|
- name: List all images
|
|
openstack.cloud.image_info:
|
|
cloud: "{{ cloud }}"
|
|
register: images
|
|
|
|
- name: Identify CirrOS image name
|
|
set_fact:
|
|
image_name: "{{ images.images|community.general.json_query(query)|first }}"
|
|
vars:
|
|
query: "[?starts_with(name, 'cirros')].name"
|
|
|
|
- name: Create server
|
|
openstack.cloud.server:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
name: "{{ server_name }}"
|
|
image: "{{ image_name }}"
|
|
flavor: "{{ flavor_name }}"
|
|
network: "{{ server_network }}"
|
|
auto_ip: false
|
|
wait: true
|
|
register: server
|
|
|
|
- name: Create volume
|
|
openstack.cloud.volume:
|
|
cloud: "{{ cloud }}"
|
|
state: present
|
|
size: 1
|
|
name: ansible_volume
|
|
wait: true
|
|
register: volume
|
|
|
|
- name: Attach volume to server
|
|
openstack.cloud.server_volume:
|
|
cloud: "{{ cloud }}"
|
|
server: "{{ server.server.id }}"
|
|
volume: "{{ volume.volume.id }}"
|
|
wait: true
|
|
register: server_volume
|
|
|
|
- name: Assert changed
|
|
assert:
|
|
that: server_volume is changed
|
|
|
|
- name: Assert return values of server_volume module
|
|
assert:
|
|
that:
|
|
# allow new fields to be introduced but prevent fields from being removed
|
|
- expected_fields|difference(server_volume.volume.keys())|length == 0
|
|
|
|
- name: Attach volume to server again
|
|
openstack.cloud.server_volume:
|
|
cloud: "{{ cloud }}"
|
|
server: "{{ server.server.id }}"
|
|
volume: "{{ volume.volume.id }}"
|
|
wait: true
|
|
register: server_volume
|
|
|
|
- name: Assert not changed
|
|
assert:
|
|
that: server_volume is not changed
|
|
|
|
- name: Detach volume to server
|
|
openstack.cloud.server_volume:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
server: "{{ server.server.id }}"
|
|
volume: "{{ volume.volume.id }}"
|
|
wait: true
|
|
register: server_volume
|
|
|
|
- name: Assert changed
|
|
assert:
|
|
that: server_volume is changed
|
|
|
|
- name: Detach volume to server again
|
|
openstack.cloud.server_volume:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
server: "{{ server.server.id }}"
|
|
volume: "{{ volume.volume.id }}"
|
|
wait: true
|
|
register: server_volume
|
|
|
|
- name: Assert not changed
|
|
assert:
|
|
that: server_volume is not changed
|
|
|
|
- name: Delete volume
|
|
openstack.cloud.volume:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
name: ansible_volume
|
|
wait: true
|
|
|
|
- name: Delete server
|
|
openstack.cloud.server:
|
|
cloud: "{{ cloud }}"
|
|
state: absent
|
|
name: "{{ server_name }}"
|
|
wait: true
|