mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-05-13 13:02:21 +00:00
Refactor server_volume to be compatible with openstacksdk>=0.99.0
Change-Id: Id636bc5de1acb59ad8587cd6c7181e022097cfe7
This commit is contained in:
32
ci/roles/server_volume/defaults/main.yml
Normal file
32
ci/roles/server_volume/defaults/main.yml
Normal 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
|
||||
90
ci/roles/server_volume/tasks/main.yml
Normal file
90
ci/roles/server_volume/tasks/main.yml
Normal 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
|
||||
@@ -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 }
|
||||
|
||||
Reference in New Issue
Block a user