Bug 1422379 - [ubuntu]: python-attrs package required for new calamari-server in MON repo
Summary: [ubuntu]: python-attrs package required for new calamari-server in MON repo
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Ceph Storage
Classification: Red Hat Storage
Component: Build
Version: 2.2
Hardware: Unspecified
OS: Unspecified
unspecified
medium
Target Milestone: rc
: 2.2
Assignee: Ken Dreyer (Red Hat)
QA Contact: ceph-qe-bugs
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-15 07:24 UTC by Vasishta
Modified: 2022-02-21 18:46 UTC (History)
5 users (show)

Fixed In Version: RHEL: calamari-server-1.5.2-1.el7cp Ubuntu: calamari_1.5.2-2redhat1xenial
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-03-14 15:49:30 UTC
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker RHCEPH-3553 0 None None None 2022-02-21 18:46:05 UTC
Red Hat Product Errata RHBA-2017:0514 0 normal SHIPPED_LIVE Red Hat Ceph Storage 2.2 bug fix and enhancement update 2017-03-21 07:24:26 UTC

Description Vasishta 2017-02-15 07:24:17 UTC
Description of problem:
I was trying to install calamari-server using latest Ubuntu build. calamari-server couldn't be installed as it depends on python-attrs and it's not available in repo.

How reproducible:
Always

Comment 2 Ian Colle 2017-02-15 14:14:25 UTC
Ken - please take a look

Comment 4 Ken Dreyer (Red Hat) 2017-02-15 16:26:43 UTC
Here is how we hit this bug:

Calamari pins carbon to 0.9.15, which depends on unversioned Twisted. Pip
installs Twisted-17.1.0, which depends on Automat>=0.3.0.

On Feb 8th, the Automat developer released 0.5.0, which brings in attrs: https://github.com/glyph/automat/pull/39

So when Pip installs Automat (now 0.5.0), this pulls in attrs.

When dh_python2 parses Automat's requires.txt, it translates "attrs" to "python-attrs" in ${Depends:python}. For historical reasons, Ubuntu names the binary deb "python-attr" instead of "python-attrs", so Apt cannot find the package and the operation fails.

The best fix would probably be to filter python-attrs out of ${Depends:python} entirely, because we bundle attrs 16.3.0 in Calamari now, but I don't know how to do that with dh_python2.

Let's take the easier way out and pull in the system python-attr package instead with /debian/pydist-overrides. That's what we've already done with msgpack_python -> python-msgpack.

Comment 5 Ken Dreyer (Red Hat) 2017-02-15 16:48:00 UTC
Upon further investigation, adding python-attr to /debian/pydist-overrides will work for Xenial, but this will still cause Apt to fail on Trusty with Calamari 1.5. This breaks the upgrade process from RH Ceph Storage 1.3.z -> 2.y.

I'm going to try dropping ${Depends:python} from /debian/control and hard-coding the small list of deps that dh_python2 would ordinarily add there.

Comment 6 Ken Dreyer (Red Hat) 2017-02-15 17:24:52 UTC
Proposed fix upstream: https://github.com/ceph/calamari/pull/507

Comment 7 Christina Meno 2017-02-15 21:58:01 UTC
merged upstream as https://github.com/ceph/calamari/releases/tag/v1.5.2

Comment 12 Tejas 2017-02-16 16:41:36 UTC
Hi Ken,

   Since the python-attr package was not added as part of the repo, there is a dependency on some external repo.
Will there be a problem if nodes are not connected to the internet, maybe in a ISO install scenario?

Thanks,
Tejas

Comment 13 Ken Dreyer (Red Hat) 2017-02-16 16:48:41 UTC
With Calamari v1.5.2, Apt should not try to pull in "python-attr" nor "python-attrs". The dependency is just gone.

Comment 14 Tejas 2017-02-17 05:16:34 UTC
(In reply to Ken Dreyer (Red Hat) from comment #13)
> With Calamari v1.5.2, Apt should not try to pull in "python-attr" nor
> "python-attrs". The dependency is just gone.

However we are still seeing that the python-attr package is still getting installed as part of calamari installation.

Thanks,
Tejas

Comment 15 Harish NV Rao 2017-02-17 14:17:40 UTC
@Ken, can you please check and reply to comment 14?

Comment 16 Ken Dreyer (Red Hat) 2017-02-17 14:39:08 UTC
(In reply to Tejas from comment #14)
> However we are still seeing that the python-attr package is still getting
> installed as part of calamari installation.

That is because Calamari depended/still depends on the "python-twisted" system package. In Xenial, python-twisted_16.0.0-1 Depends on python-attr. (In Trusty, python-twisted_13.2.0-1ubuntu1 does not Depend on python-attr, so it won't be a problem on upgrades from RH Ceph Storage 1.3 -> 2.)

The direct calamari-server -> python-attr dependency is gone. (check with "dpkg -I calamari-server | grep Depends"). So I can "apt-get install calamari-server" on both Xenial and Trusty now.

(In reply to Tejas from comment #12)
> Will there be a problem if nodes are not connected to the internet, maybe in a
> ISO install scenario?

Even when using an ISO and a non-internet-connected cluster, customers must always ensure that the Ubuntu main repo content is available somehow to satisfy dependencies, whether they do that through apt-mirror or some other way. This is a requirement to install any software in this scenario, including RH Ceph Storage. It's also critical for keeping systems up-to-date with security updates.

Comment 17 Tejas 2017-02-18 17:23:22 UTC
Thanks Ken for clarifying.
Moving to Verified.

Comment 19 errata-xmlrpc 2017-03-14 15:49:30 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2017-0514.html


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