Browse Source

Support ansible 2.7

We should keep up with recent ansible versions so support 2.7.

Change-Id: Ic4234784f104690d72cfac71e09ecd170ccce1b5
changes/32/631932/24
Tobias Henkel 2 years ago
parent
commit
fed4d627ce
No known key found for this signature in database GPG Key ID: 3750DEC158E5FA2
216 changed files with 332 additions and 9 deletions
  1. +13
    -1
      .zuul.yaml
  2. +4
    -0
      releasenotes/notes/ansible-2.7-e4db1ec0440446be.yaml
  3. +9
    -0
      tests/fixtures/config/ansible-versions/git/common-config/zuul.yaml
  4. +15
    -0
      tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/library/broken_module_exception.py
  5. +0
    -0
      tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/library/broken_module_no_result.py
  6. +1
    -1
      tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/module_failure_exception.yaml
  7. +6
    -0
      tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/module_failure_no_result.yaml
  8. +4
    -0
      tests/remote/test_remote_action_modules.py
  9. +4
    -0
      tests/remote/test_remote_zuul_json.py
  10. +28
    -3
      tests/remote/test_remote_zuul_stream.py
  11. +5
    -0
      tests/unit/test_v3.py
  12. +1
    -0
      zuul/ansible/2.7/action/__init__.py
  13. +1
    -0
      zuul/ansible/2.7/action/add_host.py
  14. +1
    -0
      zuul/ansible/2.7/action/add_host.pyi
  15. +1
    -0
      zuul/ansible/2.7/action/aireos.py
  16. +1
    -0
      zuul/ansible/2.7/action/aireos.pyi
  17. +1
    -0
      zuul/ansible/2.7/action/aireos_config.py
  18. +1
    -0
      zuul/ansible/2.7/action/aireos_config.pyi
  19. +1
    -0
      zuul/ansible/2.7/action/aruba.py
  20. +1
    -0
      zuul/ansible/2.7/action/aruba.pyi
  21. +1
    -0
      zuul/ansible/2.7/action/aruba_config.py
  22. +1
    -0
      zuul/ansible/2.7/action/aruba_config.pyi
  23. +1
    -0
      zuul/ansible/2.7/action/asa.py
  24. +1
    -0
      zuul/ansible/2.7/action/asa.pyi
  25. +1
    -0
      zuul/ansible/2.7/action/asa_config.py
  26. +1
    -0
      zuul/ansible/2.7/action/asa_config.pyi
  27. +1
    -0
      zuul/ansible/2.7/action/asa_template.py
  28. +1
    -0
      zuul/ansible/2.7/action/asa_template.pyi
  29. +1
    -0
      zuul/ansible/2.7/action/assemble.py
  30. +1
    -0
      zuul/ansible/2.7/action/assemble.pyi
  31. +1
    -0
      zuul/ansible/2.7/action/aws_s3.py
  32. +1
    -0
      zuul/ansible/2.7/action/aws_s3.pyi
  33. +1
    -0
      zuul/ansible/2.7/action/ce.py
  34. +1
    -0
      zuul/ansible/2.7/action/ce.pyi
  35. +1
    -0
      zuul/ansible/2.7/action/ce_config.py
  36. +1
    -0
      zuul/ansible/2.7/action/ce_config.pyi
  37. +1
    -0
      zuul/ansible/2.7/action/ce_template.py
  38. +1
    -0
      zuul/ansible/2.7/action/ce_template.pyi
  39. +1
    -0
      zuul/ansible/2.7/action/copy.py
  40. +1
    -0
      zuul/ansible/2.7/action/copy.pyi
  41. +1
    -0
      zuul/ansible/2.7/action/dellos10_config.py
  42. +1
    -0
      zuul/ansible/2.7/action/dellos10_config.pyi
  43. +1
    -0
      zuul/ansible/2.7/action/dellos6_config.py
  44. +1
    -0
      zuul/ansible/2.7/action/dellos6_config.pyi
  45. +1
    -0
      zuul/ansible/2.7/action/dellos9_config.py
  46. +1
    -0
      zuul/ansible/2.7/action/dellos9_config.pyi
  47. +1
    -0
      zuul/ansible/2.7/action/eos_config.py
  48. +1
    -0
      zuul/ansible/2.7/action/eos_config.pyi
  49. +1
    -0
      zuul/ansible/2.7/action/eos_template.py
  50. +1
    -0
      zuul/ansible/2.7/action/eos_template.pyi
  51. +1
    -0
      zuul/ansible/2.7/action/fetch.py
  52. +1
    -0
      zuul/ansible/2.7/action/fetch.pyi
  53. +1
    -0
      zuul/ansible/2.7/action/fortios_config.py
  54. +1
    -0
      zuul/ansible/2.7/action/fortios_config.pyi
  55. +1
    -0
      zuul/ansible/2.7/action/include_vars.py
  56. +1
    -0
      zuul/ansible/2.7/action/include_vars.pyi
  57. +1
    -0
      zuul/ansible/2.7/action/ios_config.py
  58. +1
    -0
      zuul/ansible/2.7/action/ios_config.pyi
  59. +1
    -0
      zuul/ansible/2.7/action/ios_template.py
  60. +1
    -0
      zuul/ansible/2.7/action/ios_template.pyi
  61. +1
    -0
      zuul/ansible/2.7/action/iosxr_config.py
  62. +1
    -0
      zuul/ansible/2.7/action/iosxr_config.pyi
  63. +1
    -0
      zuul/ansible/2.7/action/iosxr_template.py
  64. +1
    -0
      zuul/ansible/2.7/action/iosxr_template.pyi
  65. +1
    -0
      zuul/ansible/2.7/action/junos_config.py
  66. +1
    -0
      zuul/ansible/2.7/action/junos_config.pyi
  67. +1
    -0
      zuul/ansible/2.7/action/junos_template.py
  68. +1
    -0
      zuul/ansible/2.7/action/junos_template.pyi
  69. +1
    -0
      zuul/ansible/2.7/action/net_banner.py
  70. +1
    -0
      zuul/ansible/2.7/action/net_banner.pyi
  71. +1
    -0
      zuul/ansible/2.7/action/net_base.py
  72. +1
    -0
      zuul/ansible/2.7/action/net_base.pyi
  73. +1
    -0
      zuul/ansible/2.7/action/net_config.py
  74. +1
    -0
      zuul/ansible/2.7/action/net_config.pyi
  75. +1
    -0
      zuul/ansible/2.7/action/net_get.py
  76. +1
    -0
      zuul/ansible/2.7/action/net_get.pyi
  77. +1
    -0
      zuul/ansible/2.7/action/net_interface.py
  78. +1
    -0
      zuul/ansible/2.7/action/net_interface.pyi
  79. +1
    -0
      zuul/ansible/2.7/action/net_l2_interface.py
  80. +1
    -0
      zuul/ansible/2.7/action/net_l2_interface.pyi
  81. +1
    -0
      zuul/ansible/2.7/action/net_l3_interface.py
  82. +1
    -0
      zuul/ansible/2.7/action/net_l3_interface.pyi
  83. +1
    -0
      zuul/ansible/2.7/action/net_linkagg.py
  84. +1
    -0
      zuul/ansible/2.7/action/net_linkagg.pyi
  85. +1
    -0
      zuul/ansible/2.7/action/net_lldp.py
  86. +1
    -0
      zuul/ansible/2.7/action/net_lldp.pyi
  87. +1
    -0
      zuul/ansible/2.7/action/net_lldp_interface.py
  88. +1
    -0
      zuul/ansible/2.7/action/net_lldp_interface.pyi
  89. +1
    -0
      zuul/ansible/2.7/action/net_logging.py
  90. +1
    -0
      zuul/ansible/2.7/action/net_logging.pyi
  91. +1
    -0
      zuul/ansible/2.7/action/net_ping.py
  92. +1
    -0
      zuul/ansible/2.7/action/net_ping.pyi
  93. +1
    -0
      zuul/ansible/2.7/action/net_static_route.py
  94. +1
    -0
      zuul/ansible/2.7/action/net_static_route.pyi
  95. +1
    -0
      zuul/ansible/2.7/action/net_system.py
  96. +1
    -0
      zuul/ansible/2.7/action/net_system.pyi
  97. +1
    -0
      zuul/ansible/2.7/action/net_template.py
  98. +1
    -0
      zuul/ansible/2.7/action/net_template.pyi
  99. +1
    -0
      zuul/ansible/2.7/action/net_user.py
  100. +1
    -0
      zuul/ansible/2.7/action/net_user.pyi

