Mebase the stratos-4.1.x branch
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/87722210 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/87722210 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/87722210 Branch: refs/heads/master Commit: 877222105077a8992b4116458b6b286a3045d6c9 Parents: 8df053e 298428b Author: gayangunarathne <[email protected]> Authored: Tue Dec 8 17:46:12 2015 +0530 Committer: gayangunarathne <[email protected]> Committed: Tue Dec 8 17:46:12 2015 +0530 ---------------------------------------------------------------------- README.md | 22 +- .../org.apache.stratos.autoscaler/pom.xml | 186 +- .../networkpartition/AllAtOnceAlgorithm.java | 2 +- .../ApplicationEventSynchronizer.java | 9 +- .../parser/DefaultApplicationParser.java | 7 +- .../applications/parser/ParserUtils.java | 43 + .../applications/topic/ApplicationBuilder.java | 13 - .../topic/ApplicationsEventPublisher.java | 11 +- ...ntityApplicationManagementServiceClient.java | 3 +- .../client/OAuthAdminServiceClient.java | 2 +- .../context/cluster/ClusterContext.java | 5 +- .../AutoscalerHealthStatEventReceiver.java | 5 - .../AutoscalerInitializerTopicReceiver.java | 72 + .../AutoscalerTopologyEventReceiver.java | 274 ++- .../autoscaler/internal/ASBundleActivater.java | 41 - .../internal/AutoscalerServiceComponent.java | 115 +- .../monitor/cluster/ClusterMonitor.java | 21 +- .../autoscaler/pojo/policy/PolicyManager.java | 2 +- .../services/impl/AutoscalerServiceImpl.java | 32 +- .../publisher/AutoscalerPublisherFactory.java | 5 +- .../publisher/DASScalingDecisionPublisher.java | 25 +- .../publisher/ScalingDecisionPublisher.java | 24 +- .../cluster/ClusterStatusActiveProcessor.java | 22 +- .../group/GroupStatusActiveProcessor.java | 84 +- .../processor/group/GroupStatusProcessor.java | 10 +- .../group/GroupStatusTerminatedProcessor.java | 42 +- .../autoscaler/util/AutoscalerConstants.java | 1 + .../org.apache.stratos.cartridge.agent/pom.xml | 41 +- components/org.apache.stratos.cli/pom.xml | 18 +- .../org.apache.stratos.cloud.controller/pom.xml | 220 +- .../concurrent/PartitionValidatorCallable.java | 61 - .../context/CloudControllerContext.java | 118 +- .../cloud/controller/domain/IaasProvider.java | 68 +- .../controller/domain/NetworkInterface.java | 16 + .../KubernetesClusterAlreadyUsedException.java | 49 + .../cloud/controller/iaases/JcloudsIaas.java | 12 +- .../cloud/controller/iaases/ec2/EC2Iaas.java | 24 +- .../iaases/openstack/OpenstackIaas.java | 4 +- .../CloudControllerServiceComponent.java | 53 +- .../internal/ServiceReferenceHolder.java | 4 +- .../publisher/TopologyEventPublisher.java | 15 +- .../publisher/TopologyEventSynchronizer.java | 8 +- .../initializer/InitializerTopicReceiver.java | 72 + .../messaging/topology/TopologyBuilder.java | 227 +- .../messaging/topology/TopologyHolder.java | 104 + .../messaging/topology/TopologyManager.java | 104 - .../controller/registry/RegistryManager.java | 4 +- .../services/CloudControllerService.java | 2 +- .../impl/CloudControllerServiceImpl.java | 143 +- .../impl/CloudControllerServiceUtil.java | 8 +- .../services/impl/InstanceTerminator.java | 22 +- .../CloudControllerPublisherFactory.java | 9 +- .../DASMemberInformationPublisher.java | 23 +- .../publisher/DASMemberStatusPublisher.java | 22 +- .../publisher/MemberInformationPublisher.java | 12 +- .../publisher/MemberStatusPublisher.java | 16 +- .../util/CloudControllerConstants.java | 5 + .../controller/util/CloudControllerUtil.java | 217 +- .../iaasprovider/IaaSProviderTest.java | 66 + .../resources/cloud-controller-ec2-iaas.xml | 55 + components/org.apache.stratos.common/pom.xml | 139 +- .../client/CloudControllerServiceClient.java | 116 +- ...InvalidStatisticsPublisherTypeException.java | 30 + .../common/partition/NetworkPartitionRef.java | 5 + .../publisher/HealthStatisticsPublisher.java | 12 +- .../HealthStatisticsPublisherFactory.java | 5 +- .../publisher/InFlightRequestPublisher.java | 11 +- .../InFlightRequestPublisherFactory.java | 5 +- .../publisher/ThriftStatisticsPublisher.java | 98 +- .../cep/WSO2CEPHealthStatisticsPublisher.java | 20 +- .../cep/WSO2CEPInFlightRequestPublisher.java | 30 +- .../common/util/CartridgeConfigFileReader.java | 87 + .../test/ThriftClientConfigParserTest.java | 73 +- .../test/ThriftStatisticsPublisherTest.java | 70 + .../src/test/resources/thrift-client-config.xml | 53 +- .../org.apache.stratos.custom.handlers/pom.xml | 67 +- .../pom.xml | 31 +- .../pom.xml | 49 +- .../load/balancer/common/domain/Cluster.java | 9 + .../load/balancer/common/domain/Member.java | 10 + ...LoadBalancerCommonTopologyEventReceiver.java | 13 + .../pom.xml | 4 +- .../org.apache.stratos.load.balancer/pom.xml | 70 +- .../console/app.js | 26 +- .../console/applications_form.jag | 5 +- .../console/controllers/login/login.jag | 18 +- .../console/controllers/menu/menu.json | 14 +- .../console/controllers/menu/menu_generator.jag | 35 +- .../console/themes/theme0/css/custom.css | 11 + .../themes/theme0/partials/metro_menu.hbs | 34 +- .../org.apache.stratos.manager.styles/pom.xml | 80 +- components/org.apache.stratos.manager/pom.xml | 104 +- .../src/conf/tenant-resource-policy.xml | 22 - .../ArtifactDistributionCoordinator.java | 77 +- .../manager/context/StratosManagerContext.java | 19 +- .../StratosManagerServiceComponent.java | 98 +- .../synchronizer/TenantEventSynchronizer.java | 6 +- .../StratosManagerInitializerTopicReceiver.java | 91 + .../manager/registry/RegistryManager.java | 2 +- .../utils/CartridgeConfigFileReader.java | 87 - .../src/scripts/append_zone_file.sh | 44 - components/org.apache.stratos.messaging/pom.xml | 69 +- .../domain/application/Application.java | 11 +- .../CompleteApplicationSignUpsRequestEvent.java | 26 + .../CompleteApplicationsRequestEvent.java | 26 + .../initializer/CompleteTenantRequestEvent.java | 26 + .../CompleteTopologyRequestEvent.java | 27 + .../event/initializer/InitializerEvent.java | 26 + ...eApplicationSignUpsRequestEventListener.java | 24 + ...ompleteApplicationsRequestEventListener.java | 24 + .../CompleteTenantRequestEventListener.java | 24 + .../CompleteTopologyRequestEventListener.java | 26 + .../processor/MessageProcessorChain.java | 2 + .../ApplicationCreatedMessageProcessor.java | 25 +- .../ApplicationDeletedMessageProcessor.java | 12 +- ...cationInstanceActivatedMessageProcessor.java | 42 +- ...licationInstanceCreatedMessageProcessor.java | 25 +- ...tionInstanceInactivatedMessageProcessor.java | 40 +- ...ationInstanceTerminatedMessageProcessor.java | 25 +- ...tionInstanceTerminatingMessageProcessor.java | 41 +- .../ApplicationsMessageProcessorChain.java | 38 +- .../CompleteApplicationsMessageProcessor.java | 3 + .../ApplicationSignUpMessageProcessorChain.java | 13 + ...rStatusClusterActivatedMessageProcessor.java | 10 +- ...StatusClusterInactivateMessageProcessor.java | 10 +- ...sClusterInstanceCreatedMessageProcessor.java | 10 +- ...usterStatusClusterResetMessageProcessor.java | 10 +- ...StatusClusterTerminatedMessageProcessor.java | 10 +- ...tatusClusterTerminatingMessageProcessor.java | 10 +- .../ClusterStatusMessageProcessorChain.java | 18 + .../DomainMappingMessageProcessorChain.java | 11 + .../stat/HealthStatMessageProcessorChain.java | 41 +- ...plicationSignUpsRequestMessageProcessor.java | 54 + ...leteApplicationsRequestMessageProcessor.java | 54 + .../CompleteTenantRequestMessageProcessor.java | 53 + ...CompleteTopologyRequestMessageProcessor.java | 54 + .../InitializerMessageProcessorChain.java | 85 + .../InstanceNotifierMessageProcessorChain.java | 12 + .../InstanceStatusMessageProcessorChain.java | 14 + .../tenant/TenantMessageProcessorChain.java | 14 + .../topology/TopologyMessageProcessorChain.java | 48 + .../ApplicationsEventMessageDelegator.java | 4 + .../application/ApplicationsEventReceiver.java | 34 +- .../signup/ApplicationSignUpEventReceiver.java | 30 +- .../InitializerEventMessageDelegator.java | 88 + .../InitializerEventMessageListener.java | 48 + .../InitializerEventMessageQueue.java | 26 + .../initializer/InitializerEventReceiver.java | 78 + .../notifier/InstanceNotifierEventReceiver.java | 62 +- .../receiver/tenant/TenantEventReceiver.java | 24 +- .../topology/TopologyEventReceiver.java | 27 +- .../stratos/messaging/util/MessagingUtil.java | 3 +- .../org.apache.stratos.metadata.client/pom.xml | 23 +- .../metadata/client/beans/PropertyBean.java | 19 +- .../org.apache.stratos.metadata.service/pom.xml | 82 +- .../stratos/metadata/service/Constants.java | 3 +- .../MetadataApplicationEventReceiver.java | 93 + .../service/MetadataTopologyEventReceiver.java | 12 +- .../metadata/service/api/MetadataApi.java | 18 +- .../service/exception/MetadataException.java | 4 + .../service/oauth2/ValidationServiceClient.java | 18 +- .../metadata/service/registry/DataStore.java | 21 +- .../service/registry/MetadataApiRegistry.java | 265 ++- .../org.apache.stratos.mock.iaas.api/pom.xml | 65 +- .../stratos/mock/iaas/api/MockIaasApi.java | 20 + .../org.apache.stratos.mock.iaas.client/pom.xml | 65 +- .../mock/iaas/client/MockIaasApiClient.java | 12 + components/org.apache.stratos.mock.iaas/pom.xml | 40 +- .../iaas/internal/MockIaasServiceComponent.java | 6 - .../iaas/services/impl/MockIaasServiceImpl.java | 65 +- .../iaas/services/impl/MockIaasServiceUtil.java | 23 - .../mock/iaas/services/impl/MockInstance.java | 187 +- .../publisher/MockHealthStatisticsNotifier.java | 58 +- .../mock/iaas/test/MockIaasServiceTest.java | 149 +- .../src/test/resources/jndi.properties | 22 + .../src/test/resources/thrift-client-config.xml | 50 + .../pom.xml | 30 +- .../cartridge.agent/cartridge.agent/agent.conf | 4 +- .../cartridge.agent/cartridge.agent/agent.py | 243 ++- .../cartridge.agent/cartridge.agent/config.py | 95 +- .../cartridge.agent/constants.py | 7 +- .../cartridge.agent/exception.py | 46 +- .../extensions/py/ExtensionExecutor.py | 2 +- .../cartridge.agent/healthstats.py | 112 +- .../cartridge.agent/logpublisher.py | 2 +- .../modules/artifactmgt/git/agentgithandler.py | 35 +- .../modules/event/application/signup/events.py | 3 - .../modules/event/eventhandler.py | 1190 +++++----- .../modules/event/instance/notifier/events.py | 2 +- .../modules/event/instance/status/events.py | 18 +- .../modules/event/tenant/events.py | 2 +- .../modules/util/asyncscheduledtask.py | 2 +- .../modules/util/cartridgeagentutils.py | 116 +- .../cartridge.agent/modules/util/log.py | 2 +- .../plugins/DefaultArtifactCheckout.py | 4 +- .../plugins/DefaultArtifactCommit.py | 17 +- .../cartridge.agent/publisher.py | 117 +- .../cartridge.agent/subscriber.py | 161 +- .../src/main/python/README.md | 40 +- .../src/main/python/README.rst | 75 - .../src/main/python/cli/CLI.py | 1530 ------------- .../src/main/python/cli/Configs.py | 32 - .../src/main/python/cli/Exceptions.py | 25 - .../src/main/python/cli/Logging.py | 29 - .../src/main/python/cli/Main.py | 66 - .../src/main/python/cli/Stratos.py | 489 ----- .../src/main/python/cli/Utils.py | 99 - .../src/main/python/cli/cli.py | 1687 +++++++++++++++ .../src/main/python/cli/config.py | 32 + .../src/main/python/cli/exception.py | 26 + .../src/main/python/cli/logutils.py | 29 + .../src/main/python/cli/main.py | 71 + .../src/main/python/cli/restclient.py | 493 +++++ .../src/main/python/cli/utils.py | 38 + .../src/main/python/setup.cfg | 2 - .../src/main/python/setup.py | 47 - .../org.apache.stratos.rest.endpoint/pom.xml | 76 +- .../rest/endpoint/api/StratosApiV41.java | 16 +- .../rest/endpoint/api/StratosApiV41Utils.java | 607 +++--- .../handlers/ComponentSynchronizerHandler.java | 11 +- .../oauth2/ValidationServiceClient.java | 12 +- .../src/main/webapp/api/WEB-INF/cxf-servlet.xml | 1 + dependencies/fabric8/kubernetes-api/pom.xml | 73 +- dependencies/guice-assistedinject/pom.xml | 6 +- dependencies/guice-multibindings/pom.xml | 4 +- dependencies/guice/pom.xml | 4 +- dependencies/jclouds/cloudstack/pom.xml | 5 +- dependencies/jclouds/ec2/pom.xml | 5 +- .../google-cloud-storage/pom.xml | 5 +- .../google-compute-engine/pom.xml | 5 +- .../google-jclouds-labs/googlecloud/pom.xml | 5 +- .../jclouds/google-jclouds-labs/oauth/pom.xml | 5 +- dependencies/jclouds/jclouds-blobstore/pom.xml | 5 +- .../jclouds/jclouds-bouncycastle/pom.xml | 8 +- dependencies/jclouds/jclouds-compute/pom.xml | 5 +- dependencies/jclouds/jclouds-core/pom.xml | 5 +- dependencies/jclouds/jclouds-enterprise/pom.xml | 5 +- dependencies/jclouds/jclouds-joda/pom.xml | 5 +- dependencies/jclouds/jclouds-netty/pom.xml | 7 +- dependencies/jclouds/jclouds-sshj/pom.xml | 5 +- dependencies/jclouds/openstack-common/pom.xml | 5 +- dependencies/jclouds/openstack-keystone/pom.xml | 5 +- dependencies/jclouds/openstack-neutron/pom.xml | 5 +- dependencies/jclouds/openstack-nova/pom.xml | 5 +- dependencies/jclouds/sts/pom.xml | 5 +- dependencies/org.wso2.carbon.ui/pom.xml | 2 +- dependencies/rocoto/pom.xml | 5 +- dependencies/sshj/pom.xml | 9 +- extensions/cep/modules/distribution/README.md | 34 +- extensions/cep/modules/distribution/pom.xml | 16 +- .../modules/distribution/src/assembly/bin.xml | 25 + .../stratos-cep-extension/wso2cep-3.0.0/pom.xml | 15 +- .../stratos-cep-extension/wso2cep-3.1.0/pom.xml | 17 +- .../extension/FaultHandlingWindowProcessor.java | 2 +- .../GradientFinderWindowProcessor.java | 2 +- .../SecondDerivativeFinderWindowProcessor.java | 2 +- extensions/cep/pom.xml | 2 +- .../artifacts/metering-dashboard/README.md | 36 +- .../artifacts/metering-dashboard/capps/pom.xml | 22 +- .../Dashboard/artifact.xml | 2 +- .../Dashboard/metering-dashboard.json | 229 ++ .../Dashboard/stratos-metering-dashboard.json | 229 -- .../js/member-details-filter.js | 30 +- .../metering-dashboard/ues-patch/README.md | 5 +- .../metering-dashboard/ues-patch/dashboard.jag | 129 +- .../ues-patch/ues-dashboards.js | 211 -- .../metering-dashboard/ues-patch/ues-gadgets.js | 196 ++ .../metering-dashboard/ues-patch/ues-pubsub.js | 20 +- .../artifacts/monitoring-dashboard/README.md | 33 +- .../monitoring-dashboard/capps/pom.xml | 20 +- .../Dashboard/artifact.xml | 2 +- .../Dashboard/monitoring-dashboard.json | 225 ++ .../scaling_decision_1.0.0.json | 4 +- .../GadgetLoadAverage/Load_Average/js/igviz.js | 2 +- .../GadgetMemoryUsage/Memory_Usage/js/igviz.js | 2 +- extensions/das/modules/distribution/README.md | 45 +- extensions/das/modules/distribution/pom.xml | 6 +- .../das/modules/stratos-das-extension/README.md | 10 +- .../apache/stratos/das/extension/TimeUDF.java | 49 + .../das/extension/spark/udf/TimeUDF.java | 49 - extensions/das/pom.xml | 5 +- .../modules/aws-extension/INSTALL.md | 10 +- .../load-balancer/modules/aws-extension/pom.xml | 17 +- .../aws-extension/src/main/assembly/bin.xml | 5 + .../aws-extension/src/main/bin/aws-extension.sh | 7 +- .../aws-extension/src/main/conf/aws.properties | 19 + .../src/main/conf/thrift-client-config.xml | 24 +- .../aws/extension/AWSExtensionContext.java | 28 + .../apache/stratos/aws/extension/AWSHelper.java | 2024 ++++++++++-------- .../stratos/aws/extension/AWSLoadBalancer.java | 588 +++-- .../apache/stratos/aws/extension/Constants.java | 13 + .../org/apache/stratos/aws/extension/Main.java | 24 +- .../exception/PersistenceException.java | 39 + .../FileBasedPersistenceManager.java | 161 ++ .../persistence/PersistenceManager.java | 36 + .../extension/persistence/dao/LBInfoDAO.java | 52 + .../extension/persistence/dto/LBInfoDTO.java | 69 + .../aws-extension/src/main/resources/.gitignore | 4 + .../src/main/security/client-truststore.jks | Bin 35240 -> 36562 bytes .../stratos/aws/extension/AwsHelperTest.java | 82 + .../src/test/resources/log4j.properties | 28 + .../modules/haproxy-extension/pom.xml | 9 +- .../src/main/conf/thrift-client-config.xml | 24 +- .../load-balancer/modules/lvs-extension/pom.xml | 9 +- .../src/main/conf/thrift-client-config.xml | 24 +- .../modules/nginx-extension/pom.xml | 9 +- .../src/main/conf/thrift-client-config.xml | 24 +- .../pom.xml | 34 +- .../pom.xml | 6 +- .../pom.xml | 8 +- .../pom.xml | 90 +- .../org.apache.stratos.common.feature/pom.xml | 4 +- .../pom.xml | 12 +- .../pom.xml | 15 +- .../pom.xml | 8 +- .../pom.xml | 27 +- .../pom.xml | 19 +- .../pom.xml | 195 -- .../pom.xml | 196 +- .../pom.xml | 28 +- .../pom.xml | 5 +- .../pom.xml | 20 +- .../pom.xml | 69 +- features/pom.xml | 14 +- pom.xml | 1186 +++++++++- .../modules/distribution/pom.xml | 3 +- .../load-balancer/modules/distribution/pom.xml | 13 +- .../modules/p2-profile-gen/pom.xml | 40 +- products/load-balancer/pom.xml | 30 +- .../modules/integration/test-common/pom.xml | 14 +- .../integration/test-integration/pom.xml | 10 +- .../integration/tests/ADCExtensionTestCase.java | 32 +- .../tests/ADCMTAppTenantUserTestCase.java | 51 +- .../integration/tests/ADCMTAppTestCase.java | 51 +- .../agent/integration/tests/ADCTestCase.java | 46 +- .../tests/ADCValidationTestCase.java | 163 ++ .../integration/tests/AgentStartupTestCase.java | 113 +- .../integration/tests/CEPHAModeTestCase.java | 271 +++ .../tests/MessageBrokerHATestCase.java | 260 +++ .../tests/PythonAgentIntegrationTest.java | 323 ++- .../resources/ADCExtensionTestCase/agent.conf | 4 +- .../ADCMTAppTenantUserTestCase/agent.conf | 4 +- .../test/resources/ADCMTAppTestCase/agent.conf | 4 +- .../src/test/resources/ADCTestCase/agent.conf | 4 +- .../resources/ADCValidationTestCase/agent.conf | 46 + .../resources/ADCValidationTestCase/logging.ini | 52 + .../ADCValidationTestCase/payload/launch-params | 1 + .../resources/AgentStartupTestCase/agent.conf | 4 +- .../test/resources/CEPHAModeTestCase/agent.conf | 46 + .../resources/CEPHAModeTestCase/logging.ini | 52 + .../CEPHAModeTestCase/payload/launch-params | 1 + .../MessageBrokerHATestCase/agent.conf | 46 + .../MessageBrokerHATestCase/jndi.properties | 26 + .../MessageBrokerHATestCase/logging.ini | 52 + .../payload/launch-params | 1 + .../src/test/resources/log4j.properties | 55 + .../test-conf/integration-test.properties | 13 +- .../src/test/resources/test-suite-all.xml | 1 + .../src/test/resources/test-suite-smoke.xml | 2 + .../distribution/src/main/assembly/bin.xml | 18 +- .../distribution/src/main/bin/stratos.sh | 34 + .../modules/distribution/src/main/notice/NOTICE | 4 +- .../modules/distribution/src/main/readme/README | 25 - products/python-cli/pom.xml | 2 +- .../stratos-cli/modules/distribution/pom.xml | 3 +- products/stratos/modules/distribution/pom.xml | 13 +- .../distribution/src/main/conf/autoscaler.xml | 3 +- .../src/main/conf/cartridge-config.properties | 3 +- .../src/main/conf/drools/dependent-scaling.drl | 8 +- .../src/main/conf/drools/mincheck.drl | 9 +- .../src/main/conf/drools/scaling.drl | 8 +- .../distribution/src/main/conf/etc/launch.ini | 26 +- .../modules/integration/test-common/pom.xml | 23 +- .../integration/common/RestConstants.java | 4 + .../integration/common/ServerLogClient.java | 180 ++ .../common/StratosTestServerManager.java | 102 +- .../integration/common/TopologyHandler.java | 538 +++-- .../extensions/StratosServerExtension.java | 42 +- .../integration/common/rest/RestClient.java | 177 +- .../integration/test-integration/pom.xml | 18 +- .../tests/StratosIntegrationTest.java | 4 +- .../integration/tests/adc/GitHookTestCase.java | 192 ++ .../ApplicationBurstingTestCase.java | 191 +- .../ApplicationStartupOrderTestCase.java | 184 ++ .../application/ApplicationUpdateTestCase.java | 184 +- .../application/GroupStartupOrderTestCase.java | 266 +-- .../GroupTerminationBehaviorTestCase.java | 226 +- .../application/MetadataServiceTestCase.java | 443 ++++ ...PartitionOneAfterAnotherClusterTestCase.java | 149 +- .../PartitionRoundRobinClusterTestCase.java | 186 +- .../SampleApplicationStartupTestCase.java | 61 +- .../application/SampleApplicationsTestCase.java | 403 ++-- .../SingleClusterScalingTestCase.java | 190 +- .../tests/cartridge/CartridgeGroupTestCase.java | 241 +++ .../tests/cartridge/CartridgeTestCase.java | 183 ++ .../tests/group/CartridgeGroupTestCase.java | 251 --- .../tests/group/CartridgeTestCase.java | 183 -- .../tests/iaas/IaaSProviderTestCase.java | 63 + .../iaas/IaasProviderAttributeTestCase.java | 279 +++ .../policies/ApplicationPolicyTestCase.java | 111 +- .../policies/AutoscalingPolicyTestCase.java | 5 +- .../policies/DeploymentPolicyTestCase.java | 7 +- .../policies/NetworkPartitionTestCase.java | 7 +- .../server/StratosServerRestartTestCase.java | 214 ++ .../integration/tests/users/TenantTestCase.java | 8 +- .../integration/tests/users/UserTestCase.java | 5 +- .../app-bursting-single-cartriddge-group.json | 70 - .../applications/application-bursting-test.json | 70 + ...n-policy-application-startup-order-test.json | 17 + .../application-startup-order-test.json | 135 ++ ...g-policy-application-startup-order-test.json | 14 + ...pp-group-application-startup-order-test.json | 20 + ...db-group-application-startup-order-test.json | 13 + .../esb-application-startup-order-test.json | 50 + .../mysql-application-startup-order-test.json | 50 + .../php-application-startup-order-test.json | 51 + ...postgres-application-startup-order-test.json | 50 + .../tomcat-application-startup-order-test.json | 53 + ...policy-1-application-startup-order-test.json | 15 + ...policy-2-application-startup-order-test.json | 29 + ...tition-1-application-startup-order-test.json | 15 + ...tition-2-application-startup-order-test.json | 24 + .../g-sc-G123-1-application-update-test-v1.json | 2 +- .../g-sc-G123-1-application-update-test.json | 2 +- ...rdige-nested-application-update-test-v1.json | 50 - ...artrdige-nested-application-update-test.json | 50 - ...artridge-nested-application-update-test.json | 50 + ...tion-policy-iaasprovider-attribute-test.json | 17 + .../app-iaasprovider-attribute-test.json | 24 + ...ling-policy-iaasprovider-attribute-test.json | 14 + ...dge-iaasprovider-attribute-test-updated.json | 54 + .../cartridge-iaasprovider-attribute-test.json | 50 + ...ment-policy-iaasprovider-attribute-test.json | 15 + ...k-partition-iaasprovider-attribute-test.json | 19 + .../src/test/resources/common/autoscaler.xml | 1 + .../test/resources/common/cloud-controller.xml | 11 +- .../src/test/resources/common/log4j.properties | 35 +- .../src/test/resources/common/scaling.drl | 8 +- .../application-policy-git-hook-test.json | 17 + .../applications/git-hook-test.json | 25 + .../autoscaling-policy-git-hook-test.json | 14 + .../cartridges/mock/c1-git-hook-test.json | 51 + .../deployment-policy-git-hook-test.json | 15 + .../test/resources/git-hook-test/hook-req.json | 5 + .../mock/network-partition-git-hook-test.json | 15 + ...rk-partition-group-startup-order-test-2.json | 24 - ...pplication-policy-metadata-service-test.json | 17 + .../application-metadata-service-test-1.json | 24 + .../application-metadata-service-test-2.json | 24 + ...utoscaling-policy-metadata-service-test.json | 14 + .../c1-application-metadata-service-test.json | 45 + ...deployment-policy-metadata-service-test.json | 18 + ...network-partition-metadata-service-test.json | 15 + ...dige-nested-sample-applications-test-v1.json | 50 - ...rtrdige-nested-sample-applications-test.json | 50 - ...rtridge-nested-sample-applications-test.json | 50 + ...ment-policy-sample-applications-test-v1.json | 36 - ...partition-sample-applications-test-1-v1.json | 28 - ...tion-policy-stratos-server-restart-test.json | 17 + .../stratos-server-restart-test.json | 24 + ...ling-policy-stratos-server-restart-test.json | 14 + .../mock/c1-stratos-server-restart-test.json | 45 + ...ment-policy-stratos-server-restart-test.json | 18 + ...k-partition-stratos-server-restart-test.json | 15 + .../src/test/resources/test-suite-all.xml | 4 +- .../src/test/resources/test-suite-smoke.xml | 2 +- products/stratos/modules/p2-profile-gen/pom.xml | 423 +++- products/stratos/pom.xml | 30 +- .../kubernetes-cluster-1.json | 8 +- .../kubernetes-cluster-2.json | 8 +- .../kubernetes-cluster-ec2.json | 8 +- .../main/resources/CloudControllerService.wsdl | 440 ++-- service-stubs/pom.xml | 12 +- .../base-image/files/run | 34 +- .../cartridge-docker-images/build.sh | 6 +- .../stratos-docker-images/puppetmaster/run | 3 +- tools/puppet3/manifests/nodes/base.pp | 6 +- .../agent/templates/conf/jndi.properties.erb | 14 +- .../templates/conf/mqtttopic.properties.erb | 2 +- .../haproxy/templates/conf/jndi.properties.erb | 14 +- .../lb/templates/conf/jndi.properties.erb | 14 +- .../modules/python_agent/manifests/init.pp | 8 +- .../python_agent/templates/agent.conf.erb | 23 +- tools/stratos-installer/README.md | 2 +- .../stratos-installer/templates/autoscaler.xml | 1 + 485 files changed, 20748 insertions(+), 11776 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/README.md ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/services/impl/AutoscalerServiceImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java ---------------------------------------------------------------------- diff --cc components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java index 0000000,d183ca0..ae939c8 mode 000000,100644..100644 --- a/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java +++ b/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/messaging/topology/TopologyHolder.java @@@ -1,0 -1,118 +1,104 @@@ + /* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + package org.apache.stratos.cloud.controller.messaging.topology; + + import com.google.gson.Gson; + import org.apache.commons.logging.Log; + import org.apache.commons.logging.LogFactory; + import org.apache.stratos.cloud.controller.registry.RegistryManager; + import org.apache.stratos.cloud.controller.util.CloudControllerConstants; + import org.apache.stratos.cloud.controller.util.CloudControllerUtil; + import org.apache.stratos.common.concurrent.locks.ReadWriteLock; + import org.apache.stratos.messaging.domain.topology.Topology; + import org.wso2.carbon.registry.core.exceptions.RegistryException; + + /** + * Persistence and retrieval of Topology from Registry + */ + public class TopologyHolder { + private static final Log log = LogFactory.getLog(TopologyHolder.class); + + private static volatile ReadWriteLock lock = new ReadWriteLock("topology-manager"); + private static volatile Topology topology; + + private TopologyHolder() { + } + - public static void acquireReadLock() { - lock.acquireReadLock(); - if (log.isDebugEnabled()) { - log.debug("Read lock acquired"); - } - } - - public static void releaseReadLock() { - lock.releaseReadLock(); - if (log.isDebugEnabled()) { - log.debug("Read lock released"); - } - } - + public static void acquireWriteLock() { + lock.acquireWriteLock(); + if (log.isDebugEnabled()) { + log.debug("Write lock acquired"); + } + } + + public static void releaseWriteLock() { + lock.releaseWriteLock(); + if (log.isDebugEnabled()) { + log.debug("Write lock released"); + } + } + + public static Topology getTopology() { + if (topology == null) { + synchronized (TopologyHolder.class) { + if (topology == null) { + if (log.isDebugEnabled()) { + log.debug("Trying to retrieve topology from registry"); + } + topology = CloudControllerUtil.retrieveTopology(); + if (topology == null) { + if (log.isDebugEnabled()) { + log.debug("Topology not found in registry, creating new"); + } + topology = new Topology(); + } + if (log.isDebugEnabled()) { + log.debug("Topology initialized"); + } + } + } + } + return topology; + } + + /** + * Update in-memory topology and persist it in registry. + * + * @param updatedTopology + */ + public static void updateTopology(Topology updatedTopology) throws RegistryException { + synchronized (TopologyHolder.class) { + if (log.isDebugEnabled()) { + log.debug("Updating topology"); + } + topology = updatedTopology; + RegistryManager.getInstance().persist(CloudControllerConstants.TOPOLOGY_RESOURCE, topology); + if (log.isDebugEnabled()) { + log.debug(String.format("Topology updated: %s", toJson(topology))); + } + } + + } + + private static String toJson(Object object) { + Gson gson = new Gson(); + return gson.toJson(object); + } + } + http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceImpl.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py ---------------------------------------------------------------------- diff --cc components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py index b44cad4,72fc5e2..8d2915e --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py @@@ -21,10 -21,8 +21,10 @@@ import sy from yapsy.PluginManager import PluginManager +from yapsy.PluginManager import PluginManager + from modules.util.log import LogFactory - from exception import ParameterNotFoundException + from exception import ParameterNotFoundException, InvalidConfigValueException import constants from plugins.contracts import ICartridgeAgentPlugin, IArtifactCommitPlugin, IArtifactCheckoutPlugin, \ IHealthStatReaderPlugin http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41.java ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java ---------------------------------------------------------------------- diff --cc components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java index 5e7e68d,ffe2a24..4c6eb1e --- a/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java +++ b/components/org.apache.stratos.rest.endpoint/src/main/java/org/apache/stratos/rest/endpoint/api/StratosApiV41Utils.java @@@ -1855,11 -1839,12 +1839,12 @@@ public class StratosApiV41Utils if (applicationContexts != null) { for (ApplicationContext applicationContext : applicationContexts) { if (applicationContext != null) { - ApplicationBean applicationDefinition = - ObjectConverter.convertStubApplicationContextToApplicationDefinition(applicationContext); - if(applicationDefinition.isMultiTenant()) { + ApplicationBean applicationDefinition = ObjectConverter + .convertStubApplicationContextToApplicationDefinition(applicationContext); + if (applicationDefinition.isMultiTenant()) { + int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); boolean hasSignUps = StratosManagerServiceClient.getInstance(). - applicationSignUpExist(applicationDefinition.getApplicationId(), tenantId); + applicationSignUpsExist(applicationDefinition.getApplicationId()); applicationDefinition.setSignUpsExist(hasSignUps); } applicationDefinitions.add(applicationDefinition); http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/extensions/das/modules/artifacts/metering-dashboard/ues-patch/dashboard.jag ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/extensions/das/modules/artifacts/monitoring-dashboard/README.md ---------------------------------------------------------------------- diff --cc extensions/das/modules/artifacts/monitoring-dashboard/README.md index d80ff14,968b8cc..0f5ca8e --- a/extensions/das/modules/artifacts/monitoring-dashboard/README.md +++ b/extensions/das/modules/artifacts/monitoring-dashboard/README.md @@@ -1,12 -1,25 +1,25 @@@ # Apache Stratos Monitoring Dashboard - This directory contains following artifacts: <br /> - (1) capps - Includes stratos-monitoring-service car file which bundles all Event Stream, Event receiver, Even Store, Gadgets, SparkScripts and Dashboard artifacts. <br /> - (2) jaggery-files <br /> - - Follow the below steps to generate the monitoring dashboard: <br /> - 1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path '<DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/' <br/> - 2. Create MySQL database and tables using queries in <Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually. <br /> - 3. Copy CEP EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to <CEP-HOME>/repository/deployment/server/eventformatters/. <br /> - 4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to <CEP-HOME>/repository/deployment/server/outputeventadaptors and update the tcp and ssl ports according to DAS server port offset. <br /> - 5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to <DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard. <br /> + ## This directory contains following artifacts: + (1) capps - Includes stratos-monitoring-service car file which bundles all Event Stream, Event receiver, Even Store, + Gadgets, SparkScripts and Dashboard artifacts. + + (2) jaggery-files + + ## Follow the below steps to generate the monitoring dashboard: + + 1. Add jaggery files which can be found in <Stratos-DAS-Distribution>/monitoring-dashboard/jaggery-files/ to DAS path + <DAS_HOME/repository/deployment/server/jaggeryapps/portal/controllers/apis/. + + 2. Create MySQL database and tables using queries in + <Stratos-DAS-Distribution>/monitoring-dashboard/monitoring-mysqlscript.sql manually. + + 3. Copy CEP EventFormatter artifacts in <Stratos-DAS-Distribution>/wso2cep-<version>/eventformatters/ to + <CEP-HOME>/repository/deployment/server/eventformatters/. + + 4. Copy CEP OutputEventAdapter artifact in <Stratos-DAS-Distribution>/wso2cep-<version>/outputeventadaptors/ to + <CEP-HOME>/repository/deployment/server/outputeventadaptors and update the tcp and ssl ports according to DAS server + port offset. + + 5. Add stratos-monitoring-service car file in <Stratos-DAS-Distribution>/monitoring-dashboard/ to -<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard. ++<DAS-HOME>/repository/deployment/server/carbonapps/ to generate the monitoring dashboard. http://git-wip-us.apache.org/repos/asf/stratos/blob/87722210/extensions/das/modules/stratos-das-extension/README.md ---------------------------------------------------------------------- diff --cc extensions/das/modules/stratos-das-extension/README.md index 58bdd5b,59fe665..db661fa --- a/extensions/das/modules/stratos-das-extension/README.md +++ b/extensions/das/modules/stratos-das-extension/README.md @@@ -1,6 -1,8 +1,8 @@@ # Apache Stratos DAS Extension - This directory contains DAS Extensions needed for Stratos. <br /> - 1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to '<DAS-HOME>/repository/components/lib/'. <br /> - 2. Add below UDF class path to 'spark-udf-config.xml' file in '<DAS-HOME>/repository/conf/analytics/spark/' folder. <br /> - <class-name>org.apache.stratos.das.extension.TimeUDF</class-name> <br /> + This directory contains DAS Extensions needed for Stratos. + + 1. Add org.apache.stratos.das.extension-<stratos-version>.jar file to <DAS-HOME>/repository/components/lib/. + + 2. Add UDF class '<class-name>org.apache.stratos.das.extension.TimeUDF</class-name>' to 'spark-udf-config.xml' -file in <DAS-HOME>/repository/conf/analytics/spark/ folder. ++file in <DAS-HOME>/repository/conf/analytics/spark/ folder.
