haxorof/ansible-role-docker-ce

Fedora 29 (beta): issue with additional packages

stefangweichinger opened this issue · 24 comments

Thanks for the helpful role!

I understand that I use it on a beta (until next week or so?) of Fedora 29, but maybe the issue hits other installations as well:

when I apply the role I get:

TASK [haxorof.docker-ce : Install additional packages (PiP)] *************************************************************************************************
[DEPRECATION WARNING]: Invoking "pip" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and 
specifying `name: {{ item }}`, please use `name: [u'{{ _docker_additional_packages_pip }}']` and remove the loop. This feature will be removed in version 
2.11. Deprecation warnings can be disabled by setting deprecation_warnings=False in ansible.cfg.
failed: [127.0.0.1] (item=[u'docker', u'docker-compose']) => {"changed": false, "cmd": ["/bin/pip2", "install", "docker", "docker-compose"], "item": ["docker", "docker-compose"], "msg": "stdout: Requirement already satisfied: docker in /usr/lib/python2.7/site-packages (3.5.1)\nRequirement already satisfied: docker-compose in /usr/lib/python2.7/site-packages (1.22.0)\nRequirement already satisfied: websocket-client>=0.32.0 in /usr/lib/python2.7/site-packages (from docker) (0.53.0)\nRequirement already satisfied: docker-pycreds>=0.3.0 in /usr/lib/python2.7/site-packages (from docker) (0.3.0)\nRequirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < \"3.5\" in /usr/lib/python2.7/site-packages (from docker) (3.5.0.1)\nRequirement already satisfied: ipaddress>=1.0.16; python_version < \"3.3\" in /usr/lib/python2.7/site-packages (from docker) (1.0.22)\nRequirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/site-packages (from docker) (1.11.0)\nRequirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/lib/python2.7/site-packages (from docker) (2.20.0)\nCollecting PyYAML<4,>=3.10 (from docker-compose)\n  Using cached https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz\nRequirement already satisfied: texttable<0.10,>=0.9.0 in /usr/lib/python2.7/site-packages (from docker-compose) (0.9.1)\nRequirement already satisfied: dockerpty<0.5,>=0.4.1 in /usr/lib/python2.7/site-packages (from docker-compose) (0.4.1)\nRequirement already satisfied: enum34<2,>=1.0.4; python_version < \"3.4\" in /usr/lib/python2.7/site-packages (from docker-compose) (1.1.6)\nRequirement already satisfied: docopt<0.7,>=0.6.1 in /usr/lib/python2.7/site-packages (from docker-compose) (0.6.2)\nRequirement already satisfied: jsonschema<3,>=2.5.1 in /usr/lib/python2.7/site-packages (from docker-compose) (2.6.0)\nRequirement already satisfied: cached-property<2,>=1.2.0 in /usr/lib/python2.7/site-packages (from docker-compose) (1.5.1)\nRequirement already satisfied: idna<2.8,>=2.5 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (2.7)\nRequirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (3.0.4)\nRequirement already satisfied: urllib3<1.25,>=1.21.1 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (1.24)\nRequirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (2018.10.15)\nRequirement already satisfied: functools32; python_version == \"2.7\" in /usr/lib/python2.7/site-packages (from jsonschema<3,>=2.5.1->docker-compose) (3.2.3.post2)\nInstalling collected packages: PyYAML\n  Found existing installation: PyYAML 4.2b4\n\n:stderr: docker-compose 1.22.0 has requirement requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1, but you'll have requests 2.20.0 which is incompatible.\nCannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\n"}

(full paste to include all info ...)

I am using ansible provided by Fedora repo:

