Description of problem:
AWS users who had the Fedora EPEL copy of awscli installed prior to the update to RHEL 7.5 are left with a non-functional aws command when yum update'd to 7.5.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Install EPEL copy of awscli-1.11.133-1.el7 package to reproduce what an existing user will already have. This pulls in python-colorama python-docutils python-pillow python2-botocore python2-futures python2-jmespath python2-rsa python2-s3transfer
2. `yum update awscli` to pull in base copy of awscli at 1.14.28-5.el7
3. Run `aws`
aws produces stacktrace and dies:
Traceback (most recent call last):
File "/bin/aws", line 19, in <module>
File "/usr/lib/python2.7/site-packages/awscli/clidriver.py", line 25, in <module>
from botocore.history import get_global_history_recorder
ImportError: No module named history
After `yum swap python2-s3transfer python-s3transfer` the aws command functions as expected.
aws command works
The problem is due to incompatible python2-s3transfer vs python-s3transfer packages. All existing awscli users will be left with a non-functional command after the yum update to the RHEL base copy. Running `yum swap python2-s3transfer python-s3transfer` will fix this but ideally it would be better not to break things in the first place. I suspect the best solution to this would be for awscli to Require: python-s3transfer directly or for python-s3transfer to Obsolete: python2-s3transfer.
For those EPEL users that are already affected, the way to fix this is
yum update awscli
yum swap python2-s3transfer python-s3transfer
At this point you may well have unnecessary packages installed as the depchain is different between the two versions and you can probably uninstall python-colorama python2-rsa python2-boto3 python2-botocore python2-futures python2-jmespath python2-rsa python2-s3transfer which were all installed by the EPEL awscli.
Bug 1578061 comment 2 is related. Bug 1578083 would need to be fixed first, though.
This is sadly another example of when a package is moved from EPEL to the main OS and the upgrade isn't transparent, see https://bugzilla.redhat.com/show_bug.cgi?id=1492884 for another example.
I thought the whole point of using RHEL was stability, I'd expect this sort of thing in Fedora.