* Support list for baseurl and gpgkey params in yum_repository * Adding tests
This commit is contained in:
parent
20a35d0c1c
commit
1b8fe94e5a
2 changed files with 44 additions and 6 deletions
|
@ -9,10 +9,11 @@ from __future__ import absolute_import, division, print_function
|
||||||
__metaclass__ = type
|
__metaclass__ = type
|
||||||
|
|
||||||
|
|
||||||
ANSIBLE_METADATA = {'metadata_version': '1.0',
|
ANSIBLE_METADATA = {
|
||||||
'status': ['stableinterface'],
|
'metadata_version': '1.0',
|
||||||
'supported_by': 'core'}
|
'status': ['stableinterface'],
|
||||||
|
'supported_by': 'core'
|
||||||
|
}
|
||||||
|
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
---
|
---
|
||||||
|
@ -47,6 +48,7 @@ options:
|
||||||
description:
|
description:
|
||||||
- URL to the directory where the yum repository's 'repodata' directory
|
- URL to the directory where the yum repository's 'repodata' directory
|
||||||
lives.
|
lives.
|
||||||
|
- It can also be a list of multiple URLs.
|
||||||
- This or the I(mirrorlist) parameter is required if I(state) is set to
|
- This or the I(mirrorlist) parameter is required if I(state) is set to
|
||||||
C(present).
|
C(present).
|
||||||
cost:
|
cost:
|
||||||
|
@ -130,6 +132,7 @@ options:
|
||||||
default: null
|
default: null
|
||||||
description:
|
description:
|
||||||
- A URL pointing to the ASCII-armored GPG key file for the repository.
|
- A URL pointing to the ASCII-armored GPG key file for the repository.
|
||||||
|
- It can also be a list of multiple URLs.
|
||||||
http_caching:
|
http_caching:
|
||||||
required: false
|
required: false
|
||||||
choices: [all, packages, none]
|
choices: [all, packages, none]
|
||||||
|
@ -635,7 +638,7 @@ def main():
|
||||||
argument_spec=dict(
|
argument_spec=dict(
|
||||||
async=dict(type='bool'),
|
async=dict(type='bool'),
|
||||||
bandwidth=dict(),
|
bandwidth=dict(),
|
||||||
baseurl=dict(),
|
baseurl=dict(type='list'),
|
||||||
cost=dict(),
|
cost=dict(),
|
||||||
deltarpm_metadata_percentage=dict(),
|
deltarpm_metadata_percentage=dict(),
|
||||||
deltarpm_percentage=dict(),
|
deltarpm_percentage=dict(),
|
||||||
|
@ -647,7 +650,7 @@ def main():
|
||||||
file=dict(),
|
file=dict(),
|
||||||
gpgcakey=dict(),
|
gpgcakey=dict(),
|
||||||
gpgcheck=dict(type='bool'),
|
gpgcheck=dict(type='bool'),
|
||||||
gpgkey=dict(),
|
gpgkey=dict(type='list'),
|
||||||
http_caching=dict(choices=['all', 'packages', 'none']),
|
http_caching=dict(choices=['all', 'packages', 'none']),
|
||||||
include=dict(),
|
include=dict(),
|
||||||
includepkgs=dict(),
|
includepkgs=dict(),
|
||||||
|
@ -717,6 +720,13 @@ def main():
|
||||||
module.params['name'] = module.params['description']
|
module.params['name'] = module.params['description']
|
||||||
del module.params['description']
|
del module.params['description']
|
||||||
|
|
||||||
|
# Change list type to string for baseurl and gpgkey
|
||||||
|
for list_param in ['baseurl', 'gpgkey']:
|
||||||
|
if (
|
||||||
|
list_param in module.params and
|
||||||
|
module.params[list_param] is not None):
|
||||||
|
module.params[list_param] = "\n".join(module.params[list_param])
|
||||||
|
|
||||||
# Define repo file name if it doesn't exist
|
# Define repo file name if it doesn't exist
|
||||||
if module.params['file'] is None:
|
if module.params['file'] is None:
|
||||||
module.params['file'] = module.params['repoid']
|
module.params['file'] = module.params['repoid']
|
||||||
|
|
|
@ -146,3 +146,31 @@
|
||||||
- name: check Idempotant
|
- name: check Idempotant
|
||||||
assert:
|
assert:
|
||||||
that: not epel_add.changed
|
that: not epel_add.changed
|
||||||
|
|
||||||
|
- name: Test list for baseurl and gpgkey
|
||||||
|
yum_repository:
|
||||||
|
name: listtest
|
||||||
|
description: Testing list feature
|
||||||
|
baseurl:
|
||||||
|
- https://download.fedoraproject.org/pub/epel/{{ ansible_distribution_major_version }}/{{ ansible_architecture }}/
|
||||||
|
- https://download2.fedoraproject.org/pub/epel/{{ ansible_distribution_major_version }}/{{ ansible_architecture }}/
|
||||||
|
gpgkey:
|
||||||
|
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-{{ ansible_distribution_major_version }}
|
||||||
|
- gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG2-KEY-EPEL-{{ ansible_distribution_major_version }}
|
||||||
|
|
||||||
|
- set_fact:
|
||||||
|
repofile: "{{ lookup('file', '/etc/yum.repos.d/listtest.repo') }}"
|
||||||
|
|
||||||
|
- name: Assert that lists were properly inserted
|
||||||
|
assert:
|
||||||
|
that:
|
||||||
|
- "'download.fedoraproject.org' in repofile"
|
||||||
|
- "'download2.fedoraproject.org' in repofile"
|
||||||
|
- "'RPM-GPG-KEY-EPEL' in repofile"
|
||||||
|
- "'RPM-GPG2-KEY-EPEL' in repofile"
|
||||||
|
value:
|
||||||
|
|
||||||
|
- name: Cleanup list test repo
|
||||||
|
yum_repository:
|
||||||
|
name: listtest
|
||||||
|
state: absent
|
||||||
|
|
Loading…
Reference in a new issue