I'm trying to prevent nodes from upgrading rpms with same name as existing in 3rd party repos, currently on xcat ver. 2.9.2


The issue is with, for example, Mellanox OFED 3.0 qperf which has the same version as RHEL 6.5 qperf (both are 0.4.9-1), but they are in fact different packages.


A trivial solution was to exclude the rpms in the ospkgs and otherpkgs scripts (added to relevant repofile creation block):


exclude=$(yum -q groupinfo "Infiniband Support" | awk 'BEGIN{ORS=" "} !/^$|:/{print $1}')

echo "exclude=$exclude" >> $REPOFILE


I have saved the new scripts as ospkgs.no-ib and otherpkgs.no-ib, and updated the postscripts table to use them instead of the originals.


This works quite well when tested with "updatenode -P" (ospkgs or otherpkgs) but no so well with updatenode -S (which always uses ospkgs hardcoded, AFAICT).


During node installation this solution seems to work, however over time nodes again have repofiles without the exclude line (might be due to updatenode -S, but I suspect other processes might have hardcoded ospkgs/otherpkgs which recreate the repofiles.


1. Is there an xCAT "correct" way to exclude os packages from installing, during the entire node lifetime?

2. Is it a bug that "updatenode -S" doesn't look at the postscripts table (or node def, as returned in lsdef -i postscripts,postbootscripts) to determine which ospkgs (if any) to use?


I could think of some other solutions to this problem, each has it's drawbacks

1. Create a global exclude in yum.conf. this would, however, exclude the 3rd party packages as well.

2. Overwrite ospkgs,otherpkgs. This would complicate xCAT upgrades, as each new version would overwrite my modified scripts.

3. Dive into xCAT code and modify it to always use my scripts - this has even worse implications for upgrades.

4. Add the 3rd party repos to otherpkgs. This doesn't solve anything, as the os based packages might upgrade 3rd party packages with same name but lower version.

5. Remove the os rpms from /install/<os>. Would require rebuilding the repo for each new OS, while maintaining group info.


I guess I'm missing something quite trivial in all this, any help will be welcome.


Thanks,

--Dani_L.

------------------------------------------------------------------------------
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
_______________________________________________
xCAT-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/xcat-user

Reply via email to