http://git-wip-us.apache.org/repos/asf/stratos/blob/2fd289b8/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java index 1275f5c..2a7e5d8 100644 --- a/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java +++ b/components/org.apache.stratos.common/src/main/java/org/apache/stratos/common/constants/StratosConstants.java @@ -18,197 +18,211 @@ */ package org.apache.stratos.common.constants; - public class StratosConstants { - public static final String CLOUD_SERVICE_IS_ACTIVE_PROP_KEY = "active"; - - public static final String CLOUD_SERVICE_INFO_STORE_PATH = - "/repository/components/org.apache.stratos/cloud-manager/cloud-services"; - - public static final String TENANT_USER_VALIDATION_STORE_PATH = - "/repository/components/org.wso2.carbon.validations"; - public static final String ADMIN_EMAIL_VERIFICATION_FLAG_PATH = - "/repository/components/org.wso2.carbon.email-confirmation-flag"; - public static final String TENANT_DOMAIN_VERIFICATION_FLAG_PATH = - "/repository/components/org.wso2.carbon.domain-confirmation-flag"; - - public static final String DOMAIN_VALIDATOR_INFO_PATH = - "/repository/components/org.wso2.carbon.domain-validator-info"; - - public static final String TENANT_CREATION_THEME_PAGE_TOKEN = - "/repository/components/org.wso2.carbon.theme-page-token"; - - public static final String TENANT_PACKAGE_INFO_PATH = - "/repository/components/org.wso2.carbon.package-info"; - - public static final String ALL_THEMES_PATH = - "/repository/components/org.wso2.carbon.all-themes"; - - public static final String THROTTLING_RULES_PATH = - "/repository/components/org.wso2.carbon.throttling-rules"; - - public static final String ORIGINATED_SERVICE_PATH = - "/repository/components/org.wso2.carbon.originated-service"; - - public static final String PATH_SEPARATOR = "/"; - - public static final String CLOUD_SERVICE_ICONS_STORE_PATH = - "/repository/components/org.wso2.carbon.cloud-manager/" + - "cloud-services-icons"; - - public static final String VALIDATION_KEY_RESOURCE_NAME = "validation-key"; - public static final String INCOMING_PATH_DIR = "incoming"; - public static final String OUTGOING_PATH_DIR = "outgoing"; - public static final String MULTITENANCY_SCHEDULED_TASK_ID = "multitenancyScheduledTask"; - public static final String MULTITENANCY_VIEWING_TASK_ID = "multitenancyViewingTask"; - - public static final String INVALID_TENANT = "invalidTenant"; - public static final String INACTIVE_TENANT = "inactiveTenant"; - public static final String ACTIVE_TENANT = "activeTenant"; - public static final String IS_EMAIL_VALIDATED = "isEmailValidated"; - public static final String IS_CREDENTIALS_ALREADY_RESET = "isCredentialsReset"; - public static final String TENANT_ADMIN = "tenantAdminUsername"; - - public static final String CLOUD_MANAGER_SERVICE = "Apache Stratos Controller"; - public static final String CLOUD_IDENTITY_SERVICE = "WSO2 Stratos Identity"; - public static final String CLOUD_GOVERNANCE_SERVICE = "WSO2 Stratos Governance"; - public static final String CLOUD_ESB_SERVICE = "WSO2 Stratos Enterprise Service Bus"; - - // keystore mgt related Constants - public static final String TENANT_KS = "/repository/security/key-stores/"; - public static final String TENANT_PUB_KEY = "/repository/security/pub-key"; - public static final String PROP_TENANT_KS_TYPE = "key-store-type"; - public static final String PROP_TENANT_KS_PASSWD = "key-store-password"; - public static final String PROP_TENANT_KS_PRIV_KEY_PASSWD = "priv-key-password"; - public static final String PROP_TENANT_KS_ALIAS = "alias"; - - // constants related to redirection - - public static final String UNVERIFIED_ACCOUNT_DOMAIN_SUFFIX = "-unverified"; - public static final String TENANT_SPECIFIC_URL_RESOLVED = "tenant-sepcific-url-resolved"; - public static final String SUFFIXED_UNVERIFIED_SESSION_FLAG = "temp-suffixed-unverified"; - - // metering constants - public static final String THROTTLING_ALL_ACTION = "all_actions"; - public static final String THROTTLING_IN_DATA_ACTION = "in_data_action"; //this covers registry capacity + registry bandwidth - public static final String THROTTLING_OUT_DATA_ACTION = "out_data_action"; //this covers registry bandwidth - public static final String THROTTLING_ADD_USER_ACTION = "add_user_action"; - public static final String THROTTLING_SERVICE_IN_BANDWIDTH_ACTION = "service_in_bandwith_action"; - public static final String THROTTLING_SERVICE_OUT_BANDWIDTH_ACTION = "service_out_bandwith_action"; - public static final String THROTTLING_WEBAPP_IN_BANDWIDTH_ACTION = "webapp_in_bandwith_action"; - public static final String THROTTLING_WEBAPP_OUT_BANDWIDTH_ACTION = "webapp_out_bandwith_action"; - public static final String THROTTLING_SERVICE_REQUEST_ACTION = "service_request_action"; - public static final String THROTTLING_SERVICE_RESPONSE_ACTION = "service_response_action"; - - // the session attribute to keep track whether the registry action validated - // and the usage persisted - public static final String REGISTRY_ACTION_VALIDATED_SESSION_ATTR = "registryActionValidated"; - public static final String REGISTRY_USAGE_PERSISTED_SESSION_ATTR = "usagePersited"; - - // Metering servlet attributes - public static final String SERVICE_NAME_SERVLET_ATTR = "meteringServiceName"; - public static final String TENANT_ID_SERVLET_ATTR = "tenantId"; - public static final String ADMIN_SERVICE_SERVLET_ATTR = "adminService"; - - // * as a Service impl related constants - public static final String ORIGINATED_SERVICE = "originatedService"; - - // Configuration file name - public static final String STRATOS_CONF_FILE = "stratos.xml"; - //public static final String STRATOS_CONF_LOC = "repository/conf/"; - //public static final String STRATOS_CONF_FILE_WITH_PATH = STRATOS_CONF_LOC + STRATOS_CONF_FILE; - - // EULA location - public static final String STRATOS_EULA = "eula.xml"; - - // EULA default text. - public static final String STRATOS_EULA_DEFAULT_TEXT = - "Please refer to: " + StratosConstants.STRATOS_TERMS_OF_USAGE + - " for terms and usage and " + StratosConstants.STRATOS_PRIVACY_POLICY + - " for privacy policy of WSO2 Stratos."; - - // Web location of Terms of Usage and privacy policy - public static final String STRATOS_TERMS_OF_USAGE = - "http://wso2.com/cloud/services/terms-of-use/"; - public static final String STRATOS_PRIVACY_POLICY = - "http://wso2.com/cloud/services/privacy-policy/"; - public static final String MULTITENANCY_FREE_PLAN = "Demo"; - public static final String MULTITENANCY_SMALL_PLAN = "SMB"; - public static final String MULTITENANCY_MEDIUM_PLAN = "Professional"; - public static final String MULTITENANCY_LARGE_PLAN = "Enterprise"; - public static final String EMAIL_CONFIG = "email"; - public static final String MULTITENANCY_CONFIG_FOLDER = "multitenancy"; - - // Cloud controller - payload - public static final String MEMBER_ID = "MEMBER_ID"; - public static final String LB_CLUSTER_ID = "LB_CLUSTER_ID"; - public static final String NETWORK_PARTITION_ID = "NETWORK_PARTITION_ID"; - - // Kubernetes related constants - public static final String KUBERNETES_CLUSTER_ID = "KUBERNETES_CLUSTER_ID"; - public static final String KUBERNETES_MASTER_PORT = "KUBERNETES_MASTER_PORT"; - public static final String KUBERNETES_MASTER_DEFAULT_PORT = "8080"; - - //drools related constants - public static final String DROOLS_DIR_NAME = "drools"; - public static final String SCALE_CHECK_DROOL_FILE = "scaling.drl"; - public static final String DEPENDENT_SCALE_CHECK_DROOL_FILE = "dependent-scaling.drl"; - public static final String MIN_CHECK_DROOL_FILE = "mincheck.drl"; - public static final String MAX_CHECK_DROOL_FILE = "maxcheck.drl"; - public static final String OBSOLETE_CHECK_DROOL_FILE = "obsoletecheck.drl"; - public static final String MIN_COUNT = "MIN_COUNT"; - - // Policy and definition related constants - public static final int PUBLIC_DEFINITION = 0; - - // member expiry timeout constants - public static final String PENDING_MEMBER_EXPIRY_TIMEOUT = "autoscaler.member.pendingMemberExpiryTimeout"; - public static final String OBSOLETED_MEMBER_EXPIRY_TIMEOUT = "autoscaler.member.obsoletedMemberExpiryTimeout"; - public static final String PENDING_TERMINATION_MEMBER_EXPIRY_TIMEOUT = "autoscaler.member.pendingTerminationMemberExpiryTimeout"; - - public static final String FILTER_VALUE_SEPARATOR = ","; - public static final String TOPOLOGY_APPLICATION_FILTER = "stratos.topology.application.filter"; - public static final String TOPOLOGY_SERVICE_FILTER = "stratos.topology.service.filter"; - public static final String TOPOLOGY_CLUSTER_FILTER = "stratos.topology.cluster.filter"; - public static final String TOPOLOGY_MEMBER_FILTER = "stratos.topology.member.filter"; - public static final String TOPOLOGY_NETWORK_PARTITION_FILTER = "stratos.topology.network.partition.filter"; - - // to identify a lb cluster - public static final String LOAD_BALANCER_REF = "load.balancer.ref"; - public static final String SERVICE_AWARE_LOAD_BALANCER = "service.aware.load.balancer"; - public static final String DEFAULT_LOAD_BALANCER = "default.load.balancer"; - public static final String NO_LOAD_BALANCER = "no.load.balancer"; - public static final String EXISTING_LOAD_BALANCERS = "existing.load.balancers"; - - public static final long HAZELCAST_INSTANCE_INIT_TIMEOUT = 300000; // 5 min - - public static final String AUTOSCALER_SERVICE_URL = "autoscaler.service.url"; - public static final String CLOUD_CONTROLLER_SERVICE_URL = "cloud.controller.service.url"; - public static final String STRATOS_MANAGER_SERVICE_URL = "stratos.manager.service.url"; - - public static final String CLOUD_CONTROLLER_CLIENT_SOCKET_TIMEOUT = "cc.socket.timeout"; - public static final String CLOUD_CONTROLLER_CLIENT_CONNECTION_TIMEOUT = "cc.connection.timeout"; - public static final String AUTOSCALER_CLIENT_SOCKET_TIMEOUT = "autoscaler.socket.timeout"; - public static final String AUTOSCALER_CLIENT_CONNECTION_TIMEOUT = "autoscaler.connection.timeout"; - public static final String STRATOS_MANAGER_CLIENT_SOCKET_TIMEOUT = "stratos.manager.socket.timeout"; - public static final String STRATOS_MANAGER_CLIENT_CONNECTION_TIMEOUT = "stratos.manager.connection.timeout"; - - public static final String DEFAULT_CLIENT_SOCKET_TIMEOUT = "300000"; - public static final String DEFAULT_CLIENT_CONNECTION_TIMEOUT = "300000"; - - // partition algorithm id constants - public static final String PARTITION_ROUND_ROBIN_ALGORITHM_ID = "round-robin"; - public static final String PARTITION_WEIGHTED_ROUND_ROBIN_ALGORITHM_ID = "weighted-round-robin"; - public static final String PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID = "one-after-another"; - // network partition algorithm id constants - public static final String NETWORK_PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID = "one-after-another"; - public static final String NETWORK_PARTITION_ALL_AT_ONCE_ALGORITHM_ID = "all-at-once"; - public static final String APPLICATION_POLICY_NETWORK_PARTITION_GROUPS = "networkPartitionGroups"; - public static final String APPLICATION_POLICY_NETWORK_PARTITIONS_SPLITTER = "\\|"; - public static final String APPLICATION_POLICY_NETWORK_PARTITION_GROUPS_SPLITTER = ","; - - public static final String NOT_DEFINED = "not-defined"; - public static final String CLUSTER_INSTANCE_ID = "cluster.instance.id"; + public static final String CLOUD_SERVICE_IS_ACTIVE_PROP_KEY = "active"; + + public static final String CLOUD_SERVICE_INFO_STORE_PATH = + "/repository/components/org.apache.stratos/cloud-manager/cloud-services"; + + public static final String TENANT_USER_VALIDATION_STORE_PATH = + "/repository/components/org.wso2.carbon.validations"; + public static final String ADMIN_EMAIL_VERIFICATION_FLAG_PATH = + "/repository/components/org.wso2.carbon.email-confirmation-flag"; + public static final String TENANT_DOMAIN_VERIFICATION_FLAG_PATH = + "/repository/components/org.wso2.carbon.domain-confirmation-flag"; + + public static final String DOMAIN_VALIDATOR_INFO_PATH = + "/repository/components/org.wso2.carbon.domain-validator-info"; + + public static final String TENANT_CREATION_THEME_PAGE_TOKEN = + "/repository/components/org.wso2.carbon.theme-page-token"; + + public static final String TENANT_PACKAGE_INFO_PATH = + "/repository/components/org.wso2.carbon.package-info"; + + public static final String ALL_THEMES_PATH = + "/repository/components/org.wso2.carbon.all-themes"; + + public static final String THROTTLING_RULES_PATH = + "/repository/components/org.wso2.carbon.throttling-rules"; + + public static final String ORIGINATED_SERVICE_PATH = + "/repository/components/org.wso2.carbon.originated-service"; + + public static final String PATH_SEPARATOR = "/"; + + public static final String CLOUD_SERVICE_ICONS_STORE_PATH = + "/repository/components/org.wso2.carbon.cloud-manager/" + "cloud-services-icons"; + + public static final String VALIDATION_KEY_RESOURCE_NAME = "validation-key"; + public static final String INCOMING_PATH_DIR = "incoming"; + public static final String OUTGOING_PATH_DIR = "outgoing"; + public static final String MULTITENANCY_SCHEDULED_TASK_ID = "multitenancyScheduledTask"; + public static final String MULTITENANCY_VIEWING_TASK_ID = "multitenancyViewingTask"; + + public static final String INVALID_TENANT = "invalidTenant"; + public static final String INACTIVE_TENANT = "inactiveTenant"; + public static final String ACTIVE_TENANT = "activeTenant"; + public static final String IS_EMAIL_VALIDATED = "isEmailValidated"; + public static final String IS_CREDENTIALS_ALREADY_RESET = "isCredentialsReset"; + public static final String TENANT_ADMIN = "tenantAdminUsername"; + + public static final String CLOUD_MANAGER_SERVICE = "Apache Stratos Controller"; + public static final String CLOUD_IDENTITY_SERVICE = "WSO2 Stratos Identity"; + public static final String CLOUD_GOVERNANCE_SERVICE = "WSO2 Stratos Governance"; + public static final String CLOUD_ESB_SERVICE = "WSO2 Stratos Enterprise Service Bus"; + + // keystore mgt related Constants + public static final String TENANT_KS = "/repository/security/key-stores/"; + public static final String TENANT_PUB_KEY = "/repository/security/pub-key"; + public static final String PROP_TENANT_KS_TYPE = "key-store-type"; + public static final String PROP_TENANT_KS_PASSWD = "key-store-password"; + public static final String PROP_TENANT_KS_PRIV_KEY_PASSWD = "priv-key-password"; + public static final String PROP_TENANT_KS_ALIAS = "alias"; + + // constants related to redirection + + public static final String UNVERIFIED_ACCOUNT_DOMAIN_SUFFIX = "-unverified"; + public static final String TENANT_SPECIFIC_URL_RESOLVED = "tenant-sepcific-url-resolved"; + public static final String SUFFIXED_UNVERIFIED_SESSION_FLAG = "temp-suffixed-unverified"; + + // metering constants + public static final String THROTTLING_ALL_ACTION = "all_actions"; + public static final String THROTTLING_IN_DATA_ACTION = "in_data_action"; + //this covers registry capacity + registry bandwidth + public static final String THROTTLING_OUT_DATA_ACTION = "out_data_action"; + //this covers registry bandwidth + public static final String THROTTLING_ADD_USER_ACTION = "add_user_action"; + public static final String THROTTLING_SERVICE_IN_BANDWIDTH_ACTION = + "service_in_bandwith_action"; + public static final String THROTTLING_SERVICE_OUT_BANDWIDTH_ACTION = + "service_out_bandwith_action"; + public static final String THROTTLING_WEBAPP_IN_BANDWIDTH_ACTION = "webapp_in_bandwith_action"; + public static final String THROTTLING_WEBAPP_OUT_BANDWIDTH_ACTION = + "webapp_out_bandwith_action"; + public static final String THROTTLING_SERVICE_REQUEST_ACTION = "service_request_action"; + public static final String THROTTLING_SERVICE_RESPONSE_ACTION = "service_response_action"; + + // the session attribute to keep track whether the registry action validated + // and the usage persisted + public static final String REGISTRY_ACTION_VALIDATED_SESSION_ATTR = "registryActionValidated"; + public static final String REGISTRY_USAGE_PERSISTED_SESSION_ATTR = "usagePersited"; + + // Metering servlet attributes + public static final String SERVICE_NAME_SERVLET_ATTR = "meteringServiceName"; + public static final String TENANT_ID_SERVLET_ATTR = "tenantId"; + public static final String ADMIN_SERVICE_SERVLET_ATTR = "adminService"; + + // * as a Service impl related constants + public static final String ORIGINATED_SERVICE = "originatedService"; + + // Configuration file name + public static final String STRATOS_CONF_FILE = "stratos.xml"; + //public static final String STRATOS_CONF_LOC = "repository/conf/"; + //public static final String STRATOS_CONF_FILE_WITH_PATH = STRATOS_CONF_LOC + STRATOS_CONF_FILE; + + // EULA location + public static final String STRATOS_EULA = "eula.xml"; + + // EULA default text. + public static final String STRATOS_EULA_DEFAULT_TEXT = + "Please refer to: " + StratosConstants.STRATOS_TERMS_OF_USAGE + + " for terms and usage and " + StratosConstants.STRATOS_PRIVACY_POLICY + + " for privacy policy of WSO2 Stratos."; + + // Web location of Terms of Usage and privacy policy + public static final String STRATOS_TERMS_OF_USAGE = + "http://wso2.com/cloud/services/terms-of-use/"; + public static final String STRATOS_PRIVACY_POLICY = + "http://wso2.com/cloud/services/privacy-policy/"; + public static final String MULTITENANCY_FREE_PLAN = "Demo"; + public static final String MULTITENANCY_SMALL_PLAN = "SMB"; + public static final String MULTITENANCY_MEDIUM_PLAN = "Professional"; + public static final String MULTITENANCY_LARGE_PLAN = "Enterprise"; + public static final String EMAIL_CONFIG = "email"; + public static final String MULTITENANCY_CONFIG_FOLDER = "multitenancy"; + + // Cloud controller - payload + public static final String MEMBER_ID = "MEMBER_ID"; + public static final String LB_CLUSTER_ID = "LB_CLUSTER_ID"; + public static final String NETWORK_PARTITION_ID = "NETWORK_PARTITION_ID"; + + // Kubernetes related constants + public static final String KUBERNETES_CLUSTER_ID = "KUBERNETES_CLUSTER_ID"; + public static final String KUBERNETES_MASTER_PORT = "KUBERNETES_MASTER_PORT"; + public static final String KUBERNETES_MASTER_DEFAULT_PORT = "8080"; + + //drools related constants + public static final String DROOLS_DIR_NAME = "drools"; + public static final String SCALE_CHECK_DROOL_FILE = "scaling.drl"; + public static final String DEPENDENT_SCALE_CHECK_DROOL_FILE = "dependent-scaling.drl"; + public static final String MIN_CHECK_DROOL_FILE = "mincheck.drl"; + public static final String MAX_CHECK_DROOL_FILE = "maxcheck.drl"; + public static final String OBSOLETE_CHECK_DROOL_FILE = "obsoletecheck.drl"; + public static final String MIN_COUNT = "MIN_COUNT"; + public static final String SCALING_REASON = "SCALING_REASON"; + public static final String SCALING_TIME = "SCALING_TIME"; + + // Policy and definition related constants + public static final int PUBLIC_DEFINITION = 0; + + // member expiry timeout constants + public static final String PENDING_MEMBER_EXPIRY_TIMEOUT = + "autoscaler.member.pendingMemberExpiryTimeout"; + public static final String OBSOLETED_MEMBER_EXPIRY_TIMEOUT = + "autoscaler.member.obsoletedMemberExpiryTimeout"; + public static final String PENDING_TERMINATION_MEMBER_EXPIRY_TIMEOUT = + "autoscaler.member.pendingTerminationMemberExpiryTimeout"; + + public static final String FILTER_VALUE_SEPARATOR = ","; + public static final String TOPOLOGY_APPLICATION_FILTER = "stratos.topology.application.filter"; + public static final String TOPOLOGY_SERVICE_FILTER = "stratos.topology.service.filter"; + public static final String TOPOLOGY_CLUSTER_FILTER = "stratos.topology.cluster.filter"; + public static final String TOPOLOGY_MEMBER_FILTER = "stratos.topology.member.filter"; + public static final String TOPOLOGY_NETWORK_PARTITION_FILTER = + "stratos.topology.network.partition.filter"; + + // to identify a lb cluster + public static final String LOAD_BALANCER_REF = "load.balancer.ref"; + public static final String SERVICE_AWARE_LOAD_BALANCER = "service.aware.load.balancer"; + public static final String DEFAULT_LOAD_BALANCER = "default.load.balancer"; + public static final String NO_LOAD_BALANCER = "no.load.balancer"; + public static final String EXISTING_LOAD_BALANCERS = "existing.load.balancers"; + + public static final long HAZELCAST_INSTANCE_INIT_TIMEOUT = 300000; // 5 min + + public static final String AUTOSCALER_SERVICE_URL = "autoscaler.service.url"; + public static final String CLOUD_CONTROLLER_SERVICE_URL = "cloud.controller.service.url"; + public static final String STRATOS_MANAGER_SERVICE_URL = "stratos.manager.service.url"; + + public static final String CLOUD_CONTROLLER_CLIENT_SOCKET_TIMEOUT = "cc.socket.timeout"; + public static final String CLOUD_CONTROLLER_CLIENT_CONNECTION_TIMEOUT = "cc.connection.timeout"; + public static final String AUTOSCALER_CLIENT_SOCKET_TIMEOUT = "autoscaler.socket.timeout"; + public static final String AUTOSCALER_CLIENT_CONNECTION_TIMEOUT = + "autoscaler.connection.timeout"; + public static final String STRATOS_MANAGER_CLIENT_SOCKET_TIMEOUT = + "stratos.manager.socket.timeout"; + public static final String STRATOS_MANAGER_CLIENT_CONNECTION_TIMEOUT = + "stratos.manager.connection.timeout"; + + public static final String DEFAULT_CLIENT_SOCKET_TIMEOUT = "300000"; + public static final String DEFAULT_CLIENT_CONNECTION_TIMEOUT = "300000"; + + // partition algorithm id constants + public static final String PARTITION_ROUND_ROBIN_ALGORITHM_ID = "round-robin"; + public static final String PARTITION_WEIGHTED_ROUND_ROBIN_ALGORITHM_ID = "weighted-round-robin"; + public static final String PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID = "one-after-another"; + // network partition algorithm id constants + public static final String NETWORK_PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID = + "one-after-another"; + public static final String NETWORK_PARTITION_ALL_AT_ONCE_ALGORITHM_ID = "all-at-once"; + public static final String APPLICATION_POLICY_NETWORK_PARTITION_GROUPS = + "networkPartitionGroups"; + public static final String APPLICATION_POLICY_NETWORK_PARTITIONS_SPLITTER = "\\|"; + public static final String APPLICATION_POLICY_NETWORK_PARTITION_GROUPS_SPLITTER = ","; + + public static final String NOT_DEFINED = "not-defined"; + public static final String CLUSTER_INSTANCE_ID = "cluster.instance.id"; }
http://git-wip-us.apache.org/repos/asf/stratos/blob/2fd289b8/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/2fd289b8/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/2fd289b8/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl ---------------------------------------------------------------------- diff --git a/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl b/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl index 56e9164..3d373bb 100644 --- a/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl +++ b/products/stratos/modules/distribution/src/main/conf/drools/dependent-scaling.drl @@ -84,7 +84,9 @@ dialect "mvel" log.info("[dependency-scale] [scale-up] Partition available, hence trying to spawn an instance to scale up!" ); log.debug("[dependency-scale] [scale-up] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] " + clusterId ); - delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary); + long time = System.currentTimeMillis(); + String scalingReason = "Dependency scaling"; + delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary,scalingReason,time); count++; } else { partitionsAvailable = false; http://git-wip-us.apache.org/repos/asf/stratos/blob/2fd289b8/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/2fd289b8/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 e6f8f67..167711f 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"; while(count != additionalInstances && partitionsAvailable){ @@ -182,7 +183,8 @@ dialect "mvel" " [laPredictedValue] " + laPredictedValue + " [laThreshold] " + laThreshold); log.debug("[scale-up] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] " + clusterId ); - delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary); + long scalingTime = System.currentTimeMillis(); + delegator.delegateSpawn(partitionContext, clusterId, clusterInstanceContext.getId(), isPrimary,autoscalingReason,scalingTime); count++; } else { @@ -195,12 +197,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){