ansible-playbook --version
ansible-playbook 2.7.0
  config file = /home/sgw/projects/provisioning-local/ansible.cfg
  configured module search path = [u'/home/sgw/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/site-packages/ansible
  executable location = /usr/bin/ansible-playbook
  python version = 2.7.15 (default, Oct 15 2018, 15:26:09) [GCC 8.2.1 20180801 (Red Hat 8.2.1-2)]

Hi @stefangweichinger,

I am happy that you like this role and I am sincerely grateful for that you report this even if now Fedora 29 is in beta. It can be that this exists in other distributions also or other version of Fedora which I have not yet automated tests for. The distributions I currently have automated tests on are the following:

  • Centos 7
  • Ubuntu 14.04
  • Ubuntu 16.04
  • Ubuntu 18.04
  • Debian 8
  • Debian 9

The feature in this role you experience problems with is something I recently added and have not got the time to test it out in too much detail. But I would like to know a bit more of your setup so I can see if there is a good way to avoid this problem in the future or not. Below are some questions:

  • Is this a "clean" installation of Fedora 29 where no additional packages been installed via pip before this role was run?
  • Have you tried to install docker-compose via pip manually on Fedora 29?
  • Have you tried this on any other Fedora version?

Cheers!

quick first feedback:

  • not exactly a clean setup: upgraded from Fedora 28, and I have a virtualenv for running specific versions of ansible and debops in some cases. Although this shouldn't mess up the upstream binaries afaik (ansible-galaxy comes from the fedora repos ... etc)

  • see this:

$  pip install docker-compose
Requirement already satisfied: docker-compose in /usr/lib/python2.7/site-packages (1.22.0)
Collecting PyYAML<4,>=3.10 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz
Requirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < "3.5" in /usr/lib/python2.7/site-packages (from docker-compose) (3.5.0.1)
Requirement already satisfied: six<2,>=1.3.0 in /usr/lib/python2.7/site-packages (from docker-compose) (1.11.0)
Requirement already satisfied: docker<4.0,>=3.4.1 in /usr/lib/python2.7/site-packages (from docker-compose) (3.5.0)
Requirement already satisfied: texttable<0.10,>=0.9.0 in /usr/lib/python2.7/site-packages (from docker-compose) (0.9.1)
Requirement already satisfied: dockerpty<0.5,>=0.4.1 in /usr/lib/python2.7/site-packages (from docker-compose) (0.4.1)
Requirement already satisfied: ipaddress>=1.0.16; python_version < "3.3" in /usr/lib/python2.7/site-packages (from docker-compose) (1.0.18)
Collecting requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl
Requirement already satisfied: websocket-client<1.0,>=0.32.0 in /usr/lib/python2.7/site-packages (from docker-compose) (0.51.0)
Requirement already satisfied: enum34<2,>=1.0.4; python_version < "3.4" in /usr/lib/python2.7/site-packages (from docker-compose) (1.1.6)
Requirement already satisfied: docopt<0.7,>=0.6.1 in /usr/lib/python2.7/site-packages (from docker-compose) (0.6.2)
Requirement already satisfied: jsonschema<3,>=2.5.1 in /usr/lib/python2.7/site-packages (from docker-compose) (2.6.0)
Requirement already satisfied: cached-property<2,>=1.2.0 in /usr/lib/python2.7/site-packages (from docker-compose) (1.4.3)
Requirement already satisfied: docker-pycreds>=0.3.0 in /usr/lib/python2.7/site-packages (from docker<4.0,>=3.4.1->docker-compose) (0.3.0)
Collecting urllib3<1.23,>=1.21.1 (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose)
  Using cached https://files.pythonhosted.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose)
  Using cached https://files.pythonhosted.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose) (3.0.4)
Requirement already satisfied: certifi>=2017.4.17 in /usr/lib/python2.7/site-packages (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose) (2018.8.24)
Requirement already satisfied: functools32; python_version == "2.7" in /usr/lib/python2.7/site-packages (from jsonschema<3,>=2.5.1->docker-compose) (3.2.3.post2)
Installing collected packages: PyYAML, urllib3, idna, requests
  Found existing installation: PyYAML 4.2b4
Cannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.

this was run right after running/applying your role and getting this:

TASK [Test hello container] ***********************************************************************************************************************************************************************
fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "Failed to import docker or docker-py - No module named queue. Try `pip install docker` or `pip install docker-py` (Python 2.6)"}

