This is an automated email from the ASF dual-hosted git repository. healchow pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push: new 6d9966167 [INLONG-6004][Manager] Command tools add CRUD for inlong cluster node (#6007) 6d9966167 is described below commit 6d9966167c89388cb14381e59176399e51eccaa5 Author: haifxu <xhf1208357...@gmail.com> AuthorDate: Mon Sep 26 16:24:40 2022 +0800 [INLONG-6004][Manager] Command tools add CRUD for inlong cluster node (#6007) --- .../inlong/manager/client/cli/CreateCommand.java | 28 ++++++++++++++++++ .../inlong/manager/client/cli/DeleteCommand.java | 24 ++++++++++++++++ .../inlong/manager/client/cli/DescribeCommand.java | 24 ++++++++++++++++ .../inlong/manager/client/cli/ListCommand.java | 33 +++++++++++++++++++++- .../inlong/manager/client/cli/UpdateCommand.java | 27 ++++++++++++++++++ .../manager/client/cli/pojo/ClusterNodeInfo.java | 28 ++++++++++++++++++ 6 files changed, 163 insertions(+), 1 deletion(-) diff --git a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/CreateCommand.java b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/CreateCommand.java index b314f2755..2c05d560d 100644 --- a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/CreateCommand.java +++ b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/CreateCommand.java @@ -26,6 +26,7 @@ import org.apache.inlong.manager.client.api.InlongStreamBuilder; import org.apache.inlong.manager.client.api.inner.client.InlongClusterClient; import org.apache.inlong.manager.client.cli.pojo.CreateGroupConf; import org.apache.inlong.manager.client.cli.util.ClientUtils; +import org.apache.inlong.manager.pojo.cluster.ClusterNodeRequest; import org.apache.inlong.manager.pojo.cluster.ClusterRequest; import org.apache.inlong.manager.pojo.cluster.ClusterTagRequest; @@ -46,6 +47,7 @@ public class CreateCommand extends AbstractCommand { jcommander.addCommand("group", new CreateGroup()); jcommander.addCommand("cluster", new CreateCluster()); jcommander.addCommand("cluster-tag", new CreateClusterTag()); + jcommander.addCommand("cluster-node", new CreateClusterNode()); } @Parameters(commandDescription = "Create group by json file") @@ -143,4 +145,30 @@ public class CreateCommand extends AbstractCommand { } } } + + @Parameters(commandDescription = "Create cluster node by json file") + private static class CreateClusterNode extends AbstractCommandRunner { + + @Parameter() + private List<String> params; + + @Parameter(names = {"-f", "--file"}, description = "json file", converter = FileConverter.class) + private File file; + + @Override + void run() { + try { + String content = ClientUtils.readFile(file); + ClusterNodeRequest request = objectMapper.readValue(content, ClusterNodeRequest.class); + ClientUtils.initClientFactory(); + InlongClusterClient clusterClient = ClientUtils.clientFactory.getClusterClient(); + Integer nodeId = clusterClient.saveNode(request); + if (nodeId != null) { + System.out.println("Create cluster node success! ID: " + nodeId); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } } diff --git a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DeleteCommand.java b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DeleteCommand.java index e9734a846..984404bf5 100644 --- a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DeleteCommand.java +++ b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DeleteCommand.java @@ -41,6 +41,7 @@ public class DeleteCommand extends AbstractCommand { jcommander.addCommand("group", new DeleteGroup()); jcommander.addCommand("cluster", new DeleteCluster()); jcommander.addCommand("cluster-tag", new DeleteClusterTag()); + jcommander.addCommand("cluster-node", new DeleteClusterNode()); } @Parameters(commandDescription = "Delete group by group id") @@ -112,4 +113,27 @@ public class DeleteCommand extends AbstractCommand { } } } + + @Parameters(commandDescription = "Delete cluster node by node id") + private static class DeleteClusterNode extends AbstractCommandRunner { + + @Parameter() + private List<String> params; + + @Parameter(names = {"-id", "--id"}, required = true, description = "cluster node id") + private int nodeId; + + @Override + void run() { + try { + ClientUtils.initClientFactory(); + InlongClusterClient clusterClient = ClientUtils.clientFactory.getClusterClient(); + if (clusterClient.deleteNode(nodeId)) { + System.out.println("Delete cluster node success!"); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } } diff --git a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DescribeCommand.java b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DescribeCommand.java index 77f263b75..82bd9c56b 100644 --- a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DescribeCommand.java +++ b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/DescribeCommand.java @@ -28,6 +28,7 @@ import org.apache.inlong.manager.client.cli.pojo.GroupInfo; import org.apache.inlong.manager.client.cli.util.ClientUtils; import org.apache.inlong.manager.client.cli.util.PrintUtils; import org.apache.inlong.manager.pojo.cluster.ClusterInfo; +import org.apache.inlong.manager.pojo.cluster.ClusterNodeResponse; import org.apache.inlong.manager.pojo.cluster.ClusterTagResponse; import org.apache.inlong.manager.pojo.common.PageResult; import org.apache.inlong.manager.pojo.group.InlongGroupBriefInfo; @@ -56,6 +57,7 @@ public class DescribeCommand extends AbstractCommand { jcommander.addCommand("source", new DescribeSource()); jcommander.addCommand("cluster", new DescribeCluster()); jcommander.addCommand("cluster-tag", new DescribeClusterTag()); + jcommander.addCommand("cluster-node", new DescribeClusterNode()); } @Parameters(commandDescription = "Get stream details") @@ -207,4 +209,26 @@ public class DescribeCommand extends AbstractCommand { } } } + + @Parameters(commandDescription = "Get cluster node details") + private static class DescribeClusterNode extends AbstractCommandRunner { + + @Parameter() + private List<String> params; + + @Parameter(names = {"-id", "--id"}, required = true, description = "cluster node id") + private int nodeId; + + @Override + void run() { + try { + ClientUtils.initClientFactory(); + InlongClusterClient clusterClient = ClientUtils.clientFactory.getClusterClient(); + ClusterNodeResponse nodeInfo = clusterClient.getNode(nodeId); + PrintUtils.printJson(nodeInfo); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } } diff --git a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/ListCommand.java b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/ListCommand.java index b5fc82eeb..330a93dae 100644 --- a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/ListCommand.java +++ b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/ListCommand.java @@ -24,6 +24,7 @@ import org.apache.inlong.manager.client.api.inner.client.InlongGroupClient; import org.apache.inlong.manager.client.api.inner.client.InlongStreamClient; import org.apache.inlong.manager.client.api.inner.client.StreamSinkClient; import org.apache.inlong.manager.client.api.inner.client.StreamSourceClient; +import org.apache.inlong.manager.client.cli.pojo.ClusterNodeInfo; import org.apache.inlong.manager.client.cli.pojo.ClusterTagInfo; import org.apache.inlong.manager.client.cli.pojo.GroupInfo; import org.apache.inlong.manager.client.cli.pojo.SinkInfo; @@ -34,6 +35,7 @@ import org.apache.inlong.manager.client.cli.util.PrintUtils; import org.apache.inlong.manager.client.cli.validator.ClusterTypeValidator; import org.apache.inlong.manager.common.enums.SimpleGroupStatus; import org.apache.inlong.manager.pojo.cluster.ClusterInfo; +import org.apache.inlong.manager.pojo.cluster.ClusterNodeResponse; import org.apache.inlong.manager.pojo.cluster.ClusterPageRequest; import org.apache.inlong.manager.pojo.cluster.ClusterTagPageRequest; import org.apache.inlong.manager.pojo.cluster.ClusterTagResponse; @@ -64,6 +66,7 @@ public class ListCommand extends AbstractCommand { jcommander.addCommand("source", new ListSource()); jcommander.addCommand("cluster", new ListCluster()); jcommander.addCommand("cluster-tag", new ListClusterTag()); + jcommander.addCommand("cluster-node", new ListClusterNode()); } @Parameters(commandDescription = "Get stream summary information") @@ -217,7 +220,7 @@ public class ListCommand extends AbstractCommand { @Parameter() private List<String> params; - @Parameter(names = {"-ct", "--tag"}, description = "cluster tag") + @Parameter(names = {"--tag"}, description = "cluster tag") private String tag; @Override @@ -234,4 +237,32 @@ public class ListCommand extends AbstractCommand { } } } + + @Parameters(commandDescription = "Get cluster node summary information") + private static class ListClusterNode extends AbstractCommandRunner { + + @Parameter() + private List<String> params; + + @Parameter(names = {"--tag"}, description = "cluster tag") + private String tag; + + @Parameter(names = {"--type"}, description = "cluster type") + private String type; + + @Override + void run() { + try { + ClientUtils.initClientFactory(); + ClusterPageRequest request = new ClusterPageRequest(); + request.setClusterTag(tag); + request.setType(type); + InlongClusterClient clusterClient = ClientUtils.clientFactory.getClusterClient(); + PageResult<ClusterNodeResponse> nodeInfo = clusterClient.listNode(request); + PrintUtils.print(nodeInfo.getList(), ClusterNodeInfo.class); + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } } diff --git a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/UpdateCommand.java b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/UpdateCommand.java index e16b0491c..f1045f78e 100644 --- a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/UpdateCommand.java +++ b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/UpdateCommand.java @@ -25,6 +25,7 @@ import org.apache.inlong.manager.client.api.InlongClient; import org.apache.inlong.manager.client.api.InlongGroup; import org.apache.inlong.manager.client.api.inner.client.InlongClusterClient; import org.apache.inlong.manager.client.cli.util.ClientUtils; +import org.apache.inlong.manager.pojo.cluster.ClusterNodeRequest; import org.apache.inlong.manager.pojo.cluster.ClusterRequest; import org.apache.inlong.manager.pojo.cluster.ClusterTagRequest; import org.apache.inlong.manager.pojo.sort.BaseSortConf; @@ -47,6 +48,7 @@ public class UpdateCommand extends AbstractCommand { jcommander.addCommand("group", new UpdateCommand.UpdateGroup()); jcommander.addCommand("cluster", new UpdateCommand.UpdateCluster()); jcommander.addCommand("cluster-tag", new UpdateCommand.UpdateClusterTag()); + jcommander.addCommand("cluster-node", new UpdateCommand.UpdateClusterNode()); } @Parameters(commandDescription = "Update group by json file") @@ -131,4 +133,29 @@ public class UpdateCommand extends AbstractCommand { } } } + + @Parameters(commandDescription = "Update cluster node by json file") + private static class UpdateClusterNode extends AbstractCommandRunner { + + @Parameter() + private List<String> params; + + @Parameter(names = {"-f", "--file"}, description = "json file", converter = FileConverter.class) + private File file; + + @Override + void run() { + try { + String content = ClientUtils.readFile(file); + ClusterNodeRequest request = objectMapper.readValue(content, ClusterNodeRequest.class); + ClientUtils.initClientFactory(); + InlongClusterClient clusterClient = ClientUtils.clientFactory.getClusterClient(); + if (clusterClient.updateNode(request)) { + System.out.println("Update cluster node success!"); + } + } catch (Exception e) { + System.out.println(e.getMessage()); + } + } + } } diff --git a/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/pojo/ClusterNodeInfo.java b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/pojo/ClusterNodeInfo.java new file mode 100644 index 000000000..302502746 --- /dev/null +++ b/inlong-manager/manager-client-tools/src/main/java/org/apache/inlong/manager/client/cli/pojo/ClusterNodeInfo.java @@ -0,0 +1,28 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.inlong.manager.client.cli.pojo; + +import lombok.Data; + +@Data +public class ClusterNodeInfo { + + private String type; + private String ip; + private Integer port; +}