Yedidyah Bar David has uploaded a new change for review.

Change subject: Log setup events
......................................................................

Log setup events

Added ovirt-engine-log-setup-event.sh and calls to it from
engine-setup/cleanup/upgrade.

Change-Id: Iae455ff0ef6475f00243906738474134f6f4e6e3
Signed-off-by: Yedidyah Bar David <[email protected]>
Bug-Url: https://bugzilla.redhat.com/889271
---
M Makefile
M ovirt-engine.spec.in
M packaging/fedora/setup/basedefs.py
M packaging/fedora/setup/engine-cleanup.py
M packaging/fedora/setup/engine-setup.py
M packaging/fedora/setup/engine-upgrade.py
A packaging/fedora/setup/ovirt-engine-log-setup-event.sh.in
7 files changed, 93 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/63/15863/1

diff --git a/Makefile b/Makefile
index 5bb99ad..9594a21 100644
--- a/Makefile
+++ b/Makefile
@@ -174,6 +174,7 @@
        packaging/services/ovirt-websocket-proxy.systemd \
        packaging/services/ovirt-websocket-proxy.sysv \
        packaging/setup/ovirt_engine_setup/config.py \
+       packaging/fedora/setup/ovirt-engine-log-setup-event.sh \
        ovirt-engine.spec \
        $(NULL)
 
@@ -352,6 +353,7 @@
        install -m 755 packaging/fedora/setup/engine-upgrade.py 
$(DESTDIR)$(DATA_DIR)/scripts
        ln -sf $(DATA_DIR)/scripts/engine-upgrade.py 
$(DESTDIR)$(BIN_DIR)/engine-upgrade
        install -m 755 packaging/fedora/setup/engine-check-update 
$(DESTDIR)$(BIN_DIR)/
+       install -m 755 packaging/fedora/setup/ovirt-engine-log-setup-event.sh 
$(DESTDIR)$(DATA_DIR)/scripts
 
        # Backups folder
        install -dm 750 $(DESTDIR)$(ENGINE_STATE)/backups
diff --git a/ovirt-engine.spec.in b/ovirt-engine.spec.in
index ec4e66a..30b9e0c 100644
--- a/ovirt-engine.spec.in
+++ b/ovirt-engine.spec.in
@@ -737,6 +737,9 @@
 %{engine_data}/scripts/engine-upgrade.py*
 %{engine_data}/scripts/post_upgrade.py*
 
+# Log setup event script:
+%{engine_data}/scripts/ovirt-engine-log-setup-event.sh
+
 # DB-related tools
 %{engine_data}/scripts/dbutils
 
diff --git a/packaging/fedora/setup/basedefs.py 
b/packaging/fedora/setup/basedefs.py
index edb8e8f..84a31c0 100644
--- a/packaging/fedora/setup/basedefs.py
+++ b/packaging/fedora/setup/basedefs.py
@@ -54,6 +54,7 @@
 DIR_JBOSS_RESOURCES="%s/ovirt-engine/resources/jboss" % DIR_USR_SHARE
 DIR_KERBEROS="%s/ovirt-engine/kerberos" % DIR_USR_SHARE
 DIR_ENGINE="/usr/share/%s" % (ENGINE_SERVICE_NAME)
+DIR_SCRIPTS="%s/ovirt-engine/scripts" % DIR_USR_SHARE
 DIR_PLUGINS="%s/ovirt-engine/scripts/plugins" % DIR_USR_SHARE
 
 DIR_ENGINE_BIN="%s/ovirt-engine/bin" % DIR_USR_SHARE
@@ -212,6 +213,9 @@
 EXEC_TASK_CLEANER = "%s/taskcleaner.sh" % DIR_DBUTILS
 EXEC_DBVALIDATOR = "%s/validatedb.sh" % DIR_DBUTILS
 
+# log-setup-event
+EXEC_LOG_SETUP_EVENT = "%s/ovirt-engine-log-setup-event.sh" % DIR_SCRIPTS
+
 CONST_BASE_MAC_ADDR="00:1A:4A"
 CONST_DEFAULT_MAC_RANGE="00:1a:4a:16:84:02-00:1a:4a:16:84:fd"
 CONST_MINIMUM_SPACE_ISODOMAIN=350
diff --git a/packaging/fedora/setup/engine-cleanup.py 
b/packaging/fedora/setup/engine-cleanup.py
index 9e4493b..8d29684 100755
--- a/packaging/fedora/setup/engine-cleanup.py
+++ b/packaging/fedora/setup/engine-cleanup.py
@@ -483,6 +483,9 @@
     db = DB()
     ca = CA()
 
+    cmd = [ basedefs.EXEC_LOG_SETUP_EVENT, "--notes=Start of engine-cleanup" ]
+    out, rc = utils.execCmd(cmdList=cmd, failOnError=False)
+
     if not options.unattended_clean:
         # Ask user to proceed
         if not askForUserApproval():
