This is an automated email from the ASF dual-hosted git repository. heneveld pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 4c3cdf17db20ea7d216269ff83fd59b1c7227dd4 Author: Alex Heneveld <a...@cloudsoft.io> AuthorDate: Fri Jan 5 10:07:10 2024 +0000 bump kubernetes-client to latest version to work with snakeyaml 2.x minor code changes --- .../kubernetes/KubernetesClientRegistryImpl.java | 8 ++++- .../location/kubernetes/KubernetesLocation.java | 39 +++------------------- .../location/openshift/OpenShiftLocation.java | 12 ++++--- pom.xml | 2 +- 4 files changed, 20 insertions(+), 41 deletions(-) diff --git a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java index f0bbecf553..432ef5c189 100644 --- a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java +++ b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesClientRegistryImpl.java @@ -105,8 +105,14 @@ public class KubernetesClientRegistryImpl implements KubernetesClientRegistry { } Duration actionTimeout = conf.get(KubernetesLocationConfig.ACTION_TIMEOUT); if (actionTimeout.isPositive()) { - configBuilder.withRollingTimeout(actionTimeout.toMilliseconds()); + // removed in 6.x; not sure what the replacement is + // configBuilder.withRollingTimeout(actionTimeout.toMilliseconds()); + + // never used (considered as replacement for above); takes integers so probably something different + // configBuilder.withUploadRequestTimeout(actionTimeout.toMilliseconds()); + configBuilder.withScaleTimeout(actionTimeout.toMilliseconds()); + } else { throw new IllegalArgumentException("Kubernetes action timeout should be a positive duration: " + actionTimeout.toString()); } diff --git a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java index b49754617a..84df59e2f6 100644 --- a/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java +++ b/locations/container/src/main/java/org/apache/brooklyn/container/location/kubernetes/KubernetesLocation.java @@ -23,6 +23,7 @@ import java.net.InetAddress; import java.nio.charset.Charset; import java.util.Arrays; import java.util.Collection; +import java.util.Collections; import java.util.List; import java.util.Map; import java.util.Set; @@ -32,7 +33,6 @@ import java.util.concurrent.TimeUnit; import com.google.common.base.Functions; import com.google.common.base.Joiner; import com.google.common.base.Optional; -import com.google.common.base.Predicates; import com.google.common.base.Stopwatch; import com.google.common.base.Throwables; import com.google.common.collect.ImmutableList; @@ -45,6 +45,7 @@ import com.google.common.collect.Sets; import com.google.common.io.BaseEncoding; import com.google.common.net.HostAndPort; +import io.fabric8.kubernetes.api.model.*; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.location.LocationSpec; import org.apache.brooklyn.api.location.MachineLocation; @@ -90,36 +91,6 @@ import org.apache.brooklyn.util.time.Duration; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import io.fabric8.kubernetes.api.model.Container; -import io.fabric8.kubernetes.api.model.ContainerBuilder; -import io.fabric8.kubernetes.api.model.ContainerPort; -import io.fabric8.kubernetes.api.model.ContainerPortBuilder; -import io.fabric8.kubernetes.api.model.EndpointAddress; -import io.fabric8.kubernetes.api.model.EndpointSubset; -import io.fabric8.kubernetes.api.model.Endpoints; -import io.fabric8.kubernetes.api.model.EnvVar; -import io.fabric8.kubernetes.api.model.EnvVarBuilder; -import io.fabric8.kubernetes.api.model.HasMetadata; -import io.fabric8.kubernetes.api.model.LabelSelector; -import io.fabric8.kubernetes.api.model.LabelSelectorBuilder; -import io.fabric8.kubernetes.api.model.Namespace; -import io.fabric8.kubernetes.api.model.NamespaceBuilder; -import io.fabric8.kubernetes.api.model.PersistentVolume; -import io.fabric8.kubernetes.api.model.PersistentVolumeBuilder; -import io.fabric8.kubernetes.api.model.Pod; -import io.fabric8.kubernetes.api.model.PodList; -import io.fabric8.kubernetes.api.model.PodTemplateSpec; -import io.fabric8.kubernetes.api.model.PodTemplateSpecBuilder; -import io.fabric8.kubernetes.api.model.QuantityBuilder; -import io.fabric8.kubernetes.api.model.ReplicationController; -import io.fabric8.kubernetes.api.model.ResourceRequirements; -import io.fabric8.kubernetes.api.model.ResourceRequirementsBuilder; -import io.fabric8.kubernetes.api.model.Secret; -import io.fabric8.kubernetes.api.model.SecretBuilder; -import io.fabric8.kubernetes.api.model.Service; -import io.fabric8.kubernetes.api.model.ServiceBuilder; -import io.fabric8.kubernetes.api.model.ServicePort; -import io.fabric8.kubernetes.api.model.ServicePortBuilder; import io.fabric8.kubernetes.api.model.apps.Deployment; import io.fabric8.kubernetes.api.model.apps.DeploymentBuilder; import io.fabric8.kubernetes.api.model.apps.DeploymentStatus; @@ -252,12 +223,12 @@ public class KubernetesLocation extends AbstractLocation implements MachineProvi final String resourceType = entity.sensors().get(KubernetesResource.RESOURCE_TYPE); final String resourceName = entity.sensors().get(KubernetesResource.RESOURCE_NAME); - if (!handleResourceDelete(resourceType, resourceName, namespace)) { + if (handleResourceDelete(resourceType, resourceName, namespace).isEmpty()) { LOG.warn("Resource {}: {} not deleted", resourceName, resourceType); } } - protected boolean handleResourceDelete(String resourceType, String resourceName, String namespace) { + protected List<StatusDetails> handleResourceDelete(String resourceType, String resourceName, String namespace) { try (KubernetesClient client = getClient()){ switch (resourceType) { case KubernetesResource.DEPLOYMENT: @@ -280,7 +251,7 @@ public class KubernetesLocation extends AbstractLocation implements MachineProvi } catch (KubernetesClientException kce) { LOG.warn("Error deleting resource {}: {}", resourceName, kce); } - return false; + return Collections.emptyList(); } protected void undeploy(final String namespace, final String deployment) { diff --git a/locations/container/src/main/java/org/apache/brooklyn/container/location/openshift/OpenShiftLocation.java b/locations/container/src/main/java/org/apache/brooklyn/container/location/openshift/OpenShiftLocation.java index 5f81e8622c..1e9b5976ca 100644 --- a/locations/container/src/main/java/org/apache/brooklyn/container/location/openshift/OpenShiftLocation.java +++ b/locations/container/src/main/java/org/apache/brooklyn/container/location/openshift/OpenShiftLocation.java @@ -19,8 +19,11 @@ package org.apache.brooklyn.container.location.openshift; import java.net.InetAddress; +import java.util.Collections; +import java.util.List; import java.util.Map; +import io.fabric8.kubernetes.api.model.StatusDetails; import org.apache.brooklyn.api.entity.Entity; import org.apache.brooklyn.api.location.LocationSpec; import org.apache.brooklyn.container.entity.openshift.OpenShiftPod; @@ -76,10 +79,9 @@ public class OpenShiftLocation extends KubernetesLocation implements OpenShiftLo } @Override - protected boolean handleResourceDelete(String resourceType, String resourceName, String namespace) { - if (super.handleResourceDelete(resourceType, resourceName, namespace)) { - return true; - } + protected List<StatusDetails> handleResourceDelete(String resourceType, String resourceName, String namespace) { + List<StatusDetails> result = super.handleResourceDelete(resourceType, resourceName, namespace); + if (!result.isEmpty()) return result; try { switch (resourceType) { @@ -95,7 +97,7 @@ public class OpenShiftLocation extends KubernetesLocation implements OpenShiftLo } catch (KubernetesClientException kce) { LOG.warn("Error deleting resource {}: {}", resourceName, kce); } - return false; + return Collections.emptyList(); } @Override diff --git a/pom.xml b/pom.xml index 5c2395b046..8f3ea8c3d9 100644 --- a/pom.xml +++ b/pom.xml @@ -185,7 +185,7 @@ <maxmind-db.version>1.2.1</maxmind-db.version> <winrm4j.version>0.12.3</winrm4j.version> <!-- WINRM4J_VERSION --> <felix-osgi-compendium.version>1.4.0</felix-osgi-compendium.version> - <kubernetes-client.version>5.8.0</kubernetes-client.version> + <kubernetes-client.version>6.9.2</kubernetes-client.version> <!-- Dependencies shipped with vanilla karaf; update these when we update the karaf version --> <karaf.version>4.3.8</karaf.version>