Docker-py: Failed to import docker-py - No module named ssl_match_hostname

Created on 9 Mar 2018  路  1Comment  路  Source: docker/docker-py

ENVIRONMENT
  • Operating System: Ubuntu 17.10
  • Ansible version: v2.4.3.0-1
  • PYTHONPATH /usr/local/lib/python2.7/dist-packages
  • docker-py: 1.10.6 (available in $PYTHONPATH)
  • backports.ssl-match-hostname: 3.5.0.1 (available in $PYTHONPATH)
STEPS TO REPRODUCE

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
EXPECTED RESULTS

Postgres container should be activated.

ACTUAL RESULTS
< 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`"
}
ADDITIONAL INFORMATION
# 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)

Most helpful comment

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.

>All comments

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.

Was this page helpful?
0 / 5 - 0 ratings