|
|
|
# ============================================================
|
|
|
|
- name: Test rax_cbs_attachments with no args
|
|
|
|
rax_cbs_attachments:
|
|
|
|
ignore_errors: true
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate results of rax_cbs_attachments with no args
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|failed
|
|
|
|
- rax_cbs_attachments.msg == 'missing required arguments: server,volume,device'
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Test rax_cbs_attachments with server, volume and device
|
|
|
|
rax_cbs_attachments:
|
|
|
|
server: '1234'
|
|
|
|
volume: '1234'
|
|
|
|
device: /dev/xvde
|
|
|
|
ignore_errors: true
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate results of rax_cbs_attachments with server, volume and device
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|failed
|
|
|
|
- rax_cbs_attachments.msg == 'No credentials supplied!'
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Test rax_cbs_attachments with credentials, server, volume and device
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
server: '1234'
|
|
|
|
volume: '1234'
|
|
|
|
device: /dev/xvde
|
|
|
|
ignore_errors: true
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate results of rax_cbs_attachments with credentials, server, volume and device
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|failed
|
|
|
|
- rax_cbs_attachments.msg.startswith('None is not a valid region')
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Test rax_cbs_attachments with creds, region, invalid server, invalid volume and device
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
server: '1234'
|
|
|
|
volume: '1234'
|
|
|
|
device: /dev/xvde
|
|
|
|
ignore_errors: true
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate rax_cbs_attachments creds, region, invalid server, invalid volume and device
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|failed
|
|
|
|
- rax_cbs_attachments.msg == 'No matching storage volumes were found'
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Build Volume for rax_cbs_attachments test
|
|
|
|
rax_cbs:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
name: "{{ resource_prefix }}-rax_cbs_attachments"
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
register: rax_cbs
|
|
|
|
|
|
|
|
- name: Validate volume build
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs|success
|
|
|
|
- rax_cbs|changed
|
|
|
|
- rax_cbs.volume.display_name == "{{ resource_prefix }}-rax_cbs_attachments"
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Build CloudServer for rax_cbs_attachments tests
|
|
|
|
rax:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
image: "{{ rackspace_image_id }}"
|
|
|
|
flavor: "{{ rackspace_flavor }}"
|
|
|
|
name: "{{ resource_prefix }}-rax_cbs_attachments"
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
register: rax
|
|
|
|
|
|
|
|
- name: Validate CloudServer build
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax|success
|
|
|
|
- rax|changed
|
|
|
|
- rax.action == 'create'
|
|
|
|
- rax.instances|length == 1
|
|
|
|
- rax.instances[0].name == "{{ resource_prefix }}-rax_cbs_attachments"
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Test rax_cbs_attachments with creds, region, invalid server, volume and device
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
server: '1234'
|
|
|
|
volume: "{{ rax_cbs.volume.id }}"
|
|
|
|
device: /dev/xvde
|
|
|
|
ignore_errors: true
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate rax_cbs_attachments creds, region, invalid server, volume and device
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|failed
|
|
|
|
- rax_cbs_attachments.msg == 'No Server was matched by name, try using the Server ID instead'
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Test rax_cbs_attachments with creds, region, server, volume and device (valid)
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
server: "{{ rax.instances[0].id }}"
|
|
|
|
volume: "{{ rax_cbs.volume.id }}"
|
|
|
|
device: /dev/xvde
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate rax_cbs_attachments creds, region, server, volume and device (valid)
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|success
|
|
|
|
- rax_cbs_attachments|changed
|
|
|
|
- rax_cbs_attachments.volume.attachments.0.device == '/dev/xvde'
|
|
|
|
- rax_cbs_attachments.volume.attachments.0.server_id == "{{ rax.instances[0].id }}"
|
|
|
|
|
|
|
|
- name: Idempotent present test
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
server: "{{ rax.instances[0].id }}"
|
|
|
|
volume: "{{ rax_cbs.volume.id }}"
|
|
|
|
device: /dev/xvde
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate idempotent present test
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|success
|
|
|
|
- not rax_cbs_attachments|changed
|
|
|
|
|
|
|
|
- name: Unattach volume
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
server: "{{ rax.instances[0].id }}"
|
|
|
|
volume: "{{ rax_cbs.volume.id }}"
|
|
|
|
device: /dev/xvde
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
state: absent
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate unattach volume
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|success
|
|
|
|
- rax_cbs_attachments|changed
|
|
|
|
- rax_cbs_attachments.volume.attachments == []
|
|
|
|
|
|
|
|
- name: Idempotent absent test
|
|
|
|
rax_cbs_attachments:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
server: "{{ rax.instances[0].id }}"
|
|
|
|
volume: "{{ rax_cbs.volume.id }}"
|
|
|
|
device: /dev/xvde
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
state: absent
|
|
|
|
register: rax_cbs_attachments
|
|
|
|
|
|
|
|
- name: Validate idempotent absent test
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs_attachments|success
|
|
|
|
- not rax_cbs_attachments|changed
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: Delete test volume
|
|
|
|
rax_cbs:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
name: "{{ rax_cbs.volume.id }}"
|
|
|
|
state: absent
|
|
|
|
register: rax_cbs
|
|
|
|
|
|
|
|
- name: Validate delete integration 6
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax_cbs|success
|
|
|
|
- rax_cbs|changed
|
|
|
|
# ============================================================
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ============================================================
|
|
|
|
- name: "Delete CloudServer"
|
|
|
|
rax:
|
|
|
|
username: "{{ rackspace_username }}"
|
|
|
|
api_key: "{{ rackspace_api_key }}"
|
|
|
|
region: "{{ rackspace_region }}"
|
|
|
|
instance_ids: "{{ rax.instances[0].id }}"
|
|
|
|
state: absent
|
|
|
|
wait: true
|
|
|
|
wait_timeout: "{{ rackspace_wait_timeout }}"
|
|
|
|
register: rax
|
|
|
|
|
|
|
|
- name: "Validate delete"
|
|
|
|
assert:
|
|
|
|
that:
|
|
|
|
- rax|changed
|
|
|
|
- rax|success
|
|
|
|
- rax.action == 'delete'
|
|
|
|
# ============================================================
|