summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathaniel Case <ncase@redhat.com>2020-02-03 08:04:08 -0500
committerGitHub <noreply@github.com>2020-02-03 08:04:08 -0500
commit53c7f8cbdee3c798a6947b834d0640935155d85b (patch)
tree128d9964d5a92b00a2b8891ddad82c0e277d9bb1
parent0ee28c14c21cdddbf03842afb350ef3a1a83f899 (diff)
downloadansible-53c7f8cbdee3c798a6947b834d0640935155d85b.tar.gz
Allow httpapi for EOS resource modules (#66871)
* Redo tests to be transport agnostic cli -> eos config * Redirect connection for httpapi * Fix tests * Handle missing platform imports
-rw-r--r--lib/ansible/module_utils/network/common/network.py25
-rw-r--r--lib/ansible/module_utils/network/eos/eos.py5
-rw-r--r--lib/ansible/module_utils/network/eos/facts/legacy/base.py7
-rw-r--r--lib/ansible/module_utils/network/eos/facts/vlans/vlans.py3
-rw-r--r--lib/ansible/utils/jsonrpc.py2
-rw-r--r--test/integration/targets/eos_interfaces/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_interfaces/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_interfaces/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_interfaces/tests/common/deleted.yaml (renamed from test/integration/targets/eos_interfaces/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_interfaces/tests/common/merged.yaml (renamed from test/integration/targets/eos_interfaces/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_interfaces/tests/common/overridden.yaml (renamed from test/integration/targets/eos_interfaces/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_interfaces/tests/common/replaced.yaml (renamed from test/integration/targets/eos_interfaces/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_interfaces/tests/common/reset_config.yml (renamed from test/integration/targets/eos_interfaces/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_l2_interfaces/tasks/cli.yaml22
-rw-r--r--test/integration/targets/eos_l2_interfaces/tasks/eapi.yaml22
-rw-r--r--test/integration/targets/eos_l2_interfaces/tasks/main.yaml23
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/common/cleanup.yml (renamed from test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml)8
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/common/deleted.yaml (renamed from test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/common/merged.yaml (renamed from test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/common/overridden.yaml (renamed from test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/common/replaced.yaml (renamed from test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_l2_interfaces/tests/common/reset_config.yml (renamed from test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_l3_interfaces/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_l3_interfaces/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_l3_interfaces/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/common/deleted.yaml (renamed from test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/common/merged.yaml (renamed from test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/common/overridden.yaml (renamed from test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/common/replaced.yaml (renamed from test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_l3_interfaces/tests/common/reset_config.yml (renamed from test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tests/common/deleted.yaml (renamed from test/integration/targets/eos_lacp_interfaces/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tests/common/merged.yaml (renamed from test/integration/targets/eos_lacp_interfaces/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tests/common/overridden.yaml (renamed from test/integration/targets/eos_lacp_interfaces/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tests/common/replaced.yaml (renamed from test/integration/targets/eos_lacp_interfaces/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_lacp_interfaces/tests/common/reset_config.yml (renamed from test/integration/targets/eos_lacp_interfaces/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_lag_interfaces/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_lag_interfaces/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_lag_interfaces/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_lag_interfaces/tests/common/deleted.yaml (renamed from test/integration/targets/eos_lag_interfaces/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_lag_interfaces/tests/common/merged.yaml (renamed from test/integration/targets/eos_lag_interfaces/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_lag_interfaces/tests/common/overridden.yaml (renamed from test/integration/targets/eos_lag_interfaces/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_lag_interfaces/tests/common/replaced.yaml (renamed from test/integration/targets/eos_lag_interfaces/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_lag_interfaces/tests/common/reset_config.yml (renamed from test/integration/targets/eos_lag_interfaces/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_lldp_global/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_lldp_global/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_lldp_global/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_lldp_global/tests/common/deleted.yaml (renamed from test/integration/targets/eos_lldp_global/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_global/tests/common/merged.yaml (renamed from test/integration/targets/eos_lldp_global/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_global/tests/common/replaced.yaml (renamed from test/integration/targets/eos_lldp_global/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_global/tests/common/reset_config.yml (renamed from test/integration/targets/eos_lldp_global/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tests/common/deleted.yaml (renamed from test/integration/targets/eos_lldp_interfaces/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tests/common/merged.yaml (renamed from test/integration/targets/eos_lldp_interfaces/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tests/common/overridden.yaml (renamed from test/integration/targets/eos_lldp_interfaces/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tests/common/replaced.yaml (renamed from test/integration/targets/eos_lldp_interfaces/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_lldp_interfaces/tests/common/reset_config.yml (renamed from test/integration/targets/eos_lldp_interfaces/tests/cli/reset_config.yml)4
-rw-r--r--test/integration/targets/eos_vlans/tasks/cli.yaml17
-rw-r--r--test/integration/targets/eos_vlans/tasks/eapi.yaml17
-rw-r--r--test/integration/targets/eos_vlans/tasks/main.yaml18
-rw-r--r--test/integration/targets/eos_vlans/tests/common/deleted.yaml (renamed from test/integration/targets/eos_vlans/tests/cli/deleted.yaml)0
-rw-r--r--test/integration/targets/eos_vlans/tests/common/idempotent.yaml (renamed from test/integration/targets/eos_vlans/tests/cli/idempotent.yaml)0
-rw-r--r--test/integration/targets/eos_vlans/tests/common/merged.yaml (renamed from test/integration/targets/eos_vlans/tests/cli/merged.yaml)0
-rw-r--r--test/integration/targets/eos_vlans/tests/common/overridden.yaml (renamed from test/integration/targets/eos_vlans/tests/cli/overridden.yaml)0
-rw-r--r--test/integration/targets/eos_vlans/tests/common/replaced.yaml (renamed from test/integration/targets/eos_vlans/tests/cli/replaced.yaml)0
-rw-r--r--test/integration/targets/eos_vlans/tests/common/reset_config.yml (renamed from test/integration/targets/eos_vlans/tests/cli/reset_config.yml)9
70 files changed, 359 insertions, 159 deletions
diff --git a/lib/ansible/module_utils/network/common/network.py b/lib/ansible/module_utils/network/common/network.py
index e76d31e983..315a663762 100644
--- a/lib/ansible/module_utils/network/common/network.py
+++ b/lib/ansible/module_utils/network/common/network.py
@@ -30,12 +30,23 @@ import json
from ansible.module_utils._text import to_text, to_native
from ansible.module_utils.basic import AnsibleModule
-from ansible.module_utils.basic import env_fallback
+from ansible.module_utils.basic import env_fallback, missing_required_lib
from ansible.module_utils.connection import Connection, ConnectionError
from ansible.module_utils.network.common.netconf import NetconfConnection
from ansible.module_utils.network.common.parsing import Cli
from ansible.module_utils.six import iteritems
+try:
+ from ansible.module_utils.network.eos import eos
+ HAS_EOS = True
+except ImportError:
+ HAS_EOS = False
+
+try:
+ from ansible.module_utils.network.nxos import nxos
+ HAS_NXOS = True
+except ImportError:
+ HAS_NXOS = False
NET_TRANSPORT_ARGS = dict(
host=dict(required=True),
@@ -212,7 +223,17 @@ def get_resource_connection(module):
capabilities = get_capabilities(module)
network_api = capabilities.get('network_api')
- if network_api in ('cliconf', 'nxapi', 'eapi', 'exosapi'):
+ if network_api == 'eapi':
+ if HAS_EOS:
+ module._connection = eos.get_connection(module)
+ else:
+ module.fail_json(msg=missing_required_lib("collection arista.eos"))
+ elif network_api == 'nxapi':
+ if HAS_NXOS:
+ module._connection = nxos.get_connection(module)
+ else:
+ module.fail_json(msg=missing_required_lib("collection cisco.nxos"))
+ elif network_api in ('cliconf', 'exosapi'):
module._connection = Connection(module._socket_path)
elif network_api == 'netconf':
module._connection = NetconfConnection(module._socket_path)
diff --git a/lib/ansible/module_utils/network/eos/eos.py b/lib/ansible/module_utils/network/eos/eos.py
index 22c675153e..6721c0e54c 100644
--- a/lib/ansible/module_utils/network/eos/eos.py
+++ b/lib/ansible/module_utils/network/eos/eos.py
@@ -418,6 +418,9 @@ class HttpApi:
self._session_support = self._connection.supports_sessions()
return self._session_support
+ def get(self, command, **kwargs):
+ return self._connection.send_request(command)
+
def run_commands(self, commands, check_rc=True):
"""Runs list of commands on remote device and returns results
"""
@@ -511,7 +514,7 @@ class HttpApi:
"""
return self.edit_config(config, commit, replace)
- def edit_config(self, config, commit=False, replace=False):
+ def edit_config(self, config, commit=True, replace=False):
"""Loads the configuration onto the remote devices
If the device doesn't support configuration sessions, this will
diff --git a/lib/ansible/module_utils/network/eos/facts/legacy/base.py b/lib/ansible/module_utils/network/eos/facts/legacy/base.py
index 50bb82e849..6093dedd09 100644
--- a/lib/ansible/module_utils/network/eos/facts/legacy/base.py
+++ b/lib/ansible/module_utils/network/eos/facts/legacy/base.py
@@ -130,6 +130,13 @@ class Interfaces(FactsBase):
self.facts['all_ipv6_addresses'] = list()
data = self.responses[0]
+ if not isinstance(data, dict):
+ # EAPI kills the whole request on an error.
+ self.COMMANDS.pop()
+ super(Interfaces, self).populate()
+ self.responses.append(None)
+ data = self.responses[0]
+
self.facts['interfaces'] = self.populate_interfaces(data)
data = self.responses[1]
diff --git a/lib/ansible/module_utils/network/eos/facts/vlans/vlans.py b/lib/ansible/module_utils/network/eos/facts/vlans/vlans.py
index 0e01b6c216..63d21b169b 100644
--- a/lib/ansible/module_utils/network/eos/facts/vlans/vlans.py
+++ b/lib/ansible/module_utils/network/eos/facts/vlans/vlans.py
@@ -63,8 +63,7 @@ class VlansFacts(object):
if obj:
objs.extend(obj)
- ansible_facts['ansible_network_resources'].pop('vlans', None)
- facts = {}
+ facts = {'vlans': []}
if objs:
params = utils.validate_config(self.argument_spec, {'config': objs})
facts['vlans'] = [utils.remove_empties(cfg) for cfg in params['config']]
diff --git a/lib/ansible/utils/jsonrpc.py b/lib/ansible/utils/jsonrpc.py
index e48c979d4c..0a97c61054 100644
--- a/lib/ansible/utils/jsonrpc.py
+++ b/lib/ansible/utils/jsonrpc.py
@@ -39,7 +39,7 @@ class JsonRpcServer(object):
break
if not rpc_method:
- error = self.method_not_found()
+ error = self.method_not_found(rpc_method)
response = json.dumps(error)
else:
try:
diff --git a/test/integration/targets/eos_interfaces/tasks/cli.yaml b/test/integration/targets/eos_interfaces/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_interfaces/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_interfaces/tasks/eapi.yaml b/test/integration/targets/eos_interfaces/tasks/eapi.yaml
new file mode 100644
index 0000000000..34ce8f6347
--- /dev/null
+++ b/test/integration/targets/eos_interfaces/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
diff --git a/test/integration/targets/eos_interfaces/tasks/main.yaml b/test/integration/targets/eos_interfaces/tasks/main.yaml
index 068963b4c3..970e74171e 100644
--- a/test/integration/targets/eos_interfaces/tasks/main.yaml
+++ b/test/integration/targets/eos_interfaces/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- delegate_to: localhost
- register: test_cases
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_interfaces/tests/common/deleted.yaml
index b447fb6b72..b447fb6b72 100644
--- a/test/integration/targets/eos_interfaces/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_interfaces/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_interfaces/tests/common/merged.yaml
index 8030f09d58..8030f09d58 100644
--- a/test/integration/targets/eos_interfaces/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_interfaces/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_interfaces/tests/common/overridden.yaml
index b1b1777bfe..b1b1777bfe 100644
--- a/test/integration/targets/eos_interfaces/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_interfaces/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_interfaces/tests/common/replaced.yaml
index ab9fd6fd2e..ab9fd6fd2e 100644
--- a/test/integration/targets/eos_interfaces/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_interfaces/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_interfaces/tests/common/reset_config.yml
index 0613582955..7932f9f948 100644
--- a/test/integration/targets/eos_interfaces/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_interfaces/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset initial config
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface Ethernet1
description "Interface 1"
no shutdown
diff --git a/test/integration/targets/eos_l2_interfaces/tasks/cli.yaml b/test/integration/targets/eos_l2_interfaces/tasks/cli.yaml
new file mode 100644
index 0000000000..92c7271ce9
--- /dev/null
+++ b/test/integration/targets/eos_l2_interfaces/tasks/cli.yaml
@@ -0,0 +1,22 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- block:
+ - name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
+
+ always:
+ - name: Clean up test state
+ include: "{{ role_path }}/tests/common/cleanup.yml ansible_connection=network_cli"
diff --git a/test/integration/targets/eos_l2_interfaces/tasks/eapi.yaml b/test/integration/targets/eos_l2_interfaces/tasks/eapi.yaml
new file mode 100644
index 0000000000..f67b3d7214
--- /dev/null
+++ b/test/integration/targets/eos_l2_interfaces/tasks/eapi.yaml
@@ -0,0 +1,22 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- block:
+ - name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
+
+ always:
+ - name: Clean up test state
+ include: "{{ role_path }}/tests/common/cleanup.yml ansible_connection=httpapi"
diff --git a/test/integration/targets/eos_l2_interfaces/tasks/main.yaml b/test/integration/targets/eos_l2_interfaces/tasks/main.yaml
index 35abc8e876..970e74171e 100644
--- a/test/integration/targets/eos_l2_interfaces/tasks/main.yaml
+++ b/test/integration/targets/eos_l2_interfaces/tasks/main.yaml
@@ -1,22 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- delegate_to: localhost
- register: test_cases
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- block:
- - name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
-
- always:
- - name: Clean up test state
- include: "{{ role_path }}/tests/cli/cleanup.yml ansible_connection=network_cli"
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml b/test/integration/targets/eos_l2_interfaces/tests/common/cleanup.yml
index d71a6a9db4..7a6f44dd04 100644
--- a/test/integration/targets/eos_l2_interfaces/tests/cli/cleanup.yml
+++ b/test/integration/targets/eos_l2_interfaces/tests/common/cleanup.yml
@@ -1,12 +1,12 @@
---
- name: Remove all vlans
- cli_config:
- config: no vlan 1-4094
+ eos_config:
+ lines: no vlan 1-4094
become: yes
- name: Completely remove vlans from interfaces
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface {{ item }}
no switchport mode
no switchport access vlan
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_l2_interfaces/tests/common/deleted.yaml
index 6bc0099e29..6bc0099e29 100644
--- a/test/integration/targets/eos_l2_interfaces/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_l2_interfaces/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_l2_interfaces/tests/common/merged.yaml
index f49994401a..f49994401a 100644
--- a/test/integration/targets/eos_l2_interfaces/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_l2_interfaces/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_l2_interfaces/tests/common/overridden.yaml
index 8fe7f45990..8fe7f45990 100644
--- a/test/integration/targets/eos_l2_interfaces/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_l2_interfaces/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_l2_interfaces/tests/common/replaced.yaml
index 46c7a2dd07..46c7a2dd07 100644
--- a/test/integration/targets/eos_l2_interfaces/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_l2_interfaces/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_l2_interfaces/tests/common/reset_config.yml
index f4474ce1b7..cc43075cfd 100644
--- a/test/integration/targets/eos_l2_interfaces/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_l2_interfaces/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset state
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface Ethernet1
switchport access vlan 20
no switchport trunk native vlan
diff --git a/test/integration/targets/eos_l3_interfaces/tasks/cli.yaml b/test/integration/targets/eos_l3_interfaces/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_l3_interfaces/tasks/eapi.yaml b/test/integration/targets/eos_l3_interfaces/tasks/eapi.yaml
new file mode 100644
index 0000000000..acddad170e
--- /dev/null
+++ b/test/integration/targets/eos_l3_interfaces/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_l3_interfaces/tasks/main.yaml b/test/integration/targets/eos_l3_interfaces/tasks/main.yaml
index 82d196e4ed..970e74171e 100644
--- a/test/integration/targets/eos_l3_interfaces/tasks/main.yaml
+++ b/test/integration/targets/eos_l3_interfaces/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- register: test_cases
- delegate_to: localhost
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_l3_interfaces/tests/common/deleted.yaml
index 43483358f6..43483358f6 100644
--- a/test/integration/targets/eos_l3_interfaces/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_l3_interfaces/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_l3_interfaces/tests/common/merged.yaml
index dd36fd371d..dd36fd371d 100644
--- a/test/integration/targets/eos_l3_interfaces/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_l3_interfaces/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_l3_interfaces/tests/common/overridden.yaml
index d7c7b97e7d..d7c7b97e7d 100644
--- a/test/integration/targets/eos_l3_interfaces/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_l3_interfaces/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_l3_interfaces/tests/common/replaced.yaml
index f1f84ab2a5..f1f84ab2a5 100644
--- a/test/integration/targets/eos_l3_interfaces/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_l3_interfaces/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_l3_interfaces/tests/common/reset_config.yml
index 3efc086a4b..f74d1f521c 100644
--- a/test/integration/targets/eos_l3_interfaces/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_l3_interfaces/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset state
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface Ethernet1
ip address 192.0.2.12/24
ip address 203.0.113.27/31 secondary
diff --git a/test/integration/targets/eos_lacp_interfaces/tasks/cli.yaml b/test/integration/targets/eos_lacp_interfaces/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_lacp_interfaces/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_lacp_interfaces/tasks/eapi.yaml b/test/integration/targets/eos_lacp_interfaces/tasks/eapi.yaml
new file mode 100644
index 0000000000..34ce8f6347
--- /dev/null
+++ b/test/integration/targets/eos_lacp_interfaces/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
diff --git a/test/integration/targets/eos_lacp_interfaces/tasks/main.yaml b/test/integration/targets/eos_lacp_interfaces/tasks/main.yaml
index 068963b4c3..970e74171e 100644
--- a/test/integration/targets/eos_lacp_interfaces/tasks/main.yaml
+++ b/test/integration/targets/eos_lacp_interfaces/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- delegate_to: localhost
- register: test_cases
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_lacp_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_lacp_interfaces/tests/common/deleted.yaml
index ceed51e75b..ceed51e75b 100644
--- a/test/integration/targets/eos_lacp_interfaces/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_lacp_interfaces/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_lacp_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_lacp_interfaces/tests/common/merged.yaml
index 8f3a4eadff..8f3a4eadff 100644
--- a/test/integration/targets/eos_lacp_interfaces/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_lacp_interfaces/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_lacp_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_lacp_interfaces/tests/common/overridden.yaml
index b858a822dc..b858a822dc 100644
--- a/test/integration/targets/eos_lacp_interfaces/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_lacp_interfaces/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_lacp_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_lacp_interfaces/tests/common/replaced.yaml
index f33b32fd15..f33b32fd15 100644
--- a/test/integration/targets/eos_lacp_interfaces/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_lacp_interfaces/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_lacp_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_lacp_interfaces/tests/common/reset_config.yml
index 45caea1f4a..b4e6851365 100644
--- a/test/integration/targets/eos_lacp_interfaces/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_lacp_interfaces/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset initial config
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface Ethernet1
lacp port-priority 30
lacp rate normal
diff --git a/test/integration/targets/eos_lag_interfaces/tasks/cli.yaml b/test/integration/targets/eos_lag_interfaces/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_lag_interfaces/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_lag_interfaces/tasks/eapi.yaml b/test/integration/targets/eos_lag_interfaces/tasks/eapi.yaml
new file mode 100644
index 0000000000..34ce8f6347
--- /dev/null
+++ b/test/integration/targets/eos_lag_interfaces/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
diff --git a/test/integration/targets/eos_lag_interfaces/tasks/main.yaml b/test/integration/targets/eos_lag_interfaces/tasks/main.yaml
index 82d196e4ed..970e74171e 100644
--- a/test/integration/targets/eos_lag_interfaces/tasks/main.yaml
+++ b/test/integration/targets/eos_lag_interfaces/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- register: test_cases
- delegate_to: localhost
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_lag_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_lag_interfaces/tests/common/deleted.yaml
index dbf63d64bf..dbf63d64bf 100644
--- a/test/integration/targets/eos_lag_interfaces/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_lag_interfaces/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_lag_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_lag_interfaces/tests/common/merged.yaml
index 2399cc73e1..2399cc73e1 100644
--- a/test/integration/targets/eos_lag_interfaces/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_lag_interfaces/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_lag_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_lag_interfaces/tests/common/overridden.yaml
index e62d3f335b..e62d3f335b 100644
--- a/test/integration/targets/eos_lag_interfaces/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_lag_interfaces/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_lag_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_lag_interfaces/tests/common/replaced.yaml
index f1e8a255f8..f1e8a255f8 100644
--- a/test/integration/targets/eos_lag_interfaces/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_lag_interfaces/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_lag_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_lag_interfaces/tests/common/reset_config.yml
index ba7cf513a2..31ef209866 100644
--- a/test/integration/targets/eos_lag_interfaces/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_lag_interfaces/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset state
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface Ethernet1
channel-group 5 mode on
interface Ethernet2
diff --git a/test/integration/targets/eos_lldp_global/tasks/cli.yaml b/test/integration/targets/eos_lldp_global/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_lldp_global/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_lldp_global/tasks/eapi.yaml b/test/integration/targets/eos_lldp_global/tasks/eapi.yaml
new file mode 100644
index 0000000000..34ce8f6347
--- /dev/null
+++ b/test/integration/targets/eos_lldp_global/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
diff --git a/test/integration/targets/eos_lldp_global/tasks/main.yaml b/test/integration/targets/eos_lldp_global/tasks/main.yaml
index 068963b4c3..970e74171e 100644
--- a/test/integration/targets/eos_lldp_global/tasks/main.yaml
+++ b/test/integration/targets/eos_lldp_global/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- delegate_to: localhost
- register: test_cases
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_lldp_global/tests/cli/deleted.yaml b/test/integration/targets/eos_lldp_global/tests/common/deleted.yaml
index 98233e1a1e..98233e1a1e 100644
--- a/test/integration/targets/eos_lldp_global/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_lldp_global/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_lldp_global/tests/cli/merged.yaml b/test/integration/targets/eos_lldp_global/tests/common/merged.yaml
index 7cbc16f41d..7cbc16f41d 100644
--- a/test/integration/targets/eos_lldp_global/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_lldp_global/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_lldp_global/tests/cli/replaced.yaml b/test/integration/targets/eos_lldp_global/tests/common/replaced.yaml
index f8cbcd13cc..f8cbcd13cc 100644
--- a/test/integration/targets/eos_lldp_global/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_lldp_global/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_lldp_global/tests/cli/reset_config.yml b/test/integration/targets/eos_lldp_global/tests/common/reset_config.yml
index 4e5fd33746..441edf3891 100644
--- a/test/integration/targets/eos_lldp_global/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_lldp_global/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset initial config
- cli_config:
- config: |
+ eos_config:
+ lines: |
lldp timer 3000
lldp holdtime 100
lldp reinit 5
diff --git a/test/integration/targets/eos_lldp_interfaces/tasks/cli.yaml b/test/integration/targets/eos_lldp_interfaces/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_lldp_interfaces/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml b/test/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml
new file mode 100644
index 0000000000..34ce8f6347
--- /dev/null
+++ b/test/integration/targets/eos_lldp_interfaces/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
diff --git a/test/integration/targets/eos_lldp_interfaces/tasks/main.yaml b/test/integration/targets/eos_lldp_interfaces/tasks/main.yaml
index 068963b4c3..970e74171e 100644
--- a/test/integration/targets/eos_lldp_interfaces/tasks/main.yaml
+++ b/test/integration/targets/eos_lldp_interfaces/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- delegate_to: localhost
- register: test_cases
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_lldp_interfaces/tests/cli/deleted.yaml b/test/integration/targets/eos_lldp_interfaces/tests/common/deleted.yaml
index b3f94f93da..b3f94f93da 100644
--- a/test/integration/targets/eos_lldp_interfaces/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_lldp_interfaces/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_lldp_interfaces/tests/cli/merged.yaml b/test/integration/targets/eos_lldp_interfaces/tests/common/merged.yaml
index 4d56ca50a6..4d56ca50a6 100644
--- a/test/integration/targets/eos_lldp_interfaces/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_lldp_interfaces/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_lldp_interfaces/tests/cli/overridden.yaml b/test/integration/targets/eos_lldp_interfaces/tests/common/overridden.yaml
index 82ad0beb89..82ad0beb89 100644
--- a/test/integration/targets/eos_lldp_interfaces/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_lldp_interfaces/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_lldp_interfaces/tests/cli/replaced.yaml b/test/integration/targets/eos_lldp_interfaces/tests/common/replaced.yaml
index 56f3d34580..56f3d34580 100644
--- a/test/integration/targets/eos_lldp_interfaces/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_lldp_interfaces/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_lldp_interfaces/tests/cli/reset_config.yml b/test/integration/targets/eos_lldp_interfaces/tests/common/reset_config.yml
index 99688d8478..c2085aef61 100644
--- a/test/integration/targets/eos_lldp_interfaces/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_lldp_interfaces/tests/common/reset_config.yml
@@ -1,7 +1,7 @@
---
- name: Reset initial config
- cli_config:
- config: |
+ eos_config:
+ lines: |
interface Ethernet1
no lldp receive
lldp transmit
diff --git a/test/integration/targets/eos_vlans/tasks/cli.yaml b/test/integration/targets/eos_vlans/tasks/cli.yaml
new file mode 100644
index 0000000000..475fe83154
--- /dev/null
+++ b/test/integration/targets/eos_vlans/tasks/cli.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all cli test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=network_cli)
+ include: "{{ test_case_to_run }} ansible_connection=network_cli"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_network_cli
diff --git a/test/integration/targets/eos_vlans/tasks/eapi.yaml b/test/integration/targets/eos_vlans/tasks/eapi.yaml
new file mode 100644
index 0000000000..34ce8f6347
--- /dev/null
+++ b/test/integration/targets/eos_vlans/tasks/eapi.yaml
@@ -0,0 +1,17 @@
+---
+- name: collect all eapi test cases
+ find:
+ paths: "{{ role_path }}/tests/common"
+ patterns: "{{ testcase }}.yaml"
+ delegate_to: localhost
+ register: test_cases
+
+- name: set test_items
+ set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
+
+- name: run test cases (connection=httpapi)
+ include: "{{ test_case_to_run }} ansible_connection=httpapi"
+ with_items: "{{ test_items }}"
+ loop_control:
+ loop_var: test_case_to_run
+ tags: connection_httpapi
diff --git a/test/integration/targets/eos_vlans/tasks/main.yaml b/test/integration/targets/eos_vlans/tasks/main.yaml
index 068963b4c3..970e74171e 100644
--- a/test/integration/targets/eos_vlans/tasks/main.yaml
+++ b/test/integration/targets/eos_vlans/tasks/main.yaml
@@ -1,17 +1,3 @@
---
-- name: collect all cli test cases
- find:
- paths: "{{ role_path }}/tests/cli"
- patterns: "{{ testcase }}.yaml"
- delegate_to: localhost
- register: test_cases
-
-- name: set test_items
- set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
-
-- name: run test cases (connection=network_cli)
- include: "{{ test_case_to_run }} ansible_connection=network_cli"
- with_items: "{{ test_items }}"
- loop_control:
- loop_var: test_case_to_run
- tags: connection_network_cli
+- { include: cli.yaml, tags: ['cli'] }
+- { include: eapi.yaml, tags: ['eapi'] }
diff --git a/test/integration/targets/eos_vlans/tests/cli/deleted.yaml b/test/integration/targets/eos_vlans/tests/common/deleted.yaml
index 6cd5130428..6cd5130428 100644
--- a/test/integration/targets/eos_vlans/tests/cli/deleted.yaml
+++ b/test/integration/targets/eos_vlans/tests/common/deleted.yaml
diff --git a/test/integration/targets/eos_vlans/tests/cli/idempotent.yaml b/test/integration/targets/eos_vlans/tests/common/idempotent.yaml
index d88e318ba9..d88e318ba9 100644
--- a/test/integration/targets/eos_vlans/tests/cli/idempotent.yaml
+++ b/test/integration/targets/eos_vlans/tests/common/idempotent.yaml
diff --git a/test/integration/targets/eos_vlans/tests/cli/merged.yaml b/test/integration/targets/eos_vlans/tests/common/merged.yaml
index 5ad3f08597..5ad3f08597 100644
--- a/test/integration/targets/eos_vlans/tests/cli/merged.yaml
+++ b/test/integration/targets/eos_vlans/tests/common/merged.yaml
diff --git a/test/integration/targets/eos_vlans/tests/cli/overridden.yaml b/test/integration/targets/eos_vlans/tests/common/overridden.yaml
index ea406b6b47..ea406b6b47 100644
--- a/test/integration/targets/eos_vlans/tests/cli/overridden.yaml
+++ b/test/integration/targets/eos_vlans/tests/common/overridden.yaml
diff --git a/test/integration/targets/eos_vlans/tests/cli/replaced.yaml b/test/integration/targets/eos_vlans/tests/common/replaced.yaml
index ca502ff156..ca502ff156 100644
--- a/test/integration/targets/eos_vlans/tests/cli/replaced.yaml
+++ b/test/integration/targets/eos_vlans/tests/common/replaced.yaml
diff --git a/test/integration/targets/eos_vlans/tests/cli/reset_config.yml b/test/integration/targets/eos_vlans/tests/common/reset_config.yml
index 513a1199b1..38736d88b5 100644
--- a/test/integration/targets/eos_vlans/tests/cli/reset_config.yml
+++ b/test/integration/targets/eos_vlans/tests/common/reset_config.yml
@@ -1,12 +1,17 @@
---
- name: Reset initial config
- cli_config:
- config: |
+ eos_config:
+ before:
no vlan 1-4094
+ defaults: yes
+ match: exact
+ lines: |
vlan 10
name ten
+ state active
vlan 20
name twenty
+ state active
become: yes
- eos_facts: