BUG#: 5008
authorw.otsuka <w.otsuka>
Fri, 26 May 2006 17:54:21 +0000 (17:54 +0000)
committerw.otsuka <w.otsuka>
Fri, 26 May 2006 17:54:21 +0000 (17:54 +0000)
TITLE: Red Hat OpenPegasus 2.5.1 Patch: pegasus-2.5.1-initscript.patch

DESCRIPTION: Ported Red Hat patch for /etc/init.d/tog-pegasus. The main change was adding SSL certificate creation on initial cimserver startup.

Makefile.Release
rpm/commands-tog-pegasus.rc

index ed4b50af3a12efaf183e077be8b002e26e00b4f7..1ca0ecb96a8334f7498cc3bd8790e2a4af497a80 100644 (file)
@@ -685,6 +685,11 @@ endif
        $(MKDIRHIER) $(PEGASUS_STAGING_DIR)/etc/init.d
        $(COPY) $(ROOT)/rpm/preamble-tog-pegasus.rc $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
        @$(ECHO-E) "CIMSERVER_BIN=$(PEGASUS_SBIN_DIR)/cimserver" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+       @$(ECHO-E) "PEGASUS_SCRIPT_DIR=$(PEGASUS_SCRIPT_DIR)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+       @$(ECHO-E) "PEGASUS_SSL_CONF_FILE=$(PEGASUS_PEM_DIR)/ssl.cnf" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+       @$(ECHO-E) "PEGASUS_SSL_CERT_FILE=$(PEGASUS_SSL_CERT_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+       @$(ECHO-E) "PEGASUS_SSL_KEY_FILE=$(PEGASUS_SSL_KEY_FILE_PATH)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
+       @$(ECHO-E) "PEGASUS_SSL_TRUSTSTORE=$(PEGASUS_SSL_CLIENT_TRUSTSTORE)" >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
        $(CAT) $(ROOT)/rpm/commands-tog-pegasus.rc >> $(PEGASUS_STAGING_DIR)/etc/init.d/tog-pegasus
 endif
 
index f6ba8928c04f657aa84f835daa9a79b2bf32aee5..0b434200c98fb56f8b0a68857db24493b0e5524a 100644 (file)
 #//==============================================================================
 prog=cimserver
 
-test -x $CIMSERVER_BIN || exit 5
+if [ ! -x $CIMSERVER_BIN ]; then
+    echo -n "tog-pegasus $1: $CIMSERVER_BIN not found or not executable.";
+    exit 1;
+fi;
+
+[ -e /etc/sysconfig/tog-pegasus ] && . /etc/sysconfig/tog-pegasus;
 
 . /lib/lsb/init-functions
 RETVAL=0
 
 case "$1" in
      start)
-       echo -n $"Starting up CIM server: "
-       $CIMSERVER_BIN
-       RETVAL=$?
+       if [ ! -e ${PEGASUS_SSL_CONF_FILE} ] || [ ! -e ${PEGASUS_SSL_CERT_FILE} ] || 
+          [ ! -e ${PEGASUS_SSL_KEY_FILE} ]  || [ ! -e ${PEGASUS_SSL_TRUSTSTORE} ]; then
+          if [ -x $PEGASUS_SCRIPT_DIR/genOpenPegasusSSLCerts ]; then
+              echo -n "tog-pegasus: Generating cimserver SSL certificates...";
+              $PEGASUS_SCRIPT_DIR/genOpenPegasusSSLCerts;
+              if [ $? -eq 0 ]; then
+                  echo "SSL certificates generated";
+              else
+                  echo "SSL certificates failed";
+              fi;
+              echo;
+          fi;
+       fi;
+       echo -n $"Starting up CIM server: "
+       $CIMSERVER_BIN ${CIMSERVER_OPTIONS}
+       RETVAL=$?
        [ "$RETVAL" -eq 0 ] && log_success_msg $"$prog start" || log_failure_msg $"$prog start"
-       echo
+       echo;
        ;;
 
      stop)
@@ -55,7 +73,7 @@ case "$1" in
        pid=`pidofproc $CIMSERVER_BIN`
        RETVAL=$?
        if [ "$RETVAL" -eq 0 ]; then
-               echo "CIM server is running"
+               echo "CIM server ($pid) is running"
        else
                echo "CIM server is not running"
        fi
@@ -69,11 +87,11 @@ case "$1" in
        fi;
         ;;
      try-restart)
-       $0 stop && $0 start
+       $0 stop && $0 start;
        ;;
      restart|force-reload)
-       $0 stop
-       $0 start
+       $0 stop;
+       $0 start;
        ;;
      reload)
        ;;