Openshift-ansible: Openshift 3.11 "No package matching 'python-docker' found available, installed or updated"]

Created on 18 Oct 2018  ·  18Comments  ·  Source: openshift/openshift-ansible

Description

Prerequisite failed with the packages python-docker on RHEL 7.5 with Openshift Enterprise ansible deployment on 3.11

ansible 2.6.5
config file = /usr/share/ansible/openshift-ansible/ansible.cfg
configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python2.7/site-packages/ansible
executable location = /bin/ansible
python version = 2.7.5 (default, May 31 2018, 09:41:32) [GCC 4.8.5 20150623 (Red Hat 4.8.5-28)]

If you're running from playbooks installed via RPM (YES)
playbooks/prerequisites.yml

RPM Version
openshift-ansible-3.11.16-1.git.0.4ac6f81.el7.noarch

fatal: [rheldev03.ocp.opsdev.io]: FAILED! => {"attempts": 3, "changed": false, "msg": "No package matching 'python-docker' found available, installed or updated", "rc": 126, "results": ["python-ipaddress-1.0.16-2.el7.noarch providing python-ipaddress is already installed", "iproute-4.11.0-14.el7.x86_64 providing iproute is already installed", "dbus-python-1.1.1-9.el7.x86_64 providing dbus-python is already installed", "PyYAML-3.10-11.el7.x86_64 providing PyYAML is already installed", "libsemanage-python-2.5-11.el7.x86_64 providing libsemanage-python is already installed", "yum-utils-1.1.31-46.el7_5.noarch providing yum-utils is already installed", "No package matching 'python-docker' found available, installed or updated"]}

subscription-manager repos \
--enable="rhel-7-server-rpms" \
--enable="rhel-7-server-extras-rpms" \
--enable="rhel-7-server-ose-3.11-rpms" \
--enable="rhel-7-server-ansible-2.6-rpms"

Most helpful comment

Is it possible also to update 3.11 (as it was done for 3.10) playbooks/init/base_packages.yml to resolve this issue?

changing the line:
"{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker' }}" to
"{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker-py' }}"

All 18 comments

Also seeing bad behavior here around python-docker here, attempting to install on RHEL 7.5. I've tried a few different versions of openshift-ansible including master, release-3.11, release-3.10, and various tags.

Initially I was getting the error described above ("No package matching 'python-docker' found available"), but I seem to have gotten these machines into a state where I now get the following instead:

fatal: [master-node]: FAILED! => {"attempts": 3, "changed": false, "msg": "Error from repoquery: ['/bin/repoquery', '--show-duplicates', '--plugins', '--quiet', '-c', None, '--disablerepo', '', '--enablerepo', '', '--qf', '%{epoch}:%{name}-%{version}-%{release}.%{arch}', 'python-docker']: Error accessing file for config file:///home/ansibleagent/--disablerepo\nError accessing file for config file:///home/ansibleagent/--disablerepo\n"}

Here's what yum repolist says we have, after an aborted run of the prerequisites playbook:

