use of io.fabric8.kubernetes.model.annotation.Group in project fabric8-maven-plugin by fabric8io.
the class ContainerHandlerTest method getContainerTestWithUser.
@Test
public void getContainerTestWithUser() {
project.setArtifactId("test-artifact");
project.setGroupId("test-group");
ports.add("8080");
ports.add("9090");
tags.add("latest");
tags.add("test");
// container name with user and image with tag
ContainerHandler handler = new ContainerHandler(project.getProperties(), new GroupArtifactVersion("test-group", "test-artifact", "0"), probeHandler);
BuildImageConfiguration buildImageConfiguration = new BuildImageConfiguration.Builder().ports(ports).from("fabric8/").cleanup("try").tags(tags).compression("gzip").dockerFile("testFile").dockerFileDir("/demo").build();
ImageConfiguration imageConfiguration = new ImageConfiguration.Builder().name("user/test:latest").buildConfig(buildImageConfiguration).registry("docker.io").build();
images.clear();
images.add(imageConfiguration);
containers = handler.getContainers(config, images);
assertNotNull(containers);
assertEquals("user-test-artifact", containers.get(0).getName());
assertEquals("docker.io/user/test:latest", containers.get(0).getImage());
assertEquals("IfNotPresent", containers.get(0).getImagePullPolicy());
}
use of io.fabric8.kubernetes.model.annotation.Group in project quarkus-test-framework by quarkus-qe.
the class OpenShiftClient method installOperator.
public void installOperator(Service service, String name, String channel, String source, String sourceNamespace) {
if (!ENABLED_EPHEMERAL_NAMESPACES.getAsBoolean()) {
throw new UnsupportedOperationException("Operators not supported with ephemeral namespaces disabled");
}
// Install the operator group
OperatorGroup groupModel = new OperatorGroup();
groupModel.setMetadata(new ObjectMeta());
groupModel.getMetadata().setName(service.getName());
groupModel.setSpec(new OperatorGroupSpec());
groupModel.getSpec().setTargetNamespaces(Arrays.asList(currentNamespace));
client.resource(groupModel).createOrReplace();
// Install the subscription
Subscription subscriptionModel = new Subscription();
subscriptionModel.setMetadata(new ObjectMeta());
subscriptionModel.getMetadata().setName(name);
subscriptionModel.getMetadata().setNamespace(currentNamespace);
subscriptionModel.setSpec(new SubscriptionSpec());
subscriptionModel.getSpec().setChannel(channel);
subscriptionModel.getSpec().setName(name);
subscriptionModel.getSpec().setSource(source);
subscriptionModel.getSpec().setSourceNamespace(sourceNamespace);
Log.info("Installing operator... %s", service.getName());
client.operatorHub().subscriptions().create(subscriptionModel);
// Wait for the operator to be installed
untilIsTrue(() -> {
// Get Cluster Service Version
Subscription subscription = client.operatorHub().subscriptions().withName(name).get();
String installedCsv = subscription.getStatus().getInstalledCSV();
if (StringUtils.isEmpty(installedCsv)) {
return false;
}
// Check Cluster Service Version status
ClusterServiceVersion operatorService = client.operatorHub().clusterServiceVersions().withName(installedCsv).get();
return OPERATOR_PHASE_INSTALLED.equals(operatorService.getStatus().getPhase());
}, AwaitilitySettings.defaults().withService(service).usingTimeout(service.getConfiguration().getAsDuration(OPERATOR_INSTALL_TIMEOUT, TIMEOUT_DEFAULT)));
Log.info("Operator installed... %s", service.getName());
}
use of io.fabric8.kubernetes.model.annotation.Group in project kubernetes-client by fabric8io.
the class CRGeneratorRunner method generate.
public List<WritableCRCompilationUnit> generate(CustomResourceDefinition crd, String basePackageName) {
CustomResourceDefinitionSpec crSpec = crd.getSpec();
String crName = crSpec.getNames().getKind();
String group = crSpec.getGroup();
List<WritableCRCompilationUnit> writableCUs = new ArrayList<>(crSpec.getVersions().size());
for (CustomResourceDefinitionVersion crdv : crSpec.getVersions()) {
String version = crdv.getName();
String pkg = Optional.ofNullable(basePackageName).map(p -> p + "." + version).orElse(version);
AbstractJSONSchema2Pojo specGenerator = null;
String prefix = crName;
if (config.getPrefixStrategy() == Config.Prefix.NEVER) {
prefix = "";
}
JSONSchemaProps spec = crdv.getSchema().getOpenAPIV3Schema().getProperties().get("spec");
if (spec != null) {
String suffix = (config.getSuffixStrategy() != Config.Suffix.NEVER) ? "Spec" : "";
specGenerator = AbstractJSONSchema2Pojo.fromJsonSchema("spec", spec, pkg, prefix, suffix, config);
}
AbstractJSONSchema2Pojo statusGenerator = null;
JSONSchemaProps status = crdv.getSchema().getOpenAPIV3Schema().getProperties().get("status");
if (status != null) {
String suffix = (config.getSuffixStrategy() != Config.Suffix.NEVER) ? "Status" : "";
statusGenerator = AbstractJSONSchema2Pojo.fromJsonSchema("status", status, pkg, prefix, suffix, config);
}
AbstractJSONSchema2Pojo crGenerator = new JCRObject(pkg, crName, group, version, prefix + "Spec", prefix + "Status", specGenerator != null, statusGenerator != null, crdv.getStorage(), crdv.getServed(), config);
List<GeneratorResult.ClassResult> classResults = validateAndAggregate(crGenerator, specGenerator, statusGenerator);
writableCUs.add(new WritableCRCompilationUnit(classResults));
}
return writableCUs;
}
use of io.fabric8.kubernetes.model.annotation.Group in project kubernetes-client by fabric8io.
the class PodGroupTest method testCreate.
@Test
@DisplayName("Should create a pod group")
void testCreate() {
PodGroup podGroup = createPodGroup();
server.expect().post().withPath("/apis/scheduling.volcano.sh/v1beta1/namespaces/ns1/podgroups").andReturn(HttpURLConnection.HTTP_CREATED, podGroup).once();
podGroup = client.v1beta1().podGroups().inNamespace("ns1").create(createPodGroup());
assertNotNull(podGroup);
assertEquals("pg1", podGroup.getMetadata().getName());
}
use of io.fabric8.kubernetes.model.annotation.Group in project kubernetes-client by fabric8io.
the class PodGroupCreate method main.
public static void main(String[] args) {
try (NamespacedVolcanoClient volcanoClient = new DefaultVolcanoClient()) {
String namespace = "default";
String groupName = "group1";
PodGroup podGroup = Utils.buildDefaultPodGroups(namespace, groupName);
// Create PodGroup
volcanoClient.podGroups().inNamespace(namespace).createOrReplace(podGroup);
System.out.println("Created: " + podGroup.getMetadata().getName());
// Wait for status or 5s timeout
volcanoClient.podGroups().inNamespace(namespace).withName(groupName).waitUntilCondition(group -> Objects.nonNull(group.getStatus()) && group.getStatus().getPhase().equals("Running"), 5, TimeUnit.SECONDS);
System.out.println("Created: " + podGroup.getMetadata().getName());
// List PodGroup
PodGroupList podGroupList = volcanoClient.podGroups().inNamespace(namespace).list();
System.out.println("There are " + podGroupList.getItems().size() + " PodGroup objects in " + namespace);
// Delete PodGroup
volcanoClient.podGroups().inNamespace(namespace).withName(groupName).delete();
}
}
Aggregations