Search in sources :

Example 51 with Check

use of io.fabric8.karaf.checks.Check in project fabric8 by fabric8io.

the class ApmAgentContext method buildDeltaList.

public List<ClassInfo> buildDeltaList() {
    List<ClassInfo> result = new ArrayList<>();
    for (ClassInfo classInfo : allMethods.values()) {
        if (classInfo.isTransformed()) {
            // check to see its still should be audited
            if (configuration.isAudit(classInfo.getClassName())) {
                boolean retransform = false;
                // check to see if there's a change to methods that should be transformed
                Set<String> transformedMethodNames = classInfo.getAllTransformedMethodNames();
                for (String methodName : transformedMethodNames) {
                    if (!configuration.isAudit(classInfo.getClassName(), methodName)) {
                        retransform = true;
                        break;
                    }
                }
                if (!retransform) {
                    // check to see if there are methods that should now be audited but weren't
                    Set<String> allMethodNames = classInfo.getAllMethodNames();
                    for (String methodName : allMethodNames) {
                        if (!transformedMethodNames.contains(methodName) && configuration.isAudit(classInfo.getClassName(), methodName)) {
                            retransform = true;
                            break;
                        }
                    }
                }
                if (retransform) {
                    result.add(classInfo);
                }
            } else {
                // we were once audited - but now need to be removed
                result.add(classInfo);
            }
        } else if (configuration.isAudit(classInfo.getClassName())) {
            if (classInfo.isCanTransform()) {
                result.add(classInfo);
            }
        }
    }
    return result;
}
Also used : ArrayList(java.util.ArrayList) ClassInfo(io.fabric8.apmagent.ClassInfo)

Example 52 with Check

use of io.fabric8.karaf.checks.Check in project fabric8 by fabric8io.

the class HealthCheckServlet method doGet.

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    List<Check> checks = new ArrayList<>();
    for (HealthChecker checker : checkers) {
        checks.addAll(checker.getFailingHealthChecks());
    }
    if (checks.isEmpty()) {
        resp.getWriter().println("HEALTHY");
    } else {
        resp.setStatus(503);
        resp.getWriter().println("NOT HEALTHY");
        for (Check check : checks) {
            resp.getWriter().println(check.getName() + ": " + check.getLongDescription());
        }
    }
}
Also used : Check(io.fabric8.karaf.checks.Check) ArrayList(java.util.ArrayList) CopyOnWriteArrayList(java.util.concurrent.CopyOnWriteArrayList) HealthChecker(io.fabric8.karaf.checks.HealthChecker)

Example 53 with Check

use of io.fabric8.karaf.checks.Check in project fabric8 by fabric8io.

the class CamelState method doCheck.

@Override
protected List<Check> doCheck() {
    MBeanServer server = this.mbeanServer.getService();
    if (server != null) {
        try {
            List<Check> checks = new ArrayList<>();
            Set<ObjectName> contexts = server.queryNames(new ObjectName("org.apache.camel:type=context,*"), null);
            for (ObjectName ctxName : contexts) {
                String state = server.getAttribute(ctxName, "State").toString();
                if (!"Started".equals(state)) {
                    String name = ctxName.getKeyProperty("name");
                    checks.add(new Check("camel-state", "Camel context " + name + " is in state " + state));
                }
            }
            return checks;
        } catch (Exception e) {
            return Collections.singletonList(new Check("camel-state", "Unable to check camel contexts: " + e.toString()));
        }
    }
    return Collections.emptyList();
}
Also used : Check(io.fabric8.karaf.checks.Check) ArrayList(java.util.ArrayList) MBeanServer(javax.management.MBeanServer) ObjectName(javax.management.ObjectName)

Example 54 with Check

use of io.fabric8.karaf.checks.Check in project fabric8 by fabric8io.

the class FrameworkState method doCheck.

@Override
protected List<Check> doCheck() {
    int bsl = Integer.parseInt(System.getProperty(Constants.FRAMEWORK_BEGINNING_STARTLEVEL));
    int sl = systemBundle.adapt(FrameworkStartLevel.class).getStartLevel();
    if (sl < bsl) {
        return Collections.singletonList(new Check("framework-state", "OSGi Framework is not fully started"));
    } else {
        return Collections.emptyList();
    }
}
Also used : Check(io.fabric8.karaf.checks.Check) FrameworkStartLevel(org.osgi.framework.startlevel.FrameworkStartLevel)

Example 55 with Check

use of io.fabric8.karaf.checks.Check in project strimzi by strimzi.

the class KafkaAssemblyOperatorMockIT method assertStorageClass.

private void assertStorageClass(TestContext context, String statefulSetName, String expectedClass) {
    StatefulSet statefulSet = mockClient.apps().statefulSets().inNamespace(NAMESPACE).withName(statefulSetName).get();
    context.assertNotNull(statefulSet);
    // Check the storage class is initially "foo"
    List<PersistentVolumeClaim> volumeClaimTemplates = statefulSet.getSpec().getVolumeClaimTemplates();
    context.assertFalse(volumeClaimTemplates.isEmpty());
    context.assertEquals(expectedClass, volumeClaimTemplates.get(0).getSpec().getStorageClassName());
}
Also used : PersistentVolumeClaim(io.fabric8.kubernetes.api.model.PersistentVolumeClaim) StatefulSet(io.fabric8.kubernetes.api.model.extensions.StatefulSet)

Aggregations

Test (org.junit.Test)35 IOException (java.io.IOException)23 File (java.io.File)17 ArrayList (java.util.ArrayList)17 HashMap (java.util.HashMap)15 FabricService (io.fabric8.api.FabricService)11 KubernetesClientException (io.fabric8.kubernetes.client.KubernetesClientException)11 Map (java.util.Map)10 Container (io.fabric8.api.Container)9 PatchException (io.fabric8.patch.management.PatchException)9 Expectations (mockit.Expectations)9 Profile (io.fabric8.api.Profile)8 TreeMap (java.util.TreeMap)7 Version (io.fabric8.api.Version)6 KubernetesClient (io.fabric8.kubernetes.client.KubernetesClient)6 AuthConfig (io.fabric8.maven.docker.access.AuthConfig)6 MojoExecutionException (org.apache.maven.plugin.MojoExecutionException)6 Check (io.fabric8.karaf.checks.Check)5 KubernetesListBuilder (io.fabric8.kubernetes.api.model.KubernetesListBuilder)5 Patch (io.fabric8.patch.management.Patch)5