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"
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
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.
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' }}"