You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ra...@apache.org on 2015/02/16 12:28:00 UTC
[1/2] stratos git commit: implementing network partition management
APIs in CC
Repository: stratos
Updated Branches:
refs/heads/4.1.0-beta-deployment-policy-fix-local [created] a87c77940
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/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 d59ac7e..583ede3 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,588 +1,650 @@
-<?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: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:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ax229="http://common.stratos.apache.org/xsd" xmlns:ax228="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax232="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ax235="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax226="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org">
+ <wsdl:documentation>CloudControllerService</wsdl:documentation>
<wsdl:types>
- <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://topology.domain.messaging.stratos.apache.org/xsd"/>
- <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/>
- <xs:element name="CloudControllerServiceCartridgeNotFoundException">
+ <xs:schema xmlns:ax227="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:ax231="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax236="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax234="http://domain.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>
+ <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"></xs:import>
+ <xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"></xs:import>
+ <xs:import namespace="http://topology.domain.messaging.stratos.apache.org/xsd"></xs:import>
+ <xs:element name="CloudControllerServiceInvalidClusterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/>
+ <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax226:InvalidClusterException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidIaasProviderException">
+ <xs:element name="terminateInstances">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCloudControllerException">
+ <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/>
+ <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax226:InvalidKubernetesHostException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstances">
+ <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax26:InstanceContext"/>
+ <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax226:NonExistingKubernetesClusterException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstancesResponse">
+ <xs:element name="addKubernetesHost">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax231:KubernetesHost"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceUnregisteredClusterException">
+ <xs:element name="addKubernetesHostResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="unregisterService">
+ <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax226:InvalidKubernetesMasterException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateClusterStatus">
+ <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
<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="ax27:ClusterStatus"/>
+ <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax226:NonExistingKubernetesMasterException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridgeInfo">
+ <xs:element name="updateKubernetesMaster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax231:KubernetesMaster"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridgeInfoResponse">
+ <xs:element name="updateKubernetesMasterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:CartridgeInfo"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getClusterContext">
+ <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax226:NonExistingKubernetesHostException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getClusterContextResponse">
+ <xs:element name="updateKubernetesHost">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ClusterContext"/>
+ <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax231:KubernetesHost"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidKubernetesMasterException">
+ <xs:element name="updateKubernetesHostResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException">
+ <xs:element name="CloudControllerServiceInvalidKubernetesClusterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/>
+ <xs:element minOccurs="0" name="InvalidKubernetesClusterException" nillable="true" type="ax226:InvalidKubernetesClusterException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesMaster">
+ <xs:element name="addKubernetesCluster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/>
+ <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax231:KubernetesCluster"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesMasterResponse">
+ <xs:element name="addKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException">
+ <xs:element name="getKubernetesCluster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NonExistingKubernetesClusterException" nillable="true" type="ax21:NonExistingKubernetesClusterException"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getKubernetesCluster">
+ <xs:element name="getKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax231:KubernetesCluster"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getKubernetesClusterResponse">
+ <xs:element name="removeKubernetesCluster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesCluster"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidKubernetesHostException">
+ <xs:element name="removeKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidKubernetesHostException" nillable="true" type="ax21:InvalidKubernetesHostException"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceNonExistingKubernetesHostException">
+ <xs:element name="removeKubernetesHost">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="NonExistingKubernetesHostException" nillable="true" type="ax21:NonExistingKubernetesHostException"/>
+ <xs:element minOccurs="0" name="kubernetesHostId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesHost">
+ <xs:element name="removeKubernetesHostResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateKubernetesHostResponse">
+ <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="ax226:InvalidCartridgeDefinitionException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidPartitionException">
+ <xs:element name="CloudControllerServiceInvalidIaasProviderException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax21:InvalidPartitionException"/>
+ <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax226:InvalidIaasProviderException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validatePartition">
+ <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="partition" nillable="true" type="ax26:Partition"/>
+ <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax226:CartridgeAlreadyExistsException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validatePartitionResponse">
+ <xs:element name="addCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax232:CartridgeConfig"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="registerService">
+ <xs:element name="getCartridges">
+ <xs:complexType>
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getCartridgesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="registerServiceResponse">
+ <xs:element name="CloudControllerServiceCartridgeDefinitionNotExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="CartridgeDefinitionNotExistsException" nillable="true" type="ax226:CartridgeDefinitionNotExistsException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceDeploymentPolicyNotExistsException">
+ <xs:element name="updateCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax21:DeploymentPolicyNotExistsException"/>
+ <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax232:CartridgeConfig"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getDeploymentPolicy">
+ <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax226:InvalidCartridgeTypeException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getDeploymentPolicyResponse">
+ <xs:element name="removeCartridge">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:DeploymentPolicy"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridges">
+ <xs:element name="CloudControllerServiceNetworkPartitionAlreadyExistsException">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="NetworkPartitionAlreadyExistsException" nillable="true" type="ax226:NetworkPartitionAlreadyExistsException"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="addNetworkPartition">
<xs:complexType>
- <xs:sequence/>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax232:NetworkPartition"></xs:element>
+ </xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getCartridgesResponse">
+ <xs:element name="getNetworkPartitions">
+ <xs:complexType>
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getNetworkPartitionsResponse">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax232:NetworkPartition"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException">
+ <xs:element name="getNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/>
+ <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCartridgeAlreadyExistsException">
+ <xs:element name="getNetworkPartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CartridgeAlreadyExistsException" nillable="true" type="ax21:CartridgeAlreadyExistsException"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax232:NetworkPartition"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addCartridge">
+ <xs:element name="CloudControllerServiceNetworkPartitionNotExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:CartridgeConfig"/>
+ <xs:element minOccurs="0" name="NetworkPartitionNotExistsException" nillable="true" type="ax226:NetworkPartitionNotExistsException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceCartridgeDefinitionNotExistsException">
+ <xs:element name="removeNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="CartridgeDefinitionNotExistsException" nillable="true" type="ax21:CartridgeDefinitionNotExistsException"/>
+ <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="updateCartridge">
+ <xs:element name="updateNetworkPartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeConfig" nillable="true" type="ax26:CartridgeConfig"/>
+ <xs:element minOccurs="0" name="networkPartition" nillable="true" type="ax232:NetworkPartition"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidCartridgeTypeException">
+ <xs:element name="CloudControllerServiceInvalidPartitionException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/>
+ <xs:element minOccurs="0" name="InvalidPartitionException" nillable="true" type="ax226:InvalidPartitionException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeCartridge">
+ <xs:element name="validateDeploymentPolicy">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax232:Partition"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidServiceGroupException">
+ <xs:element name="validateDeploymentPolicyResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax21:InvalidServiceGroupException"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupSubGroups">
+ <xs:element name="CloudControllerServiceCartridgeNotFoundException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax226:CartridgeNotFoundException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupSubGroupsResponse">
+ <xs:element name="getCartridgeInfo">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupCartridges">
+ <xs:element name="getCartridgeInfoResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax232:CartridgeInfo"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupCartridgesResponse">
+ <xs:element name="getClusterContext">
<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:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupDependencies">
+ <xs:element name="getClusterContextResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax232:ClusterContext"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupDependenciesResponse">
+ <xs:element name="updateClusterStatus">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Dependencies"/>
+ <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="status" nillable="true" type="ax236:ClusterStatus"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroup">
+ <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax226:ApplicationClusterRegistrationException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getServiceGroupResponse">
+ <xs:element name="createApplicationClusters">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:ServiceGroup"/>
+ <xs:element minOccurs="0" name="appId" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="appClustersContexts" nillable="true" type="ax232:ApplicationClusterContext"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidClusterException">
+ <xs:element name="CloudControllerServiceClusterInstanceCreationException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/>
+ <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax226:ClusterInstanceCreationException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="terminateInstances">
+ <xs:element name="createClusterInstance">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="serviceType" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="alias" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="partitionId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidKubernetesClusterException">
+ <xs:element name="CloudControllerServiceInvalidServiceGroupException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidKubernetesClusterException" nillable="true" type="ax21:InvalidKubernetesClusterException"/>
+ <xs:element minOccurs="0" name="InvalidServiceGroupException" nillable="true" type="ax226:InvalidServiceGroupException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addKubernetesCluster">
+ <xs:element name="getServiceGroupSubGroups">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesCluster" nillable="true" type="ax29:KubernetesCluster"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addKubernetesClusterResponse">
+ <xs:element name="getServiceGroupSubGroupsResponse">
<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:element>
</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:element>
</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:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getKubernetesClusters">
+ <xs:element name="getServiceGroupDependencies">
<xs:complexType>
- <xs:sequence/>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
+ </xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getKubernetesClustersResponse">
+ <xs:element name="getServiceGroupDependenciesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesCluster"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax232:Dependencies"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeKubernetesCluster">
+ <xs:element name="CloudControllerServiceCloudControllerException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax226:CloudControllerException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeKubernetesClusterResponse">
+ <xs:element name="startInstances">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax232:InstanceContext"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeKubernetesHost">
+ <xs:element name="startInstancesResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesHostId" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax232:MemberContext"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeKubernetesHostResponse">
+ <xs:element name="validatePartition">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="partition" nillable="true" type="ax232:Partition"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getHostsForKubernetesCluster">
+ <xs:element name="validatePartitionResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="getHostsForKubernetesClusterResponse">
+ <xs:element name="getKubernetesClusters">
+ <xs:complexType>
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getKubernetesClustersResponse">
<xs:complexType>
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax29:KubernetesHost"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax231:KubernetesCluster"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getMasterForKubernetesCluster">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="getMasterForKubernetesClusterResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax29:KubernetesMaster"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax231:KubernetesMaster"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getHostsForKubernetesCluster">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="getHostsForKubernetesClusterResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax231:KubernetesHost"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="CloudControllerServiceDeploymentPolicyAlreadyExistsException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax21:DeploymentPolicyAlreadyExistsException"/>
+ <xs:element minOccurs="0" name="DeploymentPolicyAlreadyExistsException" nillable="true" type="ax226:DeploymentPolicyAlreadyExistsException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="addDeployementPolicy">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax26:DeploymentPolicy"/>
+ <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax232:DeploymentPolicy"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="CloudControllerServiceDeploymentPolicyNotExistsException">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="DeploymentPolicyNotExistsException" nillable="true" type="ax226:DeploymentPolicyNotExistsException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="updateDeployementPolicy">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax26:DeploymentPolicy"/>
+ <xs:element minOccurs="0" name="deploymentPolicy" nillable="true" type="ax232:DeploymentPolicy"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="removeDeployementPolicy">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="addServiceGroup">
+ <xs:element name="CloudControllerServiceInvalidMemberException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax26:ServiceGroup"/>
+ <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax226:InvalidMemberException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="removeServiceGroup">
+ <xs:element name="terminateInstance">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceClusterInstanceCreationException">
+ <xs:element name="getDeploymentPolicy">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="ClusterInstanceCreationException" nillable="true" type="ax21:ClusterInstanceCreationException"/>
+ <xs:element minOccurs="0" name="deploymentPolicyID" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createClusterInstance">
+ <xs:element name="getDeploymentPolicyResponse">
<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 minOccurs="0" name="return" nillable="true" type="ax232:DeploymentPolicy"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validateDeploymentPolicy">
+ <xs:element name="CloudControllerServiceUnregisteredClusterException">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax26:Partition"/>
+ <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax226:UnregisteredClusterException"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="validateDeploymentPolicyResponse">
+ <xs:element name="unregisterService">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" type="xs:boolean"/>
+ <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceInvalidMemberException">
+ <xs:element name="startInstance">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/>
+ <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax232:InstanceContext"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="terminateInstance">
+ <xs:element name="startInstanceResponse">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax232:MemberContext"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstance">
+ <xs:element name="addServiceGroup">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax26:InstanceContext"/>
+ <xs:element minOccurs="0" name="servicegroup" nillable="true" type="ax232:ServiceGroup"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="startInstanceResponse">
+ <xs:element name="removeServiceGroup">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="CloudControllerServiceApplicationClusterRegistrationException">
+ <xs:element name="getServiceGroup">
<xs:complexType>
<xs:sequence>
- <xs:element minOccurs="0" name="ApplicationClusterRegistrationException" nillable="true" type="ax21:ApplicationClusterRegistrationException"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
- <xs:element name="createApplicationClusters">
+ <xs:element name="getServiceGroupResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" nillable="true" type="ax232:ServiceGroup"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="registerService">
<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="registrant" nillable="true" type="ax232:Registrant"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="registerServiceResponse">
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element minOccurs="0" name="return" type="xs:boolean"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
@@ -592,7 +654,7 @@
<xs:complexContent>
<xs:extension base="xs:Enum">
<xs:sequence>
- <xs:element minOccurs="0" name="code" type="xs:int"/>
+ <xs:element minOccurs="0" name="code" type="xs:int"></xs:element>
</xs:sequence>
</xs:extension>
</xs:complexContent>
@@ -601,2033 +663,2227 @@
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://common.stratos.apache.org/xsd">
<xs:complexType name="Properties">
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax24:Property"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax229:Property"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Property">
<xs:sequence>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="value" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="value" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</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:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidIaasProviderException">
+ <xs:complexType name="InvalidKubernetesHostException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="CloudControllerException">
- <xs:complexContent>
- <xs:extension base="xs:RuntimeException">
- <xs:sequence/>
- </xs:extension>
- </xs:complexContent>
- </xs:complexType>
- <xs:complexType name="UnregisteredClusterException">
+ <xs:complexType name="NonExistingKubernetesClusterException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InvalidKubernetesMasterException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="NonExistingKubernetesMasterException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="NonExistingKubernetesClusterException">
- <xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
- </xs:sequence>
- </xs:complexType>
- <xs:complexType name="InvalidKubernetesHostException">
+ <xs:complexType name="NonExistingKubernetesHostException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="NonExistingKubernetesHostException">
+ <xs:complexType name="InvalidKubernetesClusterException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidPartitionException">
+ <xs:complexType name="InvalidCartridgeDefinitionException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="DeploymentPolicyNotExistsException">
- <xs:sequence/>
- </xs:complexType>
- <xs:complexType name="InvalidCartridgeDefinitionException">
+ <xs:complexType name="InvalidIaasProviderException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="CartridgeAlreadyExistsException">
- <xs:sequence/>
+ <xs:sequence></xs:sequence>
</xs:complexType>
<xs:complexType name="CartridgeDefinitionNotExistsException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="InvalidCartridgeTypeException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidServiceGroupException">
+ <xs:complexType name="NetworkPartitionAlreadyExistsException">
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="NetworkPartitionNotExistsException">
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="InvalidPartitionException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidClusterException">
+ <xs:complexType name="CartridgeNotFoundException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InvalidKubernetesClusterException">
+ <xs:complexType name="ApplicationClusterRegistrationException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="DeploymentPolicyAlreadyExistsException">
- <xs:sequence/>
- </xs:complexType>
<xs:complexType name="ClusterInstanceCreationException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="InvalidServiceGroupException">
+ <xs:sequence>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
+ <xs:complexType name="CloudControllerException">
+ <xs:complexContent>
+ <xs:extension base="xs:RuntimeException">
+ <xs:sequence></xs:sequence>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ <xs:complexType name="DeploymentPolicyAlreadyExistsException">
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="DeploymentPolicyNotExistsException">
+ <xs:sequence></xs:sequence>
+ </xs:complexType>
<xs:complexType name="InvalidMemberException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="ApplicationClusterRegistrationException">
+ <xs:complexType name="UnregisteredClusterException">
<xs:sequence>
- <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
- <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:schema xmlns:ax230="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:import>
<xs:complexType name="KubernetesHost">
<xs:sequence>
- <xs:element minOccurs="0" name="hostId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hostIpAddress" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax210:Properties"/>
+ <xs:element minOccurs="0" name="hostId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="hostIpAddress" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax230:Properties"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="KubernetesMaster">
<xs:complexContent>
- <xs:extension base="ax29:KubernetesHost">
+ <xs:extension base="ax228:KubernetesHost">
<xs:sequence>
- <xs:element minOccurs="0" name="endpoint" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="endpoint" nillable="true" type="xs:string"></xs:element>
</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:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax228:KubernetesHost"></xs:element>
+ <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax228:KubernetesMaster"></xs:element>
+ <xs:element minOccurs="0" name="portRange" nillable="true" type="ax228:PortRange"></xs:element>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax230:Properties"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PortRange">
<xs:sequence>
- <xs:element minOccurs="0" name="lower" type="xs:int"/>
- <xs:element minOccurs="0" name="upper" type="xs:int"/>
+ <xs:element minOccurs="0" name="lower" type="xs:int"></xs:element>
+ <xs:element minOccurs="0" name="upper" type="xs:int"></xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>
- <xs:schema 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:complexType name="InstanceContext">
+ <xs:schema xmlns:ax233="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>
+ <xs:complexType name="CartridgeConfig">
<xs:sequence>
- <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="clusterInstanceId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="initTime" type="xs:long"/>
- <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/>
- <xs:element minOccurs="0" name="partition" nillable="true" type="ax23:Partition"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
+ <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="category" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="defaultAutoscalingPolicy" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="defaultDeploymentPolicy" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="deployerType" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="deploymentDirs" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="exportingProperties" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="iaasConfigs" nillable="true" type="ax232:IaasConfig"></xs:element>
+ <xs:element minOccurs="0" name="isPublic" type="xs:boolean"></xs:element>
+ <xs:element minOccurs="0" name="lbConfig" nillable="true" type="ax232:LoadbalancerConfig"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="metadataKeys" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"></xs:element>
+ <xs:element minOccurs="0" name="persistence" nillable="true" type="ax232:Persistence"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax232:PortMapping"></xs:element>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax233:Properties"></xs:element>
+ <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="serviceGroup" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="tenantPartitions" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="version" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="Partition">
+ <xs:complexType name="IaasConfig">
<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="partitionMin" 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:element minOccurs="0" name="className" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="credential" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="identity" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="networkInterfaces" nillable="true" type="ax232:NetworkInterfaces"></xs:element>
+ <xs:element minOccurs="0" name="payload" nillable="true" type="xs:base64Binary"></xs:element>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax233:Properties"></xs:element>
+ <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="MemberContext">
+ <xs:complexType name="NetworkInterfaces">
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="allocatedIPs" nillable="true" type="xs:string"/>
- <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="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 minOccurs="0" name="dynamicPayload" nillable="true" type="xs:anyType"/>
- <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="lbClusterId" nillable="true" type="xs:string"/>
- <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"/>
- <xs:element minOccurs="0" name="obsoleteInitTime" type="xs:long"/>
- <xs:element minOccurs="0" name="partition" nillable="true" type="ax23:Partition"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="privateIPs" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="publicIPs" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="networkInterfaces" nillable="true" type="ax232:NetworkInterface"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="InstanceMetadata">
+ <xs:complexType name="NetworkInterface">
<xs:sequence>
- <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hypervisor" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="imageId" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="loginPort" type="xs:int"/>
- <xs:element minOccurs="0" name="operatingSystem64bit" type="xs:boolean"/>
- <xs:element minOccurs="0" name="operatingSystemArchitecture" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="operatingSystemName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="operatingSystemVersion" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="ram" type="xs:int"/>
+ <xs:element minOccurs="0" name="fixedIp" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="floatingNetworks" nillable="true" type="ax232:FloatingNetworks"></xs:element>
+ <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="portUuid" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="CartridgeInfo">
+ <xs:complexType name="FloatingNetworks">
<xs:sequence>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypes" nillable="true" type="ax23:AppType"/>
- <xs:element minOccurs="0" name="baseDir" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="category" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="defaultAutoscalingPolicy" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="defaultDeploymentPolicy" nillable="true" type="xs:string"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="deploymentDirs" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="displayName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="hostName" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/>
- <xs:element minOccurs="0" name="lbConfig" nillable="true" type="ax23:LoadbalancerConfig"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="metadataKeys" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="multiTenant" type="xs:boolean"/>
- <xs:element minOccurs="0" name="persistence" nillable="true" type="ax23:Persistence"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="portMappings" nillable="true" type="ax23:PortMapping"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="properties" nillable="true" type="ax25:Property"/>
- <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="serviceGroup" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="tenantPartitions" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
- <xs:element minOccurs="0" name="version" nillable="true" type="xs:string"/>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="floatingNetworks" nillable="true" type="ax232:FloatingNetwork"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="AppType">
+ <xs:complexType name="FloatingNetwork">
<xs:sequence>
- <xs:element minOccurs="0" name="appSpecificMapping" type="xs:boolean"/>
- <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="floatingIP" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="networkUuid" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LoadbalancerConfig">
<xs:sequence>
- <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/>
- <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"/>
+ <xs:element minOccurs="0" name="properties" nillable="true" type="ax233:Properties"></xs:element>
+ <xs:element minOccurs="0" name="type" nillable="true" type="xs:string"></xs:element>
</xs:sequence>
</xs:complexType>
<xs:complexType name="Persistence">
<xs:sequence>
- <xs:element minOccurs="0" name="persistanceRequired" type="xs:boolean"/>
- <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/>
+ <xs:element minOccurs="0" name="persistanceRequired" type="xs:boolean"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax232:Volume"></xs:element>
</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:element minOccurs="0" name="device" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"></xs:element>
+ <xs:element minOccurs="0" name="size" type="xs:int"></xs:element>
+ <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"></xs:element>
</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="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:element minOccurs="0" name="kubernetesServicePort" type="xs:int"></xs:element>
+ <xs:element minOccurs="0" name="kubernetesServicePortMapping" type="xs:boolean"></xs:element>
+ <xs:element minOccurs="0" name="port" type="xs:int"></xs:element>
+ <xs:element minOccurs="0" name="protocol" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="proxyPort" type="xs:int"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="ClusterContext">
+ <xs:complexType name="NetworkPartition">
<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:element minOccurs="0" name="activeByDefault" type="xs:boolean"></xs:element>
+ <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"></xs:element>
+ <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"></xs:element>
+ <xs:element maxOccurs="unbounded" minOccurs="0" name="partitions" nillable="true" type="ax232:Partition"></xs:element>
</xs:sequence>
</xs:complexType>
- <xs:complexType name="Registrant">
+ <xs:complexType name="Partition">
<xs:sequence>
- <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/>
-
<TRUNCATED>
[2/2] stratos git commit: implementing network partition management
APIs in CC
Posted by ra...@apache.org.
implementing network partition management APIs in CC
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a87c7794
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a87c7794
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a87c7794
Branch: refs/heads/4.1.0-beta-deployment-policy-fix-local
Commit: a87c77940f4b3684e23bc7a98d9d4a3f978d1f07
Parents: 114d4fd
Author: R-Rajkumar <rr...@gmail.com>
Authored: Mon Feb 16 16:55:00 2015 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Mon Feb 16 16:55:00 2015 +0530
----------------------------------------------------------------------
.../autoscaler/registry/RegistryManager.java | 2 +-
.../context/CloudControllerContext.java | 25 +
.../cloud/controller/domain/Partition.java | 163 +-
.../NetworkPartitionAlreadyExistsException.java | 26 +
.../NetworkPartitionNotExistsException.java | 28 +
.../services/CloudControllerService.java | 34 +-
.../impl/CloudControllerServiceImpl.java | 153 ++
.../main/resources/CloudControllerService.wsdl | 2446 ++++++++++--------
8 files changed, 1680 insertions(+), 1197 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
index ae67f8f..3c48404 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/registry/RegistryManager.java
@@ -510,7 +510,7 @@ public class RegistryManager {
partition = (Partition) dataObj;
if (log.isDebugEnabled()) {
log.debug(String.format("Partition read from registry: [id] %s [provider] %s [min] %d [max] %d",
- partition.getId(), partition.getProvider(), partition.getPartitionMin(), partition.getPartitionMax()));
+ partition.getId(), partition.getProvider()));
}
partitionList.add(partition);
} else {
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
index 12347dd..aebd778 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/context/CloudControllerContext.java
@@ -61,6 +61,7 @@ public class CloudControllerContext implements Serializable {
private static final String CC_CARTRIDGE_TYPE_TO_CARTRIDGES_MAP = "CC_CARTRIDGE_TYPE_TO_CARTRIDGES_MAP";
private static final String CC_SERVICE_GROUP_NAME_TO_SERVICE_GROUP_MAP = "CC_SERVICE_GROUP_NAME_TO_SERVICE_GROUP_MAP";
private static final String CC_DEPLOYMENT_POLICY_ID_TO_DEPLOYEMENT_POLICY_MAP = "CC_DEPLOYMENT_POLICY_ID_TO_DEPLOYEMENT_POLICY_MAP";
+ private static final String CC_NETWORK_PARTITION_ID_TO_NETWORK_PARTITION_MAP = "CC_NETWORK_PARTITION_ID_TO_NETWORK_PARTITION_MAP";
private static final String CC_CLUSTER_CTX_WRITE_LOCK = "CC_CLUSTER_CTX_WRITE_LOCK";
private static final String CC_MEMBER_CTX_WRITE_LOCK = "CC_MEMBER_CTX_WRITE_LOCK";
@@ -145,6 +146,13 @@ public class CloudControllerContext implements Serializable {
* Value deployment policy
*/
private Map<String, DeploymentPolicy> deploymentPolicyIDToDeployPolicyMap;
+
+ /**
+ * Map of network partitions
+ * Key - network partition id
+ * Value network partition
+ */
+ private Map<String, NetworkPartition> networkPartitionIDToNetworkPartitionMap;
private String streamId;
private boolean isPublisherRunning;
@@ -175,6 +183,7 @@ public class CloudControllerContext implements Serializable {
cartridgeTypeToCartridgeMap = distributedObjectProvider.getMap(CC_CARTRIDGE_TYPE_TO_CARTRIDGES_MAP);
serviceGroupNameToServiceGroupMap = distributedObjectProvider.getMap(CC_SERVICE_GROUP_NAME_TO_SERVICE_GROUP_MAP);
deploymentPolicyIDToDeployPolicyMap=distributedObjectProvider.getMap(CC_DEPLOYMENT_POLICY_ID_TO_DEPLOYEMENT_POLICY_MAP);
+ networkPartitionIDToNetworkPartitionMap = distributedObjectProvider.getMap(CC_NETWORK_PARTITION_ID_TO_NETWORK_PARTITION_MAP);
// Update context from the registry
updateContextFromRegistry();
@@ -268,6 +277,22 @@ public class CloudControllerContext implements Serializable {
deploymentPolicyIDToDeployPolicyMap.remove(deploymentPolicyID);
}
}
+
+ public void addNetworkPartition(NetworkPartition networkPartition) {
+ networkPartitionIDToNetworkPartitionMap.put(networkPartition.getId(), networkPartition);
+ }
+
+ public NetworkPartition getNetworkPartition(String networkPartitionID) {
+ return networkPartitionIDToNetworkPartitionMap.get(networkPartitionID);
+ }
+
+ public Collection<NetworkPartition> getNetworkPartitions() {
+ return networkPartitionIDToNetworkPartitionMap.values();
+ }
+
+ public void removeNetworkPartition(String networkPartitionID) {
+ networkPartitionIDToNetworkPartitionMap.remove(networkPartitionID);
+ }
public void removeCartridge(Cartridge cartridge) {
if(cartridgeTypeToCartridgeMap.containsKey(cartridge.getType())) {
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
index 94b41df..b84d914 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/domain/Partition.java
@@ -1,22 +1,21 @@
/*
- * Licensed to the Apache Software Foundation (ASF) under one
+ * Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
-
package org.apache.stratos.cloud.controller.domain;
import org.apache.stratos.common.Properties;
@@ -24,124 +23,89 @@ import org.apache.stratos.common.Properties;
import java.io.Serializable;
/**
- * The model class for Partition definition.
+ * This is keep the partition information
*/
-public class Partition implements Serializable{
-
- private static final long serialVersionUID = 3725971214092010720L;
- private int partitionMax;
- private int partitionMin;
- /**
- * provider should match with an IaasProvider type.
- */
+public class Partition implements Serializable {
+
+ private static final long serialVersionUID = 3725971287992010720L;
+ /**
+ * provider should match with an IaasProvider type.
+ */
private String provider;
- private Properties properties = new Properties();
private String id;
private String description;
private boolean isPublic;
private String kubernetesClusterId;
-
-
- /**
- * Gets the value of the partitionMax property.
- *
- */
- public int getPartitionMax() {
- return partitionMax;
- }
-
- /**
- * Sets the value of the partitionMax property.
- *
- */
- public void setPartitionMax(int value) {
- this.partitionMax = value;
- }
-
- /**
- * Gets the value of the partitionMin property.
- *
- */
- public int getPartitionMin() {
- return partitionMin;
- }
-
- /**
- * Sets the value of the partitionMin property.
- *
- */
- public void setPartitionMin(int value) {
- this.partitionMin = value;
- }
+ private Properties properties = new Properties();
/**
* Gets the value of the id property.
- *
+ *
* @return
* possible object is
* {@link String }
- *
+ *
*/
- public String getId() {
- return id;
- }
+ public String getId() {
+ return id;
+ }
/**
* Sets the value of the id property.
- *
- * @param value
+ *
+ * @param id
* allowed object is
* {@link String }
- *
+ *
*/
- public void setId(String id) {
- this.id = id;
- }
-
- /**
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
* Gets the value of the description property.
- *
+ *
* @return
* possible object is
* {@link String }
- *
+ *
*/
- public String getDescription() {
- return description;
- }
-
+ public String getDescription() {
+ return description;
+ }
+
/**
* Sets the value of the description property.
- *
- * @param value
+ *
+ * @param description
* allowed object is
* {@link String }
- *
+ *
*/
- public void setDescription(String description) {
- this.description = description;
- }
-
- /**
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ /**
* Sets the value of the isPublic property.
- *
- * @param value
+ *
+ * @param isPublic
* allowed object is boolean
- *
+ *
*/
- public void setIsPublic(boolean isPublic) {
- this.isPublic = isPublic;
- }
-
- /**
+ public void setIsPublic(boolean isPublic) {
+ this.isPublic = isPublic;
+ }
+
+ /**
* Gets the value of the isPublic property.
- *
+ *
*/
- public boolean getIsPublic() {
- return isPublic;
- }
-
- public Properties getProperties() {
+ public boolean getIsPublic() {
+ return isPublic;
+ }
+
+ public Properties getProperties() {
return properties;
}
@@ -153,25 +117,24 @@ public class Partition implements Serializable{
return provider;
}
- public void setProvider(String provider) {
+ public void setProvider(String provider) {
this.provider = provider;
}
-
- @Override
- public String toString() {
- return "Partition [id=" + id + ", description=" + description + ", isPublic=" + isPublic
- + ", provider=" + provider + ", partitionMin=" + partitionMin + ", partitionMax="
- + partitionMax + ", properties=" + properties + "]";
- }
-
+
+ @Override
+ public String toString() {
+ return "Partition [id=" + id + ", description=" + description + ", isPublic=" + isPublic
+ + ", provider=" + provider + ", properties=" + properties + "]";
+ }
+
public boolean equals(Object obj) {
if(obj != null && obj instanceof Partition) {
return this.id.equals(((Partition) obj).getId());
}
return false;
-
+
}
-
+
@Override
public int hashCode() {
return this.id.hashCode();
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionAlreadyExistsException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionAlreadyExistsException.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionAlreadyExistsException.java
new file mode 100644
index 0000000..d1ce335
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionAlreadyExistsException.java
@@ -0,0 +1,26 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.stratos.cloud.controller.exception;
+
+public class NetworkPartitionAlreadyExistsException extends Exception{
+
+ public NetworkPartitionAlreadyExistsException(String message) {
+ super(message);
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionNotExistsException.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionNotExistsException.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionNotExistsException.java
new file mode 100644
index 0000000..8d13ac2
--- /dev/null
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/exception/NetworkPartitionNotExistsException.java
@@ -0,0 +1,28 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.stratos.cloud.controller.exception;
+
+public class NetworkPartitionNotExistsException extends Exception{
+
+ public NetworkPartitionNotExistsException(String message) {
+ super(message);
+ }
+}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
index 18142e4..df59d61 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/CloudControllerService.java
@@ -375,5 +375,37 @@ public interface CloudControllerService {
*/
public DeploymentPolicy getDeploymentPolicy(String deploymentPolicyID) throws DeploymentPolicyNotExistsException;
-
+ /**
+ * Add network partition
+ * @param networkPartition
+ * @throws NetworkPartitionAlreadyExistsException
+ */
+ public void addNetworkPartition(NetworkPartition networkPartition) throws NetworkPartitionAlreadyExistsException;
+
+ /**
+ * Remove network partition
+ * @param networkPartitionId
+ * @throws NetworkPartitionNotExistsException
+ */
+ public void removeNetworkPartition(String networkPartitionId) throws NetworkPartitionNotExistsException;
+
+ /**
+ * Update network partition
+ * @param networkPartition
+ * @throws NetworkPartitionNotExistsException
+ */
+ public void updateNetworkPartition(NetworkPartition networkPartition) throws NetworkPartitionNotExistsException;
+
+ /**
+ * Get network partitions
+ * @return
+ */
+ public NetworkPartition[] getNetworkPartitions();
+
+ /**
+ * Get network partition by network partition id
+ * @param networkPartitionId
+ * @return
+ */
+ public NetworkPartition getNetworkPartition(String networkPartitionId);
}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/stratos/blob/a87c7794/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
index de718f7..4418853 100644
--- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
+++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java
@@ -37,10 +37,12 @@ import org.apache.stratos.cloud.controller.messaging.publisher.StatisticsDataPub
import org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPublisher;
import org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder;
import org.apache.stratos.cloud.controller.messaging.topology.TopologyManager;
+import org.apache.stratos.cloud.controller.registry.RegistryManager;
import org.apache.stratos.cloud.controller.services.CloudControllerService;
import org.apache.stratos.cloud.controller.util.CloudControllerConstants;
import org.apache.stratos.cloud.controller.util.CloudControllerUtil;
import org.apache.stratos.common.Property;
+import org.apache.stratos.common.client.CloudControllerServiceClient;
import org.apache.stratos.messaging.domain.topology.*;
import org.apache.stratos.messaging.event.topology.MemberReadyToShutdownEvent;
@@ -1489,5 +1491,156 @@ public class CloudControllerServiceImpl implements CloudControllerService {
}
throw new NonExistingKubernetesHostException("Kubernetes host not found [id] " + kubernetesHost.getHostId());
}
+
+ @Override
+ public void addNetworkPartition(NetworkPartition networkPartition) throws NetworkPartitionAlreadyExistsException {
+
+ try {
+ handleNullObject(networkPartition, "Network Partition is null");
+ handleNullObject(networkPartition.getId(), "Network Partition ID is null");
+
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Adding network partition: [network-partition-id] %s", networkPartition.getId()));
+ }
+
+ String networkPartitionID = networkPartition.getId();
+ if (cloudControllerContext.getNetworkPartition(networkPartitionID) != null) {
+ String message = "Network partition already exists: [network-partition-id] " + networkPartitionID;
+ log.error(message);
+ throw new NetworkPartitionAlreadyExistsException(message);
+ }
+
+ if(networkPartition.getPartitions() != null) {
+ for(Partition partition : networkPartition.getPartitions()) {
+ if(partition != null) {
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Validating partition: [network-partition-id] %s [partition-id] %s",
+ networkPartition.getId(), partition.getId()));
+ }
+ validatePartition(partition);
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Partition validated successfully: [network-partition-id] %s " +
+ "[partition-id] %s", networkPartition.getId(), partition.getId()));
+ }
+ }
+ }
+ }
+
+ // adding network partition to CC-Context
+ CloudControllerContext.getInstance().addNetworkPartition(networkPartition);
+ // persisting CC-Context
+ CloudControllerContext.getInstance().persist();
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Network partition added successfully: [network-partition-id] %s",
+ networkPartition.getId()));
+ }
+ } catch (Exception e) {
+ String message = "Could not add network partition";
+ log.error(message);
+ throw new CloudControllerException(message, e);
+ }
+ }
+
+ @Override
+ public void removeNetworkPartition(String networkPartitionId) throws NetworkPartitionNotExistsException{
+
+ try {
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Removing network partition: [network-partition-id] %s", networkPartitionId));
+ }
+ handleNullObject(networkPartitionId, "Network Partition ID is null");
+
+ if (cloudControllerContext.getNetworkPartition(networkPartitionId) == null) {
+ String message = "Network partition not exists: [network-partiton-id] " + networkPartitionId;
+ log.error(message);
+ throw new NetworkPartitionNotExistsException(message);
+ }
+ // removing from CC-Context
+ CloudControllerContext.getInstance().removeNetworkPartition(networkPartitionId);
+ // persisting CC-Context
+ CloudControllerContext.getInstance().persist();
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Network partition removed successfully: [network-partition-id] %s",
+ networkPartitionId));
+ }
+ } catch (Exception e) {
+ String message = "Could not remove network partition";
+ log.error(message);
+ throw new CloudControllerException(message, e);
+ }
+ }
+
+ @Override
+ public void updateNetworkPartition(NetworkPartition networkPartition) throws NetworkPartitionNotExistsException{
+ try {
+ handleNullObject(networkPartition, "Network Partition is null");
+ handleNullObject(networkPartition.getId(), "Network Partition ID is null");
+
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Updating network partition: [network-partition-id] %s", networkPartition.getId()));
+ }
+
+ String networkPartitionID = networkPartition.getId();
+ if (cloudControllerContext.getNetworkPartition(networkPartitionID) == null) {
+ String message = "Network partition not exists: [network-partition-id] " + networkPartitionID;
+ log.error(message);
+ throw new NetworkPartitionNotExistsException(message);
+ }
+
+ if(networkPartition.getPartitions() != null) {
+ for(Partition partition : networkPartition.getPartitions()) {
+ if(partition != null) {
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Validating partition: [network-partition-id] %s [partition-id] %s",
+ networkPartition.getId(), partition.getId()));
+ }
+ validatePartition(partition);
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Partition validated successfully: [network-partition-id] %s " +
+ "[partition-id] %s", networkPartition.getId(), partition.getId()));
+ }
+ }
+ }
+ }
+
+ // overriding network partition to CC-Context
+ CloudControllerContext.getInstance().addNetworkPartition(networkPartition);
+ // persisting CC-Context
+ CloudControllerContext.getInstance().persist();
+ if(log.isInfoEnabled()) {
+ log.info(String.format("Network partition updated successfully: [network-partition-id] %s",
+ networkPartition.getId()));
+ }
+ } catch (Exception e) {
+ String message = String.format("Could not update network partition: [network-partition-id] %s",
+ networkPartition.getId());
+ log.error(message);
+ throw new CloudControllerException(message, e);
+ }
+ }
+
+ @Override
+ public NetworkPartition[] getNetworkPartitions() {
+ try {
+ Collection<NetworkPartition> networkPartitionList = cloudControllerContext.getNetworkPartitions();
+ return networkPartitionList.toArray(new NetworkPartition[networkPartitionList.size()]);
+ } catch (Exception e) {
+ String message = "Could not get network partitions";
+ log.error(message);
+ throw new CloudControllerException(message, e);
+ }
+ }
+
+ @Override
+ public NetworkPartition getNetworkPartition(String networkPartitionId) {
+ try {
+ return CloudControllerContext.getInstance().getNetworkPartition(networkPartitionId);
+ } catch (Exception e) {
+ String message = String.format("Could not get network partition: [network-partition-id] %s",
+ networkPartitionId);
+ log.error(message);
+ throw new CloudControllerException(message, e);
+ }
+ }
}