100 likes | 216 Views
LCFG: testbed upgrade. Enrico Ferro INFN-LNL. Summary. Configuration files structure RPM management Add a line to globus.conf Add a user. Configuration files structure (1). For each node testbed<n> there is a file with the same name in /var/obj/conf/profile/source Each node includes:
E N D
LCFG: testbed upgrade Enrico Ferro INFN-LNL
Summary • Configuration files structure • RPM management • Add a line to globus.conf • Add a user
Configuration files structure (1) • For each node testbed<n> there is a file with the same name in /var/obj/conf/profile/source • Each node includes: • "macros-cfg.h": some macro definitions • "site-cfg.h": site specific data (dns, domain, etc...). This file contains definitions used in the other files. • "linuxdef-cfg.h": a basic Linux configuration • "client_testbed-cfg.h": additional configuration for the testbed • In addition each node include a “node-type” file with specific resources: • StorageElement-cfg.h • ComputingElement-cfg.h • Etc..
Configuration files structure (2) • Currently each value is stored as: • <object>.<resource> <value> • update.bootdisk hda • A hierarchical structure is implemented as an IDs list + some resources identified by these IDs: • inet.etcservices lcfglcfgack • inet.etcsrvconf_lcfg lcfg 732/udp • inet.etcsrvconf_lcfgack lcfgack 733/udp
Configuration files structure (3) • This is the standard way to define a value for a resource of the object bigbang: • bigbang.config /etc/bigbang.conf • bigbang.options --debug-universe • bigbang.enabled yes • It is possible to override a resource previously defined using “+”: • +bigbang.options --debug-earth
RPM management (1) • As for resources, also for the RPM there is a hierarchical structure. • The high-level RPM list is stored into the resources update.rpmcfg and updaterpms.rpmcfg • For example for WorkerNode the value for these two resources is "WN-rpm". This file includes: • rh62-release-rpm.h and rh62-updates-rpm.h: RedHat stuff • lcfg-common-rpm.h and lcfg-client-rpm.h: LCFG stuff • openssh-rpm.h: openssh • security-rpm.h: CA certificates • apps_common-rpm.h, CMS-rpm.h, ... : applications software • WorkerNode-rpm.h: RPM specific for a WN
RPM management (2) • As for resources, it is possible to override, add and remove packages. • To add a new package bigbang-1.0.i386.rpm simply add this line to a RPM list: • bigbang-1.0 • To force to use a 1.2 release instead of a previously defined one: • +bigbang-1.2 • To remove a package already included and install a new one: • -bigbang-*-* • +bigcrunch-1.0
RPM management (3) • Q: How can I check if I have all the required RPM for the testbed? • A: We use a script that simulates the installation process without installing the RPM. It require as parameter an high-level RPM list (e.g. CE-rpm). • The script can be found in the WP4 LCFG FAQ document: • http://datagrid.in2p3.fr/cgi-bin/cvsweb.cgi/fabric_mgt/installation/documentation/faq
Add a line to globus.conf • A object manage the globus.conf files. As example we want to add a new line to this file. • The resource gconflines holds a list of id: each id is used to identify a line of globus.conf. • We use a macro (EXTRA) to append a string to an existing resource. You can put the following lines into a new file (e.g. CustomConfig-cfg.h) and include this one into your node specific file (e.g. testbed005). • EXTRA (globus.gconflines) add1 • globus.gconfline_add1 MOREINFO=”123456789” • After a “mkxprof -a -n” this line will be added to globus.conf: • MOREINFO=”123456789” • Of course you can add more lines: • EXTRA (globus.gconflines) add2 add3 • globus.gconfline_add2 MOREINFO2=”asdf” • globus.gconfline_add3 MOREINFO3=”qwer”
Add a user • There is a resource (auth.users) that holds a list of the username. We want do add a new user, John Brown • EXTRA(auth.users) john • auth.usercomment_john John Brown • auth.useruid_john 4096 • auth.userpwd_john jhaw2lZpp8pQs • Currently the password is still crypted with the classic DES-based algorithm crypt(), with a password and the "salt". You can use a simple Perl script: • perl -e 'printf crypt("PaSSwOrD","Sl")."\n"'