RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.
Bug 1646424 - python2-boto3 missing dependency
Summary: python2-boto3 missing dependency
Keywords:
Status: CLOSED WONTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: python-s3transfer
Version: 7.5
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: 7.7
Assignee: Oyvind Albrigtsen
QA Contact: cluster-qe@redhat.com
URL:
Whiteboard:
Depends On:
Blocks: 1667135
TreeView+ depends on / blocked
 
Reported: 2018-11-05 14:45 UTC by Vadym Chepkov
Modified: 2021-03-15 07:31 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
: 1667135 (view as bug list)
Environment:
Last Closed: 2021-03-15 07:31:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)

Description Vadym Chepkov 2018-11-05 14:45:37 UTC
python2-boto3 has dependencies issues. It requires version of rpm, which is missing:

---> Package python2-boto3.noarch 0:1.4.6-1.el7 will be installed
--> Processing Dependency: python2-s3transfer >= 0.1.10 for package: python2-boto3-1.4.6-1.el7.noarch
Package python2-s3transfer is obsoleted by python-s3transfer, but obsoleting package does not provide for requirements
--> Finished Dependency Resolution
Error: Package: python2-boto3-1.4.6-1.el7.noarch (epel)
           Requires: python2-s3transfer >= 0.1.10
           Available: python2-s3transfer-0.1.10-1.el7.noarch (epel)
               python2-s3transfer = 0.1.10-1.el7

Comment 1 Danila Vershinin 2019-01-07 12:07:05 UTC
We are affected by this too.

Comment 2 Tim 2019-01-11 09:02:07 UTC
I bet this bug affects many people.
Any progress on this?

Comment 3 Danila Vershinin 2019-01-11 09:08:18 UTC
For anyone affected but wanting to quickly bypass issue, using "yum install --setopt=obsoletes=0 ..." like here https://www.getpagespeed.com/troubleshooting/quick-fix-for-installing-python2-certbot-dns-route53-python2-boto3-in-centos-7 works.

But that's just a temporary fix for "yum install", the "yum update" is still going to have dependency issue.

Comment 4 Ashley 2019-01-15 22:27:29 UTC
the problem is still there on our patched latest CentOS7 VMs;

Resolving Dependencies
--> Running transaction check
---> Package python-s3transfer.noarch 0:0.1.13-1.el7.0.1 will be obsoleting
---> Package python2-s3transfer.noarch 0:0.1.10-1.el7 will be obsoleted
--> Processing Dependency: python2-s3transfer >= 0.1.10 for package: python2-boto3-1.4.6-1.el7.noarch
--> Finished Dependency Resolution
Error: Package: python2-boto3-1.4.6-1.el7.noarch (@epel)
           Requires: python2-s3transfer >= 0.1.10
           Removing: python2-s3transfer-0.1.10-1.el7.noarch (@epel)
               python2-s3transfer = 0.1.10-1.el7
           Obsoleted By: python-s3transfer-0.1.13-1.el7.0.1.noarch (updates)
              ~python-s3transfer = 0.1.13-1.el7.0.1

Please advise as the only thing we can do right now is to;
yum update -y --skip-broken
yum install --setopt=obsoletes=0 certbot-dns-route53

Comment 5 Charalampos Stratakis 2019-01-16 20:04:08 UTC
It seems there was a bug fixed for 7.5, which unfortunately though created this issue, see bug 1576985

The breakdown is this:

python2-boto3 has an explicit requirement on python2-s3transfer, not python-s3transfer.

The epel7 package of s3transfer creates a binary rpm called python2-s3transfer, which also provides the virtual name python-s3transfer.

The rhel7 package of s3transfer creates a binary rpm called python-s3transfer, which obsoletes EPEL's python2-s3transfer, but it doesn't provide the python2-s3transfer name, that python2-boto3 explicitly depends on, thus the transaction is failing.

Will need to do some testing, possibly through a COPR repo to verify the transaction issue.

