On Sun, Jan 25, 2015 at 09:19:57PM -0600, Endi Sukma Dewata wrote:
The SelfTestSubsystem has been modified such that if the selftest
fails it will invoke the pki-server CLI to undeploy and disable the
failing subsystem. The Tomcat instance and other subsystems not
depending on this subsystem will continue to run. Once the problem
is fixed, the admin can enable the subsystem again with the
pki-server CLI.
https://fedorahosted.org/pki/ticket/745
--
Endi S. Dewata
ACK.
I tested it by hardcoding an ESelfTestException in one of the tests.
Behaved as expected, but in selftests.log is says:
SelfTestSubsystem: The CRITICAL self test plugin called
selftests.container.instance.CAPresence running at startup FAILED!
SelfTestSubsystem: All CRITICAL self test plugins ran SUCCESSFULLY at startup!
Not sure if this is intended behaviour - it is possibly intended,
but if so it is quite confusing. But I don't think your patch
causes this.
Cheers,
Fraser
From c5c32691b4eb6441dc997d215ba69bfb5610595b Mon Sep 17 00:00:00
2001
From: "Endi S. Dewata" <edewata(a)redhat.com>
Date: Fri, 23 Jan 2015 13:23:53 -0500
Subject: [PATCH] Disabling subsystem on selftest failure.
The SelfTestSubsystem has been modified such that if the selftest
fails it will invoke the pki-server CLI to undeploy and disable the
failing subsystem. The Tomcat instance and other subsystems not
depending on this subsystem will continue to run. Once the problem
is fixed, the admin can enable the subsystem again with the
pki-server CLI.
https://fedorahosted.org/pki/ticket/745
---
.../netscape/cmscore/selftests/SelfTestSubsystem.java | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git
a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
index c44476dd6875072084d9cf1eb267b67883080ae9..2a2cf8b2c907e6cb540893efc2857b888c92f382
100644
--- a/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
+++ b/base/server/cmscore/src/com/netscape/cmscore/selftests/SelfTestSubsystem.java
@@ -885,6 +885,25 @@ public class SelfTestSubsystem
// shutdown the system gracefully
CMS.shutdown();
+ IConfigStore cs = CMS.getConfigStore();
+ String instanceID = cs.get("instanceId");
+ String subsystemID =
cs.get("cs.type").toLowerCase();
+
+ System.out.println("SelfTestSubsystem: Disabling
\"" + subsystemID + "\" subsystem due to selftest failure.");
+
+ try {
+ ProcessBuilder pb = new
ProcessBuilder("pki-server", "subsystem-disable", "-i",
instanceID, subsystemID);
+ Process process = pb.inheritIO().start();
+ int rc = process.waitFor();
+
+ if (rc != 0) {
+ System.out.println("SelfTestSubsystem: Unable
to disable \"" + subsystemID + "\". RC: " + rc);
+ }
+
+ } catch (Exception e2) {
+ e.printStackTrace();
+ }
+
return;
}
}
--
1.8.4.2
_______________________________________________
Pki-devel mailing list
Pki-devel(a)redhat.com
https://www.redhat.com/mailman/listinfo/pki-devel