use of io.fabric8.kubernetes.api.model.batch.Job in project fabric8 by jboss-fuse.
the class ViewPipeline method main.
public static void main(String[] args) {
if (args.length == 0) {
System.err.println("Usage: ViewPipeline jobName [branchName] [gitUrl]");
return;
}
String jobName = args[0];
String branchName = "master";
String gitUrl = null;
if (args.length > 1) {
branchName = args[1];
}
if (args.length > 2) {
gitUrl = args[2];
}
try {
JobEnvironment environment = new JobEnvironment();
environment.setJobName(jobName);
environment.setBranchName(branchName);
environment.setGitUrl(gitUrl);
KubernetesClient kubernetesClient = new DefaultKubernetesClient();
String namespace = kubernetesClient.getNamespace();
if (Strings.isNullOrBlank(namespace)) {
namespace = KubernetesHelper.defaultNamespace();
}
Pipeline pipeline = Pipelines.getPipeline(kubernetesClient, namespace, environment);
System.out.println("Found pipeline for job: " + pipeline.getJobName() + " of kind: " + pipeline.getKind());
} catch (IntrospectionException e) {
System.out.println("Failed with: " + e);
e.printStackTrace();
}
}
use of io.fabric8.kubernetes.api.model.batch.Job in project kubernetes by ballerinax.
the class JobTest method testKubernetesJobNodeSelector.
@Test
public void testKubernetesJobNodeSelector() throws IOException, InterruptedException {
Assert.assertEquals(KubernetesTestUtils.compileBallerinaFile(SOURCE_DIR_PATH, "node_selector.bal"), 0);
File dockerFile = DOCKER_TARGET_PATH.resolve("Dockerfile").toFile();
Assert.assertTrue(dockerFile.exists());
InspectImageResponse imageInspect = getDockerImage(DOCKER_IMAGE_NODE);
Assert.assertNotNull(imageInspect.getConfig());
File jobYAML = KUBERNETES_TARGET_PATH.resolve("node_selector_job.yaml").toFile();
Job job = KubernetesTestUtils.loadYaml(jobYAML);
Assert.assertEquals(job.getMetadata().getName(), "node-selector-job");
Assert.assertEquals(job.getSpec().getTemplate().getSpec().getContainers().size(), 1);
Container container = job.getSpec().getTemplate().getSpec().getContainers().get(0);
Assert.assertEquals(container.getImage(), DOCKER_IMAGE_NODE);
Assert.assertEquals(container.getImagePullPolicy(), KubernetesConstants.ImagePullPolicy.IfNotPresent.name());
Assert.assertEquals(job.getSpec().getTemplate().getSpec().getRestartPolicy(), KubernetesConstants.RestartPolicy.Never.name());
// Validate node selector
Map<String, String> nodeSelectors = job.getSpec().getTemplate().getSpec().getNodeSelector();
Assert.assertEquals(nodeSelectors.size(), 1);
Assert.assertEquals(nodeSelectors.get("disktype"), "ssd");
}
use of io.fabric8.kubernetes.api.model.batch.Job in project kubernetes by ballerinax.
the class JobTest method testKubernetesJobGeneration.
@Test
public void testKubernetesJobGeneration() throws IOException, InterruptedException {
Assert.assertEquals(KubernetesTestUtils.compileBallerinaFile(SOURCE_DIR_PATH, "ballerina_job.bal"), 0);
File dockerFile = DOCKER_TARGET_PATH.resolve("Dockerfile").toFile();
Assert.assertTrue(dockerFile.exists());
InspectImageResponse imageInspect = getDockerImage(DOCKER_IMAGE_JOB);
Assert.assertNotNull(imageInspect.getConfig());
File jobYAML = KUBERNETES_TARGET_PATH.resolve("ballerina_job_job.yaml").toFile();
Job job = KubernetesTestUtils.loadYaml(jobYAML);
Assert.assertEquals(job.getMetadata().getName(), "ballerina-job-job");
Assert.assertEquals(job.getSpec().getTemplate().getSpec().getContainers().size(), 1);
Container container = job.getSpec().getTemplate().getSpec().getContainers().get(0);
Assert.assertEquals(container.getImage(), DOCKER_IMAGE_JOB);
Assert.assertEquals(container.getImagePullPolicy(), KubernetesConstants.ImagePullPolicy.IfNotPresent.name());
Assert.assertEquals(job.getSpec().getTemplate().getSpec().getRestartPolicy(), KubernetesConstants.RestartPolicy.Never.name());
}
use of io.fabric8.kubernetes.api.model.batch.Job in project kubernetes by ballerinax.
the class Sample11Test method compileSample.
@BeforeClass
public void compileSample() throws IOException, InterruptedException {
Assert.assertEquals(KubernetesTestUtils.compileBallerinaFile(SOURCE_DIR_PATH, "hello_world_job.bal"), 0);
File artifactYaml = KUBERNETES_TARGET_PATH.resolve("hello_world_job.yaml").toFile();
Assert.assertTrue(artifactYaml.exists());
KubernetesClient client = new DefaultKubernetesClient();
List<HasMetadata> k8sItems = client.load(new FileInputStream(artifactYaml)).get();
for (HasMetadata data : k8sItems) {
if ("Job".equals(data.getKind())) {
job = (Job) data;
} else {
Assert.fail("Unexpected k8s resource found: " + data.getKind());
}
}
}
Aggregations