Project

General

Profile

Backport #19571

ceph-cm-ansible installs 0.94.5 librados2 and librbd1 on CentOS 7.2 to satisfy qemu-kvm dependency, but this renders it impossible for install task to install firefly

Added by Nathan Cutler about 3 years ago. Updated almost 3 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
Release:
jewel
Crash signature:

History

#1 Updated by David Galloway about 3 years ago

  • Assignee set to David Galloway

Processing Dependency: librados.so.2()(64bit) for package: 10:qemu-kvm-1.5.3-126.el7_3.5.x86_64

#2 Updated by Vasu Kulkarni about 3 years ago

IIRC this was one of the reason firefly upgrade test was removed, the qemu-kvm dependency on librbd is pretty old.

#3 Updated by Nathan Cutler about 3 years ago

IIRC this was one of the reason firefly upgrade test was removed, the qemu-kvm dependency on librbd is pretty old.

But it's not sustainable to have a policy of removing whatever upgrade tests are broken because the distro version is newer, is it?

For example: when the distro gets updated to jewel, we'll remove the hammer upgrade tests?

#4 Updated by Nathan Cutler about 3 years ago

One way to fix this would be to make the tasks declare which packages they depend on, and only install those packages when setting up the task (and remove them on teardown) . . . as already discussed.

#5 Updated by Vasu Kulkarni about 3 years ago

I think the upgrade tests for firefly are failing for long time and there are couple of similar issues, Also I think it was discussed in sepia and at that time Josh was OK to remove those tests since it EOL?

But yes those dependency packages should be installed by the test that need them, there is also ceph-cm-ansible role specifically created to install them https://github.com/ceph/ceph-cm-ansible/tree/master/roles/packages , probably it could be made little bit easier.

#6 Updated by Vasu Kulkarni about 3 years ago

and here is one of my old pr and it was basically for this issue : https://github.com/ceph/ceph-qa-suite/pull/822/files

probably we could make the change now if we need it.

#7 Updated by David Galloway about 3 years ago

Nathan Cutler wrote:

One way to fix this would be to make the tasks declare which packages they depend on, and only install those packages when setting up the task (and remove them on teardown) . . . as already discussed.

This. I'm not sure this is something that can be easily solved in ceph-cm-ansible. What I'd propose is removing qemu-kvm from packages: [] and have the task/test install it and then remove it after test finishes.

#8 Updated by Nathan Cutler about 3 years ago

  • Description updated (diff)

#9 Updated by Nathan Cutler about 3 years ago

  • Subject changed from ceph-cm-ansible installs librados2, librbd1 etc. version 0.94.5 on CentOS 7.2, breaking upgrade test to ceph-cm-ansible installs 0.94.5 librados2 and librbd1 on CentOS 7.2 to satisfy qemu-kvm dependency, but this renders it impossible for install task to install firefly

#10 Updated by David Galloway about 3 years ago

The qemu-kvm dependency was added by Jason in https://github.com/ceph/ceph-cm-ansible/commit/3db1cbdc226ecdea532bcc7cd6e710b5ad2bb0d6

I don't have the know-how to move package installation to the tests but can remove qemu-kvm from ceph-cm-ansible once it's done.

Where should this ticket go from here?

#11 Updated by Nathan Cutler about 3 years ago

  • Project changed from ceph-cm-ansible to teuthology
  • Assignee changed from David Galloway to Nathan Cutler

Dan, Zack and I have already talked about (and tentatively agreed to) put dependency installation/removal into the tasks. Since I initiated the discussion, I'll put it on my plate.

It will require addition of code to teuthology that the task can trigger.

#12 Updated by Nathan Cutler about 3 years ago

In the meantime, I noticed that #13308 only affected RPM and indeed the Ubuntu version of the same test passes:

http://pulpito.ceph.com/smithfarm-2017-04-20_08:53:29-upgrade:client-upgrade-wip-jewel-backports-distro-basic-vps/1049081/

So I'm tempted to "fix" this by simply not running the test on CentOS.

#13 Updated by Nathan Cutler about 3 years ago

  • Tracker changed from Bug to Backport
  • Project changed from teuthology to ceph-qa-suite
  • Description updated (diff)
  • Status changed from New to In Progress
  • Release set to jewel

description

suite: upgrade/client-upgrade

branch: jewel

failing test: upgrade:client-upgrade/firefly-client-x/basic/{0-cluster/start.yaml 1-install/firefly-client-x.yaml 2-workload/rbd_cli_import_export.yaml distros/centos_7.2.yaml}

reproducible? YES

log of failed test: http://qa-proxy.ceph.com/teuthology/smithfarm-2017-04-10_19:45:29-upgrade:client-upgrade-wip-jewel-backports-distro-basic-vps/1009564/teuthology.log

If you search for the string "0.94.5" you'll find that ceph-cm-ansible installs, e.g., librados2 and librbd1 (at least; maybe more) from the distro repo.

Then, when the test tries to install firefly, it fails because 0.94.5 is already installed:

2017-04-10T20:02:59.935 INFO:teuthology.orchestra.run.vpm019.stdout: You could try using --skip-broken to work around the problem
2017-04-10T20:02:59.935 INFO:teuthology.orchestra.run.vpm019.stderr:Error: Package: 1:ceph-radosgw-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.935 INFO:teuthology.orchestra.run.vpm019.stderr:           Requires: librados2 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:           Installed: 1:librados2-0.94.5-1.el7.x86_64 (@base)
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:               librados2 = 1:0.94.5-1.el7
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:           Available: 1:librados2-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:               librados2 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:Error: Package: 1:ceph-common-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:           Requires: librbd1 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:           Installed: 1:librbd1-0.94.5-1.el7.x86_64 (@base)
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:               librbd1 = 1:0.94.5-1.el7
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:           Available: 1:librbd1-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.936 INFO:teuthology.orchestra.run.vpm019.stderr:               librbd1 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:Error: Package: 1:python-ceph-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:           Requires: librados2 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:           Installed: 1:librados2-0.94.5-1.el7.x86_64 (@base)
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:               librados2 = 1:0.94.5-1.el7
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:           Available: 1:librados2-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:               librados2 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:Error: Package: 1:python-ceph-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:           Requires: librbd1 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:           Installed: 1:librbd1-0.94.5-1.el7.x86_64 (@base)
2017-04-10T20:02:59.937 INFO:teuthology.orchestra.run.vpm019.stderr:               librbd1 = 1:0.94.5-1.el7
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:           Available: 1:librbd1-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:               librbd1 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:Error: Package: 1:ceph-common-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:           Requires: librados2 = 1:0.80.11-3322.g8abf95a
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:           Installed: 1:librados2-0.94.5-1.el7.x86_64 (@base)
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:               librados2 = 1:0.94.5-1.el7
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:           Available: 1:librados2-0.80.11-3322.g8abf95a.x86_64 (ceph)
2017-04-10T20:02:59.938 INFO:teuthology.orchestra.run.vpm019.stderr:               librados2 = 1:0.80.11-3322.g8abf95a

What's ironic is that ceph-cm-ansible checks to make sure these packages are not installed. But then, after that check passes, it goes and installs them.

#14 Updated by Nathan Cutler almost 3 years ago

  • Status changed from In Progress to Resolved
  • Target version set to v10.2.10

Also available in: Atom PDF