Details
-
Bug
-
Resolution: Duplicate
-
Major
-
Lustre 2.10.0
-
None
-
3
-
9223372036854775807
Description
I'll repeat the comment I left in :LU-5834
While it's ironic that it was a member of the HYD team that originally requested this change, I wonder if it's really the behaviour we (the royal we, not the HYD we) desire.
It seems like a good idea on the face of it, but it has undesirable side-effects in certain use cases.
If one has both the server and client repositories configured and enabled on a node and one tries to install lustre-client one gets this behaviour:
# yum install -y --exclude kernel-debug lustre-client kmod-lustre-client-2.10.0_RC1 Loaded plugins: fastestmirror Package lustre-client is obsoleted by lustre-dkms, trying to install lustre-dkms-2.10.0-1.el7.noarch instead Resolving Dependencies --> Running transaction check ---> Package kmod-lustre-client.x86_64 0:2.10.0_RC1-1.01.el7.centos will be installed ---> Package lustre-dkms.noarch 0:2.10.0-1.el7 will be installed --> Processing Dependency: zfs-dkms >= 0.6.1 for package: lustre-dkms-2.10.0-1.el7.noarch --> Processing Dependency: spl-dkms >= 0.6.1 for package: lustre-dkms-2.10.0-1.el7.noarch --> Processing Dependency: dkms >= 2.2.0.3-28.git.7c3e7c5 for package: lustre-dkms-2.10.0-1.el7.noarch --> Processing Dependency: lustre-osd-zfs-mount for package: lustre-dkms-2.10.0-1.el7.noarch --> Processing Dependency: kernel-devel for package: lustre-dkms-2.10.0-1.el7.noarch --> Processing Dependency: gcc for package: lustre-dkms-2.10.0-1.el7.noarch --> Processing Dependency: /usr/bin/expect for package: lustre-dkms-2.10.0-1.el7.noarch --> Running transaction check ---> Package dkms.noarch 0:2.3-5.20170523git8c3065c.el7 will be installed ---> Package expect.x86_64 0:5.45-14.el7_1 will be installed --> Processing Dependency: libtcl8.5.so()(64bit) for package: expect-5.45-14.el7_1.x86_64 ---> Package gcc.x86_64 0:4.8.5-11.el7 will be installed --> Processing Dependency: cpp = 4.8.5-11.el7 for package: gcc-4.8.5-11.el7.x86_64 --> Processing Dependency: glibc-devel >= 2.2.90-12 for package: gcc-4.8.5-11.el7.x86_64 --> Processing Dependency: libmpfr.so.4()(64bit) for package: gcc-4.8.5-11.el7.x86_64 --> Processing Dependency: libmpc.so.3()(64bit) for package: gcc-4.8.5-11.el7.x86_64 ---> Package kernel-devel.x86_64 0:3.10.0-514.26.2.el7 will be installed ---> Package lustre-osd-zfs-mount.x86_64 0:2.10.0-1.el7 will be installed --> Processing Dependency: libzfs.so.2()(64bit) for package: lustre-osd-zfs-mount-2.10.0-1.el7.x86_64 ---> Package spl-dkms.noarch 0:0.6.5.9-1.el7 will be installed ---> Package zfs-dkms.noarch 0:0.6.5.9-1.el7 will be installed --> Running transaction check ---> Package cpp.x86_64 0:4.8.5-11.el7 will be installed ---> Package glibc-devel.x86_64 0:2.17-157.el7_3.4 will be installed --> Processing Dependency: glibc-headers = 2.17-157.el7_3.4 for package: glibc-devel-2.17-157.el7_3.4.x86_64 --> Processing Dependency: glibc = 2.17-157.el7_3.4 for package: glibc-devel-2.17-157.el7_3.4.x86_64 --> Processing Dependency: glibc-headers for package: glibc-devel-2.17-157.el7_3.4.x86_64 ---> Package libmpc.x86_64 0:1.0.1-3.el7 will be installed ---> Package libzfs2.x86_64 0:0.6.5.9-1.el7 will be installed --> Processing Dependency: libzpool.so.2()(64bit) for package: libzfs2-0.6.5.9-1.el7.x86_64 --> Processing Dependency: libuutil.so.1()(64bit) for package: libzfs2-0.6.5.9-1.el7.x86_64 --> Processing Dependency: libnvpair.so.1()(64bit) for package: libzfs2-0.6.5.9-1.el7.x86_64 ---> Package mpfr.x86_64 0:3.1.1-4.el7 will be installed ---> Package tcl.x86_64 1:8.5.13-8.el7 will be installed --> Running transaction check ---> Package glibc.x86_64 0:2.17-157.el7_3.1 will be updated --> Processing Dependency: glibc = 2.17-157.el7_3.1 for package: glibc-common-2.17-157.el7_3.1.x86_64 ---> Package glibc.x86_64 0:2.17-157.el7_3.4 will be an update ---> Package glibc-headers.x86_64 0:2.17-157.el7_3.4 will be installed --> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-157.el7_3.4.x86_64 --> Processing Dependency: kernel-headers for package: glibc-headers-2.17-157.el7_3.4.x86_64 ---> Package libnvpair1.x86_64 0:0.6.5.9-1.el7 will be installed ---> Package libuutil1.x86_64 0:0.6.5.9-1.el7 will be installed ---> Package libzpool2.x86_64 0:0.6.5.9-1.el7 will be installed --> Running transaction check ---> Package glibc-common.x86_64 0:2.17-157.el7_3.1 will be updated ---> Package glibc-common.x86_64 0:2.17-157.el7_3.4 will be an update ---> Package kernel-headers.x86_64 0:3.10.0-514.26.2.el7 will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================= Installing: kmod-lustre-client x86_64 2.10.0_RC1-1.01.el7.centos managerforlustre-lustre-client 2.1 M lustre-dkms noarch 2.10.0-1.el7 lustre 13 M Installing for dependencies: cpp x86_64 4.8.5-11.el7 base 5.9 M dkms noarch 2.3-5.20170523git8c3065c.el7 epel 78 k expect x86_64 5.45-14.el7_1 base 262 k gcc x86_64 4.8.5-11.el7 base 16 M glibc-devel x86_64 2.17-157.el7_3.4 updates 1.1 M glibc-headers x86_64 2.17-157.el7_3.4 updates 669 k kernel-devel x86_64 3.10.0-514.26.2.el7 updates 13 M kernel-headers x86_64 3.10.0-514.26.2.el7 updates 4.8 M libmpc x86_64 1.0.1-3.el7 base 51 k libnvpair1 x86_64 0.6.5.9-1.el7 lustre 37 k libuutil1 x86_64 0.6.5.9-1.el7 lustre 42 k libzfs2 x86_64 0.6.5.9-1.el7 lustre 124 k libzpool2 x86_64 0.6.5.9-1.el7 lustre 424 k lustre-osd-zfs-mount x86_64 2.10.0-1.el7 lustre 10 k mpfr x86_64 3.1.1-4.el7 base 203 k spl-dkms noarch 0.6.5.9-1.el7 lustre 423 k tcl x86_64 1:8.5.13-8.el7 base 1.9 M zfs-dkms noarch 0.6.5.9-1.el7 lustre 1.9 M Updating for dependencies: glibc x86_64 2.17-157.el7_3.4 updates 3.6 M glibc-common x86_64 2.17-157.el7_3.4 updates 11 M Transaction Summary ============================================================================================================================================= Install 2 Packages (+18 Dependent packages) Upgrade ( 2 Dependent packages)
This is clearly not what we want to happen. As you can see, the lustre-client package which is what we really wanted is obsoleted by lustre-dkms
If we do a little bit of cajoling, we can get what we want:
# yum install -y --exclude kernel-debug,lustre-dkms lustre-client kmod-lustre-client-2.10.0_RC1 Loaded plugins: fastestmirror Repository managerforlustre-lustre-client is listed more than once in the configuration Loading mirror speeds from cached hostfile * epel: mirror.cs.pitt.edu Package chroma-agent-management-3.1.1.0-4897.85.g9c482a2.jenkins__.el7.noarch already installed and latest version Package chroma-agent-3.1.1.0-4897.85.g9c482a2.jenkins__.el7.noarch already installed and latest version Resolving Dependencies --> Running transaction check ---> Package kmod-lustre-client.x86_64 0:2.10.0_RC1-1.01.el7.centos will be installed ---> Package lustre-client.x86_64 0:2.10.0_RC1-1.01.el7.centos will be installed --> Finished Dependency Resolution Dependencies Resolved ============================================================================================================================================= Package Arch Version Repository Size ============================================================================================================================================= Installing: kmod-lustre-client x86_64 2.10.0_RC1-1.01.el7.centos managerforlustre-lustre-client 2.1 M lustre-client x86_64 2.10.0_RC1-1.01.el7.centos managerforlustre-lustre-client 454 k Transaction Summary ============================================================================================================================================= Install 2 Packages
But this really does not feel like the element of least surprise.
A lesser surprise to me would be for the installation of the client to just fail with an error that it conflicts with the server such that the admin realises he needs to remove the server first and then install the client.
Attachments
Issue Links
- duplicates
-
LU-9776 lustre-client cannot be installed if both client and server repos are configured
- Resolved