I am still unsure about this conflict.

  • no. Or yes, I used your role before while I was on Fedora 28, although it was an older version of the role then.

OK, one more: I rm-ed my symbolic links to venv-binaries and started a new shell to make sure I use fedora's ansible(-playbook). And I tried to reapply the role to my localhost.

This gives me:

TASK [haxorof.docker-ce : Setup Docker environment file /etc/sysconfig/docker-envs] *************************************************************************************
task path: /etc/ansible/roles/haxorof.docker-ce/tasks/configure-systemd.yml:30
fatal: [127.0.0.1]: FAILED! => {"changed": false, "msg": "AnsibleUndefinedVariable: 'dict object' has no attribute 'iteritems'"}

docker-envs exists ... I decided to rm it (it was fom august), rerun still fails.

maybe I "solved" it for now, cleaned up a mixed setup: had older version of your role installed as root etc / stay tuned ;-)

ah, not yet:

TASK [haxorof.docker-ce : Install additional packages (PiP)] **************************************************************************************************************************************
[DEPRECATION WARNING]: Invoking "pip" only once while using a loop via squash_actions is deprecated. Instead of using a loop to supply multiple items and specifying `name: {{ item }}`, please 
use `name: ['{{ _docker_additional_packages_pip }}']` and remove the loop. This feature will be removed in version 2.11. Deprecation warnings can be disabled by setting 
deprecation_warnings=False in ansible.cfg.
failed: [127.0.0.1] (item=['docker', 'docker-compose']) => {"changed": false, "cmd": ["/usr/bin/pip2", "install", "docker", "docker-compose"], "item": ["docker", "docker-compose"], "msg": "stdout: Requirement already satisfied: docker in /usr/lib/python2.7/site-packages (3.5.0)\nRequirement already satisfied: docker-compose in /usr/lib/python2.7/site-packages (1.22.0)\nRequirement already satisfied: websocket-client>=0.32.0 in /usr/lib/python2.7/site-packages (from docker) (0.51.0)\nRequirement already satisfied: docker-pycreds>=0.3.0 in /usr/lib/python2.7/site-packages (from docker) (0.3.0)\nRequirement already satisfied: backports.ssl-match-hostname>=3.5; python_version < \"3.5\" in /usr/lib/python2.7/site-packages (from docker) (3.5.0.1)\nRequirement already satisfied: ipaddress>=1.0.16; python_version < \"3.3\" in /usr/lib/python2.7/site-packages (from docker) (1.0.18)\nRequirement already satisfied: six>=1.4.0 in /usr/lib/python2.7/site-packages (from docker) (1.11.0)\nRequirement already satisfied: requests!=2.18.0,>=2.14.2 in /usr/lib/python2.7/site-packages (from docker) (2.19.1)\nCollecting PyYAML<4,>=3.10 (from docker-compose)\n  Using cached https://files.pythonhosted.org/packages/9e/a3/1d13970c3f36777c583f136c136f804d70f500168edc1edea6daa7200769/PyYAML-3.13.tar.gz\nRequirement already satisfied: texttable<0.10,>=0.9.0 in /usr/lib/python2.7/site-packages (from docker-compose) (0.9.1)\nRequirement already satisfied: dockerpty<0.5,>=0.4.1 in /usr/lib/python2.7/site-packages (from docker-compose) (0.4.1)\nRequirement already satisfied: enum34<2,>=1.0.4; python_version < \"3.4\" in /usr/lib/python2.7/site-packages (from docker-compose) (1.1.6)\nRequirement already satisfied: docopt<0.7,>=0.6.1 in /usr/lib/python2.7/site-packages (from docker-compose) (0.6.2)\nRequirement already satisfied: jsonschema<3,>=2.5.1 in /usr/lib/python2.7/site-packages (from docker-compose) (2.6.0)\nRequirement already satisfied: cached-property<2,>=1.2.0 in /usr/lib/python2.7/site-packages (from docker-compose) (1.4.3)\nRequirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (3.0.4)\nRequirement already satisfied: idna<2.8,>=2.5 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (2.7)\nRequirement already satisfied: urllib3<1.24,>=1.21.1 in /usr/lib/python2.7/site-packages (from requests!=2.18.0,>=2.14.2->docker) (1.23)\nRequirement already satisfied: functools32; python_version == \"2.7\" in /usr/lib/python2.7/site-packages (from jsonschema<3,>=2.5.1->docker-compose) (3.2.3.post2)\nInstalling collected packages: PyYAML\n  Found existing installation: PyYAML 4.2b4\n\n:stderr: WARNING: Running pip install with root privileges is generally not a good idea. Try `pip2 install --user` instead.\ndocker-compose 1.22.0 has requirement requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1, but you'll have requests 2.19.1 which is incompatible.\nCannot uninstall 'PyYAML'. It is a distutils installed project and thus we cannot accurately determine which files belong to it which would lead to only a partial uninstall.\n"}

