100 likes | 240 Views
QWG Errata Management Framework. Ian Collier 10 th Quattor Workshop Rutherford Appleton Laboratory October 2010. Deploying OS Errata documentation. https://trac.lal.in2p3.fr/Quattor/wiki/DOC/OS/Errata. QWG Errata files. QWG Errata components. Up to date repositories.
E N D
QWG Errata Management Framework Ian Collier 10th Quattor Workshop Rutherford Appleton Laboratory October 2010
Deploying OS Errata documentation https://trac.lal.in2p3.fr/Quattor/wiki/DOC/OS/Errata
QWG Errata components • Up to date repositories Get them from Scientific linux rsync://rsync.scientificlinux.org/scientific/VERSION/ARCH/updates/security Get them from GRIF: http://quattorsrv.lal.in2p3.fr/packages/os/VERSION/errata
QWG Errata components • Templates that define latest errata updates • Looks something like this: # Template to add update RPMs to base configuration template rpms/errata/20100917; '/software/packages'=pkg_ronly('ImageMagick','6.2.8.0-4.el5_5.2','i386'); '/software/packages'=pkg_ronly('ImageMagick','6.2.8.0-4.el5_5.2','x86_64'); '/software/packages'=pkg_ronly('ImageMagick-c++','6.2.8.0-4.el5_5.2','i386'); '/software/packages'=pkg_ronly('ImageMagick-c++','6.2.8.0-4.el5_5.2','x86_64'); '/software/packages'=pkg_ronly('ImageMagick-c++-devel','6.2.8.0-4.el5_5.2','i386'); '/software/packages'=pkg_ronly('ImageMagick-c++-devel','6.2.8.0-4.el5_5.2','x86_64'); '/software/packages'=pkg_ronly('ImageMagick-devel','6.2.8.0-4.el5_5.2','i386'); '/software/packages'=pkg_ronly('ImageMagick-devel','6.2.8.0-4.el5_5.2','x86_64') ; '/software/packages'=pkg_ronly('ImageMagick-perl','6.2.8.0-4.el5_5.2','x86_64'); '/software/packages'=pkg_ronly('NetworkManager','0.7.0-10.el5_5.1','i386'); '/software/packages'=pkg_ronly('NetworkManager','0.7.0-10.el5_5.1','x86_64'); '/software/packages'=pkg_ronly('NetworkManager-devel','0.7.0-10.el5_5.1','i386'); '/software/packages'=pkg_ronly('NetworkManager-devel','0.7.0-10.el5_5.1','x86_64'); '/software/packages'=pkg_ronly('NetworkManager-glib','0.7.0-10.el5_5.1','i386'); '/software/packages'=pkg_ronly('NetworkManager-glib','0.7.0-10.el5_5.1','x86_64'); '/software/packages'=pkg_ronly('NetworkManager-glib-devel','0.7.0-10.el5_5.1','i386'); '/software/packages'=pkg_ronly('NetworkManager-glib-devel','0.7.0-10.el5_5.1','x86_64'); '/software/packages'=pkg_ronly('NetworkManager-gnome','0.7.0-10.el5_5.1','x86_64');
QWG Errata components • Templates that define errata “fixes” • Looks something like this: template rpms/errata/20100917-fix; '/software/packages'= if ( exists('/software/packages/cups') ) { pkg_repl("poppler-utils","0.5.4-4.4.el5_4.11","x86_64"); } else{ SELF; }; '/software/packages'= if ( exists('/software/packages/' + escape('java-1.6.0-openjdk')) ) { pkg_repl("tzdata-java","2010l-1.el5","x86_64"); } else{ SELF; }; # To keep puppet happy '/software/packages'= if ( exists('/software/packages/ruby') ) { pkg_repl('ruby','1.8.5-5.el5_3.7',PKG_ARCH_DEFAULT); pkg_ronly('ruby-devel','1.8.5-5.el5_3.7',PKG_ARCH_DEFAULT); pkg_ronly('ruby-docs','1.8.5-5.el5_3.7',PKG_ARCH_DEFAULT); pkg_repl('ruby-libs','1.8.5-5.el5_3.7',PKG_ARCH_DEFAULT); pkg_ronly('ruby-mode','1.8.5-5.el5_3.7',PKG_ARCH_DEFAULT); pkg_ronly('ruby-tcltk','1.8.5-5.el5_3.7',PKG_ARCH_DEFAULT); } else{ SELF; };
QWG Errata components • Templates that initialises errata version • Looks something like this: unique template config/os/errata/20100917-init; variable OS_KERNEL_VERSION_ERRATA ?= nlist( 'sl540', '2.6.18-194.11.3.el5', ); # Because JAVA is updated, define a new DEFAULT version to be configured variable JAVA_JDK_DEFAULT_VERSION ?= "1.6.0_20";
QWG Errata components There are of tools to make generating these easier utils/misc/rpmErrata.pl /www/htdocs/packages/os/sl470-x86_64/errata/ > cfg/os/sl470-x84_64/rpms/errata/20090826.tpl
QWG Errata components • Variables that select and control errata used • Three main ones: • OS_ERRATA_TEMPLATE • This is the default across your site set in site/os/errata-defaults template • NODE_OS_ERRATA_TEMPLATE • Set in nlist for specific nodes: • variable NODE_OS_ERRATA_TEMPLATE = nlist( • escape('lcg0614.gridpp.rl.ac.uk'), 'rpms/errata/20100113' , • escape('lcg0616.gridpp.rl.ac.uk'), 'rpms/errata/20100113' , • ); • PKG_OS_ERRATA_TEMPLATE_DEFAULT • Can be set for cluster, or in machine template • (But Michel’s documentations suggests not to use it….
Conclusion • Flexible system • Easy to use when you get to know it • Can pull errata templates from QWG when they come out • But if it is urgent you can just create your own