Publishing events for Metering Service Implementation
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/07e86193 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/07e86193 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/07e86193 Branch: refs/heads/master Commit: 07e861937818e3dfae5ee40ce5b5cb7b31668a4b Parents: 76c7724 Author: Thanuja <[email protected]> Authored: Wed Jul 22 17:55:51 2015 +0530 Committer: Thanuja <[email protected]> Committed: Wed Jul 22 17:55:51 2015 +0530 ---------------------------------------------------------------------- .../messaging/topology/TopologyBuilder.java | 17 +- .../impl/CloudControllerServiceUtil.java | 5 +- .../modules/healthstatspublisher/healthstats.py | 6 +- .../streamdefinitions/stream-manager-config.xml | 486 ++++++++++--------- .../src/main/conf/drools/mincheck.drl | 4 +- .../src/main/conf/drools/scaling.drl | 10 +- .../main/resources/CloudControllerService.wsdl | 450 +++++++++-------- 7 files changed, 493 insertions(+), 485 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java index dba9670..802dfc8 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyBuilder.java @@ -490,8 +490,8 @@ public class TopologyBuilder { //publishing data BAMUsageDataPublisher.publish(memberContext.getMemberId(), memberContext.getPartition().getId(), memberContext.getNetworkPartitionId(), memberContext.getClusterId(), - memberContext.getCartridgeType(), MemberStatus.Initialized.toString(), - timeStamp, null, null, null); + memberContext.getClusterInstanceId(), memberContext.getCartridgeType(), + MemberStatus.Initialized.toString(), timeStamp, null, null, null); } } finally { TopologyManager.releaseWriteLock(); @@ -550,8 +550,8 @@ public class TopologyBuilder { BAMUsageDataPublisher .publish(instanceStartedEvent.getMemberId(), instanceStartedEvent.getPartitionId(), instanceStartedEvent.getNetworkPartitionId(), instanceStartedEvent.getClusterId(), - instanceStartedEvent.getServiceName(), MemberStatus.Starting.toString(), null, - null, null); + instanceStartedEvent.getClusterInstanceId(), instanceStartedEvent.getServiceName(), + MemberStatus.Starting.toString(), timeStamp, null, null, null); } } finally { TopologyManager.releaseWriteLock(); @@ -654,8 +654,9 @@ public class TopologyBuilder { BAMUsageDataPublisher.publish(memberActivatedEvent.getMemberId(), memberActivatedEvent.getPartitionId(), memberActivatedEvent.getNetworkPartitionId(), memberActivatedEvent.getClusterId(), + memberActivatedEvent.getClusterInstanceId(), memberActivatedEvent.getServiceName(), MemberStatus.Active.toString(), - null, null, null); + timeStamp, null, null, null); } } finally { TopologyManager.releaseWriteLock(); @@ -714,8 +715,10 @@ public class TopologyBuilder { BAMUsageDataPublisher .publish(instanceReadyToShutdownEvent.getMemberId(), instanceReadyToShutdownEvent.getPartitionId(), instanceReadyToShutdownEvent.getNetworkPartitionId(), - instanceReadyToShutdownEvent.getClusterId(), instanceReadyToShutdownEvent.getServiceName(), - MemberStatus.ReadyToShutDown.toString(), null, null, null); + instanceReadyToShutdownEvent.getClusterId(), + instanceReadyToShutdownEvent.getClusterInstanceId(), + instanceReadyToShutdownEvent.getServiceName(), MemberStatus.ReadyToShutDown.toString(), + timeStamp, null, null, null); //termination of particular instance will be handled by autoscaler } http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java index 571ba9a..64c264a 100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java @@ -69,8 +69,9 @@ public class CloudControllerServiceUtil { Long timeStamp = System.currentTimeMillis(); // Publish statistics to BAM BAMUsageDataPublisher.publish(memberContext.getMemberId(), partitionId, memberContext.getNetworkPartitionId(), - memberContext.getClusterId(), memberContext.getCartridgeType(), - MemberStatus.Terminated.toString(), timeStamp, null, null, null); + memberContext.getClusterId(), memberContext.getClusterInstanceId(), + memberContext.getCartridgeType(), MemberStatus.Terminated.toString(), timeStamp, + null, null, null); // Remove member context CloudControllerContext.getInstance() http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/healthstatspublisher/healthstats.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/healthstatspublisher/healthstats.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/healthstatspublisher/healthstats.py index 9753c3e..711fe43 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/healthstatspublisher/healthstats.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/healthstatspublisher/healthstats.py @@ -17,7 +17,7 @@ from threading import Thread import multiprocessing - +import time import psutil from abstracthealthstatisticspublisher import * @@ -124,6 +124,8 @@ class HealthStatisticsPublisher: stream_def.description = HealthStatisticsPublisherManager.STREAM_DESCRIPTION # stream_def.add_payloaddata_attribute() + + #stream_def.add_payloaddata_attribute("time_stamp", StreamDefinition.LONG) stream_def.add_payloaddata_attribute("cluster_id", StreamDefinition.STRING) stream_def.add_payloaddata_attribute("cluster_instance_id", StreamDefinition.STRING) stream_def.add_payloaddata_attribute("network_partition_id", StreamDefinition.STRING) @@ -141,6 +143,7 @@ class HealthStatisticsPublisher: """ event = ThriftEvent() + #event.payloadData.append(int(round(time.time() * 1000))) event.payloadData.append(self.cartridge_agent_config.cluster_id) event.payloadData.append(self.cartridge_agent_config.cluster_instance_id) event.payloadData.append(self.cartridge_agent_config.network_partition_id) @@ -159,6 +162,7 @@ class HealthStatisticsPublisher: """ event = ThriftEvent() + #Sevent.payloadData.append(int(round(time.time() * 1000))) event.payloadData.append(self.cartridge_agent_config.cluster_id) event.payloadData.append(self.cartridge_agent_config.cluster_instance_id) event.payloadData.append(self.cartridge_agent_config.network_partition_id) http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/extensions/cep/artifacts/streamdefinitions/stream-manager-config.xml ---------------------------------------------------------------------- diff --git a/extensions/cep/artifacts/streamdefinitions/stream-manager-config.xml b/extensions/cep/artifacts/streamdefinitions/stream-manager-config.xml index 4c4c7e0..39fc4f3 100644 --- a/extensions/cep/artifacts/streamdefinitions/stream-manager-config.xml +++ b/extensions/cep/artifacts/streamdefinitions/stream-manager-config.xml @@ -23,287 +23,289 @@ <streamManagerConfiguration xmlns="http://wso2.org/carbon/streammanager"> <!-- in-flight requests stream definitions start --> <streamDefinition name="in_flight_requests" version="1.0.0"> - <description>in-flight request count</description> - <nickName>in-flight requests</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="in_flight_request_count" type="double"/> - </payloadData> - </streamDefinition> + <description>in-flight request count</description> + <nickName>in-flight requests</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <!-- <property name="time_stamp" type="long"/>--> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="in_flight_request_count" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="gradient_in_flight_requests" version="1.0.0"> - <description>gradient of in flight request count</description> - <nickName>gradient in flight requests</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="count" type="double"/> - </payloadData> - </streamDefinition> + <description>gradient of in flight request count</description> + <nickName>gradient in flight requests</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="count" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="average_in_flight_requests" version="1.0.0"> - <description>average of in-flight request count</description> - <nickName>average in-flight requests</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="count" type="double"/> - </payloadData> - </streamDefinition> + <description>average of in-flight request count</description> + <nickName>average in-flight requests</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="count" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="second_derivative_in_flight_requests" version="1.0.0"> - <description>second derivative of in-flight request count</description> - <nickName>second derivative in-flight requests</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="count" type="double"/> - </payloadData> + <description>second derivative of in-flight request count</description> + <nickName>second derivative in-flight requests</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="count" type="double"/> + </payloadData> </streamDefinition> <!-- in-flight requests stream definitions end --> <!-- cartridge agent health stats stream definitions start --> <streamDefinition name="cartridge_agent_health_stats" version="1.0.0"> - <description>agent health stats</description> - <nickName>agent health stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_id" type="String" /> - <property name="partition_id" type="String" /> - <property name="health_description" type="String"/> - <property name="value" type="double"/> - </payloadData> - </streamDefinition> + <description>agent health stats</description> + <nickName>agent health stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <!--<property name="time_stamp" type="long"/>--> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_id" type="String" /> + <property name="partition_id" type="String" /> + <property name="health_description" type="String"/> + <property name="value" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="average_load_average_stats" version="1.0.0"> - <description>average load average stats</description> - <nickName>average load average stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="average_load_average" type="double"/> - </payloadData> - </streamDefinition> + <description>average load average stats</description> + <nickName>average load average stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="average_load_average" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="average_memory_consumption_stats" version="1.0.0"> - <description>average memory consumption stats</description> - <nickName>average memory consumption stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="average_memory_consumption" type="double"/> - </payloadData> - </streamDefinition> + <description>average memory consumption stats</description> + <nickName>average memory consumption stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="average_memory_consumption" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="gradient_load_average_stats" version="1.0.0"> - <description>gradient load average stats</description> - <nickName>gradient load average stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="gradient_load_average" type="double"/> - </payloadData> - </streamDefinition> + <description>gradient load average stats</description> + <nickName>gradient load average stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="gradient_load_average" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="gradient_memory_consumption_stats" version="1.0.0"> - <description>gradient memoryconsumption stats</description> - <nickName>gradient memoryconsumption stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="gradient_memory_consumption" type="double"/> - </payloadData> - </streamDefinition> + <description>gradient memoryconsumption stats</description> + <nickName>gradient memoryconsumption stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="gradient_memory_consumption" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="second_derivative_memory_consumption_stats" version="1.0.0"> - <description>second derivative memory consumption stats</description> - <nickName>second derivative memory consumption stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="second_derivative_memory_consumption" type="double"/> - </payloadData> - </streamDefinition> + <description>second derivative memory consumption stats</description> + <nickName>second derivative memory consumption stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="second_derivative_memory_consumption" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="second_derivative_load_average_stats" version="1.0.0"> - <description>second derivative load average stats</description> - <nickName>second derivative load average stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="second_derivative_load_average" type="double"/> - </payloadData> - </streamDefinition> + <description>second derivative load average stats</description> + <nickName>second derivative load average stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="second_derivative_load_average" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="fault_message" version="1.0.0"> - <description>fault message</description> - <nickName>fault message</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_id" type="String"/> - <property name="partition_id" type="String"/> - </payloadData> + <description>fault message</description> + <nickName>fault message</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_id" type="String"/> + <property name="partition_id" type="String"/> + </payloadData> </streamDefinition> <!-- cartridge agent health stats stream definitions end --> <!-- This is for member_id wise grouping--> <streamDefinition name="member_average_load_average_stats" version="1.0.0"> - <description>average load average stats</description> - <nickName>average load average stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="member_id" type="String" /> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_average_load_average" type="double"/> - </payloadData> - </streamDefinition> + <description>average load average stats</description> + <nickName>average load average stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="member_id" type="String" /> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_average_load_average" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="member_average_memory_consumption_stats" version="1.0.0"> - <description>average memory consumption stats</description> - <nickName>average memory consumption stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="member_id" type="String"/> - <property name="cluster_id" type="String"/> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_average_memory_consumption" type="double"/> - </payloadData> - </streamDefinition> + <description>average memory consumption stats</description> + <nickName>average memory consumption stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="member_id" type="String"/> + <property name="cluster_id" type="String"/> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_average_memory_consumption" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="member_gradient_load_average_stats" version="1.0.0"> - <description>gradient load average stats</description> - <nickName>gradient load average stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="member_id" type="String" /> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_gradient_load_average" type="double"/> - </payloadData> - </streamDefinition> + <description>gradient load average stats</description> + <nickName>gradient load average stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="member_id" type="String" /> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_gradient_load_average" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="member_gradient_memory_consumption_stats" version="1.0.0"> - <description>gradient memoryconsumption stats</description> - <nickName>gradient memoryconsumption stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="member_id" type="String" /> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_gradient_memory_consumption" type="double"/> - </payloadData> - </streamDefinition> + <description>gradient memoryconsumption stats</description> + <nickName>gradient memoryconsumption stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="member_id" type="String" /> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_gradient_memory_consumption" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="member_second_derivative_memory_consumption_stats" version="1.0.0"> - <description>second derivative memory consumption stats</description> - <nickName>second derivative memory consumption stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="member_id" type="String" /> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_second_derivative_memory_consumption" type="double"/> - </payloadData> - </streamDefinition> + <description>second derivative memory consumption stats</description> + <nickName>second derivative memory consumption stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="member_id" type="String" /> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_second_derivative_memory_consumption" type="double"/> + </payloadData> + </streamDefinition> <streamDefinition name="member_second_derivative_load_average_stats" version="1.0.0"> - <description>second derivative load average stats</description> - <nickName>second derivative load average stats</nickName> - <metaData> - </metaData> - <correlationData> - </correlationData> - <payloadData> - <property name="member_id" type="String" /> - <property name="cluster_id" type="String" /> - <property name="cluster_instance_id" type="String"/> - <property name="network_partition_id" type="String"/> - <property name="member_second_derivative_load_average" type="double"/> - </payloadData> - </streamDefinition> + <description>second derivative load average stats</description> + <nickName>second derivative load average stats</nickName> + <metaData> + </metaData> + <correlationData> + </correlationData> + <payloadData> + <property name="member_id" type="String" /> + <property name="cluster_id" type="String" /> + <property name="cluster_instance_id" type="String"/> + <property name="network_partition_id" type="String"/> + <property name="member_second_derivative_load_average" type="double"/> + </payloadData> + </streamDefinition> </streamManagerConfiguration> http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl index 96b60da..00a1850 100755 --- a/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/mincheck.drl @@ -84,7 +84,9 @@ dialect "mvel" log.info("[min-check] Partition available, hence trying to spawn an instance to fulfil minimum count!" + " [cluster] " + clusterId); log.debug("[min-check] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] " + clusterId); - delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary); + long time = System.currentTimeMillis(); + String scalingReason = "Scaling up to fulfil minimum count"; + delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary,scalingReason,time); count++; } else { http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl index cad9c8f..ca532de 100644 --- a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl @@ -69,7 +69,7 @@ dialect "mvel" eval(log.debug("[scaling] [network-partition] " + clusterInstanceContext.getNetworkPartitionId() + " [cluster] " + clusterId + " Algorithm name: " + algorithmName)) - + rifThreshold : Float() from loadThresholds.getRequestsInFlightThreshold() rifAverage : Float() from clusterInstanceContext.getAverageRequestsInFlight() @@ -163,6 +163,7 @@ dialect "mvel" boolean partitionsAvailable = true; int count = 0; + String autoscalingReason = (numberOfRequiredInstances == numberOfInstancesReuquiredBasedOnRif)?"Scaling up due to RIF":(numberOfRequiredInstances== numberOfInstancesReuquiredBasedOnMemoryConsumption)?"Scaling up due to MC":"Scaling up due to LA"; String autoscalingReason = (numberOfRequiredInstances == numberOfInstancesReuquiredBasedOnRif)?"Scaling up due to RIF":(numberOfRequiredInstances== numberOfInstancesReuquiredBasedOnMemoryConsumption)?"Scaling up due to MC":"Scaling up due to LA"; @@ -199,12 +200,9 @@ dialect "mvel" } } } else { - log.info("[scale-up] Trying to scale up over max, hence not scaling up cluster itself and - notifying to parent for possible group scaling or app bursting. - [cluster] " + clusterId + " [instance id]" + clusterInstanceContext.getId() + + log.info("[scale-up] Trying to scale up over max, hence not scaling up cluster itself and notifying to parent for possible group scaling or app bursting. [cluster] " + clusterId + " [instance id]" + clusterInstanceContext.getId() + " [max] " + clusterMaxMembers); - delegator.delegateScalingOverMaxNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(), - clusterInstanceContext.getId()); + delegator.delegateScalingOverMaxNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(),clusterInstanceContext.getId()); } } else if(scaleDown){ http://git-wip-us.apache.org/repos/asf/stratos/blob/07e86193/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl ---------------------------------------------------------------------- diff --git a/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl b/service-stubs/org.apache.stratos.cloud.controller.service.stub/src/main/resources/CloudControllerService.wsdl index 03abeb0..5499a5f 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,66 +1,89 @@ -<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax210="http://domain.common.stratos.apache.org/xsd" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org"> +<?xml version="1.0" encoding="UTF-8"?><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ns="http://impl.services.controller.cloud.stratos.apache.org" xmlns:ax27="http://domain.common.stratos.apache.org/xsd" xmlns:ax23="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax24="http://common.stratos.apache.org/xsd" xmlns:ax21="http://exception.controller.cloud.stratos.apache.org/xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:ax212="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org"> <wsdl:types> - <xs:schema xmlns:ax29="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org"> + <xs:schema xmlns:ax213="http://topology.domain.messaging.stratos.apache.org/xsd" xmlns:ax26="http://domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax211="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd" xmlns:ax22="http://exception.controller.cloud.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://impl.services.controller.cloud.stratos.apache.org"> <xs:import namespace="http://exception.controller.cloud.stratos.apache.org/xsd"/> <xs:import namespace="http://domain.controller.cloud.stratos.apache.org/xsd"/> <xs:import namespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"/> <xs:import namespace="http://topology.domain.messaging.stratos.apache.org/xsd"/> - <xs:element name="getIaasProviders"> + <xs:element name="CloudControllerServiceCartridgeNotFoundException"> <xs:complexType> - <xs:sequence/> + <xs:sequence> + <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/> + </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getIaasProvidersResponse"> + <xs:element name="CloudControllerServiceInvalidIaasProviderException"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridges"> + <xs:element name="CloudControllerServiceCloudControllerException"> <xs:complexType> - <xs:sequence/> + <xs:sequence> + <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/> + </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridgesResponse"> + <xs:element name="startInstance"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax26:InstanceContext"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceCartridgeNotFoundException"> + <xs:element name="startInstanceResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="CartridgeNotFoundException" nillable="true" type="ax21:CartridgeNotFoundException"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridge"> + <xs:element name="CloudControllerServiceInvalidMemberException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="getCartridgeResponse"> + <xs:element name="CloudControllerServiceInvalidCartridgeTypeException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Cartridge"/> + <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException"> + <xs:element name="terminateInstance"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/> + <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidIaasProviderException"> + <xs:element name="terminateInstanceResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidIaasProviderException" nillable="true" type="ax21:InvalidIaasProviderException"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="getIaasProviders"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="getIaasProvidersResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="CloudControllerServiceInvalidCartridgeDefinitionException"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" name="InvalidCartridgeDefinitionException" nillable="true" type="ax21:InvalidCartridgeDefinitionException"/> </xs:sequence> </xs:complexType> </xs:element> @@ -160,13 +183,6 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidCartridgeTypeException"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" name="InvalidCartridgeTypeException" nillable="true" type="ax21:InvalidCartridgeTypeException"/> - </xs:sequence> - </xs:complexType> - </xs:element> <xs:element name="removeCartridge"> <xs:complexType> <xs:sequence> @@ -265,6 +281,18 @@ </xs:sequence> </xs:complexType> </xs:element> + <xs:element name="getCartridges"> + <xs:complexType> + <xs:sequence/> + </xs:complexType> + </xs:element> + <xs:element name="getCartridgesResponse"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + </xs:element> <xs:element name="CloudControllerServiceNonExistingKubernetesClusterException"> <xs:complexType> <xs:sequence> @@ -375,45 +403,17 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceCloudControllerException"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" name="CloudControllerException" nillable="true" type="ax21:CloudControllerException"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="startInstance"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" name="instanceContext" nillable="true" type="ax26:InstanceContext"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="startInstanceResponse"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="CloudControllerServiceInvalidMemberException"> - <xs:complexType> - <xs:sequence> - <xs:element minOccurs="0" name="InvalidMemberException" nillable="true" type="ax21:InvalidMemberException"/> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="terminateInstance"> + <xs:element name="getCartridge"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="terminateInstanceResponse"> + <xs:element name="getCartridgeResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element minOccurs="0" name="return" nillable="true" type="ax26:Cartridge"/> </xs:sequence> </xs:complexType> </xs:element> @@ -480,116 +480,116 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="validateDeploymentPolicyNetworkPartition"> + <xs:element name="startInstances"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax26:InstanceContext"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="validateDeploymentPolicyNetworkPartitionResponse"> + <xs:element name="startInstancesResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="registerService"> + <xs:element name="terminateInstanceForcefully"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/> + <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="registerServiceResponse"> + <xs:element name="terminateInstanceForcefullyResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="startInstances"> + <xs:element name="CloudControllerServiceInvalidClusterException"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="instanceContexts" nillable="true" type="ax26:InstanceContext"/> + <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="startInstancesResponse"> + <xs:element name="terminateInstances"> <xs:complexType> <xs:sequence> - <xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="ax26:MemberContext"/> + <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="terminateInstanceForcefully"> + <xs:element name="terminateInstancesResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="terminateInstanceForcefullyResponse"> + <xs:element name="registerService"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element minOccurs="0" name="registrant" nillable="true" type="ax26:Registrant"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidClusterException"> + <xs:element name="registerServiceResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidClusterException" nillable="true" type="ax21:InvalidClusterException"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="terminateInstances"> + <xs:element name="CloudControllerServiceUnregisteredClusterException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="UnregisteredClusterException" nillable="true" type="ax21:UnregisteredClusterException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="terminateInstancesResponse"> + <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:sequence> </xs:complexType> </xs:element> - <xs:element name="updateClusterStatus"> + <xs:element name="unregisterServiceResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="status" nillable="true" type="ax212:ClusterStatus"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateClusterStatusResponse"> + <xs:element name="validateDeploymentPolicyNetworkPartition"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceUnregisteredClusterException"> + <xs:element name="validateDeploymentPolicyNetworkPartitionResponse"> <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:sequence> </xs:complexType> </xs:element> - <xs:element name="unregisterService"> + <xs:element name="updateClusterStatus"> <xs:complexType> <xs:sequence> + <xs:element minOccurs="0" name="serviceName" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="status" nillable="true" type="ax212:ClusterStatus"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="unregisterServiceResponse"> + <xs:element name="updateClusterStatusResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:boolean"/> @@ -694,42 +694,42 @@ </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesHost"> + <xs:element name="CloudControllerServiceInvalidKubernetesMasterException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/> + <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesHostResponse"> + <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="return" type="xs:boolean"/> + <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceInvalidKubernetesMasterException"> + <xs:element name="updateKubernetesMaster"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="InvalidKubernetesMasterException" nillable="true" type="ax21:InvalidKubernetesMasterException"/> + <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="CloudControllerServiceNonExistingKubernetesMasterException"> + <xs:element name="updateKubernetesMasterResponse"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="NonExistingKubernetesMasterException" nillable="true" type="ax21:NonExistingKubernetesMasterException"/> + <xs:element minOccurs="0" name="return" type="xs:boolean"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesMaster"> + <xs:element name="updateKubernetesHost"> <xs:complexType> <xs:sequence> - <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/> + <xs:element minOccurs="0" name="kubernetesHost" nillable="true" type="ax29:KubernetesHost"/> </xs:sequence> </xs:complexType> </xs:element> - <xs:element name="updateKubernetesMasterResponse"> + <xs:element name="updateKubernetesHostResponse"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="return" type="xs:boolean"/> @@ -781,12 +781,29 @@ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </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:sequence> </xs:complexType> - <xs:complexType name="InvalidIaasProviderException"> + <xs:complexType name="CloudControllerException"> + <xs:complexContent> + <xs:extension base="xs:RuntimeException"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + <xs:complexType name="InvalidMemberException"> + <xs:sequence> + <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="InvalidCartridgeTypeException"> + <xs:sequence> + <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="InvalidCartridgeDefinitionException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> @@ -807,11 +824,6 @@ <xs:complexType name="NetworkPartitionNotExistsException"> <xs:sequence/> </xs:complexType> - <xs:complexType name="InvalidCartridgeTypeException"> - <xs:sequence> - <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> - </xs:sequence> - </xs:complexType> <xs:complexType name="CartridgeDefinitionNotExistsException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> @@ -842,18 +854,6 @@ <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="CloudControllerException"> - <xs:complexContent> - <xs:extension base="xs:RuntimeException"> - <xs:sequence/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - <xs:complexType name="InvalidMemberException"> - <xs:sequence> - <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> - </xs:sequence> - </xs:complexType> <xs:complexType name="InvalidPartitionException"> <xs:sequence> <xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/> @@ -895,31 +895,16 @@ </xs:sequence> </xs:complexType> </xs:schema> - <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.common.stratos.apache.org/xsd"> - <xs:complexType name="NameValuePair"> - <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:sequence> - </xs:complexType> - <xs:complexType name="LoadBalancingIPType"> - <xs:complexContent> - <xs:extension base="xs:Enum"> - <xs:sequence/> - </xs:extension> - </xs:complexContent> - </xs:complexType> - </xs:schema> - <xs:schema xmlns:ax28="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"> + <xs:schema xmlns:ax210="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://kubernetes.domain.controller.cloud.stratos.apache.org/xsd"> <xs:import namespace="http://common.stratos.apache.org/xsd"/> <xs:complexType name="KubernetesCluster"> <xs:sequence> <xs:element minOccurs="0" name="clusterId" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/> - <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax27:KubernetesHost"/> - <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax27:KubernetesMaster"/> - <xs:element minOccurs="0" name="portRange" nillable="true" type="ax27:PortRange"/> - <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="kubernetesHosts" nillable="true" type="ax29:KubernetesHost"/> + <xs:element minOccurs="0" name="kubernetesMaster" nillable="true" type="ax29:KubernetesMaster"/> + <xs:element minOccurs="0" name="portRange" nillable="true" type="ax29:PortRange"/> + <xs:element minOccurs="0" name="properties" nillable="true" type="ax210:Properties"/> </xs:sequence> </xs:complexType> <xs:complexType name="KubernetesHost"> @@ -927,13 +912,13 @@ <xs:element minOccurs="0" name="hostId" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="hostname" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="privateIPAddress" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="properties" nillable="true" type="ax28:Properties"/> + <xs:element minOccurs="0" name="properties" nillable="true" type="ax210:Properties"/> <xs:element minOccurs="0" name="publicIPAddress" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="KubernetesMaster"> <xs:complexContent> - <xs:extension base="ax27:KubernetesHost"> + <xs:extension base="ax29:KubernetesHost"> <xs:sequence/> </xs:extension> </xs:complexContent> @@ -945,9 +930,102 @@ </xs:sequence> </xs:complexType> </xs:schema> - <xs:schema xmlns:ax25="http://common.stratos.apache.org/xsd" xmlns:ax211="http://domain.common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd"> + <xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.common.stratos.apache.org/xsd"> + <xs:complexType name="NameValuePair"> + <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:sequence> + </xs:complexType> + <xs:complexType name="LoadBalancingIPType"> + <xs:complexContent> + <xs:extension base="xs:Enum"> + <xs:sequence/> + </xs:extension> + </xs:complexContent> + </xs:complexType> + </xs:schema> + <xs:schema xmlns:ax28="http://domain.common.stratos.apache.org/xsd" xmlns:ax25="http://common.stratos.apache.org/xsd" attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://domain.controller.cloud.stratos.apache.org/xsd"> <xs:import namespace="http://common.stratos.apache.org/xsd"/> <xs:import namespace="http://domain.common.stratos.apache.org/xsd"/> + <xs:complexType name="InstanceContext"> + <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="volumeRequired" type="xs:boolean"/> + <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Partition"> + <xs:sequence> + <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/> + <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="partitionMax" type="xs:int"/> + <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/> + <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="Volume"> + <xs:sequence> + <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/> + <xs:element minOccurs="0" name="size" type="xs:int"/> + <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/> + </xs:sequence> + </xs:complexType> + <xs:complexType name="MemberContext"> + <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 maxOccurs="unbounded" minOccurs="0" name="dynamicPayload" nillable="true" type="ax27:NameValuePair"/> + <xs:element minOccurs="0" name="initTime" type="xs:long"/> + <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="instanceMetadata" nillable="true" type="ax23:InstanceMetadata"/> + <xs:element minOccurs="0" name="kubernetesPodId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="kubernetesPodLabel" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="lbClusterId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="ax27:LoadBalancingIPType"/> + <xs:element minOccurs="0" name="memberId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="networkPartitionId" nillable="true" type="xs:string"/> + <xs:element minOccurs="0" name="obsoleteExpiryTime" type="xs:long"/> + <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:sequence> + </xs:complexType> + <xs:complexType name="InstanceMetadata"> + <xs:sequence> + <xs:element minOccurs="0" name="cpu" type="xs:int"/> + <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:sequence> + </xs:complexType> <xs:complexType name="Cartridge"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="appTypeMappings" nillable="true" type="ax23:AppType"/> @@ -1023,22 +1101,8 @@ <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/> </xs:sequence> </xs:complexType> - <xs:complexType name="Volume"> - <xs:sequence> - <xs:element minOccurs="0" name="device" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="iaasType" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="mappingPath" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="removeOntermination" type="xs:boolean"/> - <xs:element minOccurs="0" name="size" type="xs:int"/> - <xs:element minOccurs="0" name="snapshotId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="volumeId" nillable="true" type="xs:string"/> - </xs:sequence> - </xs:complexType> <xs:complexType name="PortMapping"> <xs:sequence> - <xs:element minOccurs="0" name="kubernetesServicePort" type="xs:int"/> - <xs:element minOccurs="0" name="kubernetesServicePortMapping" type="xs:boolean"/> <xs:element minOccurs="0" name="name" nillable="true" type="xs:string"/> <xs:element minOccurs="0" name="port" type="xs:int"/> <xs:element minOccurs="0" name="protocol" nillable="true" type="xs:string"/> @@ -1055,17 +1119,6 @@ <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/> </xs:sequence> </xs:complexType> - <xs:complexType name="Partition"> - <xs:sequence> - <xs:element minOccurs="0" name="description" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="isPublic" type="xs:boolean"/> - <xs:element minOccurs="0" name="kubernetesClusterId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="partitionMax" type="xs:int"/> - <xs:element minOccurs="0" name="properties" nillable="true" type="ax25:Properties"/> - <xs:element minOccurs="0" name="provider" nillable="true" type="xs:string"/> - </xs:sequence> - </xs:complexType> <xs:complexType name="ServiceGroup"> <xs:sequence> <xs:element maxOccurs="unbounded" minOccurs="0" name="cartridges" nillable="true" type="xs:string"/> @@ -1096,61 +1149,6 @@ <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/> </xs:sequence> </xs:complexType> - <xs:complexType name="InstanceContext"> - <xs:sequence> - <xs:element minOccurs="0" name="cartridgeType" nillable="true" type="xs:string"/> - <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="volumeRequired" type="xs:boolean"/> - <xs:element maxOccurs="unbounded" minOccurs="0" name="volumes" nillable="true" type="ax23:Volume"/> - </xs:sequence> - </xs:complexType> - <xs:complexType name="MemberContext"> - <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 maxOccurs="unbounded" minOccurs="0" name="dynamicPayload" nillable="true" type="ax210:NameValuePair"/> - <xs:element minOccurs="0" name="initTime" type="xs:long"/> - <xs:element minOccurs="0" name="instanceId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="instanceMetadata" nillable="true" type="ax23:InstanceMetadata"/> - <xs:element minOccurs="0" name="kubernetesPodId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="kubernetesPodLabel" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="lbClusterId" nillable="true" type="xs:string"/> - <xs:element minOccurs="0" name="loadBalancingIPType" nillable="true" type="ax210:LoadBalancingIPType"/> - <xs:element minOccurs="0" name="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:sequence> - </xs:complexType> - <xs:complexType name="InstanceMetadata"> - <xs:sequence> - <xs:element minOccurs="0" name="cpu" type="xs:int"/> - <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:sequence> - </xs:complexType> <xs:complexType name="Registrant"> <xs:sequence> <xs:element minOccurs="0" name="autoScalerPolicyName" nillable="true" type="xs:string"/> @@ -3136,4 +3134,4 @@ <http:address location="http://localhost:8080/axis2/services/CloudControllerService"/> </wsdl:port> </wsdl:service> -</wsdl:definitions> +</wsdl:definitions> \ No newline at end of file
