Merge "Support ansible 2.7"

This commit is contained in:
Zuul 2019-03-18 07:16:47 +00:00 committed by Gerrit Code Review
commit ade2c7cbaf
216 changed files with 332 additions and 9 deletions

View File

@ -39,6 +39,12 @@
vars:
zuul_ansible_version: 2.6
- job:
name: zuul-stream-functional-2.7
parent: zuul-stream-functional
vars:
zuul_ansible_version: 2.7
- job:
name: zuul-tox-remote
parent: tox
@ -156,7 +162,7 @@
parent: upload-docker-image
description: Build Docker images and upload to Docker Hub.
allowed-projects: openstack-infra/zuul
secrets:
secrets:
name: docker_credentials
secret: zuul-dockerhub
pass-to-parent: true
@ -185,10 +191,12 @@
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
nodeset: ubuntu-xenial
timeout: 2700 # 45 minutes
- tox-py36:
irrelevant-files:
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
timeout: 2700 # 45 minutes
- zuul-build-dashboard
- zuul-build-dashboard-multi-tenant
- nodejs-npm-run-lint:
@ -204,6 +212,7 @@
- web/.*
- zuul-stream-functional-2.5
- zuul-stream-functional-2.6
- zuul-stream-functional-2.7
- zuul-tox-remote
- zuul-quick-start
- nodepool-zuul-functional:
@ -218,10 +227,12 @@
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
nodeset: ubuntu-xenial
timeout: 2700 # 45 minutes
- tox-py36:
irrelevant-files:
- zuul/cmd/migrate.py
- playbooks/zuul-migrate/.*
timeout: 2700 # 45 minutes
- zuul-build-dashboard
- nodejs-npm-run-lint:
vars:
@ -236,6 +247,7 @@
- web/.*
- zuul-stream-functional-2.5
- zuul-stream-functional-2.6
- zuul-stream-functional-2.7
- zuul-tox-remote
- zuul-quick-start
- zuul-upload-image

View File

@ -0,0 +1,4 @@
---
features:
- |
Zuul now supports ansible 2.7 for running jobs.

View File

@ -43,6 +43,14 @@
test_ansible_version_major: 2
test_ansible_version_minor: 6
- job:
name: ansible-27
parent: ansible-version
ansible-version: 2.7
vars:
test_ansible_version_major: 2
test_ansible_version_minor: 7
- project:
name: common-config
@ -51,3 +59,4 @@
- ansible-default
- ansible-25
- ansible-26
- ansible-27

View File

@ -0,0 +1,15 @@
#!/usr/bin/env python
def main():
raise Exception('This module is broken')
try:
from ansible.module_utils.basic import * # noqa
except ImportError:
pass
if __name__ == '__main__':
main()

View File

@ -3,4 +3,4 @@
- name: Start zuul_console daemon
zuul_console:
- name: Module failure
broken_module:
broken_module_exception:

View File

@ -0,0 +1,6 @@
- hosts: all
tasks:
- name: Start zuul_console daemon
zuul_console:
- name: Module failure
broken_module_no_result:

View File

@ -215,3 +215,7 @@ class TestActionModules25(AnsibleZuulTestCase):
class TestActionModules26(TestActionModules25):
ansible_version = '2.6'
class TestActionModules27(TestActionModules25):
ansible_version = '2.7'

View File

@ -146,3 +146,7 @@ class TestZuulJSON25(AnsibleZuulTestCase):
class TestZuulJSON26(TestZuulJSON25):
ansible_version = '2.6'
class TestZuulJSON27(TestZuulJSON25):
ansible_version = '2.7'

View File

