mirror of
https://opendev.org/openstack/ansible-collections-openstack.git
synced 2026-07-28 18:54:29 +00:00
Moves keypair_info from cloud to proxy object
This makes keypair_info compatible with new sdk version Change-Id: I09c75717a620272904b023179c726a19c4bca000
This commit is contained in:
@@ -1 +1,11 @@
|
|||||||
keypair_name: shade_keypair
|
keypair_name: shade_keypair
|
||||||
|
expected_fields:
|
||||||
|
- created_at
|
||||||
|
- fingerprint
|
||||||
|
- id
|
||||||
|
- is_deleted
|
||||||
|
- name
|
||||||
|
- private_key
|
||||||
|
- public_key
|
||||||
|
- type
|
||||||
|
- user_id
|
||||||
|
|||||||
@@ -1,13 +1,17 @@
|
|||||||
---
|
---
|
||||||
- name: Create keypair (non-existing)
|
- name: Create keypair (non-existing)
|
||||||
openstack.cloud.keypair:
|
openstack.cloud.keypair:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "{{ keypair_name }}"
|
||||||
state: present
|
state: present
|
||||||
register:
|
register: keypair
|
||||||
keypair
|
|
||||||
|
|
||||||
- name: Get list of keypairs
|
- name: Get list of all keypairs
|
||||||
|
openstack.cloud.keypair_info:
|
||||||
|
cloud: "{{ cloud }}"
|
||||||
|
register: keypairs_all
|
||||||
|
|
||||||
|
- name: Get list of keypairs with filter
|
||||||
openstack.cloud.keypair_info:
|
openstack.cloud.keypair_info:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "{{ keypair_name }}"
|
||||||
@@ -16,19 +20,37 @@
|
|||||||
- name: Ensure that list of keypairs contains single element
|
- name: Ensure that list of keypairs contains single element
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypairs['openstack_keypairs']|length == 1
|
- keypairs['keypairs']|length == 1
|
||||||
|
|
||||||
|
- name: Assert fields
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- item in keypairs.keypairs.0.keys()
|
||||||
|
loop: "{{ expected_fields }}"
|
||||||
|
|
||||||
# This assert verifies that Ansible is capable serializing data returned by SDK
|
# This assert verifies that Ansible is capable serializing data returned by SDK
|
||||||
- name: Ensure private key is returned
|
- name: Ensure public key is returned
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypair.key.public_key is defined and keypair.key.public_key
|
- keypair.key.public_key is defined and keypair.key.public_key
|
||||||
|
|
||||||
|
- name: Create another keypair
|
||||||
|
openstack.cloud.keypair:
|
||||||
|
cloud: "{{ cloud }}"
|
||||||
|
name: "{{ keypair_name }}-2"
|
||||||
|
state: present
|
||||||
|
|
||||||
- name: Delete keypair (non-existing)
|
- name: Delete keypair (non-existing)
|
||||||
openstack.cloud.keypair:
|
openstack.cloud.keypair:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "non-existing"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
|
- name: Delete keypair
|
||||||
|
openstack.cloud.keypair:
|
||||||
|
cloud: "{{ cloud }}"
|
||||||
|
name: "{{ keypair_name }}"
|
||||||
|
state: absent
|
||||||
|
|
||||||
- name: Get list of keypairs
|
- name: Get list of keypairs
|
||||||
openstack.cloud.keypair_info:
|
openstack.cloud.keypair_info:
|
||||||
@@ -39,20 +61,26 @@
|
|||||||
- name: Ensure that list of keypairs is empty
|
- name: Ensure that list of keypairs is empty
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypairs['openstack_keypairs']|length == 0
|
- keypairs['keypairs']|length == 0
|
||||||
|
|
||||||
|
- name: Delete another keypair
|
||||||
|
openstack.cloud.keypair:
|
||||||
|
cloud: "{{ cloud }}"
|
||||||
|
name: "{{ keypair_name }}-2"
|
||||||
|
state: absent
|
||||||
|
|
||||||
- name: Generate test key file
|
- name: Generate test key file
|
||||||
user:
|
user:
|
||||||
name: "{{ ansible_env.USER }}"
|
name: "{{ ansible_env.USER }}"
|
||||||
generate_ssh_key: yes
|
generate_ssh_key: yes
|
||||||
ssh_key_file: .ssh/shade_id_rsa
|
ssh_key_file: .ssh/shade_id_rsa
|
||||||
|
|
||||||
- name: Create keypair (file)
|
- name: Create keypair (file)
|
||||||
openstack.cloud.keypair:
|
openstack.cloud.keypair:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "{{ keypair_name }}"
|
||||||
state: present
|
state: present
|
||||||
public_key_file: "{{ ansible_env.HOME }}/.ssh/shade_id_rsa.pub"
|
public_key_file: "{{ ansible_env.HOME }}/.ssh/shade_id_rsa.pub"
|
||||||
|
|
||||||
- name: Get list of keypairs
|
- name: Get list of keypairs
|
||||||
openstack.cloud.keypair_info:
|
openstack.cloud.keypair_info:
|
||||||
@@ -63,13 +91,13 @@
|
|||||||
- name: Ensure that list of keypairs contains single element
|
- name: Ensure that list of keypairs contains single element
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypairs['openstack_keypairs']|length == 1
|
- keypairs['keypairs']|length == 1
|
||||||
|
|
||||||
- name: Delete keypair (file)
|
- name: Delete keypair (file)
|
||||||
openstack.cloud.keypair:
|
openstack.cloud.keypair:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "{{ keypair_name }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Get list of keypairs
|
- name: Get list of keypairs
|
||||||
openstack.cloud.keypair_info:
|
openstack.cloud.keypair_info:
|
||||||
@@ -80,14 +108,14 @@
|
|||||||
- name: Ensure that list of keypairs is empty
|
- name: Ensure that list of keypairs is empty
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypairs['openstack_keypairs']|length == 0
|
- keypairs['keypairs']|length == 0
|
||||||
|
|
||||||
- name: Create keypair (key)
|
- name: Create keypair (key)
|
||||||
openstack.cloud.keypair:
|
openstack.cloud.keypair:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "{{ keypair_name }}"
|
||||||
state: present
|
state: present
|
||||||
public_key: "{{ lookup('file', '~/.ssh/shade_id_rsa.pub') }}"
|
public_key: "{{ lookup('file', '~/.ssh/shade_id_rsa.pub') }}"
|
||||||
|
|
||||||
- name: Get list of keypairs
|
- name: Get list of keypairs
|
||||||
openstack.cloud.keypair_info:
|
openstack.cloud.keypair_info:
|
||||||
@@ -98,13 +126,13 @@
|
|||||||
- name: Ensure that list of keypairs contains single element
|
- name: Ensure that list of keypairs contains single element
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypairs['openstack_keypairs']|length == 1
|
- keypairs['keypairs']|length == 1
|
||||||
|
|
||||||
- name: Delete keypair (key)
|
- name: Delete keypair (key)
|
||||||
openstack.cloud.keypair:
|
openstack.cloud.keypair:
|
||||||
cloud: "{{ cloud }}"
|
cloud: "{{ cloud }}"
|
||||||
name: "{{ keypair_name }}"
|
name: "{{ keypair_name }}"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Get list of keypairs
|
- name: Get list of keypairs
|
||||||
openstack.cloud.keypair_info:
|
openstack.cloud.keypair_info:
|
||||||
@@ -115,14 +143,14 @@
|
|||||||
- name: Ensure that list of keypairs is empty
|
- name: Ensure that list of keypairs is empty
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- keypairs['openstack_keypairs']|length == 0
|
- keypairs['keypairs']|length == 0
|
||||||
|
|
||||||
- name: Delete test key pub file
|
- name: Delete test key pub file
|
||||||
file:
|
file:
|
||||||
name: "{{ ansible_env.HOME }}/.ssh/shade_id_rsa.pub"
|
name: "{{ ansible_env.HOME }}/.ssh/shade_id_rsa.pub"
|
||||||
state: absent
|
state: absent
|
||||||
|
|
||||||
- name: Delete test key pvt file
|
- name: Delete test key pvt file
|
||||||
file:
|
file:
|
||||||
name: "{{ ansible_env.HOME }}/.ssh/shade_id_rsa"
|
name: "{{ ansible_env.HOME }}/.ssh/shade_id_rsa"
|
||||||
state: absent
|
state: absent
|
||||||
|
|||||||
@@ -51,10 +51,11 @@ EXAMPLES = '''
|
|||||||
'''
|
'''
|
||||||
|
|
||||||
RETURN = '''
|
RETURN = '''
|
||||||
openstack_keypairs:
|
keypairs:
|
||||||
description:
|
description:
|
||||||
- Lists keypairs that are associated with the account.
|
- Lists keypairs that are associated with the account.
|
||||||
type: complex
|
type: list
|
||||||
|
elements: dict
|
||||||
returned: always
|
returned: always
|
||||||
contains:
|
contains:
|
||||||
created_at:
|
created_at:
|
||||||
@@ -120,31 +121,13 @@ class KeyPairInfoModule(OpenStackModule):
|
|||||||
)
|
)
|
||||||
|
|
||||||
def run(self):
|
def run(self):
|
||||||
name = self.params['name']
|
filters = {k: self.params[k] for k in
|
||||||
user_id = self.params['user_id']
|
['user_id', 'name', 'limit', 'marker']
|
||||||
limit = self.params['limit']
|
if self.params[k] is not None}
|
||||||
marker = self.params['marker']
|
keypairs = self.conn.search_keypairs(name_or_id=self.params['name'],
|
||||||
|
filters=filters)
|
||||||
filters = {}
|
result = [raw.to_dict(computed=False) for raw in keypairs]
|
||||||
data = []
|
self.exit(changed=False, keypairs=result)
|
||||||
|
|
||||||
if user_id:
|
|
||||||
filters['user_id'] = user_id
|
|
||||||
if limit:
|
|
||||||
filters['limit'] = limit
|
|
||||||
if marker:
|
|
||||||
filters['marker'] = marker
|
|
||||||
|
|
||||||
result = self.conn.search_keypairs(name_or_id=name,
|
|
||||||
filters=filters)
|
|
||||||
raws = [raw if isinstance(raw, dict) else raw.to_dict()
|
|
||||||
for raw in result]
|
|
||||||
|
|
||||||
for raw in raws:
|
|
||||||
raw.pop('location')
|
|
||||||
data.append(raw)
|
|
||||||
|
|
||||||
self.exit(changed=False, openstack_keypairs=data)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
|
|||||||
Reference in New Issue
Block a user