mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
Update CI (#1782)
* Update targets for CI for devel branch; move some targets to stable-2.10. * Skipping test on RHEL 8.3 (it is already skipped on RHEL 8.2). * Linting. * Shut 2.9/2.10 pylint complaints up.
This commit is contained in:
parent
9a6031ab4e
commit
e9551df5ed
14 changed files with 28 additions and 29 deletions
|
@ -140,16 +140,12 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: devel/{0}
|
testFormat: devel/{0}
|
||||||
targets:
|
targets:
|
||||||
- name: OS X 10.11
|
|
||||||
test: osx/10.11
|
|
||||||
- name: macOS 10.15
|
|
||||||
test: macos/10.15
|
|
||||||
- name: macOS 11.1
|
- name: macOS 11.1
|
||||||
test: macos/11.1
|
test: macos/11.1
|
||||||
- name: RHEL 7.8
|
- name: RHEL 7.9
|
||||||
test: rhel/7.8
|
test: rhel/7.9
|
||||||
- name: RHEL 8.2
|
- name: RHEL 8.3
|
||||||
test: rhel/8.2
|
test: rhel/8.3
|
||||||
- name: FreeBSD 11.4
|
- name: FreeBSD 11.4
|
||||||
test: freebsd/11.4
|
test: freebsd/11.4
|
||||||
- name: FreeBSD 12.2
|
- name: FreeBSD 12.2
|
||||||
|
@ -166,8 +162,14 @@ stages:
|
||||||
parameters:
|
parameters:
|
||||||
testFormat: 2.10/{0}
|
testFormat: 2.10/{0}
|
||||||
targets:
|
targets:
|
||||||
|
- name: OS X 10.11
|
||||||
|
test: osx/10.11
|
||||||
|
- name: macOS 10.15
|
||||||
|
test: macos/10.15
|
||||||
- name: macOS 11.1
|
- name: macOS 11.1
|
||||||
test: macos/11.1
|
test: macos/11.1
|
||||||
|
- name: RHEL 7.8
|
||||||
|
test: rhel/7.8
|
||||||
- name: RHEL 8.2
|
- name: RHEL 8.2
|
||||||
test: rhel/8.2
|
test: rhel/8.2
|
||||||
- name: FreeBSD 12.1
|
- name: FreeBSD 12.1
|
||||||
|
@ -214,8 +216,6 @@ stages:
|
||||||
test: opensuse15py2
|
test: opensuse15py2
|
||||||
- name: openSUSE 15 py3
|
- name: openSUSE 15 py3
|
||||||
test: opensuse15
|
test: opensuse15
|
||||||
- name: Ubuntu 16.04
|
|
||||||
test: ubuntu1604
|
|
||||||
- name: Ubuntu 18.04
|
- name: Ubuntu 18.04
|
||||||
test: ubuntu1804
|
test: ubuntu1804
|
||||||
- name: Ubuntu 20.04
|
- name: Ubuntu 20.04
|
||||||
|
@ -238,6 +238,8 @@ stages:
|
||||||
test: fedora32
|
test: fedora32
|
||||||
- name: openSUSE 15 py3
|
- name: openSUSE 15 py3
|
||||||
test: opensuse15
|
test: opensuse15
|
||||||
|
- name: Ubuntu 16.04
|
||||||
|
test: ubuntu1604
|
||||||
groups:
|
groups:
|
||||||
- 2
|
- 2
|
||||||
- 3
|
- 3
|
||||||
|
|
|
@ -226,10 +226,8 @@ class InventoryModule(BaseInventoryPlugin, Cacheable):
|
||||||
if config == 'rootfs' or config.startswith(('virtio', 'sata', 'ide', 'scsi')):
|
if config == 'rootfs' or config.startswith(('virtio', 'sata', 'ide', 'scsi')):
|
||||||
value = ('disk_image=' + value)
|
value = ('disk_image=' + value)
|
||||||
|
|
||||||
if isinstance(value, int) or ',' not in value:
|
if not (isinstance(value, int) or ',' not in value):
|
||||||
value = value
|
# split off strings with commas to a dict
|
||||||
# split off strings with commas to a dict
|
|
||||||
else:
|
|
||||||
# skip over any keys that cannot be processed
|
# skip over any keys that cannot be processed
|
||||||
try:
|
try:
|
||||||
value = dict(key.split("=") for key in value.split(","))
|
value = dict(key.split("=") for key in value.split(","))
|
||||||
|
|
|
@ -216,7 +216,7 @@ class InventoryModule(BaseInventoryPlugin, Constructable, Cacheable):
|
||||||
yield host not in v
|
yield host not in v
|
||||||
yield True
|
yield True
|
||||||
|
|
||||||
return all([found_host for found_host in find_host(host, inventory)])
|
return all(find_host(host, inventory))
|
||||||
|
|
||||||
def verify_file(self, path):
|
def verify_file(self, path):
|
||||||
|
|
||||||
|
|
|
@ -130,7 +130,7 @@ class CloudRetry(object):
|
||||||
try:
|
try:
|
||||||
return f(*args, **kwargs)
|
return f(*args, **kwargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
if isinstance(e, cls.base_class):
|
if isinstance(e, cls.base_class): # pylint: disable=isinstance-second-argument-not-valid-type
|
||||||
response_code = cls.status_code_from_exception(e)
|
response_code = cls.status_code_from_exception(e)
|
||||||
if cls.found(response_code, catch_extra_error_codes):
|
if cls.found(response_code, catch_extra_error_codes):
|
||||||
msg = "{0}: Retrying in {1} seconds...".format(str(e), delay)
|
msg = "{0}: Retrying in {1} seconds...".format(str(e), delay)
|
||||||
|
|
|
@ -284,7 +284,7 @@ class CmdMixin(object):
|
||||||
|
|
||||||
def _calculate_args(self, extra_params=None, params=None):
|
def _calculate_args(self, extra_params=None, params=None):
|
||||||
def add_arg_formatted_param(_cmd_args, arg_format, _value):
|
def add_arg_formatted_param(_cmd_args, arg_format, _value):
|
||||||
args = [x for x in arg_format.to_text(_value)]
|
args = list(arg_format.to_text(_value))
|
||||||
return _cmd_args + args
|
return _cmd_args + args
|
||||||
|
|
||||||
def find_format(_param):
|
def find_format(_param):
|
||||||
|
|
|
@ -137,17 +137,13 @@ def main():
|
||||||
host = search_by_name(hosts_service, module.params['host'])
|
host = search_by_name(hosts_service, module.params['host'])
|
||||||
if host is None:
|
if host is None:
|
||||||
raise Exception("Host '%s' was not found." % module.params['host'])
|
raise Exception("Host '%s' was not found." % module.params['host'])
|
||||||
tags.extend([
|
tags.extend(hosts_service.host_service(host.id).tags_service().list())
|
||||||
tag for tag in hosts_service.host_service(host.id).tags_service().list()
|
|
||||||
])
|
|
||||||
if module.params['vm']:
|
if module.params['vm']:
|
||||||
vms_service = connection.system_service().vms_service()
|
vms_service = connection.system_service().vms_service()
|
||||||
vm = search_by_name(vms_service, module.params['vm'])
|
vm = search_by_name(vms_service, module.params['vm'])
|
||||||
if vm is None:
|
if vm is None:
|
||||||
raise Exception("Vm '%s' was not found." % module.params['vm'])
|
raise Exception("Vm '%s' was not found." % module.params['vm'])
|
||||||
tags.extend([
|
tags.extend(vms_service.vm_service(vm.id).tags_service().list())
|
||||||
tag for tag in vms_service.vm_service(vm.id).tags_service().list()
|
|
||||||
])
|
|
||||||
|
|
||||||
if not (module.params['vm'] or module.params['host'] or module.params['name']):
|
if not (module.params['vm'] or module.params['host'] or module.params['name']):
|
||||||
tags = all_tags
|
tags = all_tags
|
||||||
|
|
|
@ -164,7 +164,7 @@ def get_package_state(names, pkg_spec, module):
|
||||||
if stdout:
|
if stdout:
|
||||||
# If the requested package name is just a stem, like "python", we may
|
# If the requested package name is just a stem, like "python", we may
|
||||||
# find multiple packages with that name.
|
# find multiple packages with that name.
|
||||||
pkg_spec[name]['installed_names'] = [installed_name for installed_name in stdout.splitlines()]
|
pkg_spec[name]['installed_names'] = stdout.splitlines()
|
||||||
module.debug("get_package_state(): installed_names = %s" % pkg_spec[name]['installed_names'])
|
module.debug("get_package_state(): installed_names = %s" % pkg_spec[name]['installed_names'])
|
||||||
pkg_spec[name]['installed_state'] = True
|
pkg_spec[name]['installed_state'] = True
|
||||||
else:
|
else:
|
||||||
|
|
|
@ -67,10 +67,10 @@ def list_groups(api):
|
||||||
members = []
|
members = []
|
||||||
|
|
||||||
if 'member_host' in hostgroup:
|
if 'member_host' in hostgroup:
|
||||||
members = [host for host in hostgroup['member_host']]
|
members = list(hostgroup['member_host'])
|
||||||
if 'memberindirect_host' in hostgroup:
|
if 'memberindirect_host' in hostgroup:
|
||||||
members += (host for host in hostgroup['memberindirect_host'])
|
members += (host for host in hostgroup['memberindirect_host'])
|
||||||
inventory[hostgroup['cn'][0]] = {'hosts': [host for host in members]}
|
inventory[hostgroup['cn'][0]] = {'hosts': list(members)}
|
||||||
|
|
||||||
for member in members:
|
for member in members:
|
||||||
hostvars[member] = {}
|
hostvars[member] = {}
|
||||||
|
|
|
@ -38,7 +38,7 @@ def build_dict():
|
||||||
for c in lxc.list_containers()])
|
for c in lxc.list_containers()])
|
||||||
|
|
||||||
# Extract the groups, flatten the list, and remove duplicates
|
# Extract the groups, flatten the list, and remove duplicates
|
||||||
groups = set(sum([g for g in containers.values()], []))
|
groups = set(sum(containers.values(), []))
|
||||||
|
|
||||||
# Create a dictionary for each group (including the 'all' group
|
# Create a dictionary for each group (including the 'all' group
|
||||||
return dict([(g, {'hosts': [k for k, v in containers.items() if g in v],
|
return dict([(g, {'hosts': [k for k, v in containers.items() if g in v],
|
||||||
|
|
|
@ -4,3 +4,4 @@ skip/freebsd
|
||||||
skip/macos
|
skip/macos
|
||||||
skip/osx
|
skip/osx
|
||||||
skip/rhel8.2
|
skip/rhel8.2
|
||||||
|
skip/rhel8.3
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
plugins/callback/hipchat.py pylint:blacklisted-name
|
plugins/callback/hipchat.py pylint:blacklisted-name
|
||||||
plugins/connection/lxc.py pylint:blacklisted-name
|
plugins/connection/lxc.py pylint:blacklisted-name
|
||||||
|
plugins/module_utils/cloud.py pylint:bad-option-value # a pylint test that is disabled was modified over time
|
||||||
plugins/module_utils/compat/ipaddress.py no-assert
|
plugins/module_utils/compat/ipaddress.py no-assert
|
||||||
plugins/module_utils/compat/ipaddress.py no-unicode-literals
|
plugins/module_utils/compat/ipaddress.py no-unicode-literals
|
||||||
plugins/module_utils/_mount.py future-import-boilerplate
|
plugins/module_utils/_mount.py future-import-boilerplate
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
plugins/callback/hipchat.py pylint:blacklisted-name
|
plugins/callback/hipchat.py pylint:blacklisted-name
|
||||||
plugins/connection/lxc.py pylint:blacklisted-name
|
plugins/connection/lxc.py pylint:blacklisted-name
|
||||||
|
plugins/module_utils/cloud.py pylint:bad-option-value # a pylint test that is disabled was modified over time
|
||||||
plugins/module_utils/compat/ipaddress.py no-assert
|
plugins/module_utils/compat/ipaddress.py no-assert
|
||||||
plugins/module_utils/compat/ipaddress.py no-unicode-literals
|
plugins/module_utils/compat/ipaddress.py no-unicode-literals
|
||||||
plugins/module_utils/_mount.py future-import-boilerplate
|
plugins/module_utils/_mount.py future-import-boilerplate
|
||||||
|
|
|
@ -97,7 +97,7 @@ class MonitTest(unittest.TestCase):
|
||||||
self.monit.wait_for_monit_to_stop_pending()
|
self.monit.wait_for_monit_to_stop_pending()
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize('status_name', [name for name in monit.StatusValue.ALL_STATUS])
|
@pytest.mark.parametrize('status_name', monit.StatusValue.ALL_STATUS)
|
||||||
def test_status_value(status_name):
|
def test_status_value(status_name):
|
||||||
value = getattr(monit.StatusValue, status_name.upper())
|
value = getattr(monit.StatusValue, status_name.upper())
|
||||||
status = monit.StatusValue(value)
|
status = monit.StatusValue(value)
|
||||||
|
|
|
@ -60,7 +60,7 @@ class TestInterfacesFileModule(unittest.TestCase):
|
||||||
tofile=os.path.basename(backup))
|
tofile=os.path.basename(backup))
|
||||||
# Restore backup
|
# Restore backup
|
||||||
move(backup, path)
|
move(backup, path)
|
||||||
deltas = [d for d in diffs]
|
deltas = list(diffs)
|
||||||
self.assertTrue(len(deltas) == 0)
|
self.assertTrue(len(deltas) == 0)
|
||||||
|
|
||||||
def compareInterfacesLinesToFile(self, interfaces_lines, path, testname=None):
|
def compareInterfacesLinesToFile(self, interfaces_lines, path, testname=None):
|
||||||
|
|
Loading…
Reference in a new issue