Updates server_metadata for 2.0.0

- Switch to using proxy layer calls
- Return whole server resource instead of only metadata map
- Swap the name and server aliased parameters
- Add a server_metadata test role
- Ensure check mode returns tentatively updated metadata
- Remove server_id return value

Change-Id: Id63e6a80d1b8e3574911016fec792f00b63f1524
This commit is contained in:
Rafael Castillo
2022-11-01 13:17:40 -07:00
parent cd002a5555
commit 4fe73c978a
4 changed files with 466 additions and 78 deletions

View File

@@ -0,0 +1,96 @@
---
- name: Create test server
openstack.cloud.server:
cloud: "{{ cloud }}"
state: present
name: ansible_server
image: "{{ image_name }}"
flavor: m1.tiny
network: private
auto_ip: false
wait: true
register: server
- name: Set server metadata by id
openstack.cloud.server_metadata:
cloud: "{{ cloud }}"
name: "{{ server.server.id }}"
meta:
test_key: test_value
second_key: second_value
register: server_metadata
- name: Assert updated metadata
assert:
that:
- server_metadata is changed
- "server_metadata.server.metadata == {'test_key': 'test_value', 'second_key':
'second_value'}"
- name: Set server metadata by name
openstack.cloud.server_metadata:
cloud: "{{ cloud }}"
name: "{{ server.server.name }}"
meta:
test_key: test_value_2
register: server_metadata
- name: Assert updated metadata
assert:
that:
- server_metadata is changed
- "server_metadata.server.metadata == {'test_key': 'test_value_2', 'second_key':
'second_value'}"
- name: Update metadata again
openstack.cloud.server_metadata:
cloud: "{{ cloud }}"
name: "{{ server.server.id }}"
meta:
test_key: test_value_2
register: server_metadata
- name: Assert not changed
assert:
that:
- server_metadata is not changed
- "server_metadata.server.metadata == {'test_key': 'test_value_2', 'second_key':
'second_value'}"
- name: Delete server metadata
openstack.cloud.server_metadata:
cloud: "{{ cloud }}"
name: "{{ server.server.id }}"
state: absent
meta:
test_key:
register: server_metadata
- name: Assert updated metadata
assert:
that:
- server_metadata is changed
- "server_metadata.server.metadata == {'second_key': 'second_value'}"
- name: Delete server metadata again
openstack.cloud.server_metadata:
cloud: "{{ cloud }}"
name: "{{ server.server.id }}"
state: absent
meta:
test_key:
register: server_metadata
- name: Assert not changed
assert:
that:
- server_metadata is not changed
- "server_metadata.server.metadata == {'second_key': 'second_value'}"
- name: Delete test server
openstack.cloud.server:
cloud: "{{ cloud }}"
name: "{{ server.server.id }}"
state: absent
wait: true
register: server

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_metadata, tags: server_metadata }
- { role: server_volume, tags: server_volume }
- { role: stack, tags: stack }
- { role: subnet, tags: subnet }