Search in sources :

Example 76 with ReplicaSet

use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project jkube by eclipse.

the class DebugServiceTest method enableDebuggingWithReplicaSet.

@Test
public void enableDebuggingWithReplicaSet() {
    // Given
    final ReplicaSet replicaSet = initReplicaSet();
    // When
    debugService.enableDebugging(replicaSet, "file.name", false);
    // Then
    assertThat(replicaSet).extracting("spec.template.spec.containers").asList().flatExtracting("env").extracting("name", "value").containsExactlyInAnyOrder(new Tuple("JAVA_DEBUG_SUSPEND", "false"), new Tuple("JAVA_ENABLE_DEBUG", "true"));
}
Also used : ReplicaSet(io.fabric8.kubernetes.api.model.apps.ReplicaSet) Tuple(org.assertj.core.groups.Tuple) Test(org.junit.Test)

Example 77 with ReplicaSet

use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project jkube by eclipse.

the class PodAnnotationEnricherTest method enrich_withReplicaSet_shouldAddAnnotationsToPodTemplateSpec.

@Test
public void enrich_withReplicaSet_shouldAddAnnotationsToPodTemplateSpec() {
    // Given
    klb.addToItems(new ReplicaSetBuilder().withMetadata(createResourceMetadata()).withNewSpec().withNewTemplate().withMetadata(createPodTemplateSpecMetadata()).endTemplate().endSpec());
    // When
    podAnnotationEnricher.enrich(PlatformMode.kubernetes, klb);
    // Then
    KubernetesList kubernetesList = klb.build();
    assertThat(kubernetesList.getItems()).hasSize(1).first().isInstanceOf(ReplicaSet.class);
    ReplicaSet replicaSet = (ReplicaSet) kubernetesList.getItems().get(0);
    assertThat(replicaSet).extracting(ReplicaSet::getSpec).extracting(ReplicaSetSpec::getTemplate).extracting(PodTemplateSpec::getMetadata).extracting(ObjectMeta::getAnnotations).hasFieldOrPropertyWithValue("key1", "value1").hasFieldOrPropertyWithValue("key2", "value2");
}
Also used : ReplicaSetBuilder(io.fabric8.kubernetes.api.model.apps.ReplicaSetBuilder) ObjectMeta(io.fabric8.kubernetes.api.model.ObjectMeta) ReplicaSetSpec(io.fabric8.kubernetes.api.model.apps.ReplicaSetSpec) KubernetesList(io.fabric8.kubernetes.api.model.KubernetesList) ReplicaSet(io.fabric8.kubernetes.api.model.apps.ReplicaSet) Test(org.junit.Test)

Example 78 with ReplicaSet

use of io.fabric8.kubernetes.api.model.apps.ReplicaSet in project dekorate by dekorateio.

the class OpenshiftExtension method startProject.

