Refactor server_volume to be compatible with openstacksdk>=0.99.0

Change-Id: Id636bc5de1acb59ad8587cd6c7181e022097cfe7
This commit is contained in:
Rafael Castillo
2022-09-21 16:11:02 -07:00
parent 41299b9666
commit ed36d82a0c
5 changed files with 262 additions and 57 deletions

View File

@@ -0,0 +1,32 @@
expected_fields:
- attachments
- availability_zone
- consistency_group_id
- created_at
- description
- extended_replication_status
- group_id
- host
- id
- image_id
- is_bootable
- is_encrypted
- metadata
- migration_id
- migration_status
- name
- project_id
- replication_driver_data
- replication_status
- scheduler_hints
- size
- snapshot_id
- source_volume_id
- status
- updated_at
- user_id
- volume_image_metadata
- volume_type
flavor: m1.tiny
server_name: ansible_server
server_network: private

View File

@@ -0,0 +1,90 @@
- name: Create server
openstack.cloud.server:
cloud: "{{ cloud }}"
state: present
name: "{{ server_name }}"
image: "cirros-0.5.2-x86_64-disk"
flavor: "{{ flavor }}"
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

View File

@@ -58,6 +58,7 @@
- { role: security_group, tags: security_group }
- { role: security_group_rule, tags: security_group_rule }
- { role: server, tags: server }
- { role: server_volume, tags: server_volume }
- { role: stack, tags: stack }
- { role: subnet, tags: subnet }
- { role: subnet_pool, tags: subnet_pool }