This is an automated email from the ASF dual-hosted git repository. cdmikechen pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/submarine.git
The following commit(s) were added to refs/heads/master by this push: new 56ca90997 SUBMARINE-1414. Upgrade java k8s client to 18(k8s-java-client)/6.7(fabric8) 56ca90997 is described below commit 56ca90997faf16ea9e122cea91dfd92541e1f86d Author: cdmikechen <cdmikec...@hotmail.com> AuthorDate: Sat Nov 11 21:33:03 2023 +0800 SUBMARINE-1414. Upgrade java k8s client to 18(k8s-java-client)/6.7(fabric8) ### What is this PR for? Upgrade java k8s client lib to latest version and fix codes when updating the version ### What type of PR is it? Improvement ### Todos * [x] - Update k8s-client to 18 * [x] - Update fabric to 6.7 * [x] - Update java operator sdk to 4.5 * [x] - Fix unit test error ### What is the Jira issue? https://issues.apache.org/jira/browse/SUBMARINE-1414 ### How should this be tested? CI test ### Screenshots (if appropriate) ### Questions: * Do the license files need updating? No * Are there breaking changes for older versions? No * Does this need new documentation? No Author: cdmikechen <cdmikec...@hotmail.com> Author: cdmikechen <cdmikec...@apache.org> Signed-off-by: cdmikechen <cdmikec...@apache.org> Closes #1115 from cdmikechen/SUBMARINE-1414 and squashes the following commits: 53c108d8 [cdmikechen] update operator test 32a42f23 [cdmikechen] update operator-sdk 3cb06982 [cdmikechen] update protobuf to 3.22.0 0f8d9af8 [cdmikechen] update k8s java version --- pom.xml | 6 +++--- .../server-submitter/submarine-k8s-agent/pom.xml | 2 +- .../submarine/server/k8s/agent/SubmarineAgentListener.java | 8 +------- .../submarine/server/k8s/agent/SubmitSubmarineAgentTest.java | 12 +++++------- 4 files changed, 10 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index 2a6023528..b49ad04d8 100644 --- a/pom.xml +++ b/pom.xml @@ -135,9 +135,9 @@ <json.version>20211205</json.version> <!-- Submarine on Kubernetes --> - <k8s.client-java.version>17.0.2</k8s.client-java.version> + <k8s.client-java.version>18.0.1</k8s.client-java.version> <kotlin-stdlib.version>1.6.10</kotlin-stdlib.version> - <k8s.fabric8.version>6.6.1</k8s.fabric8.version> + <k8s.fabric8.version>6.7.2</k8s.fabric8.version> <jersey.test-framework>2.27</jersey.test-framework> <!-- integration test--> @@ -149,7 +149,7 @@ <guice-servlet.version>3.0</guice-servlet.version> <guice.version>3.0</guice.version> <!-- server API --> - <protobuf-java.version>3.21.10</protobuf-java.version> + <protobuf-java.version>3.22.0</protobuf-java.version> <joda-time.version>2.10.8</joda-time.version> <!-- pac4j --> <pac4j.version>5.6.1</pac4j.version> diff --git a/submarine-server/server-submitter/submarine-k8s-agent/pom.xml b/submarine-server/server-submitter/submarine-k8s-agent/pom.xml index 000ac8079..76fd3d878 100644 --- a/submarine-server/server-submitter/submarine-k8s-agent/pom.xml +++ b/submarine-server/server-submitter/submarine-k8s-agent/pom.xml @@ -37,7 +37,7 @@ <dependency> <groupId>io.javaoperatorsdk</groupId> <artifactId>operator-framework</artifactId> - <version>4.3.2</version> + <version>4.5.0</version> <exclusions> <exclusion> <groupId>com.fasterxml.jackson.core</groupId> diff --git a/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/SubmarineAgentListener.java b/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/SubmarineAgentListener.java index 1ae7ec9c4..dd0a5992d 100644 --- a/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/SubmarineAgentListener.java +++ b/submarine-server/server-submitter/submarine-k8s-agent/src/main/java/org/apache/submarine/server/k8s/agent/SubmarineAgentListener.java @@ -19,8 +19,6 @@ package org.apache.submarine.server.k8s.agent; -import io.fabric8.kubernetes.client.KubernetesClient; -import io.fabric8.kubernetes.client.KubernetesClientBuilder; import io.javaoperatorsdk.operator.Operator; import io.javaoperatorsdk.operator.api.config.ControllerConfigurationOverrider; import io.javaoperatorsdk.operator.api.reconciler.Reconciler; @@ -49,10 +47,8 @@ public class SubmarineAgentListener { public static final DateTimeFormatter DTF = DateTimeFormatter.ISO_DATE_TIME; public static void main(String[] args) throws IOException { - // create kubernetes client - KubernetesClient client = new KubernetesClientBuilder().build(); // create operator - Operator operator = new Operator(client); + Operator operator = new Operator(); // scan all Reconciler implemented subclasses Reflections reflections = new Reflections("org.apache.submarine.server.k8s.agent"); Set<Class<? extends Reconciler>> reconcilers = reflections.getSubTypesOf(Reconciler.class); @@ -69,8 +65,6 @@ public class SubmarineAgentListener { } ); LOGGER.info("Starting agent with SUBMARINE_UID={}", OwnerReferenceConfig.getSubmarineUid()); - // Adds a shutdown hook that automatically calls stop() when the app shuts down. - operator.installShutdownHook(); // start operator operator.start(); // Provide a lightweight service to handle health checks diff --git a/submarine-server/server-submitter/submarine-k8s-agent/src/test/java/org/apache/submarine/server/k8s/agent/SubmitSubmarineAgentTest.java b/submarine-server/server-submitter/submarine-k8s-agent/src/test/java/org/apache/submarine/server/k8s/agent/SubmitSubmarineAgentTest.java index fe20aed13..779bddfa0 100644 --- a/submarine-server/server-submitter/submarine-k8s-agent/src/test/java/org/apache/submarine/server/k8s/agent/SubmitSubmarineAgentTest.java +++ b/submarine-server/server-submitter/submarine-k8s-agent/src/test/java/org/apache/submarine/server/k8s/agent/SubmitSubmarineAgentTest.java @@ -24,9 +24,7 @@ import io.fabric8.kubernetes.api.model.ObjectMetaBuilder; import io.fabric8.kubernetes.api.model.OwnerReferenceBuilder; import io.fabric8.kubernetes.api.model.apiextensions.v1.CustomResourceDefinition; import io.fabric8.kubernetes.client.KubernetesClient; -import io.fabric8.kubernetes.client.dsl.base.CustomResourceDefinitionContext; import io.fabric8.kubernetes.client.server.mock.KubernetesServer; -import io.fabric8.kubernetes.internal.KubernetesDeserializer; import io.javaoperatorsdk.operator.Operator; import org.apache.ibatis.session.SqlSession; import org.apache.submarine.commons.utils.SubmarineConfiguration; @@ -103,10 +101,10 @@ public class SubmitSubmarineAgentTest { // set client and operator client = server.getClient(); - operator = new Operator(client); + operator = new Operator(client, null); // create notbook resource - KubernetesDeserializer.registerCustomKind("apiextensions.k8s.io/v1","Notebook", NotebookResource.class); + client.getKubernetesSerialization().registerKubernetesResource("apiextensions.k8s.io/v1","Notebook", NotebookResource.class); CustomResourceDefinition notebookCrd = client .apiextensions().v1() .customResourceDefinitions() @@ -116,7 +114,7 @@ public class SubmitSubmarineAgentTest { client.apiextensions().v1().customResourceDefinitions().createOrReplace(notebookCrd); // create tf resource - KubernetesDeserializer.registerCustomKind("apiextensions.k8s.io/v1", "TFJob", TFJob.class); + client.getKubernetesSerialization().registerKubernetesResource("apiextensions.k8s.io/v1", "TFJob", TFJob.class); CustomResourceDefinition tfCrd = client .apiextensions().v1() .customResourceDefinitions() @@ -126,7 +124,7 @@ public class SubmitSubmarineAgentTest { client.apiextensions().v1().customResourceDefinitions().create(tfCrd); // create pytorch resource - KubernetesDeserializer.registerCustomKind("apiextensions.k8s.io/v1", "PyTorchJob", PyTorchJob.class); + client.getKubernetesSerialization().registerKubernetesResource("apiextensions.k8s.io/v1", "PyTorchJob", PyTorchJob.class); CustomResourceDefinition ptCrd = client .apiextensions().v1() .customResourceDefinitions() @@ -136,7 +134,7 @@ public class SubmitSubmarineAgentTest { client.apiextensions().v1().customResourceDefinitions().create(ptCrd); // create xgboost resource - KubernetesDeserializer.registerCustomKind("apiextensions.k8s.io/v1", "XGBoostJob", XGBoostJob.class); + client.getKubernetesSerialization().registerKubernetesResource("apiextensions.k8s.io/v1", "XGBoostJob", XGBoostJob.class); CustomResourceDefinition xgbCrd = client .apiextensions().v1() .customResourceDefinitions() --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@submarine.apache.org For additional commands, e-mail: dev-h...@submarine.apache.org