private void startProject(ExtensionContext context, Project project) throws InterruptedException {
    LOGGER.info("Starting project at " + project.getRoot());
    OpenshiftIntegrationTestConfig config = getOpenshiftIntegrationTestConfig(context);
    KubernetesClient client = getKubernetesClient(context);
    KubernetesList list = getOpenshiftResources(context, project);
    OpenshiftConfig openshiftConfig = getOpenshiftConfig(project);
    ImageConfiguration imageConfiguration = ImageConfiguration.from(openshiftConfig);
    BuildService buildService = null;
    try {
        BuildServiceFactory buildServiceFactory = BuildServiceFactories.find(project, imageConfiguration).orElseThrow(() -> new IllegalStateException("No applicable BuildServiceFactory found."));
        buildService = buildServiceFactory.create(project, imageConfiguration, list.getItems());
    } catch (Exception e) {
        throw DekorateException.launderThrowable("Failed to lookup BuildService.", e);
    }
    if (config.isPushEnabled()) {
        buildService.prepare();
        buildService.build();
        buildService.push();
    } else if (config.isBuildEnabled()) {
        buildService.prepare();
        buildService.build();
    }
    if (config.isDeployEnabled()) {
        // Create the remaining resources.
        list.getItems().stream().filter(i -> !(i instanceof BuildConfig)).forEach(i -> {
            try {
                HasMetadata r = client.resource(i).fromServer().get();
                if (r == null) {
                    client.resource(i).apply();
                } else if (r instanceof ImageStream) {
                // let's not delete image streams at this point
                } else if (deleteAndWait(context, i, 1, TimeUnit.MINUTES)) {
                    client.resource(i).apply();
                }
            } catch (Exception e) {
                e.printStackTrace(System.err);
            }
            LOGGER.info("Created: " + i.getKind() + " name:" + i.getMetadata().getName() + ".");
        });
        List<HasMetadata> waitables = list.getItems().stream().filter(i -> i instanceof Deployment || i instanceof DeploymentConfig || i instanceof Pod || i instanceof ReplicaSet || i instanceof ReplicationController).collect(Collectors.toList());
        long started = System.currentTimeMillis();
        LOGGER.info("Waiting until ready (" + config.getReadinessTimeout() + " ms)...");
        waitUntilCondition(context, waitables, i -> OpenshiftReadiness.isReady(i), config.getReadinessTimeout(), TimeUnit.MILLISECONDS);
        long ended = System.currentTimeMillis();
        LOGGER.info("Waited: " + (ended - started) + " ms.");
        // Display the item status
        waitables.stream().map(r -> client.resource(r).fromServer().get()).forEach(i -> {
            if (!OpenshiftReadiness.isReady(i)) {
                readinessFailed(context);
                LOGGER.warning(i.getKind() + ":" + i.getMetadata().getName() + " not ready!");
            }
        });
        if (hasReadinessFailed(context)) {
            throw new IllegalStateException("Readiness Failed");
        }
    }
}
Also used : WithEvents(io.dekorate.testing.WithEvents) WithProject(io.dekorate.testing.WithProject) ReplicaSet(io.fabric8.kubernetes.api.model.apps.ReplicaSet) Arrays(java.util.Arrays) Project(io.dekorate.project.Project) OpenshiftIntegrationTestConfig(io.dekorate.testing.openshift.config.OpenshiftIntegrationTestConfig) WithKubernetesClient(io.dekorate.testing.WithKubernetesClient) ExtensionContext(org.junit.jupiter.api.extension.ExtensionContext) OpenshiftConfig(io.dekorate.openshift.config.OpenshiftConfig) VersionInfo(io.fabric8.kubernetes.client.VersionInfo) TestWatcher(org.junit.jupiter.api.extension.TestWatcher) ImageStream(io.fabric8.openshift.api.model.ImageStream) DekorateException(io.dekorate.DekorateException) Logger(io.dekorate.Logger) KubernetesList(io.fabric8.kubernetes.api.model.KubernetesList) WithPod(io.dekorate.testing.WithPod) Internal(io.dekorate.kubernetes.annotation.Internal) LoggerFactory(io.dekorate.LoggerFactory) ReplicationController(io.fabric8.kubernetes.api.model.ReplicationController) BuildServiceFactories(io.dekorate.BuildServiceFactories) Pod(io.fabric8.kubernetes.api.model.Pod) DeploymentConfig(io.fabric8.openshift.api.model.DeploymentConfig) BuildService(io.dekorate.BuildService) OpenShiftClient(io.fabric8.openshift.client.OpenShiftClient) Collectors(java.util.stream.Collectors) HasMetadata(io.fabric8.kubernetes.api.model.HasMetadata) TimeUnit(java.util.concurrent.TimeUnit) BuildConfig(io.fabric8.openshift.api.model.BuildConfig) List(java.util.List) ConditionEvaluationResult(org.junit.jupiter.api.extension.ConditionEvaluationResult) BeforeAllCallback(org.junit.jupiter.api.extension.BeforeAllCallback) ExecutionCondition(org.junit.jupiter.api.extension.ExecutionCondition) AfterAllCallback(org.junit.jupiter.api.extension.AfterAllCallback) ImageConfiguration(io.dekorate.kubernetes.config.ImageConfiguration) BuildServiceFactory(io.dekorate.BuildServiceFactory) KubernetesClient(io.fabric8.kubernetes.client.KubernetesClient) Deployment(io.fabric8.kubernetes.api.model.apps.Deployment) WithKubernetesClient(io.dekorate.testing.WithKubernetesClient) KubernetesClient(io.fabric8.kubernetes.client.KubernetesClient) HasMetadata(io.fabric8.kubernetes.api.model.HasMetadata) WithPod(io.dekorate.testing.WithPod) Pod(io.fabric8.kubernetes.api.model.Pod) BuildService(io.dekorate.BuildService) ImageStream(io.fabric8.openshift.api.model.ImageStream) Deployment(io.fabric8.kubernetes.api.model.apps.Deployment) KubernetesList(io.fabric8.kubernetes.api.model.KubernetesList) OpenshiftConfig(io.dekorate.openshift.config.OpenshiftConfig) DekorateException(io.dekorate.DekorateException) OpenshiftIntegrationTestConfig(io.dekorate.testing.openshift.config.OpenshiftIntegrationTestConfig) ImageConfiguration(io.dekorate.kubernetes.config.ImageConfiguration) BuildServiceFactory(io.dekorate.BuildServiceFactory) ReplicationController(io.fabric8.kubernetes.api.model.ReplicationController) BuildConfig(io.fabric8.openshift.api.model.BuildConfig) DeploymentConfig(io.fabric8.openshift.api.model.DeploymentConfig) ReplicaSet(io.fabric8.kubernetes.api.model.apps.ReplicaSet)

Aggregations

ReplicaSet (io.fabric8.kubernetes.api.model.apps.ReplicaSet)50 ReplicationController (io.fabric8.kubernetes.api.model.ReplicationController)26 Deployment (io.fabric8.kubernetes.api.model.apps.Deployment)22 DeploymentConfig (io.fabric8.openshift.api.model.DeploymentConfig)22 Test (org.junit.Test)19 ReplicaSetBuilder (io.fabric8.kubernetes.api.model.apps.ReplicaSetBuilder)18 ReplicaSet (io.fabric8.kubernetes.api.model.extensions.ReplicaSet)17 Test (org.junit.jupiter.api.Test)15 HasMetadata (io.fabric8.kubernetes.api.model.HasMetadata)14 OpenShiftClient (io.fabric8.openshift.client.OpenShiftClient)14 Pod (io.fabric8.kubernetes.api.model.Pod)13 Deployment (io.fabric8.kubernetes.api.model.extensions.Deployment)10 KubernetesListBuilder (io.fabric8.kubernetes.api.model.KubernetesListBuilder)9 ReplicationControllerSpec (io.fabric8.kubernetes.api.model.ReplicationControllerSpec)9 ReplicaSetSpec (io.fabric8.kubernetes.api.model.apps.ReplicaSetSpec)9 DeploymentConfigSpec (io.fabric8.openshift.api.model.DeploymentConfigSpec)9 LabelSelector (io.fabric8.kubernetes.api.model.LabelSelector)8 Container (io.fabric8.kubernetes.api.model.Container)7 DaemonSet (io.fabric8.kubernetes.api.model.apps.DaemonSet)7 DeploymentSpec (io.fabric8.kubernetes.api.model.apps.DeploymentSpec)7