+ 13
- 1
.zuul.yaml 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


+ 4
- 0
releasenotes/notes/ansible-2.7-e4db1ec0440446be.yaml View File

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

+ 9
- 0
tests/fixtures/config/ansible-versions/git/common-config/zuul.yaml 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

+ 15
- 0
tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/library/broken_module_exception.py 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()

tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/library/broken_module.py → tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/library/broken_module_no_result.py View File


tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/module_failure.yaml → tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/module_failure_exception.yaml View File


+ 6
- 0
tests/fixtures/config/remote-zuul-stream/git/org_project/playbooks/module_failure_no_result.yaml View File

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

+ 4
- 0
tests/remote/test_remote_action_modules.py View File

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

+ 4
- 0
tests/remote/test_remote_zuul_json.py View File

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

+ 28
- 3
tests/remote/test_remote_zuul_stream.py 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'

+ 5
- 0
tests/unit/test_v3.py 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
@ -5309,4 +5313,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)

+ 1
- 0
zuul/ansible/2.7/action/__init__.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/add_host.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/add_host.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/aireos.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/aireos.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/aireos_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/aireos_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/aruba.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/aruba.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/aruba_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/aruba_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/asa.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/asa.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/asa_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/asa_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/asa_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/asa_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/assemble.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/assemble.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/aws_s3.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/aws_s3.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/ce.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/ce.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/ce_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/ce_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/ce_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/ce_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/copy.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/copy.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/dellos10_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/dellos10_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/dellos6_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/dellos6_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/dellos9_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/dellos9_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/eos_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/eos_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/eos_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/eos_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/fetch.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/fetch.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/fortios_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/fortios_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/include_vars.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/include_vars.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/ios_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/ios_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/ios_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/ios_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/iosxr_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/iosxr_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/iosxr_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/iosxr_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/junos_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/junos_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/junos_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/junos_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_banner.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_banner.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_base.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_base.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_config.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_config.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_get.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_get.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_interface.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_interface.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_l2_interface.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_l2_interface.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_l3_interface.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_l3_interface.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_linkagg.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_linkagg.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_lldp.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_lldp.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_lldp_interface.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_lldp_interface.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_logging.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_logging.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_ping.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_ping.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_static_route.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_static_route.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_system.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_system.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_template.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_template.pyi View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_user.py View File

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

+ 1
- 0
zuul/ansible/2.7/action/net_user.pyi View File

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

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

Loading…
Cancel
Save