You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2020/07/02 06:21:29 UTC
[pulsar] branch master updated: [pulsar-cli] fix update-cluster cli
updates proxy-url (#7422)
This is an automated email from the ASF dual-hosted git repository.
sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git
The following commit(s) were added to refs/heads/master by this push:
new 1e152bd [pulsar-cli] fix update-cluster cli updates proxy-url (#7422)
1e152bd is described below
commit 1e152bd1ef1d3c4b48de0179c66efa899ea34330
Author: Rajan Dhabalia <rd...@apache.org>
AuthorDate: Wed Jul 1 23:21:16 2020 -0700
[pulsar-cli] fix update-cluster cli updates proxy-url (#7422)
### Motivation
Pulsar-admin CLI doesn't update cluster-metadata with proxy-url and proxy-protocol.
### Modification
Fix CLI to update proxy metadata.
---
.../java/org/apache/pulsar/broker/admin/AdminApiTest2.java | 14 ++++++++++++++
.../main/java/org/apache/pulsar/admin/cli/CmdClusters.java | 10 ++++++++--
.../apache/pulsar/common/policies/data/ClusterData.java | 2 ++
3 files changed, 24 insertions(+), 2 deletions(-)
diff --git a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java
index 1fad0f8..ba246ea 100644
--- a/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java
+++ b/pulsar-broker/src/test/java/org/apache/pulsar/broker/admin/AdminApiTest2.java
@@ -62,6 +62,7 @@ import org.apache.pulsar.client.api.Consumer;
import org.apache.pulsar.client.api.Message;
import org.apache.pulsar.client.api.MessageRoutingMode;
import org.apache.pulsar.client.api.Producer;
+import org.apache.pulsar.client.api.ProxyProtocol;
import org.apache.pulsar.client.api.PulsarClient;
import org.apache.pulsar.client.api.PulsarClientException;
import org.apache.pulsar.client.api.SubscriptionInitialPosition;
@@ -1269,4 +1270,17 @@ public class AdminApiTest2 extends MockedPulsarServiceBaseTest {
}
}
+ @Test
+ public void testUpdateClusterWithProxyUrl() throws Exception {
+ ClusterData cluster = new ClusterData(pulsar.getWebServiceAddress());
+ String clusterName = "test2";
+ admin.clusters().createCluster(clusterName, cluster);
+ Assert.assertEquals(admin.clusters().getCluster(clusterName), cluster);
+
+ // update
+ cluster.setProxyServiceUrl("proxy");
+ cluster.setProxyProtocol(ProxyProtocol.SNI);
+ admin.clusters().updateCluster(clusterName, cluster);
+ Assert.assertEquals(admin.clusters().getCluster(clusterName), cluster);
+ }
}
diff --git a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdClusters.java b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdClusters.java
index 75f80ee..8ea2e36 100644
--- a/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdClusters.java
+++ b/pulsar-client-tools/src/main/java/org/apache/pulsar/admin/cli/CmdClusters.java
@@ -101,10 +101,16 @@ public class CmdClusters extends CmdBase {
@Parameter(names = "--broker-url-secure", description = "broker-service-url for secure connection", required = false)
private String brokerServiceUrlTls;
+ @Parameter(names = "--proxy-url", description = "Proxy-service url when client would like to connect to broker via proxy.", required = false)
+ private String proxyServiceUrl;
+
+ @Parameter(names = "--proxy-protocol", description = "protocol to decide type of proxy routing eg: SNI", required = false)
+ private ProxyProtocol proxyProtocol;
+
void run() throws PulsarAdminException {
String cluster = getOneArgument(params);
- admin.clusters().updateCluster(cluster,
- new ClusterData(serviceUrl, serviceUrlTls, brokerServiceUrl, brokerServiceUrlTls));
+ admin.clusters().updateCluster(cluster, new ClusterData(serviceUrl, serviceUrlTls, brokerServiceUrl,
+ brokerServiceUrlTls, proxyServiceUrl, proxyProtocol));
}
}
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/ClusterData.java b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/ClusterData.java
index 35cecbb..4f17811 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/ClusterData.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/policies/data/ClusterData.java
@@ -117,6 +117,8 @@ public class ClusterData {
this.serviceUrlTls = other.serviceUrlTls;
this.brokerServiceUrl = other.brokerServiceUrl;
this.brokerServiceUrlTls = other.brokerServiceUrlTls;
+ this.proxyServiceUrl = other.proxyServiceUrl;
+ this.proxyProtocol = other.proxyProtocol;
}
public String getServiceUrl() {