@@ -520,6 +523,9 @@
     # Clean configuration
     runFunc(cleanConfiguration, MSG_INFO_CLEANING_CONFIG)
 
+    cmd = [ basedefs.EXEC_LOG_SETUP_EVENT, "--notes=End of engine-cleanup" ]
+    out, rc = utils.execCmd(cmdList=cmd, failOnError=False)
+
     if len(err_messages) == 0:
         print MSG_INFO_CLEANUP_OK
     else:
diff --git a/packaging/fedora/setup/engine-setup.py 
b/packaging/fedora/setup/engine-setup.py
index 3e68960..77cd033 100755
--- a/packaging/fedora/setup/engine-setup.py
+++ b/packaging/fedora/setup/engine-setup.py
@@ -2225,6 +2225,9 @@
     ):
         return 0
     try:
+        cmd = [ basedefs.EXEC_LOG_SETUP_EVENT, "--notes=Start of engine-setup" 
]
+        out, rc = utils.execCmd(cmdList=cmd, failOnError=False)
+
         logging.debug("Entered main(configFile='%s')"%(configFile))
         print output_messages.INFO_HEADER
 
@@ -2308,6 +2311,8 @@
                 enginePath=enginePath,
             )
         )
+        cmd = [ basedefs.EXEC_LOG_SETUP_EVENT, "--notes=End of engine-setup" ]
+        out, rc = utils.execCmd(cmdList=cmd, failOnError=False)
         _printAdditionalMessages()
 
     finally:
diff --git a/packaging/fedora/setup/engine-upgrade.py 
b/packaging/fedora/setup/engine-upgrade.py
index 95075c1..f1440c1 100755
--- a/packaging/fedora/setup/engine-upgrade.py
+++ b/packaging/fedora/setup/engine-upgrade.py
@@ -1246,6 +1246,9 @@
     miniyum.selinux_role()
     # END: PROCESS-INITIALIZATION
 
+    cmd = [ basedefs.EXEC_LOG_SETUP_EVENT, "--notes=Start of engine-upgrade" ]
+    out, rc = utils.execCmd(cmdList=cmd, failOnError=False)
+
     # we do not wish to be interrupted
     signal.signal(signal.SIGINT, signal.SIG_IGN)
 
@@ -1467,6 +1470,9 @@
         # start engine after the rollback
         runFunc([startEngine], MSG_INFO_START_ENGINE % engineService)
 
+    cmd = [ basedefs.EXEC_LOG_SETUP_EVENT, "--notes=End of engine-upgrade" ]
+    out, rc = utils.execCmd(cmdList=cmd, failOnError=False)
+
     # Print log location on success
     addAdditionalMessages(etlService.isServiceAvailable())
     print "\n%s\n" % MSG_INFO_UPGRADE_OK
diff --git a/packaging/fedora/setup/ovirt-engine-log-setup-event.sh.in 
b/packaging/fedora/setup/ovirt-engine-log-setup-event.sh.in
new file mode 100644
index 0000000..b439f28
--- /dev/null
+++ b/packaging/fedora/setup/ovirt-engine-log-setup-event.sh.in
@@ -0,0 +1,67 @@
+#!/bin/sh
+# ovirt-engine-log-setup-event.sh - log an event during setup/upgrade/cleanup
+#
+# It logs to a file which should not rotate and allow getting a clear view of
+# the entire line of versions installed/upgraded/cleaned/etc.
+#
+# Copyright (C) 2013 Red Hat, Inc.
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License, or (at your option) any later version.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+#
+
+die() {
+       local m="$1"
+       echo "FATAL: ${m}" >&2
+       exit 1
+}
+
+usage() {
+       cat << __EOF__
+Usage: $0
+    --notes=NOTES
+        Add NOTES to the log
+
+__EOF__
+       exit 1
+}
+
+notes=""
+
+while [ -n "$1" ]; do
+       x="$1"
+       v="${x#*=}"
+       shift
+       case "${x}" in
+               --notes=*)
+                       notes="${v}"
+                       ;;
+               --help)
+                       usage
+                       ;;
+               *)
+                       die "Invalid option '${x}'"
+                       ;;
+       esac
+done
+
+(
+       echo SETUP-EVENT-BEGIN
+       echo DATE: $(date +'%Y-%m-%d %H:%M:%S')
+       echo NOTES: ${notes}
+       rpm -qa | sort | while read package; do
+               echo PACKAGE: ${package}
+       done
+       echo SETUP-EVENT-END
+) >> @ENGINE_VAR@/setup-history.txt


-- 
To view, visit http://gerrit.ovirt.org/15863
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iae455ff0ef6475f00243906738474134f6f4e6e3
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Yedidyah Bar David <[email protected]>
_______________________________________________
Engine-patches mailing list
[email protected]
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to