@ -156,8 +156,8 @@ class TestZuulStream25(AnsibleZuulTestCase):
r'RUN END RESULT_NORMAL: \[untrusted : review.example.com/'
r'org/project/playbooks/command.yaml@master]', text)
def test_module_failure(self):
job = self._run_job('module_failure')
def test_module_exception(self):
job = self._run_job('module_failure_exception')
with self.jobLog(job):
build = self.history[-1]
self.assertEqual(build.result, 'FAILURE')
@ -165,8 +165,33 @@ class TestZuulStream25(AnsibleZuulTestCase):
text = self._get_job_output(build)
self.assertLogLine(r'TASK \[Module failure\]', text)
self.assertLogLine(
r'controller \| MODULE FAILURE: This module is broken', text)
r'controller \| MODULE FAILURE:', text)
self.assertLogLine(
r'controller \| Exception: This module is broken', text)
def test_module_no_result(self):
job = self._run_job('module_failure_no_result')
with self.jobLog(job):
build = self.history[-1]
self.assertEqual(build.result, 'FAILURE')
text = self._get_job_output(build)
self.assertLogLine(r'TASK \[Module failure\]', text)
if self.ansible_version in ('2.5', '2.6'):
regex = r'controller \| MODULE FAILURE: This module is broken'
else:
# Ansible starting with 2.7 emits a different error message
# if a module exits without an exception or the ansible
# supplied methods.
regex = r'controller \| "msg": "New-style module did not ' \
r'handle its own exit"'
self.assertLogLine(regex, text)
class TestZuulStream26(TestZuulStream25):
ansible_version = '2.6'
class TestZuulStream27(TestZuulStream25):
ansible_version = '2.7'

View File

@ -2443,6 +2443,10 @@ class TestAnsible26(TestAnsible25):
ansible_version = '2.6'
class TestAnsible27(TestAnsible25):
ansible_version = '2.7'
class TestPrePlaybooks(AnsibleZuulTestCase):
# A temporary class to hold new tests while others are disabled
@ -5320,4 +5324,5 @@ class TestAnsibleVersion(AnsibleZuulTestCase):
dict(name='ansible-default', result='SUCCESS', changes='1,1'),
dict(name='ansible-25', result='SUCCESS', changes='1,1'),
dict(name='ansible-26', result='SUCCESS', changes='1,1'),
dict(name='ansible-27', result='SUCCESS', changes='1,1'),
], ordered=False)

View File

@ -0,0 +1 @@
../../base/action/__init__.py

View File

@ -0,0 +1 @@
../../base/action/add_host.py

View File

@ -0,0 +1 @@
../../base/action/add_host.pyi

View File

@ -0,0 +1 @@
../../base/action/aireos.py

View File

@ -0,0 +1 @@
../../base/action/aireos.pyi

View File

@ -0,0 +1 @@
../../base/action/aireos_config.py

View File

@ -0,0 +1 @@
../../base/action/aireos_config.pyi

View File

@ -0,0 +1 @@
../../base/action/aruba.py

View File

@ -0,0 +1 @@
../../base/action/aruba.pyi

View File

@ -0,0 +1 @@
../../base/action/aruba_config.py

View File

@ -0,0 +1 @@
../../base/action/aruba_config.pyi

View File

@ -0,0 +1 @@
../../base/action/asa.py

View File

@ -0,0 +1 @@
../../base/action/asa.pyi

View File

@ -0,0 +1 @@
../../base/action/asa_config.py

View File

@ -0,0 +1 @@
../../base/action/asa_config.pyi

View File

@ -0,0 +1 @@
../../base/action/asa_template.py

View File

@ -0,0 +1 @@
../../base/action/asa_template.pyi

View File

@ -0,0 +1 @@
../../base/action/assemble.py

View File

@ -0,0 +1 @@
../../base/action/assemble.pyi

View File

@ -0,0 +1 @@
../../base/action/aws_s3.py

View File

@ -0,0 +1 @@
../../base/action/aws_s3.pyi

View File

@ -0,0 +1 @@
../../base/action/ce.py

View File

@ -0,0 +1 @@
../../base/action/ce.pyi

View File

@ -0,0 +1 @@
../../base/action/ce_config.py

View File

@ -0,0 +1 @@
../../base/action/ce_config.pyi

View File

@ -0,0 +1 @@
../../base/action/ce_template.py

View File

@ -0,0 +1 @@
../../base/action/ce_template.pyi

View File

@ -0,0 +1 @@
../../base/action/copy.py

View File

@ -0,0 +1 @@
../../base/action/copy.pyi

View File

@ -0,0 +1 @@
../../base/action/dellos10_config.py

View File

@ -0,0 +1 @@
../../base/action/dellos10_config.pyi

View File

@ -0,0 +1 @@
../../base/action/dellos6_config.py

View File

@ -0,0 +1 @@
../../base/action/dellos6_config.pyi

View File

@ -0,0 +1 @@
../../base/action/dellos9_config.py

