IBM / CAST

CAST can enhance the system management of cluster-wide resources. It consists of the open source tools: cluster system management (CSM) and burst buffer.
Eclipse Public License 1.0
27 stars 34 forks source link

rpm command is able to install 2 versions of ibm-csm-hcdiag simultaneously #76

Open pdlun92 opened 6 years ago

pdlun92 commented 6 years ago

Noticed this while working on install scripts for FVT

Currently installed and running version 1.1.1-163

[root@c650f03p09 rpms]# rpm -qa | grep ibm-
ibm-csm-core-1.1.1-163.ppc64le
ibm-csm-hcdiag-1.1.1-163.noarch
ibm-flightlog-1.1.1-163.ppc64le
ibm-csm-api-1.1.1-163.ppc64le

I can rpm -i a newer version of hcdiag rpm, and both versions are listed as installed

[root@c650f03p09 rpms]# rpm -ivh ibm-csm-hcdiag-1.1.1-188.noarch.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:ibm-csm-hcdiag-1.1.1-188         ################################# [100%]
[root@c650f03p09 rpms]# rpm -qa | grep ibm-csm
ibm-csm-hcdiag-1.1.1-188.noarch
ibm-csm-core-1.1.1-163.ppc64le
ibm-csm-hcdiag-1.1.1-163.noarch
ibm-csm-api-1.1.1-163.ppc64le

NOTE: This does get blocked if I try to install an older version of the rpm The compute daemon does stay up and running in this case

I'm guessing there may be a bug in the building/packaging process for the hcdiag rpm, or some functionality is missing. If I try this with any other rpms I get blocked with some output similar to the following example:

[root@c650f03p09 rpms]# rpm -ivh ibm-csm-core-1.1.1-188.ppc64le.rpm 
Preparing...                          ################################# [100%]
    file /opt/ibm/csm/bin/csm_smt from install of ibm-csm-core-1.1.1-188.ppc64le conflicts with file from package ibm-csm-core-1.1.1-163.ppc64le
sanomiya commented 6 years ago

@besawn Will you help me on this?

besawn commented 6 years ago

I spent some time investigating this, and I think it is a general problem, not specific to hcdiag. I think the problem is that the rpm file conflict detection only triggers when a file in a package has changed between two versions. If all of the files in some-pkg-1.1.1-100 and some-pkg-1.1.1-101 are identical (have the same checksums), the file conflict detection will not happen. I will do some more investigating next week.

mew2057 commented 5 years ago

Any progress on this issue?