Bug 1310903 - Kubernetes packages requirements broken with docker-engine
Summary: Kubernetes packages requirements broken with docker-engine
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: kubernetes
Version: 7.4
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Jan Chaloupka
QA Contact: atomic-bugs@redhat.com
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-02-22 23:22 UTC by Sam McLeod
Modified: 2019-03-05 13:22 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2019-03-05 13:22:30 UTC
Target Upstream Version:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Bugzilla 1370628 0 unspecified CLOSED Package dependencies on docker conflict with upstream docker-engine 2021-02-22 00:41:40 UTC

Internal Links: 1370628

Description Sam McLeod 2016-02-22 23:22:17 UTC
Description of problem:

The Kubernetes packages in 'Extra' have a hard requirement on the package 'docker' being installed, however if you're using the official Docker packages rather than the old versions supplied in the Redhat repo the package is called 'docker-engine'.

The Kubernetes packages need to be satisfied with either the 'docker' or 'docker-engine' package installed and should not assume that people will be using Redhat's custom named Docker package simply name 'docker'.

Most people I've seen do not use the Redhat Docker package as it's quite out of date and as it's a fast moving piece of software it is critical to run up to date versions.


How reproducible:


Steps to Reproduce:
1. Use the official 'docker-engine' package from Docker's Redhat (or any other Docker repo / self built packages)
2. Install 'kubernetes-node' (or several of the other kubernetes packages)

Actual results:

Broken dependencies as the kubernetes packages are looking specificity for a package called 'docker' installed rather than 'docker' (Redhat naming) or 'docker-engine' (official naming)

Expected results:

The package dependencies should be satisfied by the 'docker-engine' package being installed.

Additional info:

- docker-engine is the official naming for the core Docker package
- docker is the name of the company and used to describe various parts of the ecosystem.

I'm not suggesting fix the Redhat packages to also be called 'docker-engine' like upstream, I'm simply suggesting that the kubernetes packages should have their Docker dependency satisfied by 'docker-engine'.

Comment 1 Sam McLeod 2016-02-22 23:23:29 UTC
Note that this was also reported to Docker to suggest that the 'docker-engine' package could provide 'docker', but this has been flagged as a bug with Redhat/CentOS as they should not override existing package names, see https://github.com/docker/docker/issues/20567

Comment 3 Jan Chaloupka 2016-02-23 19:07:27 UTC
Hi Sam,

there is not way to support both docker and docker-engine at the same time. If there will be any support for docker-engine it must first start at docker package.

> I'm not suggesting fix the Redhat packages to also be called 'docker-engine'
> like upstream, I'm simply suggesting that the kubernetes packages should have
> their Docker dependency satisfied by 'docker-engine'.

At the moment, extras ships docker package only. I can not make kubernetes require docker-engine as it would make kubernetes uninstallable and broken update path.

Maybe kubernetes could require virtual "container" or similar name covering any supported containerization technology. Then, docker vs. docker-engine would not be the issue.

For either way I encourage you to solve this problem via customer portal first or your TAM.

Comment 4 Sam McLeod 2016-02-24 04:41:11 UTC
This is one of those situations where Docker says it's a Redhat problem and Redhat says it's a Docker problem so we're not going to get anywhere.

Is there really no way that the Kubernetes packages can be satisfied by either package 'docker' or package 'docker-engine'.

Comment 5 Sam McLeod 2016-02-25 01:37:44 UTC
Can you not make the RH Kubernetes packages require '/usr/bin/docker' which can be provided by 'docker' or 'docker-engine'?

With apt, this is easy, you simply have an either dependency, with yum/rpm it looks like this is the way you do it.

Comment 6 Jan Chaloupka 2019-03-05 13:22:30 UTC
Kubernetes has been deprecated in RHEL. Obsoleted by OpenShift.


Note You need to log in before you can comment on or make changes to this bug.