HTTP(S) API connection plugin (#39224)

* HTTPAPI connection

* Punt run_commands to cliconf or httpapi

* Fake enable_mode on eapi

* Pull changes to nxos

* Move load_config to edit_config for future-preparedness

* Don't fail on lldp disabled

* Re-enable check_rc on nxos' run_commands

* Reorganize nxos httpapi plugin for compatibility

* draft docs for connection: httpapi

* restores docs for connection:local for eapi

* Add _remote_is_local to httpapi
This commit is contained in:
Nathaniel Case 2018-05-17 18:47:15 -04:00 committed by GitHub
commit e9d7fa0418
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
277 changed files with 1325 additions and 1676 deletions

View file

@ -1,5 +1,5 @@
---
- name: collect common nxapi test cases
- name: collect common test cases
find:
paths: "{{ role_path }}/tests/common"
patterns: "{{ testcase }}.yaml"
@ -20,8 +20,8 @@
- name: set test_items
set_fact: test_items="{{ test_cases.files | map(attribute='path') | list }}"
- name: run test cases (connection=local)
include: "{{ test_case_to_run }} ansible_connection=local connection={{ nxapi }}"
- 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

View file

@ -10,14 +10,12 @@
nxos_config: &intdefault1
lines:
- "default interface {{ testint1 }}"
provider: "{{ cli }}"
ignore_errors: yes
- name: "Put interface {{testint2}} into default state"
nxos_config: &intdefault2
lines:
- "default interface {{ testint2 }}"
provider: "{{ cli }}"
ignore_errors: yes
- name: "Make {{testint1}} a layer3 interface"
@ -27,7 +25,6 @@
description: 'Configured by Ansible - Layer3'
admin_state: 'up'
state: present
provider: "{{ cli }}"
- name: "Make {{testint2}} a layer3 interface"
nxos_interface: &l3int2
@ -36,7 +33,6 @@
description: 'Configured by Ansible - Layer3'
admin_state: 'up'
state: present
provider: "{{ cli }}"
# For titanium
- name: Clear interface v4
@ -46,7 +42,6 @@
state: absent
addr: 20.20.20.20
mask: 24
provider: "{{ cli }}"
# For titanium
- name: Clear interface v6
@ -56,7 +51,6 @@
state: absent
addr: 'fd56:31f7:e4ad:5585::1'
mask: 64
provider: "{{ cli }}"
- name: Ensure ipv4 address is configured
nxos_ip_interface: &ipv4
@ -65,7 +59,6 @@
state: present
addr: 20.20.20.20
mask: 24
provider: "{{ cli }}"
register: result
- assert: &true
@ -87,7 +80,6 @@
state: present
addr: 'fd56:31f7:e4ad:5585::1'
mask: 64
provider: "{{ cli }}"
register: result
- assert: *true

View file

@ -10,14 +10,12 @@
nxos_config: &intdefault1
lines:
- "default interface {{ testint1 }}"
provider: "{{ nxapi }}"
ignore_errors: yes
- name: "Put interface {{testint2}} into default state"
nxos_config: &intdefault2
lines:
- "default interface {{ testint2 }}"
provider: "{{ nxapi }}"
ignore_errors: yes
- name: "Make {{testint1}} a layer3 interface"
@ -27,7 +25,6 @@
description: 'Configured by Ansible - Layer3'
admin_state: 'up'
state: present
provider: "{{ nxapi }}"
- name: "Make {{testint2}} a layer3 interface"
nxos_interface: &l3int2
@ -36,7 +33,6 @@
description: 'Configured by Ansible - Layer3'
admin_state: 'up'
state: present
provider: "{{ nxapi }}"
# For titanium
- name: Clear interface v4
@ -46,7 +42,6 @@
state: absent
addr: 20.20.20.20
mask: 24
provider: "{{ nxapi }}"
# For titanium
- name: Clear interface v6
@ -56,7 +51,6 @@
state: absent
addr: 'fd56:31f7:e4ad:5585::1'
mask: 64
provider: "{{ nxapi }}"
- name: Ensure ipv4 address is configured
nxos_ip_interface: &ipv4
@ -65,7 +59,6 @@
state: present
addr: 20.20.20.20
mask: 24
provider: "{{ nxapi }}"
register: result
- assert: &true
@ -87,7 +80,6 @@
state: present
addr: 'fd56:31f7:e4ad:5585::1'
mask: 64
provider: "{{ nxapi }}"
register: result
- assert: *true