Feature #10989
closedOptionally upgrade ceph libraries but not test programs on client
0%
Description
In the client upgrade tests (where the cluster is e.g. firefly and only the client is upgraded to master), we could get better coverage by only upgrading the libraries the tests use (librbd, librados, libcephfs, python-ceph) and not the test programs (ceph-tests).
If we upgrade the test programs as well, newer tests will often fail due to missing features in the firefly cluster. This restricts us to doing more basic tests. With only libraries upgraded, we can make sure we haven't broken the library apis, and get more extensive coverage of them in this scenario.
This should be optional since other upgrade scenarios where we upgrade the cluster first, then everything on the client, are also tested (these are most of our upgrade tests today).
Updated by Yuri Weinstein about 9 years ago
Related suite - upgrade/client-upgrade
Updated by Zack Cerza about 9 years ago
- Status changed from New to Need More Info
- Assignee set to Josh Durgin
What/where are 'ceph-tests' ?
Updated by Josh Durgin about 9 years ago
- Status changed from Need More Info to New
- Assignee deleted (
Josh Durgin)
Oops, not pluralized. 'ceph-test' is the name of the package containing many of ceph's functional tests, including the librados and librbd api tests for C and C++.
Updated by Zack Cerza about 9 years ago
- Status changed from New to In Progress
- Assignee set to Zack Cerza
So I have implemented a feature allowing you to exclude packages from the normal set when calling install.upgrade
. It works well on Ubuntu, but on RHEL ceph-test
gets upgraded anyway because:
[ubuntu@vpm187 ~]$ rpm -q ceph-test ceph-test-0.80.5-9.el6.x86_64 [ubuntu@vpm187 ~]$ rpm -q --requires ceph-test | grep ceph libcephfs.so.1()(64bit) libcephfs1 = 1:0.80.5-9.el6
Updated by Ken Dreyer about 9 years ago
So from Zack's comment, there is a program in our ceph-test
RPM that links against libcephfs, and apparently that program is either A) absent from the Debian ceph-test package, or B) not linking against libcephfs.
Updated by Josh Durgin about 9 years ago
There are programs in ceph-test linking to libcephfs in debian too, the difference is the spec file has a dependency on the exact version of the libraries, while in debian it does not specify the same version. I'd suggest removing the exact version dependence for ceph-test rpms.
Updated by Ken Dreyer about 9 years ago
- Assignee changed from Zack Cerza to Ken Dreyer
Thanks Josh, that makes sense.
After further discussion in #sepia today, I'll post a PR to remove the strict version requirements from the ceph-test RPM. We'll also go ahead and make ceph-test depend on ceph-common, instead of depending directly on the librados2/librbd1 packages.
Updated by Ken Dreyer about 9 years ago
- Status changed from In Progress to Fix Under Review
PR for master: https://github.com/ceph/ceph/pull/3876
Updated by Ken Dreyer about 9 years ago
Zack or Yuri, do you want to run the tests against this wip-rpm-ceph-test-dependencies
branch, so we know that it will fix this on RHEL?
Updated by Ken Dreyer about 9 years ago
This was just merged to master, so you can just test that!
Updated by Zack Cerza about 9 years ago
Great!
I'm trying to think of a way to test it but not coming up with anything just yet since anything older than master still has the dependency and, well, this is an upgrade test :)
Updated by Zack Cerza about 9 years ago
- Assignee changed from Ken Dreyer to Zack Cerza
Updated by Zack Cerza about 9 years ago
- Status changed from Fix Under Review to In Progress
- Assignee changed from Zack Cerza to Ken Dreyer
The teuthology side should be done now. Let's get the packaging fix backported to hammer (or a wip branch based on hammer) please!
Updated by Josh Durgin about 9 years ago
Cherry-picked to the hammer branch, should be testable once the gitbuilders finish
Updated by Ken Dreyer about 9 years ago
- Assignee changed from Ken Dreyer to Yuri Weinstein
Thanks Josh!
We discussed this briefly in infra standup. Once we have a wip- branch that's based on hammer, and packages for that are built in gitbuilder, Yuri should be able to test this.
At that point we can file the PR for hammer and maybe even get it merged.
Updated by Zack Cerza about 9 years ago
I just tested manually with this config:
roles: - [client.0] - [client.1] tasks: - chef: - install: branch: wip-rpm-ceph-test-dependencies - install.upgrade: all: exclude_packages: ['ceph-test', 'ceph-test-dbg']
Looks good. Thanks Ken and Josh!
Not sure if Yuri needs to do anything.
Updated by Ken Dreyer about 9 years ago
@Josh Jones: is there anything remaining to do here, or can we close this ticket?
Updated by Yuri Weinstein about 9 years ago
- Status changed from In Progress to Resolved
This is done, resolved, related issue #11127