You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/08/04 10:39:16 UTC
[1/3] stratos git commit: Changing PortMappingBean class for
kubernetesPortType
Repository: stratos
Updated Branches:
refs/heads/master 1c2997172 -> 874a22089
Changing PortMappingBean class for kubernetesPortType
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/874a2208
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/874a2208
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/874a2208
Branch: refs/heads/master
Commit: 874a22089d04fbc7c5a1c4348742707f2c2bb671
Parents: 86af82f
Author: Pubudu Gunatilaka <pu...@gmail.com>
Authored: Tue Aug 4 13:18:10 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Tue Aug 4 14:09:08 2015 +0530
----------------------------------------------------------------------
.../apache/stratos/common/beans/cartridge/PortMappingBean.java | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/874a2208/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
index 0bc919e..cff84c6 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
@@ -74,7 +74,6 @@ public class PortMappingBean {
return " [ Name: " + getName() + ", " +
"Protocol: " + getProtocol() + ", " +
"Port: " + getPort() + ", " +
- "Proxy port: " + getProxyPort() + ", " +
- "Type: " + getKubernetesPortType() + "] ";
+ "Proxy port: " + getProxyPort() + "] ";
}
}
[3/3] stratos git commit: Changing nodeport configurable in kubernetes
Posted by im...@apache.org.
Changing nodeport configurable in kubernetes
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/86af82ff
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/86af82ff
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/86af82ff
Branch: refs/heads/master
Commit: 86af82ffc7f8da996131e683912e832b300173ae
Parents: 1c29971
Author: Pubudu Gunatilaka <pu...@gmail.com>
Authored: Tue Aug 4 13:12:08 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Tue Aug 4 14:09:08 2015 +0530
----------------------------------------------------------------------
.../controller/domain/ClusterPortMapping.java | 11 +-
.../cloud/controller/domain/PortMapping.java | 9 +
.../iaases/kubernetes/KubernetesIaas.java | 66 +-
.../messaging/topology/TopologyBuilder.java | 43 +-
.../common/beans/cartridge/PortMappingBean.java | 16 +-
.../kubernetes/client/KubernetesApiClient.java | 26 +-
.../kubernetes/client/KubernetesConstants.java | 1 +
.../KubernetesAPIClientInterface.java | 17 +-
.../client/live/AbstractLiveTest.java | 4 +-
.../live/KubernetesApiClientLiveTest.java | 3 +-
.../domain/topology/KubernetesService.java | 9 +
.../rest/endpoint/api/StratosApiV41Utils.java | 26 +
.../util/converter/ObjectConverter.java | 4 +-
samples/cartridges/kubernetes/php.json | 3 +-
.../main/resources/CloudControllerService.wsdl | 1101 +++++++++---------
15 files changed, 723 insertions(+), 616 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterPortMapping.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterPortMapping.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterPortMapping.java
index e816459..ee0ba91 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterPortMapping.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/ClusterPortMapping.java
@@ -32,6 +32,7 @@ public class ClusterPortMapping extends PortMapping implements Serializable {
private String clusterId;
private boolean kubernetes;
private int kubernetesServicePort;
+ private String kubernetesServiceType;
public ClusterPortMapping() {
}
@@ -61,6 +62,14 @@ public class ClusterPortMapping extends PortMapping implements Serializable {
kubernetes = true;
}
+ public void setKubernetesServiceType(String kubernetesServiceType) {
+ this.kubernetesServiceType = kubernetesServiceType;
+ }
+
+ public String getKubernetesServiceType() {
+ return kubernetesServiceType;
+ }
+
public boolean isKubernetes() {
return kubernetes;
}
@@ -73,6 +82,6 @@ public class ClusterPortMapping extends PortMapping implements Serializable {
public String toString() {
return "[application-id] " + getApplicationId() + " [cluster-id] " + getClusterId() + ", " +
- super.toString() + " [kubernetes-service-port] "+ getKubernetesServicePort();
+ super.toString() + " [kubernetes-service-port] " + getKubernetesServicePort();
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java
index b33eb97..5e2e35e 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/PortMapping.java
@@ -28,6 +28,15 @@ public class PortMapping implements Serializable {
private String protocol;
private int port;
private int proxyPort;
+ private String kubernetesPortType;
+
+ public String getKubernetesPortType() {
+ return kubernetesPortType;
+ }
+
+ public void setKubernetesPortType(String kubernetesPortType) {
+ this.kubernetesPortType = kubernetesPortType;
+ }
public PortMapping() {
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
index 6fdaaf4..5904346 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/iaases/kubernetes/KubernetesIaas.java
@@ -520,12 +520,13 @@ public class KubernetesIaas extends Iaas {
}
// Create kubernetes service for port mapping
- int nodePort = clusterPortMapping.getKubernetesServicePort();
+ int servicePort = clusterPortMapping.getKubernetesServicePort();
+ String serviceType = clusterPortMapping.getKubernetesServiceType();
String containerPortName = KubernetesIaasUtil.preparePortNameFromPortMapping(clusterPortMapping);
try {
// Services need to use minions private IP addresses for creating iptable rules
- kubernetesApi.createService(serviceId, serviceLabel, nodePort, containerPortName,
+ kubernetesApi.createService(serviceId, serviceLabel, servicePort, serviceType, containerPortName,
containerPort, sessionAffinity);
} finally {
// Persist kubernetes service sequence no
@@ -546,14 +547,23 @@ public class KubernetesIaas extends Iaas {
String[] minionPublicIPArray = minionPublicIPList.toArray(new String[minionPublicIPList.size()]);
kubernetesService.setPublicIPs(minionPublicIPArray);
kubernetesService.setProtocol(clusterPortMapping.getProtocol());
- kubernetesService.setPort(service.getSpec().getPorts().get(0).getNodePort());
+
+ String kubernetesServiceType = service.getSpec().getType();
+ kubernetesService.setServiceType(kubernetesServiceType);
+
+ if (kubernetesServiceType.equals(KubernetesConstants.NODE_PORT)) {
+ kubernetesService.setPort(service.getSpec().getPorts().get(0).getNodePort());
+ } else {
+ kubernetesService.setPort(service.getSpec().getPorts().get(0).getPort());
+ }
+
kubernetesService.setContainerPort(containerPort);
kubernetesServices.add(kubernetesService);
if (log.isInfoEnabled()) {
log.info(String.format("Kubernetes service successfully created: [cluster] %s [service] %s " +
"[protocol] %s [node-port] %d [container-port] %s", clusterId,
- serviceId, clusterPortMapping.getProtocol(), nodePort, containerPort));
+ serviceId, clusterPortMapping.getProtocol(), servicePort, containerPort));
}
}
}
@@ -589,35 +599,48 @@ public class KubernetesIaas extends Iaas {
StringBuilder portMappingStrBuilder = new StringBuilder();
for (PortMapping portMapping : Arrays.asList(cartridge.getPortMappings())) {
- int nextServicePort = kubernetesClusterContext.getNextServicePort();
- if (nextServicePort == -1) {
- throw new RuntimeException(String.format("Could not generate service port: [cluster-id] %s " +
- "[port] %d", clusterId, portMapping.getPort()));
- }
-
Collection<ClusterPortMapping> clusterPortMappings =
CloudControllerContext.getInstance().getClusterPortMappings(applicationId, clusterId);
- if(clusterPortMappings == null) {
+ if (clusterPortMappings == null) {
throw new CloudControllerException(String.format("Cluster port mappings not found: " +
"[application-id] %s [cluster-id] %s", applicationId, clusterId));
}
ClusterPortMapping clusterPortMapping = findClusterPortMapping(clusterPortMappings, portMapping);
- if(clusterPortMappings == null) {
+ if (clusterPortMappings == null) {
throw new CloudControllerException(String.format("Cluster port mapping not found: " +
- "[application-id] %s [cluster-id] %s [transport] %s", applicationId, clusterId,
+ "[application-id] %s [cluster-id] %s [transport] %s", applicationId, clusterId,
portMapping.getName()));
}
- clusterPortMapping.setKubernetesServicePort(nextServicePort);
+ if (clusterPortMapping.getKubernetesServiceType() == null) {
+ throw new CloudControllerException(String.format("Kubernetes service type not " +
+ "found [application-id] %s [cluster-id] %s [cartridge] %s", applicationId,
+ clusterId, cartridge));
+ }
+
+ String serviceType = portMapping.getKubernetesPortType();
+ clusterPortMapping.setKubernetesServiceType(serviceType);
+
+ if (serviceType.equals(KubernetesConstants.NODE_PORT)) {
+ int nextServicePort = kubernetesClusterContext.getNextServicePort();
+ if (nextServicePort == -1) {
+ throw new RuntimeException(String.format("Could not generate service port: [cluster-id] %s " +
+ "[port] %d", clusterId, portMapping.getPort()));
+ }
+ clusterPortMapping.setKubernetesServicePort(nextServicePort);
+ } else {
+ clusterPortMapping.setKubernetesServicePort(portMapping.getPort());
+ }
// Add port mappings to payload
if (portMappingStrBuilder.toString().length() > 0) {
portMappingStrBuilder.append(";");
}
- portMappingStrBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d",
+ portMappingStrBuilder.append(String.format("NAME:%s|PROTOCOL:%s|PORT:%d|PROXY_PORT:%d|TYPE:%s",
clusterPortMapping.getName(), clusterPortMapping.getProtocol(),
- clusterPortMapping.getKubernetesServicePort(), clusterPortMapping.getProxyPort()));
+ clusterPortMapping.getKubernetesServicePort(), clusterPortMapping.getProxyPort(),
+ clusterPortMapping.getKubernetesServiceType()));
if (log.isInfoEnabled()) {
log.info(String.format("Kubernetes service port generated: [application-id] %s " +
@@ -644,8 +667,8 @@ public class KubernetesIaas extends Iaas {
* @return
*/
private ClusterPortMapping findClusterPortMapping(Collection<ClusterPortMapping> clusterPortMappings, PortMapping portMapping) {
- for(ClusterPortMapping clusterPortMapping : clusterPortMappings) {
- if(clusterPortMapping.getName().equals(portMapping.getName())) {
+ for (ClusterPortMapping clusterPortMapping : clusterPortMappings) {
+ if (clusterPortMapping.getName().equals(portMapping.getName())) {
return clusterPortMapping;
}
}
@@ -869,6 +892,7 @@ public class KubernetesIaas extends Iaas {
/**
* Remove kubernetes services if available for application cluster.
+ *
* @param applicationId
* @param clusterId
*/
@@ -876,12 +900,12 @@ public class KubernetesIaas extends Iaas {
ClusterContext clusterContext =
CloudControllerContext.getInstance().getClusterContext(clusterId);
- if(clusterContext != null) {
+ if (clusterContext != null) {
String kubernetesClusterId = clusterContext.getKubernetesClusterId();
- if(org.apache.commons.lang3.StringUtils.isNotBlank(kubernetesClusterId)) {
+ if (org.apache.commons.lang3.StringUtils.isNotBlank(kubernetesClusterId)) {
KubernetesClusterContext kubernetesClusterContext =
CloudControllerContext.getInstance().getKubernetesClusterContext(kubernetesClusterId);
- if(kubernetesClusterContext != null) {
+ if (kubernetesClusterContext != null) {
KubernetesApiClient kubernetesApiClient = kubernetesClusterContext.getKubApi();
for (KubernetesService kubernetesService : clusterContext.getKubernetesServices()) {
log.info(String.format("Deleting kubernetes service: [application-id] %s " +
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
index b04204e..a11c5bf 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java
@@ -31,6 +31,7 @@ import org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPubl
import org.apache.stratos.cloud.controller.statistics.publisher.BAMUsageDataPublisher;
import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
import org.apache.stratos.common.Property;
+import org.apache.stratos.kubernetes.client.KubernetesConstants;
import org.apache.stratos.messaging.domain.application.ClusterDataHolder;
import org.apache.stratos.messaging.domain.instance.ClusterInstance;
import org.apache.stratos.messaging.domain.topology.*;
@@ -171,17 +172,20 @@ public class TopologyBuilder {
}
log.debug("Creating cluster port mappings: [appication-id] " + appId);
- for(Cluster cluster : appClusters) {
+ for (Cluster cluster : appClusters) {
String cartridgeType = cluster.getServiceName();
Cartridge cartridge = CloudControllerContext.getInstance().getCartridge(cartridgeType);
- if(cartridge == null) {
+ if (cartridge == null) {
throw new CloudControllerException("Cartridge not found: [cartridge-type] " + cartridgeType);
}
- for(PortMapping portMapping : cartridge.getPortMappings()) {
+ for (PortMapping portMapping : cartridge.getPortMappings()) {
ClusterPortMapping clusterPortMapping = new ClusterPortMapping(appId,
cluster.getClusterId(), portMapping.getName(), portMapping.getProtocol(), portMapping.getPort(),
portMapping.getProxyPort());
+ if (portMapping.getKubernetesPortType() != null) {
+ clusterPortMapping.setKubernetesServiceType(portMapping.getKubernetesPortType());
+ }
CloudControllerContext.getInstance().addClusterPortMapping(clusterPortMapping);
log.debug("Cluster port mapping created: " + clusterPortMapping.toString());
}
@@ -848,20 +852,23 @@ public class TopologyBuilder {
try {
// Generate access URLs for kubernetes services
for (KubernetesService kubernetesService : kubernetesServices) {
- // Public IP = Kubernetes minion public IP
- String[] publicIPs = kubernetesService.getPublicIPs();
- if ((publicIPs != null) && (publicIPs.length > 0)) {
- for (String publicIP : publicIPs) {
- // There can be a String array with null values
- if (publicIP != null) {
- // Using type URI since only http, https, ftp, file, jar protocols are supported in URL
- URI accessURL = new URI(kubernetesService.getProtocol(), null, publicIP,
- kubernetesService.getPort(), null, null, null);
- cluster.addAccessUrl(accessURL.toString());
- clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
- } else {
- log.error(String.format("Could not create access URL for [Kubernetes-service] %s , " +
- "since Public IP is not available", kubernetesService.getId()));
+
+ if (kubernetesService.getServiceType().equals(KubernetesConstants.NODE_PORT)) {
+ // Public IP = Kubernetes minion public IP
+ String[] publicIPs = kubernetesService.getPublicIPs();
+ if ((publicIPs != null) && (publicIPs.length > 0)) {
+ for (String publicIP : publicIPs) {
+ // There can be a String array with null values
+ if (publicIP != null) {
+ // Using type URI since only http, https, ftp, file, jar protocols are supported in URL
+ URI accessURL = new URI(kubernetesService.getProtocol(), null, publicIP,
+ kubernetesService.getPort(), null, null, null);
+ cluster.addAccessUrl(accessURL.toString());
+ clusterInstanceActivatedEvent.addAccessUrl(accessURL.toString());
+ } else {
+ log.error(String.format("Could not create access URL for [Kubernetes-service] %s , " +
+ "since Public IP is not available", kubernetesService.getId()));
+ }
}
}
}
@@ -1050,7 +1057,7 @@ public class TopologyBuilder {
// Remove kubernetes services if available
ClusterContext clusterContext =
CloudControllerContext.getInstance().getClusterContext(event.getClusterId());
- if(StringUtils.isNotBlank(clusterContext.getKubernetesClusterId())) {
+ if (StringUtils.isNotBlank(clusterContext.getKubernetesClusterId())) {
KubernetesIaas.removeKubernetesServices(event.getAppId(), event.getClusterId());
}
} else {
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
index b0db909..0bc919e 100644
--- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
+++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/beans/cartridge/PortMappingBean.java
@@ -28,6 +28,15 @@ public class PortMappingBean {
private String protocol;
private int port;
private int proxyPort;
+ private String kubernetesPortType;
+
+ public String getKubernetesPortType() {
+ return kubernetesPortType;
+ }
+
+ public void setKubernetesPortType(String kubernetesPortType) {
+ this.kubernetesPortType = kubernetesPortType;
+ }
public String getName() {
return name;
@@ -63,8 +72,9 @@ public class PortMappingBean {
public String toString() {
return " [ Name: " + getName() + ", " +
- "Protocol: " + getProtocol() + ", " +
- "Port: " + getPort() + ", " +
- "Proxy port: " + getProxyPort() + "] ";
+ "Protocol: " + getProtocol() + ", " +
+ "Port: " + getPort() + ", " +
+ "Proxy port: " + getProxyPort() + ", " +
+ "Type: " + getKubernetesPortType() + "] ";
}
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
index f176cd9..cfdaf77 100644
--- a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
+++ b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesApiClient.java
@@ -155,22 +155,23 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface {
*
* @param serviceId Service id
* @param serviceLabel Service name to be used by the label name
- * @param nodePort Port to be exposed by the kubernetes node
+ * @param servicePort Port to be exposed by the kubernetes node
* @param containerPortName Container port name defined in the port label
* @param containerPort Container port
* @param sessionAffinity Session affinity configuration
+ * @param serviceType Service type
* @throws KubernetesClientException
*/
@Override
- public void createService(String serviceId, String serviceLabel, int nodePort,
+ public void createService(String serviceId, String serviceLabel, int servicePort, String serviceType,
String containerPortName, int containerPort, String sessionAffinity)
throws KubernetesClientException {
try {
if (log.isDebugEnabled()) {
- log.debug(String.format("Creating kubernetes service: [service-id] %s [service-name] %s [service-port] %d " +
- "[container-port-name] %s", serviceId, serviceLabel, nodePort,
- containerPortName));
+ log.debug(String.format("Creating kubernetes service: [service-id] %s [service-name] %s [service-port] " +
+ "%d [container-port-name] %s [service-type] %s", serviceId, serviceLabel, servicePort,
+ containerPortName, serviceType));
}
// Create service definition
@@ -183,7 +184,12 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface {
service.getMetadata().setName(serviceId);
service.getSpec().setSessionAffinity(sessionAffinity);
- service.getSpec().setType(KubernetesConstants.NODE_PORT);
+
+ if (serviceType.equals(KubernetesConstants.NODE_PORT)) {
+ service.getSpec().setType(KubernetesConstants.NODE_PORT);
+ } else {
+ service.getSpec().setType(KubernetesConstants.CLUSTER_IP);
+ }
// Set port
List<ServicePort> ports = new ArrayList<ServicePort>();
@@ -191,7 +197,9 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface {
port.setName(containerPortName);
port.setPort(containerPort);
port.setTargetPort(new IntOrString(containerPort));
- port.setNodePort(nodePort);
+ if (serviceType.equals(KubernetesConstants.NODE_PORT)) {
+ port.setNodePort(servicePort);
+ }
ports.add(port);
service.getSpec().setPorts(ports);
@@ -211,12 +219,12 @@ public class KubernetesApiClient implements KubernetesAPIClientInterface {
if (log.isDebugEnabled()) {
log.debug(String.format("Kubernetes service created successfully: [service-id] %s [service-name] %s " +
"[node-port] %d [container-port-name] %s [container-port] %d", serviceId, serviceLabel,
- nodePort, containerPortName, containerPort));
+ servicePort, containerPortName, containerPort));
}
} catch (Exception e) {
String message = String.format("Could not create kubernetes service: [service-id] %s [service-name] %s " +
"[node-port] %d [container-port-name] %s [container-port] %d", serviceId, serviceLabel,
- nodePort, containerPortName, containerPort);
+ servicePort, containerPortName, containerPort);
log.error(message, e);
throw new KubernetesClientException(message, e);
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesConstants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesConstants.java b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesConstants.java
index 9c8fc7a..d4dd02c 100644
--- a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesConstants.java
+++ b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/KubernetesConstants.java
@@ -33,4 +33,5 @@ public class KubernetesConstants {
public static final String RESOURCE_CPU = "cpu";
public static final String RESOURCE_MEMORY = "memory";
public static final String NODE_PORT = "NodePort";
+ public static final String CLUSTER_IP = "ClusterIP";
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/interfaces/KubernetesAPIClientInterface.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/interfaces/KubernetesAPIClientInterface.java b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/interfaces/KubernetesAPIClientInterface.java
index 6741d6b..ceeca1c 100644
--- a/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/interfaces/KubernetesAPIClientInterface.java
+++ b/components/org.apache.stratos.kubernetes.client/src/main/java/org/apache/stratos/kubernetes/client/interfaces/KubernetesAPIClientInterface.java
@@ -33,12 +33,12 @@ public interface KubernetesAPIClientInterface {
/**
* Create pod.
*
- * @param podId id of the pod
- * @param podLabel pod label
- * @param dockerImage docker image name
- * @param cpu number of cpu cores
- * @param memory memory allocation in mega bytes
- * @param ports ports to be opened
+ * @param podId id of the pod
+ * @param podLabel pod label
+ * @param dockerImage docker image name
+ * @param cpu number of cpu cores
+ * @param memory memory allocation in mega bytes
+ * @param ports ports to be opened
* @param environmentVariables environment variables
* @throws KubernetesClientException
*/
@@ -76,13 +76,14 @@ public interface KubernetesAPIClientInterface {
*
* @param serviceId
* @param serviceLabel
- * @param nodePort
+ * @param servicePort
+ * @param serviceType
* @param containerPortName
* @param containerPort
* @param sessionAffinity
* @throws KubernetesClientException
*/
- public void createService(String serviceId, String serviceLabel, int nodePort,
+ public void createService(String serviceId, String serviceLabel, int servicePort, String serviceType,
String containerPortName, int containerPort, String sessionAffinity)
throws KubernetesClientException;
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/AbstractLiveTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/AbstractLiveTest.java b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/AbstractLiveTest.java
index 293723c..0ee580d 100644
--- a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/AbstractLiveTest.java
+++ b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/AbstractLiveTest.java
@@ -196,10 +196,10 @@ public class AbstractLiveTest extends TestCase {
}
}
- protected void createService(String serviceId, String serviceName, int nodePort, String containerPortName,
+ protected void createService(String serviceId, String serviceName, int nodePort, String serviceType, String containerPortName,
int containerPort, List<String> publicIPs) throws KubernetesClientException, InterruptedException, IOException {
log.info("Creating service...");
- client.createService(serviceId, serviceName, nodePort, containerPortName, containerPort,
+ client.createService(serviceId, serviceName, nodePort, serviceType, containerPortName, containerPort,
KubernetesConstants.SESSION_AFFINITY_CLIENT_IP);
serviceIdList.add(serviceId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
index 64c2f69..79c32a7 100644
--- a/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
+++ b/components/org.apache.stratos.kubernetes.client/src/test/java/org/apache/stratos/kubernetes/client/live/KubernetesApiClientLiveTest.java
@@ -71,8 +71,9 @@ public class KubernetesApiClientLiveTest extends AbstractLiveTest {
String serviceId = "tomcat-domain-1";
String serviceName = "stratos-test-pod";
String containerPortName = "http-1";
+ String serviceType = "NodePort";
- createService(serviceId, serviceName, SERVICE_PORT, containerPortName, containerPort, minionPublicIPs);
+ createService(serviceId, serviceName, SERVICE_PORT, serviceType, containerPortName, containerPort, minionPublicIPs);
createPod("stratos-test-pod-3", serviceName, containerPortName, 1, 512);
createPod("stratos-test-pod-4", serviceName, containerPortName, 2, 512);
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/KubernetesService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/KubernetesService.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/KubernetesService.java
index fc02179..9cee9d7 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/KubernetesService.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/domain/topology/KubernetesService.java
@@ -34,6 +34,15 @@ public class KubernetesService implements Serializable {
private String protocol;
private int port;
private int containerPort;
+ private String serviceType;
+
+ public String getServiceType() {
+ return serviceType;
+ }
+
+ public void setServiceType(String serviceType) {
+ this.serviceType = serviceType;
+ }
public String getId() {
return id;
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
index fae0f5e..fdf9aa6 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java
@@ -104,6 +104,9 @@ public class StratosApiV41Utils {
public static final String APPLICATION_STATUS_DEPLOYED = "Deployed";
public static final String APPLICATION_STATUS_CREATED = "Created";
public static final String APPLICATION_STATUS_UNDEPLOYING = "Undeploying";
+ public static final String KUBERNETES_SERVICE_TYPE_NODEPORT = "NodePort";
+ public static final String KUBERNETES_SERVICE_TYPE_CLUSTERIP = "ClusterIP";
+ public static final String KUBERNETES_IAAS_PROVIDER = "kubernetes";
private static final Log log = LogFactory.getLog(StratosApiV41Utils.class);
@@ -127,6 +130,14 @@ public class StratosApiV41Utils {
cartridgeBean.getType()));
}
+ boolean isKubernetesIaasProviderAvailable = false;
+
+ for (IaasProviderBean providers : iaasProviders) {
+ if (providers.getType().equals(KUBERNETES_IAAS_PROVIDER)) {
+ isKubernetesIaasProviderAvailable = true;
+ }
+ }
+
for (PortMappingBean portMapping : cartridgeBean.getPortMapping()) {
if (StringUtils.isBlank(portMapping.getName())) {
portMapping.setName(portMapping.getProtocol() + "-" + portMapping.getPort());
@@ -136,6 +147,21 @@ public class StratosApiV41Utils {
cartridgeBean.getType(), portMapping.getName()));
}
}
+
+ String type = portMapping.getKubernetesPortType();
+
+ if (isKubernetesIaasProviderAvailable) {
+ if (type == null) {
+ throw new RestAPIException((String.format("Type is not found in portmapping: %s - Possible " +
+ "values - %s and %s", portMapping.getName(), KUBERNETES_SERVICE_TYPE_NODEPORT,
+ KUBERNETES_SERVICE_TYPE_CLUSTERIP)));
+ } else if (!type.equals(KUBERNETES_SERVICE_TYPE_NODEPORT) && !type.equals(KUBERNETES_SERVICE_TYPE_CLUSTERIP)) {
+ throw new RestAPIException((String.format("Type is not found in portmapping: %s - Possible " +
+ "values - %s and %s", portMapping.getName(), KUBERNETES_SERVICE_TYPE_NODEPORT,
+ KUBERNETES_SERVICE_TYPE_CLUSTERIP)));
+ }
+ }
+
}
Cartridge cartridgeConfig = createCartridgeConfig(cartridgeBean);
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
index c452de8..798882e 100644
--- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
+++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/util/converter/ObjectConverter.java
@@ -131,6 +131,7 @@ public class ObjectConverter {
portMapping.setProtocol(portMappingBeanArray[i].getProtocol());
portMapping.setPort(portMappingBeanArray[i].getPort());
portMapping.setProxyPort(portMappingBeanArray[i].getProxyPort());
+ portMapping.setKubernetesPortType(portMappingBeanArray[i].getKubernetesPortType());
portMappingArray[i] = portMapping;
}
@@ -151,6 +152,7 @@ public class ObjectConverter {
portMappingBean.setProtocol(portMapping.getProtocol());
portMappingBean.setPort(portMapping.getPort());
portMappingBean.setProxyPort(portMapping.getProxyPort());
+ portMappingBean.setKubernetesPortType(portMapping.getKubernetesPortType());
portMappingBeans.add(portMappingBean);
}
return portMappingBeans;
@@ -1387,7 +1389,7 @@ public class ObjectConverter {
infoContext.setDeploymentPolicy(subscribableInfo.getDeploymentPolicy());
infoContext.setMaxMembers(subscribableInfo.getMaxMembers());
infoContext.setMinMembers(subscribableInfo.getMinMembers());
- infoContext.setLvsVirtualIP(subscribableInfo.getLvsVirtualIP());
+ infoContext.setLvsVirtualIP(subscribableInfo.getLvsVirtualIP());
if (subscribableInfo.getArtifactRepository() != null) {
ArtifactRepositoryBean artifactRepository = subscribableInfo.getArtifactRepository();
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/samples/cartridges/kubernetes/php.json
----------------------------------------------------------------------
diff --git a/samples/cartridges/kubernetes/php.json b/samples/cartridges/kubernetes/php.json
index 85adc13..cdb47ab 100755
--- a/samples/cartridges/kubernetes/php.json
+++ b/samples/cartridges/kubernetes/php.json
@@ -13,7 +13,8 @@
"name": "http-80",
"protocol": "http",
"port": "80",
- "proxyPort": "8281"
+ "proxyPort": "8281",
+ "kubernetesPortType":"NodePort"
}
],
"deployment": {
[2/3] stratos git commit: Changing nodeport configurable in kubernetes
Posted by im...@apache.org.
http://git-wip-us.apache.org/repos/asf/stratos/blob/86af82ff/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
----------------------------------------------------------------------
diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
index 03abeb0..c63166c 100644
--- a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
+++ b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl
@@ -1,295 +1,333 @@
-<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://domain.common.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://domain.common.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
<wsdl:types>
- <xs:schema xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+ <xs:schema xmlns:ax28="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax211="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
<xs:import namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/>
<xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/>
- <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
<xs:import namespace="http://topology.domain.messaging.stratos.apache.org/xsd"/>
- <xs:element name="getIaasProviders">
+ <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
+ <xs:element name="CloudControllerServiceInvalidClusterException">
<xs:complexType>
- <xs:sequence/>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/>
+ </xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getIaasProvidersResponse">
+ <xs:element name="terminateInstances">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridges">
+ <xs:element name="terminateInstancesResponse">
<xs:complexType>
- <xs:sequence/>
+ <xs:sequence>
+ <xs:element name="return" type="xs:boolean"/>
+ </xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridgesResponse">
+ <xs:element name="CloudControllerServiceCartridgeNotFoundException">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCartridgeNotFoundException">
+ <xs:element name="registerService">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
+ <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridge">
+ <xs:element name="registerServiceResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridgeResponse">
+ <xs:element name="CloudControllerServiceUnregisteredClusterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Cartridge"/>
+ <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
+ <xs:element name="unregisterService">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidIaasProviderException">
+ <xs:element name="unregisterServiceResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
+ <xs:element name="CloudControllerServiceInvalidPartitionException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax21:CartridgeAlreadyExistsException"/>
+ <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax21:InvalidPartitionException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addCartridge">
+ <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:Cartridge"/>
+ <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addCartridgeResponse">
+ <xs:element name="validateDeploymentPolicyNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
+ <xs:element name="validateDeploymentPolicyNetworkPartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax21:NetworkPartitionAlreadyExistsException"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidNetworkPartitionException">
+ <xs:element name="validatePartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidNetworkPartitionException" nillable="true" type="ax21:InvalidNetworkPartitionException"/>
+ <xs:element minOccurs="0" name="partition" nillable="true" type="ax26:Partition"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addNetworkPartition">
+ <xs:element name="validatePartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax26:NetworkPartition"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addNetworkPartitionResponse">
+ <xs:element name="updateClusterStatus">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="status" nillable="true" type="ax27:ClusterStatus"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getNetworkPartition">
+ <xs:element name="updateClusterStatusResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getNetworkPartitionResponse">
+ <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:NetworkPartition"/>
+ <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax21:ApplicationClusterRegistrationException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getNetworkPartitions">
+ <xs:element name="createApplicationClusters">
<xs:complexType>
- <xs:sequence/>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax26:ApplicationClusterContext"/>
+ </xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getNetworkPartitionsResponse">
+ <xs:element name="createApplicationClustersResponse">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:NetworkPartition"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
+ <xs:element name="CloudControllerServiceClusterInstanceCreationException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax21:NetworkPartitionNotExistsException"/>
+ <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax21:ClusterInstanceCreationException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeNetworkPartition">
+ <xs:element name="createClusterInstance">
<xs:complexType>
<xs:sequence>
+ <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeNetworkPartitionResponse">
+ <xs:element name="createClusterInstanceResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
+ <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
+ <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeCartridge">
+ <xs:element name="getMasterForKubernetesCluster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeCartridgeResponse">
+ <xs:element name="getMasterForKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesMaster"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCartridgeDefinitionNotExistsException">
+ <xs:element name="getHostsForKubernetesCluster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CartridgeDefinitionNotExistsException" nillable="true" type="ax21:CartridgeDefinitionNotExistsException"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateCartridge">
+ <xs:element name="getHostsForKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridge" nillable="true" type="ax26:Cartridge"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesHost"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateCartridgeResponse">
+ <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidServiceGroupException">
+ <xs:element name="addKubernetesHost">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroup">
+ <xs:element name="addKubernetesHostResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupResponse">
+ <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ServiceGroup"/>
+ <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addServiceGroup">
+ <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax26:ServiceGroup"/>
+ <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addServiceGroupResponse">
+ <xs:element name="updateKubernetesMaster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeServiceGroup">
+ <xs:element name="updateKubernetesMasterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeServiceGroupResponse">
+ <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getClusterContext">
+ <xs:element name="updateKubernetesHost">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getClusterContextResponse">
+ <xs:element name="updateKubernetesHostResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ClusterContext"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
+ <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/>
+ <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax21:NetworkPartitionNotExistsException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeKubernetesCluster">
+ <xs:element name="updateNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax26:NetworkPartition"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeKubernetesClusterResponse">
+ <xs:element name="updateNetworkPartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
+ <xs:element name="getClusterContext">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getClusterContextResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ClusterContext"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removeKubernetesCluster">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="removeKubernetesClusterResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -303,7 +341,7 @@
<xs:element name="removeKubernetesHostResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -331,7 +369,7 @@
<xs:element name="addKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -345,7 +383,7 @@
<xs:element name="updateKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -375,384 +413,346 @@
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCloudControllerException">
+ <xs:element name="CloudControllerServiceInvalidMemberException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/>
+ <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstance">
+ <xs:element name="CloudControllerServiceCloudControllerException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax26:InstanceContext"/>
+ <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstanceResponse">
+ <xs:element name="terminateInstance">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
+ <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidMemberException">
+ <xs:element name="terminateInstanceResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="terminateInstance">
+ <xs:element name="getCartridges">
<xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
- </xs:sequence>
+ <xs:sequence/>
</xs:complexType>
</xs:element>
- <xs:element name="terminateInstanceResponse">
+ <xs:element name="getCartridgesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidPartitionException">
+ <xs:element name="getCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax21:InvalidPartitionException"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validatePartition">
+ <xs:element name="getCartridgeResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="partition" nillable="true" type="ax26:Partition"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Cartridge"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validatePartitionResponse">
+ <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupSubGroups">
+ <xs:element name="CloudControllerServiceInvalidIaasProviderException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupSubGroupsResponse">
+ <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax21:CartridgeAlreadyExistsException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupCartridges">
+ <xs:element name="addCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:Cartridge"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupCartridgesResponse">
+ <xs:element name="addCartridgeResponse">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupDependencies">
+ <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax21:NetworkPartitionAlreadyExistsException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupDependenciesResponse">
+ <xs:element name="CloudControllerServiceInvalidNetworkPartitionException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Dependencies"/>
+ <xs:element minOccurs="0" name="InvalidNetworkPartitionException" nillable="true" type="ax21:InvalidNetworkPartitionException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validateDeploymentPolicyNetworkPartition">
+ <xs:element name="addNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax26:NetworkPartition"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validateDeploymentPolicyNetworkPartitionResponse">
+ <xs:element name="addNetworkPartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="registerService">
+ <xs:element name="getNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/>
+ <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="registerServiceResponse">
+ <xs:element name="getNetworkPartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax26:NetworkPartition"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstances">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="startInstancesResponse">
- <xs:complexType>
- <xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="terminateInstanceForcefully">
- <xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- </xs:element>
- <xs:element name="terminateInstanceForcefullyResponse">
+ <xs:element name="getNetworkPartitions">
<xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
- </xs:sequence>
+ <xs:sequence/>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidClusterException">
+ <xs:element name="getNetworkPartitionsResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:NetworkPartition"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="terminateInstances">
+ <xs:element name="removeNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="terminateInstancesResponse">
+ <xs:element name="removeNetworkPartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateClusterStatus">
+ <xs:element name="removeCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="status" nillable="true" type="ax212:ClusterStatus"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateClusterStatusResponse">
+ <xs:element name="removeCartridgeResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceUnregisteredClusterException">
+ <xs:element name="CloudControllerServiceCartridgeDefinitionNotExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/>
+ <xs:element minOccurs="0" name="CartridgeDefinitionNotExistsException" nillable="true" type="ax21:CartridgeDefinitionNotExistsException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="unregisterService">
+ <xs:element name="updateCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridge" nillable="true" type="ax26:Cartridge"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="unregisterServiceResponse">
+ <xs:element name="updateCartridgeResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
+ <xs:element name="CloudControllerServiceInvalidServiceGroupException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax21:ApplicationClusterRegistrationException"/>
+ <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createApplicationClusters">
+ <xs:element name="getServiceGroup">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax26:ApplicationClusterContext"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createApplicationClustersResponse">
+ <xs:element name="getServiceGroupResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ServiceGroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceClusterInstanceCreationException">
+ <xs:element name="addServiceGroup">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax21:ClusterInstanceCreationException"/>
+ <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax26:ServiceGroup"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createClusterInstance">
+ <xs:element name="addServiceGroupResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createClusterInstanceResponse">
+ <xs:element name="removeServiceGroup">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getMasterForKubernetesCluster">
+ <xs:element name="removeServiceGroupResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getMasterForKubernetesClusterResponse">
+ <xs:element name="terminateInstanceForcefully">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesMaster"/>
+ <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getHostsForKubernetesCluster">
+ <xs:element name="terminateInstanceForcefullyResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getHostsForKubernetesClusterResponse">
+ <xs:element name="getServiceGroupSubGroups">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesHost"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
+ <xs:element name="getServiceGroupSubGroupsResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addKubernetesHost">
+ <xs:element name="getServiceGroupCartridges">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addKubernetesHostResponse">
+ <xs:element name="getServiceGroupCartridgesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesHost">
+ <xs:element name="getServiceGroupDependencies">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesHostResponse">
+ <xs:element name="getServiceGroupDependenciesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Dependencies"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
+ <xs:element name="startInstances">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
+ <xs:element name="startInstancesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesMaster">
+ <xs:element name="getIaasProviders">
<xs:complexType>
- <xs:sequence>
- <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/>
- </xs:sequence>
+ <xs:sequence/>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesMasterResponse">
+ <xs:element name="getIaasProvidersResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateNetworkPartition">
+ <xs:element name="startInstance">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax26:NetworkPartition"/>
+ <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax26:InstanceContext"/>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateNetworkPartitionResponse">
+ <xs:element name="startInstanceResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://topology.domain.messaging.stratos.apache.org/xsd">
- <xs:complexType abstract="true" name="ClusterStatus">
+ <xs:complexType name="ClusterStatus">
<xs:complexContent>
<xs:extension base="xs:Enum">
<xs:sequence>
@@ -776,120 +776,120 @@
</xs:complexType>
</xs:schema>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://exception.controller.cloud.stratos.apache.org/xsd">
- <xs:complexType name="CartridgeNotFoundException">
+ <xs:complexType name="InvalidClusterException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidCartridgeDefinitionException">
+ <xs:complexType name="CartridgeNotFoundException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidIaasProviderException">
+ <xs:complexType name="UnregisteredClusterException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="CartridgeAlreadyExistsException">
- <xs:sequence/>
- </xs:complexType>
- <xs:complexType name="NetworkPartitionAlreadyExistsException">
+ <xs:complexType name="InvalidPartitionException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidNetworkPartitionException">
+ <xs:complexType name="InvalidCartridgeTypeException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="NetworkPartitionNotExistsException">
- <xs:sequence/>
- </xs:complexType>
- <xs:complexType name="InvalidCartridgeTypeException">
+ <xs:complexType name="ApplicationClusterRegistrationException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="CartridgeDefinitionNotExistsException">
+ <xs:complexType name="ClusterInstanceCreationException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidServiceGroupException">
+ <xs:complexType name="NonExistingKubernetesClusterException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="NonExistingKubernetesClusterException">
+ <xs:complexType name="InvalidKubernetesHostException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="NonExistingKubernetesHostException">
+ <xs:complexType name="InvalidKubernetesMasterException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidKubernetesClusterException">
+ <xs:complexType name="NonExistingKubernetesMasterException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="KubernetesClusterAlreadyExistsException">
+ <xs:complexType name="NonExistingKubernetesHostException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="CloudControllerException">
- <xs:complexContent>
- <xs:extension base="xs:RuntimeException">
- <xs:sequence/>
- </xs:extension>
- </xs:complexContent>
+ <xs:complexType name="NetworkPartitionNotExistsException">
+ <xs:sequence/>
</xs:complexType>
- <xs:complexType name="InvalidMemberException">
+ <xs:complexType name="InvalidKubernetesClusterException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidPartitionException">
+ <xs:complexType name="KubernetesClusterAlreadyExistsException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidClusterException">
+ <xs:complexType name="InvalidMemberException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="UnregisteredClusterException">
+ <xs:complexType name="CloudControllerException">
+ <xs:complexContent>
+ <xs:extension base="xs:RuntimeException">
+ <xs:sequence/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="InvalidCartridgeDefinitionException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="ApplicationClusterRegistrationException">
+ <xs:complexType name="InvalidIaasProviderException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="ClusterInstanceCreationException">
+ <xs:complexType name="CartridgeAlreadyExistsException">
+ <xs:sequence/>
+ </xs:complexType>
+ <xs:complexType name="NetworkPartitionAlreadyExistsException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidKubernetesHostException">
+ <xs:complexType name="InvalidNetworkPartitionException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidKubernetesMasterException">
+ <xs:complexType name="CartridgeDefinitionNotExistsException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="NonExistingKubernetesMasterException">
+ <xs:complexType name="InvalidServiceGroupException">
<xs:sequence>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
@@ -910,34 +910,34 @@
</xs:complexContent>
</xs:complexType>
</xs:schema>
- <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd">
+ <xs:schema xmlns:ax210="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd">
<xs:import namespace="http://common.stratos.apache.org/xsd"/>
- <xs:complexType name="KubernetesCluster">
- <xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax27:KubernetesHost"/>
- <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax27:KubernetesMaster"/>
- <xs:element minOccurs="0" name="portRange" nillable="true" type="ax27:PortRange"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
- </xs:sequence>
- </xs:complexType>
<xs:complexType name="KubernetesHost">
<xs:sequence>
<xs:element minOccurs="0" name="hostId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="privateIPAddress" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax210:Properties"/>
<xs:element minOccurs="0" name="publicIPAddress" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="KubernetesMaster">
<xs:complexContent>
- <xs:extension base="ax27:KubernetesHost">
+ <xs:extension base="ax29:KubernetesHost">
<xs:sequence/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
+ <xs:complexType name="KubernetesCluster">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax29:KubernetesHost"/>
+ <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/>
+ <xs:element minOccurs="0" name="portRange" nillable="true" type="ax29:PortRange"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax210:Properties"/>
+ </xs:sequence>
+ </xs:complexType>
<xs:complexType name="PortRange">
<xs:sequence>
<xs:element minOccurs="0" name="lower" type="xs:int"/>
@@ -945,9 +945,93 @@
</xs:sequence>
</xs:complexType>
</xs:schema>
- <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" xmlns:ax211="http://domain.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
+ <xs:schema xmlns:ax213="http://domain.common.stratos.apache.org/xsd" xmlns:ax25="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd">
<xs:import namespace="http://common.stratos.apache.org/xsd"/>
<xs:import namespace="http://domain.common.stratos.apache.org/xsd"/>
+ <xs:complexType name="Registrant">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+ <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Persistence">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Volume">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="size" type="xs:int"/>
+ <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="Partition">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+ <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ApplicationClusterContext">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="autoscalePolicyName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyClusterIds" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+ <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NetworkPartition">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax23:Partition"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+ <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="ClusterContext">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesServices" nillable="true" type="xs:anyType"/>
+ <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+ <xs:element minOccurs="0" name="timeoutInMillis" type="xs:long"/>
+ <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+ </xs:sequence>
+ </xs:complexType>
<xs:complexType name="Cartridge">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="appTypeMappings" nillable="true" type="ax23:AppType"/>
@@ -1017,53 +1101,13 @@
<xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="Persistence">
- <xs:sequence>
- <xs:element minOccurs="0" name="persistenceRequired" type="xs:boolean"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="Volume">
- <xs:sequence>
- <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/>
- <xs:element minOccurs="0" name="size" type="xs:int"/>
- <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
<xs:complexType name="PortMapping">
- <xs:sequence>
- <xs:element minOccurs="0" name="kubernetesServicePort" type="xs:int"/>
- <xs:element minOccurs="0" name="kubernetesServicePortMapping" type="xs:boolean"/>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="port" type="xs:int"/>
- <xs:element minOccurs="0" name="protocol" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="proxyPort" type="xs:int"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="NetworkPartition">
- <xs:sequence>
- <xs:element minOccurs="0" name="activeByDefault" type="xs:boolean"/>
- <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="partitionAlgo" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax23:Partition"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="Partition">
- <xs:sequence>
- <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="partitionMax" type="xs:int"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="kubernetesPortType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="port" type="xs:int"/>
+ <xs:element minOccurs="0" name="protocol" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="proxyPort" type="xs:int"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ServiceGroup">
@@ -1080,22 +1124,6 @@
<xs:element maxOccurs="unbounded" minOccurs="0" name="startupOrders" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="ClusterContext">
- <xs:sequence>
- <xs:element minOccurs="0" name="applicationId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="kubernetesServices" nillable="true" type="xs:anyType"/>
- <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
- <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element minOccurs="0" name="timeoutInMillis" type="xs:long"/>
- <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
- </xs:sequence>
- </xs:complexType>
<xs:complexType name="InstanceContext">
<xs:sequence>
<xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
@@ -1119,14 +1147,14 @@
<xs:element minOccurs="0" name="clusterInstanceId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="defaultPrivateIP" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="defaultPublicIP" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="dynamicPayload" nillable="true" type="ax210:NameValuePair"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="dynamicPayload" nillable="true" type="ax212:NameValuePair"/>
<xs:element minOccurs="0" name="initTime" type="xs:long"/>
<xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="instanceMetadata" nillable="true" type="ax23:InstanceMetadata"/>
<xs:element minOccurs="0" name="kubernetesPodId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="kubernetesPodLabel" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="lbClusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="ax210:LoadBalancingIPType"/>
+ <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="ax212:LoadBalancingIPType"/>
<xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/>
@@ -1151,35 +1179,6 @@
<xs:element minOccurs="0" name="ram" type="xs:int"/>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="Registrant">
- <xs:sequence>
- <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="payload" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="ApplicationClusterContext">
- <xs:sequence>
- <xs:element minOccurs="0" name="autoscalePolicyName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="dependencyClusterIds" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="deploymentPolicyName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="lbCluster" type="xs:boolean"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element minOccurs="0" name="tenantRange" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="textPayload" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="volumeRequired" type="xs:boolean"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
- </xs:sequence>
- </xs:complexType>
</xs:schema>
</wsdl:types>
<wsdl:message name="getCartridgesRequest">
@@ -1257,18 +1256,18 @@
<wsdl:message name="CloudControllerServiceKubernetesClusterAlreadyExistsException">
<wsdl:part name="parameters" element="ns:CloudControllerServiceKubernetesClusterAlreadyExistsException"/>
</wsdl:message>
- <wsdl:message name="registerServiceRequest">
- <wsdl:part name="parameters" element="ns:registerService"/>
- </wsdl:message>
- <wsdl:message name="registerServiceResponse">
- <wsdl:part name="parameters" element="ns:registerServiceResponse"/>
- </wsdl:message>
<wsdl:message name="addServiceGroupRequest">
<wsdl:part name="parameters" element="ns:addServiceGroup"/>
</wsdl:message>
<wsdl:message name="addServiceGroupResponse">
<wsdl:part name="parameters" element="ns:addServiceGroupResponse"/>
</wsdl:message>
+ <wsdl:message name="registerServiceRequest">
+ <wsdl:part name="parameters" element="ns:registerService"/>
+ </wsdl:message>
+ <wsdl:message name="registerServiceResponse">
+ <wsdl:part name="parameters" element="ns:registerServiceResponse"/>
+ </wsdl:message>
<wsdl:message name="terminateInstanceRequest">
<wsdl:part name="parameters" element="ns:terminateInstance"/>
</wsdl:message>
@@ -1302,20 +1301,20 @@
<wsdl:message name="getServiceGroupResponse">
<wsdl:part name="parameters" element="ns:getServiceGroupResponse"/>
</wsdl:message>
- <wsdl:message name="updateNetworkPartitionRequest">
- <wsdl:part name="parameters" element="ns:updateNetworkPartition"/>
+ <wsdl:message name="removeNetworkPartitionRequest">
+ <wsdl:part name="parameters" element="ns:removeNetworkPartition"/>
</wsdl:message>
- <wsdl:message name="updateNetworkPartitionResponse">
- <wsdl:part name="parameters" element="ns:updateNetworkPartitionResponse"/>
+ <wsdl:message name="removeNetworkPartitionResponse">
+ <wsdl:part name="parameters" element="ns:removeNetworkPartitionResponse"/>
</wsdl:message>
<wsdl:message name="CloudControllerServiceNetworkPartitionNotExistsException">
<wsdl:part name="pa
<TRUNCATED>