Ansible: Fix connection plugins and add support for NETCONF (#72370)

* ansible: Fix use of connection plugins

Ansible tries to execute the ansible-connection script as a python
script from within it's task executor. This does not work when it is
encapsulated in a shell script. Therefore remove the call to the python
interpreter and use the wrapped version directly.

Fixes #71342

* ansible: Add ncclient to support NETCONF connections

* ansible: Some cleanups

- boto was dropped from propagatedBuildInputs in 4af94d0f
- lib/ansible/constants.py does not have "/usr" anywhere in v2.4..v2.9
This commit is contained in:
Martin Weinelt 2019-11-20 14:55:07 +01:00 committed by Frederik Rietdijk
parent 39ecc2db19
commit 2bb4191613

View File

@ -6,12 +6,12 @@
, jinja2 , jinja2
, pyyaml , pyyaml
, httplib2 , httplib2
, boto
, six , six
, netaddr , netaddr
, dnspython , dnspython
, jmespath , jmespath
, dopy , dopy
, ncclient
, windowsSupport ? false , windowsSupport ? false
, pywinrm , pywinrm
}: }:
@ -28,7 +28,9 @@ buildPythonPackage rec {
}; };
prePatch = '' prePatch = ''
sed -i "s,/usr/,$out," lib/ansible/constants.py # ansible-connection is wrapped, so make sure it's not passed
# through the python interpreter.
sed -i "s/\[python, /[/" lib/ansible/executor/task_executor.py
''; '';
postInstall = '' postInstall = ''
@ -39,7 +41,7 @@ buildPythonPackage rec {
propagatedBuildInputs = [ propagatedBuildInputs = [
pycrypto paramiko jinja2 pyyaml httplib2 pycrypto paramiko jinja2 pyyaml httplib2
six netaddr dnspython jmespath dopy six netaddr dnspython jmespath dopy ncclient
] ++ lib.optional windowsSupport pywinrm; ] ++ lib.optional windowsSupport pywinrm;
# dificult to test # dificult to test