From f0c797a97be37c2d58aeb8ecba13071707fa4420 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Franti=C5=A1ek=20Dvo=C5=99=C3=A1k?= Date: Wed, 16 Nov 2011 17:27:17 +0000 Subject: [PATCH] Purge both server and proxy, SB #88630. Prefer config files and rpm scriptlets over yaim (helps with SB #83392 too). --- org.glite.lb.harvester/project/.pre | 7 ++++ org.glite.lb.logger/project/.pre | 7 ++++ org.glite.lb.server/Makefile | 21 +++++++--- org.glite.lb.server/config/glite-lb-lcas.logrotate | 5 +++ .../config/glite-lb-proxy-purge.cron | 1 + .../config/glite-lb-purge.logrotate | 5 +++ .../config/glite-lb-server-purge.cron | 1 + org.glite.lb.server/project/.pre | 7 ++++ .../config/functions/config_glite_lb.in | 47 +--------------------- org.glite.lb.yaim/config/node-info.d/emi/glite-lb | 1 - org.glite.lb/configure | 2 +- 11 files changed, 51 insertions(+), 53 deletions(-) create mode 100644 org.glite.lb.harvester/project/.pre create mode 100644 org.glite.lb.logger/project/.pre create mode 100644 org.glite.lb.server/config/glite-lb-lcas.logrotate create mode 100644 org.glite.lb.server/config/glite-lb-proxy-purge.cron create mode 100644 org.glite.lb.server/config/glite-lb-purge.logrotate create mode 100644 org.glite.lb.server/config/glite-lb-server-purge.cron create mode 100644 org.glite.lb.server/project/.pre diff --git a/org.glite.lb.harvester/project/.pre b/org.glite.lb.harvester/project/.pre new file mode 100644 index 0000000..573de45 --- /dev/null +++ b/org.glite.lb.harvester/project/.pre @@ -0,0 +1,7 @@ +getent group glite >/dev/null || groupadd -r glite +getent passwd glite >/dev/null || useradd -r -g glite -d /var/glite -c "gLite user" glite + +mkdir -p /var/glite 2>/dev/null || true +chown glite:glite /var/glite + +exit 0 diff --git a/org.glite.lb.logger/project/.pre b/org.glite.lb.logger/project/.pre new file mode 100644 index 0000000..bb8f272 --- /dev/null +++ b/org.glite.lb.logger/project/.pre @@ -0,0 +1,7 @@ +getent group glite >/dev/null || groupadd -r glite +getent passwd glite >/dev/null || useradd -r -g glite -d /var/glite -c "gLite user" glite + +mkdir -p /var/glite /var/log/glite 2>/dev/null || true +chown glite:glite /var/glite /var/log/glite + +exit 0 diff --git a/org.glite.lb.server/Makefile b/org.glite.lb.server/Makefile index 5cbe9ce..907d76f 100644 --- a/org.glite.lb.server/Makefile +++ b/org.glite.lb.server/Makefile @@ -247,6 +247,9 @@ EXAMPLES= TESTS=test_coverage test_xml test_query_events test_soap_conv +SCRIPTS=startup glite-lb-server-purge.cron glite-lb-proxy-purge.cron +SCRIPTS_SRC=$(addprefix ${top_srcdir}/config/,${SCRIPTS}) + glite-lb-bkserverd: ${NSMAP} ${BKSERVER_OBJS} ${LINKXX} -o $@ ${BKSERVER_OBJS} ${BKSERVER_LIBS} -Wl,--export-dynamic @@ -256,17 +259,16 @@ glite-lb-bkindex: ${INDEX_OBJS} glite-lb-mon-db: ${MONDB_OBJS} ${LINKXX} -o $@ ${MONDB_OBJS} ${MONDB_LIBS} -compile: generate startup glite-lb-bkserverd glite-lb-bkindex glite-lb-mon-db ${STATIC_LIB_BK} ${LCAS_PLUGIN_LIB} ${MAN_GZ} +compile: generate ${SCRIPTS} glite-lb-bkserverd glite-lb-bkindex glite-lb-mon-db ${STATIC_LIB_BK} ${LCAS_PLUGIN_LIB} ${MAN_GZ} generate: store.c index.c -startup: ${top_srcdir}/config/startup +${SCRIPTS}: ${SCRIPTS_SRC} glite_var="${localstatedir}/glite"; \ if echo "${localstatedir}" | grep 'glite'>/dev/null; then \ glite_var="${localstatedir}"; \ fi; \ - sed -e 's:@glite_prefix@:${sysroot}${prefix}:' -e 's:@glite_etc@:${sysconfdir}:' -e "s:@glite_var@:$$glite_var:" $< > $@ - chmod +x $@ + sed -e 's:@glite_prefix@:${sysroot}${prefix}:' -e 's:@glite_etc@:${sysconfdir}:' -e "s:@glite_var@:$$glite_var:" ${top_srcdir}/config/$@ > $@ check: compile test.xml test.query -echo check.query not complete yet @@ -344,9 +346,11 @@ install: -mkdir -p ${DESTDIR}${PREFIX}${prefix}/bin ${DESTDIR}${PREFIX}${sysconfdir}/glite-lb ${DESTDIR}${PREFIX}${sysconfdir}/init.d -mkdir -p ${DESTDIR}${PREFIX}${prefix}/share/doc/${package}-${version} -mkdir -p ${DESTDIR}${PREFIX}${prefix}/share/man/man1 + -mkdir -p ${DESTDIR}${PREFIX}${prefix}/share/man/man8 -mkdir -p ${DESTDIR}${PREFIX}${prefix}/${libdir} -mkdir -p ${DESTDIR}${PREFIX}${prefix}/include/${globalprefix}/${lbprefix} - mkdir -p ${DESTDIR}${PREFIX}${prefix}/share/man/man8 + -mkdir -p ${DESTDIR}${PREFIX}${sysconfdir}/logrotate.d + -mkdir -p ${DESTDIR}${PREFIX}${sysconfdir}/cron.d ${INSTALL} -m 644 ${top_srcdir}/LICENSE ${DESTDIR}${PREFIX}${prefix}/share/doc/${package}-${version} ( cd ${top_srcdir}/project && ${INSTALL} -m 644 ChangeLog package.description package.summary ${DESTDIR}${PREFIX}${prefix}/share/doc/${package}-${version} ) ${INSTALL} -m 644 ${MAN_GZ} ${DESTDIR}${PREFIX}${prefix}/share/man/man1 @@ -364,6 +368,10 @@ install: ${INSTALL} -m 755 ${top_srcdir}/config/glite-lb-migrate_db2version20 ${DESTDIR}${PREFIX}${sysconfdir}/glite-lb ${INSTALL} -m 755 startup ${DESTDIR}${PREFIX}${sysconfdir}/init.d/glite-lb-bkserverd + ${INSTALL} -m 644 glite-lb-server-purge.cron ${DESTDIR}${PREFIX}${sysconfdir}/cron.d/glite-lb-server-purge + ${INSTALL} -m 644 glite-lb-proxy-purge.cron ${DESTDIR}${PREFIX}${sysconfdir}/cron.d/glite-lb-proxy-purge + ${INSTALL} -m 644 ${top_srcdir}/config/glite-lb-purge.logrotate ${DESTDIR}${PREFIX}${sysconfdir}/logrotate.d/glite-lb-purge + ${INSTALL} -m 644 ${top_srcdir}/config/glite-lb-lcas.logrotate ${DESTDIR}${PREFIX}${sysconfdir}/logrotate.d/glite-lb-lcas mkdir -p ${DESTDIR}${PREFIX}${prefix}/include/${globalprefix}/${lbprefix} (cd ${top_srcdir}/interface && install -m 644 ${HDRS} ${DESTDIR}${PREFIX}${prefix}/include/${globalprefix}/${lbprefix}) @@ -376,7 +384,8 @@ ifdef LB_PERF endif clean: - rm -rvf *.c *.h *.ch *.xh *.xml *.nsmap *.o *.lo .libs glite-lb-* ${STATIC_LIB_BK} ${LCAS_PLUGIN_LIB} ${TESTS} ${MAN_GZ} ${EXAMPLES} startup + rm -rvf *.c *.h *.ch *.xh *.xml *.nsmap *.o *.lo .libs glite-lb-* ${STATIC_LIB_BK} ${LCAS_PLUGIN_LIB} ${TESTS} ${MAN_GZ} ${EXAMPLES} ${SCRIPTS} + rm -rvf test_xml.cpp rm -rvf log.xml rpmbuild/ RPMS/ tgz/ debian/ %.c: %.c.T diff --git a/org.glite.lb.server/config/glite-lb-lcas.logrotate b/org.glite.lb.server/config/glite-lb-lcas.logrotate new file mode 100644 index 0000000..c485adb --- /dev/null +++ b/org.glite.lb.server/config/glite-lb-lcas.logrotate @@ -0,0 +1,5 @@ +/var/log/glite/glite-lb-lcas.log { + daily + rotate 4 + missingok +} diff --git a/org.glite.lb.server/config/glite-lb-proxy-purge.cron b/org.glite.lb.server/config/glite-lb-proxy-purge.cron new file mode 100644 index 0000000..016c0ef --- /dev/null +++ b/org.glite.lb.server/config/glite-lb-proxy-purge.cron @@ -0,0 +1 @@ +31 1 * * * glite ( test -f /etc/profile.d/grid-env.sh || exit 0; . /etc/profile.d/grid-env.sh; export GLITE_LB_EXPORT_BKSERVER=$HOSTNAME; export GLITE_LB_PURGE_TARGET_RUNTIME=84600s; export GLITE_LB_PURGE_OTHER_OPTIONS="$GLITE_LB_PURGE_OTHER_OPTIONS -x"; printf "`date "+\%b \%e \%T"` `hostname -s` glite-lb-export.sh: "; @glite_prefix@/sbin/glite-lb-export.sh ) >> /var/log/glite/glite-lb-proxy-purge.log 2>&1 diff --git a/org.glite.lb.server/config/glite-lb-purge.logrotate b/org.glite.lb.server/config/glite-lb-purge.logrotate new file mode 100644 index 0000000..908dec0 --- /dev/null +++ b/org.glite.lb.server/config/glite-lb-purge.logrotate @@ -0,0 +1,5 @@ +/var/log/glite/glite-lb-server-purge.log /var/log/glite/glite-lb-proxy-purge.log { + weekly + rotate 4 + missingok +} \ No newline at end of file diff --git a/org.glite.lb.server/config/glite-lb-server-purge.cron b/org.glite.lb.server/config/glite-lb-server-purge.cron new file mode 100644 index 0000000..bb8e5ab --- /dev/null +++ b/org.glite.lb.server/config/glite-lb-server-purge.cron @@ -0,0 +1 @@ +1 1 * * * glite ( test -f /etc/profile.d/grid-env.sh || exit 0; . /etc/profile.d/grid-env.sh; export GLITE_LB_EXPORT_BKSERVER=$HOSTNAME; export GLITE_LB_PURGE_TARGET_RUNTIME=84600s; printf "`date "+\%b \%e \%T"` `hostname -s` glite-lb-export.sh: "; @glite_prefix@/sbin/glite-lb-export.sh ) >> /var/log/glite/glite-lb-server-purge.log 2>&1 diff --git a/org.glite.lb.server/project/.pre b/org.glite.lb.server/project/.pre new file mode 100644 index 0000000..bb8f272 --- /dev/null +++ b/org.glite.lb.server/project/.pre @@ -0,0 +1,7 @@ +getent group glite >/dev/null || groupadd -r glite +getent passwd glite >/dev/null || useradd -r -g glite -d /var/glite -c "gLite user" glite + +mkdir -p /var/glite /var/log/glite 2>/dev/null || true +chown glite:glite /var/glite /var/log/glite + +exit 0 diff --git a/org.glite.lb.yaim/config/functions/config_glite_lb.in b/org.glite.lb.yaim/config/functions/config_glite_lb.in index e867cd0..3bf21e2 100644 --- a/org.glite.lb.yaim/config/functions/config_glite_lb.in +++ b/org.glite.lb.yaim/config/functions/config_glite_lb.in @@ -1,5 +1,5 @@ function config_glite_lb_check(){ - requires $1 MYSQL_PASSWORD INSTALL_ROOT GLITE_LOCATION GLITE_LB_LOCATION GLITE_LB_LOCATION_ETC GLITE_LB_LOCATION_VAR GLITE_USER + requires $1 MYSQL_PASSWORD INSTALL_ROOT GLITE_LOCATION GLITE_LB_LOCATION GLITE_LB_LOCATION_VAR GLITE_LB_LOCATION_ETC } # check directory existence first @@ -21,7 +21,7 @@ function config_glite_lb_libs_append() { function config_glite_lb_setenv(){ - yaimgridenv_set GLITE_USER ${GLITE_USER:-glite} + yaimgridenv_set GLITE_USER glite # Redefine GLITE_HOME_DIR to make sure we retrieve the correct HOME directory of user glite GLITE_HOME_DIR=`getent passwd ${GLITE_USER} | cut -d: -f6` if [ "x${GLITE_HOME_DIR}" = "x" ]; then @@ -285,11 +285,6 @@ EOF fi rm -f /var/tmp/glite-lb-bkindexes.txt - mkdir -p $GLITE_LB_LOCATION_VAR # Needed to store PID of LB server - - chown $GLITE_USER:$GLITE_USER $GLITE_LB_LOCATION_VAR - chmod 0755 $GLITE_LB_LOCATION_VAR - mkdir -p $GLITE_HOME_DIR/.certs chown $GLITE_USER:$GLITE_USER $GLITE_HOME_DIR/.certs chmod 0755 $GLITE_HOME_DIR/.certs @@ -303,32 +298,6 @@ EOF chmod 0644 $GLITE_HOME_DIR/.certs/hostcert.pem chmod 0400 $GLITE_HOME_DIR/.certs/hostkey.pem - # Create cron for purging - mkdir -p /var/log/glite - chown $GLITE_USER:$GLITE_USER /var/log/glite - logfile=/var/log/glite/glite-lb-purger.log - if $LB_PURGE --help 2>&1 | grep 'target-runtime' > /dev/null; then - purge_target_runtime_cmd='export GLITE_LB_PURGE_TARGET_RUNTIME=84600s; ' - fi - cat << EOF > /etc/cron.d/glite-lb-purge.cron -HOME=/ -MAILTO=$SITE_EMAIL - -1 1 * * * $GLITE_USER . /etc/profile.d/grid-env.sh ; export GLITE_LB_EXPORT_BKSERVER=$HOSTNAME; printf "\`date "+\%b \%e \%T"\` \`hostname -s\` glite-lb-export.sh: " >> $logfile; $purge_target_runtime_cmd$GLITE_LB_LOCATION/sbin/glite-lb-export.sh >> $logfile 2>&1 -EOF - - touch $logfile - chown $GLITE_USER:$GLITE_USER $logfile - - cat > /etc/logrotate.d/lb-purger < ${GLITE_LB_LOCATION_ETC}/glite-lb/lcas.db - # log file - logfile=/var/log/glite/glite-lb-lcas.log - touch $logfile - chown $GLITE_USER:$GLITE_USER $logfile - cat > /etc/logrotate.d/lb-lcas <