interesting, this works fine:

pip2 install --user docker-compose docker PyYAML -I 
Collecting docker-compose
  Using cached https://files.pythonhosted.org/packages/67/03/b833b571595e05c933d3af3685be3b27b1166c415d005b3eadaa5be80d25/docker_compose-1.22.0-py2.py3-none-any.whl
Collecting docker
  Using cached https://files.pythonhosted.org/packages/c2/76/b8091dc6d9db038af62ae88f228da656a84632cf5d7a84dcf54c613d3fd0/docker-3.5.1-py2.py3-none-any.whl
Collecting PyYAML
Collecting backports.ssl-match-hostname>=3.5; python_version < "3.5" (from docker-compose)
Collecting six<2,>=1.3.0 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/67/4b/141a581104b1f6397bfa78ac9d43d8ad29a7ca43ea90a2d863fe3056e86a/six-1.11.0-py2.py3-none-any.whl
Collecting texttable<0.10,>=0.9.0 (from docker-compose)
Collecting dockerpty<0.5,>=0.4.1 (from docker-compose)
Collecting ipaddress>=1.0.16; python_version < "3.3" (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/fc/d0/7fc3a811e011d4b388be48a0e381db8d990042df54aa4ef4599a31d39853/ipaddress-1.0.22-py2.py3-none-any.whl
Collecting requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl
Collecting websocket-client<1.0,>=0.32.0 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/14/d4/6a8cd4e7f67da465108c7cc0a307a1c5da7e2cdf497330b682069b1d4758/websocket_client-0.53.0-py2.py3-none-any.whl
Collecting enum34<2,>=1.0.4; python_version < "3.4" (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/c5/db/e56e6b4bbac7c4a06de1c50de6fe1ef3810018ae11732a50f15f62c7d050/enum34-1.1.6-py2-none-any.whl
Collecting docopt<0.7,>=0.6.1 (from docker-compose)
Collecting jsonschema<3,>=2.5.1 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/77/de/47e35a97b2b05c2fadbec67d44cfcdcd09b8086951b331d82de90d2912da/jsonschema-2.6.0-py2.py3-none-any.whl
Collecting cached-property<2,>=1.2.0 (from docker-compose)
  Using cached https://files.pythonhosted.org/packages/3b/86/85c1be2e8db9e13ef9a350aecd6dea292bd612fa288c2f40d035bb750ded/cached_property-1.5.1-py2.py3-none-any.whl
Collecting docker-pycreds>=0.3.0 (from docker)
  Using cached https://files.pythonhosted.org/packages/ea/bf/7e70aeebc40407fbdb96fa9f79fc8e4722ea889a99378303e3bcc73f4ab5/docker_pycreds-0.3.0-py2.py3-none-any.whl
Collecting urllib3<1.23,>=1.21.1 (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose)
  Using cached https://files.pythonhosted.org/packages/63/cb/6965947c13a94236f6d4b8223e21beb4d576dc72e8130bd7880f600839b8/urllib3-1.22-py2.py3-none-any.whl
Collecting idna<2.7,>=2.5 (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose)
  Using cached https://files.pythonhosted.org/packages/27/cc/6dd9a3869f15c2edfab863b992838277279ce92663d334df9ecf5106f5c6/idna-2.6-py2.py3-none-any.whl
Collecting chardet<3.1.0,>=3.0.2 (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose)
  Using cached https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl
Collecting certifi>=2017.4.17 (from requests!=2.11.0,!=2.12.2,!=2.18.0,<2.19,>=2.6.1->docker-compose)
  Using cached https://files.pythonhosted.org/packages/56/9d/1d02dd80bc4cd955f98980f28c5ee2200e1209292d5f9e9cc8d030d18655/certifi-2018.10.15-py2.py3-none-any.whl
Collecting functools32; python_version == "2.7" (from jsonschema<3,>=2.5.1->docker-compose)
Installing collected packages: PyYAML, backports.ssl-match-hostname, six, websocket-client, docker-pycreds, ipaddress, urllib3, idna, chardet, certifi, requests, docker, texttable, dockerpty, enum34, docopt, functools32, jsonschema, cached-property, docker-compose
Successfully installed PyYAML-3.13 backports.ssl-match-hostname-3.5.0.1 cached-property-1.5.1 certifi-2018.10.15 chardet-3.0.4 docker-3.5.1 docker-compose-1.22.0 docker-pycreds-0.3.0 dockerpty-0.4.1 docopt-0.6.2 enum34-1.1.6 functools32-3.2.3.post2 idna-2.6 ipaddress-1.0.22 jsonschema-2.6.0 requests-2.18.4 six-1.11.0 texttable-0.9.1 urllib3-1.22 websocket-client-0.53.0

enough for now, bye

Thanks @stefangweichinger for all the information you have given, much appreciated!

I was a bit afraid when I added docker_sdk and docker_compose that these type of problems would pop up. I think that there might be something related to getting the pip packages in and how it is run and if it is running using virtual environment etc. The way you installed docker compose using the "--user" flag is interesting because now the pip is run as root in the role.

Reproducing this in some easy way using some Vagrant boxes on VirtualBox would help me to fix this issue. Hope I will get time to do it because right now I trying to add the Fedora distribution into the automated tests and are close to fix that.

Cheers!

So where is the vagrant file? ;-)
The "--user" thing was a result from getting mixed up with pip missing some permissions etc and my try to get things done properly. AFAI understand my current setup does not use virtual env anymore, and has your role installed as non-root role (in ~/.ansible/roles).

note: as F29 will be released tomorrow there seem to be some things going on. The docker-ce-repo at docker.com does not yet provide a docker-ce-package for F29, this leads to failing installation here etc

Additionally I see mismatches between systemd-service files from fedora and docker-ce.repo (path to docker-binary "docker" vs. "dockerd" etc).

tldr: we might have to wait a few days for things to calm down?

@stefangweichinger many thanks for the update! As you suggest we can wait and I will make some updates in the tests to prepare for F29. Will let you know I have done that.

Cheers!

@stefangweichinger

Just an update from my side. Fedora has release a Vagrant box for 29 so I added that but Docker does not install yet because of missing containerd.io dependency which does not exists. How I tried this was to install the docker-ce-nightly for F29 via the nightly channel.

The tests I am executing etc you can find here: https://github.com/haxorof/ansible-role-docker-ce/tree/master/tests. Read the README.md for prerequisites.

If you for example would like to try it out yourself. It should now be possible for you to go into the tests directory and from there write the following to just execute all tests on F29:

./test.sh t_ fedora/29

The vagrant_config.yml contains all the boxes available and the tests so if you just want to execute the simplest test on F29 you can run this:

./test.sh t_no_config fedora/29

@haxorof : great news, thanks for the update etc / will look into that in the next days, tmrw holiday here, so I will spend some time offline ;-)

