kayobe/ansible/roles/junos-switch/tasks/main.yml
Pierre Riteau 7b8abfb669 Install ncclient even in check mode
When running `kayobe physical network configure --check` against Juniper
switches, Kayobe may fail with the following error:

    Failed to import the required Python library (ncclient)

This is because the ncclient installation task is skipped by check mode.

Change-Id: I643f54a67edfe22a3fd5c86f157bd1246d617399
2023-06-01 16:19:50 +02:00

29 lines
1.0 KiB
YAML

---
# The NETCONF client ncclient is required. This must be installed on the
# Ansible control host where the ansible-connection subprocess is executed.
- name: Ensure python dependencies are installed
vars:
# NOTE(mgoddard): 0.6.7 includes a fix for host key checking:
# https://github.com/ncclient/ncclient/issues/302.
ncclient_version: ">=0.6.7,<0.7.0"
local_action:
module: pip
name: "ncclient{{ ncclient_version }}"
virtualenv: "{{ lookup('env', 'VIRTUAL_ENV') | default(omit, true) }}"
become: "{{ lookup('env', 'VIRTUAL_ENV') == None }}"
check_mode: false
run_once: true
- name: Ensure Juniper switches are configured
local_action:
module: junos_config
provider: "{{ junos_switch_provider }}"
src: "{{ junos_switch_src }}"
src_format: "{{ junos_switch_config_format }}"
vars:
junos_switch_config_format_to_src:
set: junos-config-set.j2
text: junos-config.j2
json: junos-config.json.j2
junos_switch_src: "{{ junos_switch_config_format_to_src[junos_switch_config_format] }}"