centos-openshift-origin                         CentOS OpenShift Origin     196+58
epel/x86_64                                     Extra Packages for Enterp 12,741+1
rhel-7-server-extras-rpms/x86_64                Red Hat Enterprise Linux       923
rhel-7-server-optional-rpms/7Server/x86_64      Red Hat Enterprise Linux    15,387
rhel-7-server-rh-common-rpms/7Server/x86_64     Red Hat Enterprise Linux       234
rhel-7-server-rpms/7Server/x86_64               Red Hat Enterprise Linux    21,082
rhel-7-server-supplementary-rpms/7Server/x86_64 Red Hat Enterprise Linux       280
rhel-x86_64-rhev-mgmt-agent-7                   Red Hat Enterprise Virt M      773
rhel-x86_64-server-7                            Red Hat Enterprise Linux    21,082
rhel-x86_64-server-optional-7                   RHEL Server Optional (v.    15,387
rhel-x86_64-server-rh-common-7                  Red Hat Common (for RHEL       234
rhn-tools-rhel-x86_64-server-7                  RHN Tools for RHEL Server      132

Cleaning out Python/Docker related packages and manually running yum -y install python-docker just chases the obsoletes list and just installs python-docker-py, python-docker-pycreds, and python-websocket-client. The installer doesn't seem able to cope with that, or any other variation on the theme that I've tried.

i am install openshift okd in centos 7.5 is the same error
after edit playbooks/init/base_packages.yml and change line

  • "{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker' }}" to
  • "{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker-py' }}"

i am install openshift okd in centos 7.5 is the same error
after edit playbooks/init/base_packages.yml and change line

  • "{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker' }}" to
  • "{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker-py' }}"

The suggestion by @1gog works on CentOS 7.5 to suppress this error, however, is python-docker-py the same/expected package that openshift-ansible wants, or does python-docker != python-docker-py?

Install python-docker-py instead of python-docker answers my question: "Package docker-python is obsoleted by python-docker-py package. Install python-docker-py package instead of python-docker."

I encountered the same behavior while running prerequisites playbook (OKD 3.11) on Centos 7.5.1804.
Interestingly a few hours earlier everything was OK.

TASK [Ensure openshift-ansible installer package deps are installed] *******************************************************************************************************************************
FAILED - RETRYING: Ensure openshift-ansible installer package deps are installed (3 retries left).
FAILED - RETRYING: Ensure openshift-ansible installer package deps are installed (2 retries left).
FAILED - RETRYING: Ensure openshift-ansible installer package deps are installed (1 retries left).
fatal: [one-node-openshift]: FAILED! => {"attempts": 3, "changed": false, "msg": "No package matching 'python-docker' found available, installed or updated", "rc": 126, "results": ["python-ipaddress-1.0.16-2.el7.noarch providing python-ipaddress is already installed", "iproute-4.11.0-14.el7.x86_64 providing iproute is already installed", "dbus-python-1.1.1-9.el7.x86_64 providing dbus-python is already installed", "PyYAML-3.10-11.el7.x86_64 providing PyYAML is already installed", "libsemanage-python-2.5-11.el7.x86_64 providing libsemanage-python is already installed", "yum-utils-1.1.31-46.el7_5.noarch providing yum-utils is already installed", "No package matching 'python-docker' found available, installed or updated"]}

There is something wrong with the cache ... it gets invalidated real
quick.. try yum clean , yum make cache and retry...

AMÉLIE COSSETTE

SENIOR ARCHITECT, RHCSA

Red Hat Consulting https://www.redhat.com/

amelie.[email protected] M: 1-514-889-4256
https://red.ht/sig
TRIED. TESTED. TRUSTED. https://redhat.com/trusted

On Mon, Dec 3, 2018 at 3:56 PM adamulacha notifications@github.com wrote:

I encountered the same behavior while running prerequisites playbook (OKD
3.11) on Centos 7.5.1804.
Interestingly a few hours earlier everything was OK.

TASK [Ensure openshift-ansible installer package deps are installed] *****************************************
FAILED - RETRYING: Ensure openshift-ansible installer package deps are installed (3 retries left).
FAILED - RETRYING: Ensure openshift-ansible installer package deps are installed (2 retries left).
FAILED - RETRYING: Ensure openshift-ansible installer package deps are installed (1 retries left).
fatal: [one-node-openshift]: FAILED! => {"attempts": 3, "changed": false, "msg": "No package matching 'python-docker' found available, installed or updated", "rc": 126, "results": ["python-ipaddress-1.0.16-2.el7.noarch providing python-ipaddress is already installed", "iproute-4.11.0-14.el7.x86_64 providing iproute is already installed", "dbus-python-1.1.1-9.el7.x86_64 providing dbus-python is already installed", "PyYAML-3.10-11.el7.x86_64 providing PyYAML is already installed", "libsemanage-python-2.5-11.el7.x86_64 providing libsemanage-python is already installed", "yum-utils-1.1.31-46.el7_5.noarch providing yum-utils is already installed", "No package matching 'python-docker' found available, installed or updated"]}


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/openshift/openshift-ansible/issues/10440#issuecomment-443866918,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AmaBA1K0YJgvuoVhWSuQkmRRl6a9RYCmks5u1Y_ogaJpZM4XtypR
.

Yum clean didn't help me. However, the suggestion of updating the ansible playbook as @DizzyThermal mentioned above did seem to do the trick for me.

This issue seems fairly recent as I'm pretty sure it wasn't happening just a few hours ago.

I also encountered this problem while running prerequisites playbook of version 3.10.

Is it possible also to update 3.11 (as it was done for 3.10) playbooks/init/base_packages.yml to resolve this issue?

changing the line:
"{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker' }}" to
"{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker-py' }}"

I managed to install ose 3.11 on rhel 7.6 ..... thanks to the help of @adamulacha
" "{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker-py' }}" " 👯‍♂️

💃

@diabloserver - this change is already on the latest commit :)

Fixed in #10812

Now I get this when running "build_ami.yml" ...

  "msg": "No package matching 'python-docker-py' found available, installed or updated",
    "rc": 126,
    "results": [
        "python-ipaddress-1.0.16-2.el7.noarch providing python-ipaddress is already installed",
        "iproute-4.11.0-14.el7.x86_64 providing iproute is already installed",
        "dbus-python-1.1.1-9.el7.x86_64 providing dbus-python is already installed",
        "PyYAML-3.10-11.el7.x86_64 providing PyYAML is already installed",
        "libsemanage-python-2.5-14.el7.x86_64 providing libsemanage-python is already installed",
        "yum-utils-1.1.31-50.el7.noarch providing yum-utils is already installed",
        "No package matching 'python-docker-py' found available, installed or updated"
    ]

$ sudo yum install python-docker-py
Loaded plugins: amazon-id, rhui-lb, search-disabled-repos
No package python-docker-py available.
Error: Nothing to do

It seems to exist in the centos_extras repo ... but not on rhel7, and I couldn't find centos7 in the stock ami inventory on amazon (am I missing something?)

it's available on rhel7 on GCP, just checked this out:

[openshift@openshift-master ~]$ sudo yum list | grep python-docker-py
Failed to set locale, defaulting to C
python-docker-py.noarch                          1:1.10.6-7.el7             @rhui-rhel-7-server-rhui-extras-rpms

Seems like the "extras" is disabled by default on the RHEL7 aws image I'm using.

I worked around it, https://wiki.centos.org/Cloud/AWS explains how to find an ami-id for CentOS7.

Is it possible also to update 3.11 (as it was done for 3.10) playbooks/init/base_packages.yml to resolve this issue?

changing the line:
"{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker' }}" to
"{{ 'python3-docker' if ansible_distribution == 'Fedora' else 'python-docker-py' }}"

worked for me, Thanks.

Was this page helpful?
0 / 5 - 0 ratings