From 1d2ae39cffd522339a9a3b24c299e86944f16153 Mon Sep 17 00:00:00 2001 From: Erwan Miran Date: Fri, 7 Sep 2018 17:26:55 +0200 Subject: [PATCH] Precision on control machine mixed Ansible installation --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index af9fce8ae..9d59c2254 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,16 @@ To deploy the cluster you can use : # Deploy Kubespray with Ansible Playbook ansible-playbook -i inventory/mycluster/hosts.ini cluster.yml +Note: When Ansible is already installed via system packages on the control machine, other python packages installed via `sudo pip install -r requirements.txt` will go to a different directory tree (e.g. `/usr/local/lib/python2.7/dist-packages` on Ubuntu) from Ansible's (e.g. `/usr/lib/python2.7/dist-packages/ansible` still on Ubuntu). +As a consequence, `ansible-playbook` command will fail with: +``` +ERROR! no action detected in task. This often indicates a misspelled module name, or incorrect module path. +``` +probably pointing on a task depending on a module present in requirements.txt (i.e. "unseal vault"). + +One way of solving this would be to uninstall the Ansible package and then, to install it via pip but it is not always possible. +A workaround consists of setting `ANSIBLE_LIBRARY` and `ANSIBLE_MODULE_UTILS` environment variables respectively to the `ansible/modules` and `ansible/module_utils` subdirectories of pip packages installation location, which can be found in the Location field of the output of `pip show [package]` before executing `ansible-playbook`. + ### Vagrant For Vagrant we need to install python dependencies for provisioning tasks.