Search in sources :

Example 16 with State

use of io.fabric8.agent.service.State in project fabric8 by jboss-fuse.

the class AbstractManagedContainer method start.

@Override
public final synchronized void start() throws LifecycleException {
    assertNotDestroyed();
    try {
        if (state == State.CREATED || state == State.STOPPED) {
            doStart(configuration);
            state = State.STARTED;
        }
    } catch (Exception ex) {
        throw new LifecycleException("Cannot start container", ex);
    }
}
Also used : LifecycleException(io.fabric8.runtime.container.LifecycleException) LifecycleException(io.fabric8.runtime.container.LifecycleException) IOException(java.io.IOException)

Example 17 with State

use of io.fabric8.agent.service.State in project fabric8 by jboss-fuse.

the class AbstractManagedContainer method stop.

@Override
public final synchronized void stop() throws LifecycleException {
    assertNotDestroyed();
    try {
        if (state == State.STARTED) {
            doStop(configuration);
            state = State.STOPPED;
        }
    } catch (Exception ex) {
        throw new LifecycleException("Cannot stop container", ex);
    }
}
Also used : LifecycleException(io.fabric8.runtime.container.LifecycleException) LifecycleException(io.fabric8.runtime.container.LifecycleException) IOException(java.io.IOException)

Example 18 with State

use of io.fabric8.agent.service.State in project strimzi by strimzi.

the class KafkaCluster method fromAssembly.

/**
 * Create a Kafka cluster from the deployed StatefulSet resource
 *
 * @param ss The StatefulSet from which the cluster state should be recovered.
 * @param namespace Kubernetes/OpenShift namespace where cluster resources belong to
 * @param cluster   overall cluster name
 * @return  Kafka cluster instance
 */
public static KafkaCluster fromAssembly(StatefulSet ss, String namespace, String cluster) {
    KafkaCluster kafka = new KafkaCluster(namespace, cluster, Labels.fromResource(ss));
    kafka.setReplicas(ss.getSpec().getReplicas());
    Container container = ss.getSpec().getTemplate().getSpec().getContainers().get(0);
    kafka.setImage(container.getImage());
    kafka.setHealthCheckInitialDelay(container.getReadinessProbe().getInitialDelaySeconds());
    kafka.setHealthCheckTimeout(container.getReadinessProbe().getTimeoutSeconds());
    Map<String, String> vars = containerEnvVars(container);
    kafka.setZookeeperConnect(vars.getOrDefault(KEY_KAFKA_ZOOKEEPER_CONNECT, ss.getMetadata().getName() + "-zookeeper:2181"));
    kafka.setDefaultReplicationFactor(Integer.parseInt(vars.getOrDefault(KEY_KAFKA_DEFAULT_REPLICATION_FACTOR, String.valueOf(DEFAULT_KAFKA_DEFAULT_REPLICATION_FACTOR))));
    kafka.setOffsetsTopicReplicationFactor(Integer.parseInt(vars.getOrDefault(KEY_KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR, String.valueOf(DEFAULT_KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR))));
    kafka.setTransactionStateLogReplicationFactor(Integer.parseInt(vars.getOrDefault(KEY_KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR, String.valueOf(DEFAULT_KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR))));
    kafka.setMetricsEnabled(Boolean.parseBoolean(vars.getOrDefault(KEY_KAFKA_METRICS_ENABLED, String.valueOf(DEFAULT_KAFKA_METRICS_ENABLED))));
    if (kafka.isMetricsEnabled()) {
        kafka.setMetricsConfigName(metricConfigsName(cluster));
    }
    if (!ss.getSpec().getVolumeClaimTemplates().isEmpty()) {
        Storage storage = Storage.fromPersistentVolumeClaim(ss.getSpec().getVolumeClaimTemplates().get(0));
        if (ss.getMetadata().getAnnotations() != null) {
            String deleteClaimAnnotation = String.format("%s/%s", ClusterController.STRIMZI_CLUSTER_CONTROLLER_DOMAIN, Storage.DELETE_CLAIM_FIELD);
            storage.withDeleteClaim(Boolean.valueOf(ss.getMetadata().getAnnotations().computeIfAbsent(deleteClaimAnnotation, s -> "false")));
        }
        kafka.setStorage(storage);
    } else {
        Storage storage = new Storage(Storage.StorageType.EPHEMERAL);
        kafka.setStorage(storage);
    }
    return kafka;
}
Also used : Container(io.fabric8.kubernetes.api.model.Container)

Example 19 with State

use of io.fabric8.agent.service.State 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 20 with State

use of io.fabric8.agent.service.State 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)

Aggregations

IOException (java.io.IOException)15 File (java.io.File)11 Test (org.junit.Test)10 ArrayList (java.util.ArrayList)7 HashMap (java.util.HashMap)7 Bundle (org.osgi.framework.Bundle)6 BundleUpdate (io.fabric8.patch.management.BundleUpdate)5 BundleException (org.osgi.framework.BundleException)5 BufferState (io.fabric8.dosgi.io.ProtocolCodec.BufferState)4 ByteBuffer (java.nio.ByteBuffer)4 Buffer (org.fusesource.hawtbuf.Buffer)4 Downloader (io.fabric8.agent.download.Downloader)3 Container (io.fabric8.kubernetes.api.model.Container)3 IntOrString (io.fabric8.kubernetes.api.model.IntOrString)3 URI (java.net.URI)3 URISyntaxException (java.net.URISyntaxException)3 LinkedHashMap (java.util.LinkedHashMap)3 List (java.util.List)3 Map (java.util.Map)3 DownloadCallback (io.fabric8.agent.download.DownloadCallback)2