diff options
Diffstat (limited to 'roles/docker.ubuntu/vars/main.yml')
-rw-r--r-- | roles/docker.ubuntu/vars/main.yml | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/roles/docker.ubuntu/vars/main.yml b/roles/docker.ubuntu/vars/main.yml new file mode 100644 index 0000000..5a1f70a --- /dev/null +++ b/roles/docker.ubuntu/vars/main.yml @@ -0,0 +1,47 @@ +--- +# Select python variable file according to the ansible_python_interpreter. +python_vars_file: >- + {{ 'python3.yml' if ansible_python_interpreter is defined + and 'python3' in ansible_python_interpreter + else 'python2.yml' }} + +# To use Docker Ansible modules, managed nodes require some Docker Python packages : +# * `docker-py` (renamed into `docker` since the 2.0.0 version); +# * `docker-compose` which is required by the docker_service Ansible module. +# +# The `docker` python package introduces some backward incompatible changes is version 2.0.0. +# Ansible 2.3+ is required to run this new version. Previous Ansible versions have to use docker-py<=1.10.6. +# The `docker-compose` python package has a dependency over the docker/docker-py package. +# The `docker-compose` 1.9.0 is the latest version to be compatible with the docker<2.0.0. +# +# To sum up: +# * with Ansible < 2.3: +# * you have to use docker-py<=1.10.6 due to backward incompatibilities of next versions +# * you have to use docker-compose<=1.9.0 due to docker-compose>1.9.0 using newer versions of docker-py. + +# Compute Ansible version or latest +_ansible_version_latest: "{{ ansible_version.full | version_compare('2.3', '<') }}" + +# Compute Python Docker component version or latest +_pip_version_docker_latest: >- + {{ pip_version_docker=='latest' or (pip_version_docker | version_compare('1.10.6', '>')) }} + +# Compute Python Docker-compose component version or latest +_pip_version_docker_compose_latest: >- + {{ pip_version_docker_compose=='latest' or (pip_version_docker_compose | version_compare('1.9.0', '>')) }} + +# Compute the `docker` Python package's version to use. +_pip_version_docker: >- + {{ '1.10.6' if (_ansible_version_latest and _pip_version_docker_latest) else pip_version_docker }} + +# Compute the `docker` Python package's name according to its version. +_pip_docker_package_name: "{{ 'docker-py' if not _pip_version_docker_latest else 'docker' }}" + +# Determine whether to install the `docker` package or not. The `docker-compose` Python package has a dependency over +# the `docker` Python package. So when installing the `docker-compose` package we'd rather let it handle the `docker` +# package version to prevent version mismatches. +_pip_install_docker: "{{ not pip_install_docker_compose and pip_install_docker }}" + +# Compute the `docker-compose` Python package's version to use. +_pip_version_docker_compose: >- + {{ '1.9.0' if (_ansible_version_latest and _pip_version_docker_compose_latest) else pip_version_docker_compose }} |