View File

@ -0,0 +1 @@
../../base/action/dellos9_config.pyi

View File

@ -0,0 +1 @@
../../base/action/eos_config.py

View File

@ -0,0 +1 @@
../../base/action/eos_config.pyi

View File

@ -0,0 +1 @@
../../base/action/eos_template.py

View File

@ -0,0 +1 @@
../../base/action/eos_template.pyi

View File

@ -0,0 +1 @@
../../base/action/fetch.py

View File

@ -0,0 +1 @@
../../base/action/fetch.pyi

View File

@ -0,0 +1 @@
../../base/action/fortios_config.py

View File

@ -0,0 +1 @@
../../base/action/fortios_config.pyi

View File

@ -0,0 +1 @@
../../base/action/include_vars.py

View File

@ -0,0 +1 @@
../../base/action/include_vars.pyi

View File

@ -0,0 +1 @@
../../base/action/ios_config.py

View File

@ -0,0 +1 @@
../../base/action/ios_config.pyi

View File

@ -0,0 +1 @@
../../base/action/ios_template.py

View File

@ -0,0 +1 @@
../../base/action/ios_template.pyi

View File

@ -0,0 +1 @@
../../base/action/iosxr_config.py

View File

@ -0,0 +1 @@
../../base/action/iosxr_config.pyi

View File

@ -0,0 +1 @@
../../base/action/iosxr_template.py

View File

@ -0,0 +1 @@
../../base/action/iosxr_template.pyi

View File

@ -0,0 +1 @@
../../base/action/junos_config.py

View File

@ -0,0 +1 @@
../../base/action/junos_config.pyi

View File

@ -0,0 +1 @@
../../base/action/junos_template.py

View File

@ -0,0 +1 @@
../../base/action/junos_template.pyi

View File

@ -0,0 +1 @@
../../base/action/net_banner.py

View File

@ -0,0 +1 @@
../../base/action/net_banner.pyi

View File

@ -0,0 +1 @@
../../base/action/net_base.py

View File

@ -0,0 +1 @@
../../base/action/net_base.pyi

View File

@ -0,0 +1 @@
../../base/action/net_config.py

View File

@ -0,0 +1 @@
../../base/action/net_config.pyi

View File

@ -0,0 +1 @@
../../base/action/net_get.py

View File

@ -0,0 +1 @@
../../base/action/net_get.pyi

View File

@ -0,0 +1 @@
../../base/action/net_interface.py

View File

@ -0,0 +1 @@
../../base/action/net_interface.pyi

View File

@ -0,0 +1 @@
../../base/action/net_l2_interface.py

View File

@ -0,0 +1 @@
../../base/action/net_l2_interface.pyi

View File

@ -0,0 +1 @@
../../base/action/net_l3_interface.py

View File

@ -0,0 +1 @@
../../base/action/net_l3_interface.pyi

View File

@ -0,0 +1 @@
../../base/action/net_linkagg.py

View File

@ -0,0 +1 @@
../../base/action/net_linkagg.pyi

View File

@ -0,0 +1 @@
../../base/action/net_lldp.py

View File

@ -0,0 +1 @@
../../base/action/net_lldp.pyi

View File

@ -0,0 +1 @@
../../base/action/net_lldp_interface.py

View File

@ -0,0 +1 @@
../../base/action/net_lldp_interface.pyi

View File

@ -0,0 +1 @@
../../base/action/net_logging.py

View File

@ -0,0 +1 @@
../../base/action/net_logging.pyi

View File

@ -0,0 +1 @@
../../base/action/net_ping.py

View File

@ -0,0 +1 @@
../../base/action/net_ping.pyi

View File

@ -0,0 +1 @@
../../base/action/net_static_route.py

View File

@ -0,0 +1 @@
../../base/action/net_static_route.pyi

View File

@ -0,0 +1 @@
../../base/action/net_system.py

View File

@ -0,0 +1 @@
../../base/action/net_system.pyi

View File

@ -0,0 +1 @@
../../base/action/net_template.py

View File

@ -0,0 +1 @@
../../base/action/net_template.pyi

View File

@ -0,0 +1 @@
../../base/action/net_user.py

View File

@ -0,0 +1 @@
../../base/action/net_user.pyi

Some files were not shown because too many files have changed in this diff Show More