Comment 7 Charalampos Stratakis 2019-01-16 20:05:04 UTC
Adding needinfo on the maintainer to chime in.

Comment 8 Charalampos Stratakis 2019-01-17 14:37:41 UTC
I'll clone this bug in order to provide a workaround for boto3, to basically require python-s3transfer instead of python2-s3transfer. That should fix the dependency issue for now.

Comment 9 Charalampos Stratakis 2019-01-21 15:05:21 UTC
(In reply to Vadym Chepkov from comment #0)
> python2-boto3 has dependencies issues. It requires version of rpm, which is
> missing:
> 
> ---> Package python2-boto3.noarch 0:1.4.6-1.el7 will be installed
> --> Processing Dependency: python2-s3transfer >= 0.1.10 for package:
> python2-boto3-1.4.6-1.el7.noarch
> Package python2-s3transfer is obsoleted by python-s3transfer, but obsoleting
> package does not provide for requirements
> --> Finished Dependency Resolution
> Error: Package: python2-boto3-1.4.6-1.el7.noarch (epel)
>            Requires: python2-s3transfer >= 0.1.10
>            Available: python2-s3transfer-0.1.10-1.el7.noarch (epel)
>                python2-s3transfer = 0.1.10-1.el7

Through my testing, it seems that if the EPEL repos are enabled, the proper dependencies get pulled. Could you post from which repo you're install python2-boto3?

Comment 10 Charalampos Stratakis 2019-01-21 15:05:40 UTC
s/install/installing

Comment 11 Ashley 2019-01-21 21:17:14 UTC
In our case we are on the CENTOS7 VM, which shows we have the EPEL repos enabled. I think the command sbelow are the ones you want?
# yum repolist
repo id                                              repo name                                                                    status
base/7/x86_64                                        CentOS-7 - Base                                                              10,019
epel/x86_64                                          Extra Packages for Enterprise Linux 7 - x86_64                               12,865
extras/7/x86_64                                      CentOS-7 - Extras                                                               321
gitlab_gitlab-ce/x86_64                              gitlab_gitlab-ce                                                                436
gitlab_gitlab-ce-source                              gitlab_gitlab-ce-source                                                           0
go-repo/7/x86_64                                     go-repo - CentOS                                                                309
updates/7/x86_64                                     CentOS-7 - Updates                                                              647
yarn                                                 Yarn Repository                                                                  40
repolist: 24,637

# yum info python2-boto3
Installed Packages
Name        : python2-boto3
Arch        : noarch
Version     : 1.4.6
Release     : 1.el7
Size        : 1.1 M
Repo        : installed
From repo   : epel
Summary     : The AWS SDK for Python
URL         : https://github.com/boto/boto3
License     : ASL 2.0
Description : Boto3 is the Amazon Web Services (AWS) Software Development
            : Kit (SDK) for Python, which allows Python developers to
            : write software that makes use of services like Amazon S3
            : and Amazon EC2.


If I do the following;
# yum remove python2-boto3
...
Removing:
 python2-boto3                                 noarch                   1.4.6-1.el7                       @epel                   1.1 M
Removing for dependencies:
 python2-certbot-dns-route53                   noarch                   0.27.1-1.el7                      @epel                    53 k
....

# yum update -y
...
Installed:
  python-s3transfer.noarch 0:0.1.13-1.el7.0.1

Replaced:
  python2-s3transfer.noarch 0:0.1.10-1.el7

but then I have to do a;
yum install certbot-dns-route53 (as this was removed as part of the yum remove python2-bot3 command)

and then I put back to the dependency problem again.
so my only course of action is to do a;
yum install --setopt=obsoletes=0 certbot-dns-route53

Where to now?

cheers
Ashley

Comment 12 Charalampos Stratakis 2019-01-23 17:42:53 UTC
(In reply to Ashley from comment #11)
> In our case we are on the CENTOS7 VM, which shows we have the EPEL repos
> enabled. I think the command sbelow are the ones you want?
> # yum repolist
> repo id                                              repo name              
> status
> base/7/x86_64                                        CentOS-7 - Base        
> 10,019
> epel/x86_64                                          Extra Packages for
> Enterprise Linux 7 - x86_64                               12,865
> extras/7/x86_64                                      CentOS-7 - Extras      
> 321
> gitlab_gitlab-ce/x86_64                              gitlab_gitlab-ce       
> 436
> gitlab_gitlab-ce-source                              gitlab_gitlab-ce-source
> 0
> go-repo/7/x86_64                                     go-repo - CentOS       
> 309
> updates/7/x86_64                                     CentOS-7 - Updates     
> 647
> yarn                                                 Yarn Repository        
> 40
> repolist: 24,637
> 
> # yum info python2-boto3
> Installed Packages
> Name        : python2-boto3
> Arch        : noarch
> Version     : 1.4.6
> Release     : 1.el7
> Size        : 1.1 M
> Repo        : installed
> From repo   : epel
> Summary     : The AWS SDK for Python
> URL         : https://github.com/boto/boto3
> License     : ASL 2.0
> Description : Boto3 is the Amazon Web Services (AWS) Software Development
>             : Kit (SDK) for Python, which allows Python developers to
>             : write software that makes use of services like Amazon S3
>             : and Amazon EC2.
> 
> 
> If I do the following;
> # yum remove python2-boto3
> ...
> Removing:
>  python2-boto3                                 noarch                  
> 1.4.6-1.el7                       @epel                   1.1 M
> Removing for dependencies:
>  python2-certbot-dns-route53                   noarch                  
> 0.27.1-1.el7                      @epel                    53 k
> ....
> 
> # yum update -y
> ...
> Installed:
>   python-s3transfer.noarch 0:0.1.13-1.el7.0.1
> 
> Replaced:
>   python2-s3transfer.noarch 0:0.1.10-1.el7
> 
> but then I have to do a;
> yum install certbot-dns-route53 (as this was removed as part of the yum
> remove python2-bot3 command)
> 
> and then I put back to the dependency problem again.
> so my only course of action is to do a;
> yum install --setopt=obsoletes=0 certbot-dns-route53
> 
> Where to now?
> 
> cheers
> Ashley

Could you try to install python2-boto3 from my copr repository and see if the dependency resolution works?

Install the yum copr plugin:

$ yum install yum-plugin-copr

then add the repo:

$ yum copr enable cstratak/boto3_dependency_issue

and then try to install the package:

$ yum install python2-boto3

Does that resolve the dependency issue?

Comment 13 Ashley 2019-01-23 18:41:04 UTC
Thanks, I can confirm this appears to resolve the issue.
Is this workaround to be used until the root issue is resolved?
thanks again.

Comment 14 Charalampos Stratakis 2019-01-30 14:30:55 UTC
(In reply to Ashley from comment #13)
> Thanks, I can confirm this appears to resolve the issue.
> Is this workaround to be used until the root issue is resolved?
> thanks again.

Apologies for the late reply, devconf kept me pretty busy.

I've issued an update: https://bodhi.fedoraproject.org/updates/FEDORA-EPEL-2019-23ae070b4c

I'm using bug 1667135 as a placeholder, as the actual bug is on s3transfer.

Allow it for some time to reach the testing repositories and you can try out the update and provide feedback. Instructions provided here: https://fedoraproject.org/wiki/EPEL/testing

As soon as it hits the stable repos, the issue should be resolved.

Comment 15 Danila Vershinin 2019-07-08 19:43:18 UTC
I can confirm the s3transfer can be updated fine after applying python2-boto3-1.4.6-2.

But seriously, 6 months in testing and it didn't make to stable? :)

Comment 18 RHEL Program Management 2021-03-15 07:31:10 UTC
After evaluating this issue, there are no plans to address it further or fix it in an upcoming release.  Therefore, it is being closed.  If plans change such that this issue will be fixed in an upcoming release, then the bug can be reopened.


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