use of io.fabric8.openshift.api.model.DeploymentConfigList in project kubernetes-client by fabric8io.
the class ListDeploymentConfigs method main.
public static void main(String[] args) {
try (OpenShiftClient client = new KubernetesClientBuilder().build().adapt(OpenShiftClient.class)) {
if (!client.supportsOpenShiftAPIGroup(OpenShiftAPIGroups.APPS)) {
logger.warn("This cluster does not support the API Group {}", OpenShiftAPIGroups.APPS);
return;
}
DeploymentConfigList list = client.deploymentConfigs().list();
if (list == null) {
logger.error("No list returned!");
return;
}
List<DeploymentConfig> items = list.getItems();
for (DeploymentConfig item : items) {
logger.info("DeploymentConfig {} has version: {}", item.getMetadata().getName(), item.getApiVersion());
}
if (!items.isEmpty()) {
DeploymentConfig deploymentConfig = items.get(0);
String name = deploymentConfig.getMetadata().getName();
deploymentConfig = client.deploymentConfigs().withName(name).get();
if (deploymentConfig == null) {
logger.error("No DeploymentConfig found for name {}", name);
return;
}
logger.info("get() DeploymentConfig {} has version: {}", name, deploymentConfig.getApiVersion());
}
} catch (KubernetesClientException e) {
logger.error("Failed: {}", e.getMessage(), e);
}
}
use of io.fabric8.openshift.api.model.DeploymentConfigList in project kubernetes-client by fabric8io.
the class DeploymentConfigTest method testList.
@Test
void testList() {
server.expect().withPath("/apis/apps.openshift.io/v1/namespaces/test/deploymentconfigs").andReturn(200, new DeploymentConfigListBuilder().build()).once();
server.expect().withPath("/apis").andReturn(200, new APIGroupListBuilder().addNewGroup().withApiVersion("v1").withName("autoscaling.k8s.io").endGroup().addNewGroup().withApiVersion("v1").withName("security.openshift.io").endGroup().build()).always();
server.expect().withPath("/apis/apps.openshift.io/v1/namespaces/ns1/deploymentconfigs").andReturn(200, new DeploymentConfigListBuilder().addNewItem().and().addNewItem().and().build()).once();
server.expect().withPath("/apis/apps.openshift.io/v1/deploymentconfigs").andReturn(200, new DeploymentConfigListBuilder().addNewItem().and().addNewItem().and().addNewItem().and().build()).once();
DeploymentConfigList buildConfigList = client.deploymentConfigs().list();
assertNotNull(buildConfigList);
assertEquals(0, buildConfigList.getItems().size());
buildConfigList = client.deploymentConfigs().inNamespace("ns1").list();
assertNotNull(buildConfigList);
assertEquals(2, buildConfigList.getItems().size());
buildConfigList = client.deploymentConfigs().inAnyNamespace().list();
assertNotNull(buildConfigList);
assertEquals(3, buildConfigList.getItems().size());
}
use of io.fabric8.openshift.api.model.DeploymentConfigList in project kubernetes-client by fabric8io.
the class DeploymentConfigScale method main.
public static void main(String[] args) {
if (args.length < 2) {
System.err.println("Usage nameOfDC replicas");
return;
}
String name = args[0];
String replicaText = args[1];
int replicas;
try {
replicas = Integer.parseInt(replicaText);
} catch (NumberFormatException e) {
System.out.println("Could not parse integer " + replicaText + " due to: " + e);
return;
}
try (OpenShiftClient client = new KubernetesClientBuilder().build().adapt(OpenShiftClient.class)) {
Integer oldReplicas = 0;
if (!client.supportsOpenShiftAPIGroup(OpenShiftAPIGroups.APPS)) {
System.out.println("WARNING this cluster does not support the API Group " + OpenShiftAPIGroups.APPS);
return;
}
DeployableScalableResource<DeploymentConfig> resource = client.deploymentConfigs().withName(name);
DeploymentConfig deploymentConfig = resource.get();
if (deploymentConfig == null) {
System.out.println("Could not find a DeploymentConfig for name: " + name);
return;
}
try {
DeploymentConfigSpec spec = deploymentConfig.getSpec();
oldReplicas = spec.getReplicas();
spec.setReplicas(replicas);
DeploymentConfig updated = resource.patch(deploymentConfig);
System.out.println("Updated the DeploymentConfig " + name + " version: " + deploymentConfig.getApiVersion() + " with replicas: " + replicas + " to resourceVersion: " + updated.getMetadata().getResourceVersion());
} catch (Exception e) {
System.out.println("Failed to update the DeploymentConfig " + name + " with replicas: " + replicas);
e.printStackTrace();
}
// now lets find the DC via list
DeploymentConfigList list = Objects.requireNonNull(client.deploymentConfigs().list(), "No DeploymentConfigList returned");
List<DeploymentConfig> items = Objects.requireNonNull(list.getItems(), "No DeploymentConfigList.getItems() returned");
DeploymentConfig found = null;
for (DeploymentConfig item : items) {
if (name.equals(item.getMetadata().getName())) {
found = item;
break;
}
}
Objects.requireNonNull(found, "Could not find DeploymentConfig in list.getItems() for name: " + name);
found.getSpec().setReplicas(oldReplicas);
try {
DeploymentConfig updated = resource.patch(found);
System.out.println("Updated the list.item DeploymentConfig " + name + " version: " + found.getApiVersion() + " with replicas: " + oldReplicas + " to resourceVersion: " + updated.getMetadata().getResourceVersion());
} catch (Exception e) {
System.out.println("Failed to update the list.item DeploymentConfig " + name + " with replicas: " + oldReplicas);
e.printStackTrace();
}
} catch (KubernetesClientException e) {
System.out.println("Failed: " + e);
e.printStackTrace();
}
}
use of io.fabric8.openshift.api.model.DeploymentConfigList in project kubernetes-client by fabric8io.
the class DeploymentConfigIT method list.
@Test
public void list() {
DeploymentConfigList aDeploymentConfigList = client.deploymentConfigs().inNamespace(session.getNamespace()).list();
assertThat(aDeploymentConfigList).isNotNull();
assertTrue(aDeploymentConfigList.getItems().size() >= 1);
}
use of io.fabric8.openshift.api.model.DeploymentConfigList in project kubernetes-client by fabric8io.
the class DeploymentConfigCrudTest method testCrud.
@Test
void testCrud() {
DeploymentConfig deploymentConfig1 = new DeploymentConfigBuilder().withNewMetadata().withName("deploymentConfig1").withNamespace("ns1").addToLabels("testKey", "testValue").endMetadata().build();
DeploymentConfig deploymentConfig2 = new DeploymentConfigBuilder().withNewMetadata().withName("deploymentConfig2").withNamespace("ns1").addToLabels("testKey", "testValue").endMetadata().build();
DeploymentConfig deploymentConfig3 = new DeploymentConfigBuilder().withNewMetadata().withName("deploymentConfig3").addToLabels("testKey", "testValue").withNamespace("ns2").endMetadata().build();
client.deploymentConfigs().inNamespace("ns1").create(deploymentConfig1);
client.deploymentConfigs().inNamespace("ns1").create(deploymentConfig2);
client.deploymentConfigs().inNamespace("ns2").create(deploymentConfig3);
DeploymentConfigList aDeploymentConfigList = client.deploymentConfigs().list();
assertNotNull(aDeploymentConfigList);
assertEquals(0, aDeploymentConfigList.getItems().size());
aDeploymentConfigList = client.deploymentConfigs().inAnyNamespace().list();
assertNotNull(aDeploymentConfigList);
assertEquals(3, aDeploymentConfigList.getItems().size());
aDeploymentConfigList = client.deploymentConfigs().inNamespace("ns1").list();
assertNotNull(aDeploymentConfigList);
assertEquals(2, aDeploymentConfigList.getItems().size());
aDeploymentConfigList = client.deploymentConfigs().inNamespace("ns1").withLabels(Collections.singletonMap("testKey", "testValue")).list();
assertNotNull(aDeploymentConfigList);
assertEquals(2, aDeploymentConfigList.getItems().size());
deploymentConfig3 = client.deploymentConfigs().inNamespace("ns2").withName("deploymentConfig3").edit(d -> new DeploymentConfigBuilder(d).editMetadata().addToLabels("testkey1", "testvalue2").endMetadata().build());
assertNotNull(deploymentConfig3);
assertEquals(2, deploymentConfig3.getMetadata().getLabels().size());
// ! Doesn't work
// boolean bDeleted = client.deploymentConfigs().inNamespace("ns1").withName("deploymentConfig2").delete();
// assertTrue(bDeleted);
}
Aggregations