@haxorof : did a short test ... unfortunately running the test script for fedora/29 sends my machine into high load and swapping :-( Multiple ruby-mri processes, I don't know. My box has a core i7-6700 and 16 gigs of RAM, I don't know what you try to run in your tests but normally the machine should be enough ;-) (?)

@stefangweichinger: that was interesting. I actually run with a machine that have lower specs than you. Tests just installs Docker with my role in different ways to verify config etc. When you run any Vagrantfile does it behave in the same way?

@haxorof I removed and reinstalled vagrant completely, I still get dozens of these processes:

/usr/bin/ruby-mri /usr/share/vagrant/gems/bin/vagrant plugin install vagrant-share

So it seems related to this plugin install failing.
Getting late here, bye ...

ps:

If I execute that on the shell:

$  /usr/bin/ruby-mri /usr/share/vagrant/gems/bin/vagrant plugin install vagrant-share 
Traceback (most recent call last):
	2: from /usr/share/vagrant/gems/bin/vagrant:23:in `<main>'
	1: from /usr/share/rubygems/rubygems.rb:308:in `activate_bin_path'
/usr/share/rubygems/rubygems.rb:289:in `find_spec_for_exe': can't find gem vagrant (>= 0.a) with executable vagrant (Gem::GemNotFoundException)

Thanks @stefangweichinger! I will check if that plugin is unnecessary because now it is specified in a file which is executed when vagrant command is used in the tests directory.
https://raw.githubusercontent.com/haxorof/ansible-role-docker-ce/master/tests/.vagrantplugins

you could try to rename that file and just make sure the plugin vagrant-vbguest is installed at least to see if that works for you.

Cheers!

@haxorof commenting the line "vagrant-share" out of that file helps to bring up the machine, it is downloading now. I hope the boxes are kept/cached on my machine after the initial download?
thanks so far.

@haxorof this leads to numerous other issues, I don't know. Your test script also fails in the end because the setup of the box wants to use the sharing-features somehow, at least it throws an error. I removed and reinstalled vagrant, and it gives me various errors around its plugins. Maybe related to F29, maybe not, I don't know yet

Hi @stefangweichinger! Sorry for now answering you earlier but has been a bit busy. Thank you for trying running the tests but I think I need to go back and review what requirements there are to run the tests.

Also today I noticed other issues similar to the pip related stuff you saw in F29 so I think I will have some time on Sunday to check all this.

In the meantime I think you can wait for me to look into the things written above.

Cheers!

@haxorof ok, I see. No problem, so far I can use docker for my purposes. All the vagrant part is not necessary for me (although I would like to be able to use it, sure ... and learn from it). Looking forward to the next steps, Stefan

After some changes I now have a test suite that passes for Fedora version 25, 26, 27 and 28. For Fedora 29 I cannot see it is possible to install Docker yet from the nightly build because of missing dependencies.

Will wait a bit until Docker have some working nightly build.

Just would like to inform you that it is now possible to successfully install Docker on Fedora 29 from the nightly Docker channel.

Example that works on Fedora 29 cloud image:

---
- hosts: localhost
  vars:
    docker_channel: nightly
  roles:
    - haxorof.docker-ce

Cheers!

I have run through the following test on Fedora 29 cloud image and it work.

---
- name: Test using PiP to install SDK, compose and stack
  hosts: test-host
  vars:
    docker_channel: nightly
    docker_sdk: true
    docker_compose: true
    docker_stack: true
  roles:
    - haxorof.docker-ce
  post_tasks:
    - name: Test hello container
      become: yes
      docker_container:
        name: hello
        image: hello-world

    - name: Test hello service
      become: yes
      docker_service:
        project_name: hello
        definition:
          version: '3'
          services:
            hello:
              image: "hello-world"

- name: Test install of Docker compose not using PiP
  hosts: test-host
  vars:
    docker_channel: nightly
    docker_compose: true
    docker_compose_no_pip: true
  roles:
    - haxorof.docker-ce

@stefangweichinger Shall I close this issue?

ok with me, as you like. Thanks for your tests, etc

Sidenote: pls note the test-dir, it's new ;-) -> https://download.docker.com/linux/fedora/29/x86_64/test/Packages/

So they seem to prepare something.