Run the following simple playbook with ansible-playbook -vvvv postgres.yml:
- name: Activate postgres container
hosts: 127.0.0.1
connection: local
gather_facts: false
tasks:
- docker_container:
name: postgres
state: started
restart_policy: unless-stopped
image: postgres:9.6
volumes:
- "/var/lib/pgdocker"
env:
POSTGRES_USER: 'admin'
POSTGRES_PASSWORD: 'password'
POSTGRES_DB: '/var/lib/postgresql'
PGDATA: "/var/lib/postgresql/data/pgdata"
when: pg_hostname is not defined or pg_hostname == ''
register: postgres_container_activate
Postgres container should be activated.
< TASK [docker_container] >
-------------------------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
task path: /media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Ansible/test-docker_container/postgres.yml:7
Using module file /media/actionmystique/SAMSUNG5-Shared/home/actionmystique/src/Ansible/git-ansible/lib/ansible/modules/cloud/docker/docker_container.py
<127.0.0.1> ESTABLISH LOCAL CONNECTION FOR USER: root
<127.0.0.1> EXEC /bin/sh -c '/usr/bin/python && sleep 0'
The full traceback is:
File "/tmp/ansible_W0cPuK/ansible_module_docker_container.py", line 683, in <module>
from docker import utils
File "/usr/local/lib/python2.7/dist-packages/docker/__init__.py", line 6, in <module>
from .client import Client, AutoVersionClient, from_env # flake8: noqa
File "/usr/local/lib/python2.7/dist-packages/docker/client.py", line 11, in <module>
from . import api
File "/usr/local/lib/python2.7/dist-packages/docker/api/__init__.py", line 2, in <module>
from .build import BuildApiMixin
File "/usr/local/lib/python2.7/dist-packages/docker/api/build.py", line 6, in <module>
from .. import constants
fatal: [127.0.0.1]: FAILED! => {
"changed": false,
"invocation": {
"module_args": {
"api_version": null,
"auto_remove": false,
"blkio_weight": null,
"cacert_path": null,
"capabilities": null,
"cert_path": null,
"cleanup": false,
"command": null,
"cpu_period": null,
"cpu_quota": null,
"cpu_shares": null,
"cpuset_cpus": null,
"cpuset_mems": null,
"debug": false,
"detach": true,
"devices": null,
"dns_opts": null,
"dns_search_domains": null,
"dns_servers": null,
"docker_host": null,
"entrypoint": null,
"env": {
"PGDATA": "/var/lib/postgresql/data/pgdata",
"POSTGRES_DB": "/var/lib/postgresql",
"POSTGRES_PASSWORD": "password",
"POSTGRES_USER": "admin"
},
"env_file": null,
"etc_hosts": null,
"exposed_ports": null,
"filter_logger": false,
"force_kill": false,
"groups": null,
"hostname": null,
"ignore_image": false,
"image": "postgres:9.6",
"interactive": false,
"ipc_mode": null,
"keep_volumes": true,
"kernel_memory": null,
"key_path": null,
"kill_signal": null,
"labels": null,
"links": null,
"log_driver": null,
"log_options": null,
"mac_address": null,
"memory": "0",
"memory_reservation": null,
"memory_swap": null,
"memory_swappiness": null,
"name": "postgres",
"network_mode": null,
"networks": null,
"oom_killer": null,
"oom_score_adj": null,
"paused": false,
"pid_mode": null,
"privileged": false,
"published_ports": null,
"pull": false,
"purge_networks": false,
"read_only": false,
"recreate": false,
"restart": false,
"restart_policy": "unless-stopped",
"restart_retries": null,
"security_opts": null,
"shm_size": null,
"ssl_version": null,
"state": "started",
"stop_signal": null,
"stop_timeout": null,
"sysctls": null,
"timeout": null,
"tls": null,
"tls_hostname": null,
"tls_verify": null,
"tmpfs": null,
"trust_image_content": false,
"tty": false,
"ulimits": null,
"user": null,
"uts": null,
"volume_driver": null,
"volumes": [
"/var/lib/pgdocker"
],
"volumes_from": null,
"working_dir": null
}
},
"msg": "Failed to import docker-py - No module named ssl_match_hostname. Try `pip install docker-py`"
}
# pip install docker-py
Requirement already satisfied: docker-py in /usr/local/lib/python2.7/dist-packages
Requirement already satisfied: docker-pycreds>=0.2.1 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < "3.5" in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied: ipaddress>=1.0.16; python_version < "3.3" in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied: requests!=2.11.0,>=2.5.2 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied: six>=1.4.0 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied: websocket-client>=0.32.0 in /usr/local/lib/python2.7/dist-packages (from docker-py)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python2.7/dist-packages (from requests!=2.11.0,>=2.5.2->docker-py)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python2.7/dist-packages (from requests!=2.11.0,>=2.5.2->docker-py)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python2.7/dist-packages (from requests!=2.11.0,>=2.5.2->docker-py)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python2.7/dist-packages (from requests!=2.11.0,>=2.5.2->docker-py)
docker-py: 1.10.6 (available in $PYTHONPATH)
That is a really old version.
-# pip install docker-py
+# pip install docker
The project was renamed on PyPI.
Most helpful comment
That is a really old version.
The project was renamed on PyPI.