use of com.google.cloud.scheduler.v1.Job in project jkube by eclipse.
the class KubernetesHelper method extractPodLabelSelector.
public static LabelSelector extractPodLabelSelector(HasMetadata entity) {
LabelSelector selector = null;
if (entity instanceof Deployment) {
Deployment resource = (Deployment) entity;
DeploymentSpec spec = resource.getSpec();
if (spec != null) {
selector = spec.getSelector();
}
} else if (entity instanceof ReplicaSet) {
ReplicaSet resource = (ReplicaSet) entity;
ReplicaSetSpec spec = resource.getSpec();
if (spec != null) {
selector = spec.getSelector();
}
} else if (entity instanceof DeploymentConfig) {
DeploymentConfig resource = (DeploymentConfig) entity;
DeploymentConfigSpec spec = resource.getSpec();
if (spec != null) {
selector = toLabelSelector(spec.getSelector());
}
} else if (entity instanceof ReplicationController) {
ReplicationController resource = (ReplicationController) entity;
ReplicationControllerSpec spec = resource.getSpec();
if (spec != null) {
selector = toLabelSelector(spec.getSelector());
}
} else if (entity instanceof DaemonSet) {
DaemonSet resource = (DaemonSet) entity;
DaemonSetSpec spec = resource.getSpec();
if (spec != null) {
selector = spec.getSelector();
}
} else if (entity instanceof StatefulSet) {
StatefulSet resource = (StatefulSet) entity;
StatefulSetSpec spec = resource.getSpec();
if (spec != null) {
selector = spec.getSelector();
}
} else if (entity instanceof Job) {
selector = toLabelSelector((Job) entity);
}
return selector;
}
use of com.google.cloud.scheduler.v1.Job in project jkube by eclipse.
the class TriggersAnnotationEnricherTest method testNoEnrichment.
@Test
public void testNoEnrichment() {
KubernetesListBuilder builder = new KubernetesListBuilder().addToItems(new JobBuilder().withNewMetadata().addToAnnotations("dummy", "annotation").endMetadata().withNewSpec().withNewTemplate().withNewSpec().withContainers(createContainers("c1", "is1:latest", "c2", "is2:latest")).endSpec().endTemplate().endSpec().build());
TriggersAnnotationEnricher enricher = new TriggersAnnotationEnricher(context);
enricher.enrich(PlatformMode.kubernetes, builder);
Job res = (Job) builder.build().getItems().get(0);
String triggers = res.getMetadata().getAnnotations().get("image.openshift.io/triggers");
assertNull(triggers);
}
use of com.google.cloud.scheduler.v1.Job in project jkube by eclipse.
the class JobHandlerTest method overrideReplicas.
@Test
public void overrideReplicas() {
// Given
final KubernetesListBuilder klb = new KubernetesListBuilder().addToItems(new Job());
// When
jobHandler.overrideReplicas(klb, 1337);
// Then
assertThat(klb.buildItems()).hasSize(1).first().isEqualTo(new Job());
}
use of com.google.cloud.scheduler.v1.Job in project jkube by eclipse.
the class JobHandlerTest method jobHandlerTest.
@Test
public void jobHandlerTest() {
ResourceConfig config = ResourceConfig.builder().imagePullPolicy("IfNotPresent").controllerName("testing").serviceAccount("test-account").restartPolicy("OnFailure").volumes(volumes1).build();
Job job = jobHandler.get(config, images);
// Assertion
assertNotNull(job.getSpec());
assertNotNull(job.getMetadata());
assertNotNull(job.getSpec().getTemplate());
assertEquals("testing", job.getMetadata().getName());
assertEquals("test-account", job.getSpec().getTemplate().getSpec().getServiceAccountName());
assertFalse(job.getSpec().getTemplate().getSpec().getVolumes().isEmpty());
assertEquals("OnFailure", job.getSpec().getTemplate().getSpec().getRestartPolicy());
assertEquals("test", job.getSpec().getTemplate().getSpec().getVolumes().get(0).getName());
assertEquals("/test/path", job.getSpec().getTemplate().getSpec().getVolumes().get(0).getHostPath().getPath());
assertNotNull(job.getSpec().getTemplate().getSpec().getContainers());
}
use of com.google.cloud.scheduler.v1.Job in project quick by bakdata.
the class JobCleanerTest method shouldDeleteSucceededJobs.
@Test
void shouldDeleteSucceededJobs() {
final JobCleaner jobCleaner = new JobCleaner(this.client);
final KubernetesResources resources = new KubernetesResources();
final Job deletionJob = resources.createDeletionJob("test", "image", List.of("--key", "value"));
final Job finalJob = new JobBuilder(deletionJob).withNewStatus().withActive(0).withSucceeded(1).endStatus().build();
this.kubernetesServer.getClient().batch().v1().jobs().create(finalJob);
List<Job> jobList = this.kubernetesServer.getClient().batch().v1().jobs().list().getItems();
assertThat(jobList).hasSize(1);
assertThatNoException().isThrownBy(jobCleaner::deleteJobs);
jobList = this.kubernetesServer.getClient().batch().v1().jobs().list().getItems();
assertThat(jobList).isEmpty();
}
Aggregations