konstruktoid / ansible-role-docker-rootless

Ansible role to install a rootless Docker server

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Dependencies on Debian 10

t2d opened this issue · comments

commented

Thanks for this awesome role.

On Debian 10 (buster) I needed to install python3-setuptools to install docker via pip.
To run actual containers, I also needed python3-six.

I suggest to add both as dependencies and install automatically.

Thanks @t2d for reporting this.
Will test and fix.

Hi again,
when using install_recommends: 'no' it seems python3-six might go missing.
But python3-setuptools should not be required.

From testing (molecule test --destroy=never) with python3-six added too the required packages:

~$ lsb_release -d
Description:    Debian GNU/Linux 10 (buster)
~$ ps -fe | grep 8081
busteru+  1043   534  0 23:53 ?        00:00:00 /home/busteruser/bin/rootlesskit-docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8081 -container-ip 172.17.0.2 -container-port 80
busteru+  1048  1043  0 23:53 ?        00:00:00 docker-proxy -container-ip 172.17.0.2 -container-port 80 -host-ip 127.0.0.1 -host-port 8081 -proto tcp
~$ curl 127.0.0.1:8081
<html>
<head><title>404 Not Found</title></head>
<body>
<center><h1>404 Not Found</h1></center>
<hr><center>nginx</center>
</body>
</html>
~$ dpkg -l | grep python3
ii  libpython3-stdlib:amd64        3.7.3-1                             amd64        interactive high-level object-oriented language (default python3 version)
ii  libpython3.7-minimal:amd64     3.7.3-2+deb10u3                     amd64        Minimal subset of the Python language (version 3.7)
ii  libpython3.7-stdlib:amd64      3.7.3-2+deb10u3                     amd64        Interactive high-level object-oriented language (standard library, version 3.7)
ii  python3                        3.7.3-1                             amd64        interactive high-level object-oriented language (default python3 version)
ii  python3-apt                    1.8.4.3                             amd64        Python 3 interface to libapt-pkg
ii  python3-certifi                2018.8.24-1                         all          root certificates for validating SSL certs and verifying TLS hosts (python3)
ii  python3-chardet                3.0.4-3                             all          universal character encoding detector for Python3
ii  python3-debconf                1.5.71                              all          interact with debconf from Python 3
ii  python3-debian                 0.1.35                              all          Python 3 modules to work with Debian-related data formats
ii  python3-debianbts              2.8.2                               all          Python interface to Debian's Bug Tracking System
ii  python3-distutils              3.7.3-1                             all          distutils package for Python 3.x
ii  python3-httplib2               0.11.3-2                            all          comprehensive HTTP client library written for Python3
ii  python3-idna                   2.6-1                               all          Python IDNA2008 (RFC 5891) handling (Python 3)
ii  python3-lib2to3                3.7.3-1                             all          Interactive high-level object-oriented language (2to3, version 3.6)
ii  python3-minimal                3.7.3-1                             amd64        minimal subset of the Python language (default python3 version)
ii  python3-pexpect                4.6.0-1                             all          Python 3 module for automating interactive applications
ii  python3-pip                    18.1-5                              all          Python package installer
ii  python3-pkg-resources          40.8.0-1                            all          Package Discovery and Resource Access using pkg_resources
ii  python3-ptyprocess             0.6.0-1                             all          Run a subprocess in a pseudo terminal from Python 3
ii  python3-pycurl                 7.43.0.2-0.1                        amd64        Python bindings to libcurl (Python 3)
ii  python3-pysimplesoap           1.16.2-1                            all          simple and lightweight SOAP Library (Python 3)
ii  python3-reportbug              7.5.3~deb10u1                       all          Python modules for interacting with bug tracking systems
ii  python3-requests               2.21.0-1                            all          elegant and simple HTTP library for Python3, built for human beings
ii  python3-six                    1.12.0-1                            all          Python 2 and 3 compatibility library (Python 3 interface)
ii  python3-urllib3                1.24.1-1                            all          HTTP library with thread-safe connection pooling for Python3
ii  python3.7                      3.7.3-2+deb10u3                     amd64        Interactive high-level object-oriented language (version 3.7)
ii  python3.7-minimal              3.7.3-2+deb10u3                     amd64        Minimal subset of the Python language (version 3.7)
~$ pip3 list
Package          Version
---------------- -------------
certifi          2018.8.24
chardet          3.0.4
docker           5.0.0
httplib2         0.11.3
idna             2.6
pexpect          4.6.0
pip              18.1
pycurl           7.43.0.2
PySimpleSOAP     1.16.2
python-apt       1.8.4.3
python-debian    0.1.35
python-debianbts 2.8.2
reportbug        7.5.3-deb10u1
requests         2.21.0
six              1.12.0
urllib3          1.24.1
websocket-client 1.1.0
commented

Do you run an old version of ansible? Until 2.8 setuptools doesn't seem to be required (https://docs.ansible.com/ansible/2.8/modules/pip_module.html#notes). But this changed with >=2.9 (https://docs.ansible.com/ansible/2.9/modules/pip_module.html#notes)

The interpreter used by Ansible (see ansible_python_interpreter) requires the setuptools package, regardless of the version of pip set with the executable option.

When testing the following is used:

$ molecule --version
molecule 3.3.4 using python 3.9 
    ansible:2.11.1
    delegated:3.3.4 from molecule
    vagrant:0.6.3 from molecule_vagrant

This issue is stale because it has been open 30 days with no activity, without any activity it will be closed in 5 days.