PCA - Fix errors from merging
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/bd32dcd3 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/bd32dcd3 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/bd32dcd3 Branch: refs/heads/master Commit: bd32dcd3f43eceb76a4bb02440b68554a25f4695 Parents: f633600 Author: Chamila de Alwis <[email protected]> Authored: Fri Dec 18 15:13:15 2015 +0530 Committer: Chamila de Alwis <[email protected]> Committed: Fri Dec 18 15:13:15 2015 +0530 ---------------------------------------------------------------------- .../cartridge.agent/cartridge.agent/agent.py | 8 +- .../cartridge.agent/cartridge.agent/config.py | 2 - .../cartridge.agent/healthstats.py | 4 +- .../modules/event/eventhandler.py | 23 +++--- .../integration/tests/ADCExtensionTestCase.java | 2 +- .../agent/integration/tests/ADCTestCase.java | 3 +- .../tests/ADCValidationTestCase.java | 2 +- .../tests/AgentTerminationTestCase.java | 80 ++++++++------------ .../test-conf/integration-test.properties | 2 +- 9 files changed, 56 insertions(+), 70 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py index aa9c035..b21b845 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.py @@ -16,6 +16,11 @@ # specific language governing permissions and limitations # under the License. +import os +import time + +from threading import Thread + import publisher from logpublisher import * from modules.event.application.signup.events import * @@ -43,7 +48,6 @@ class CartridgeAgent(object): self.__topology_event_subscriber = EventSubscriber(constants.TOPOLOGY_TOPIC, mb_urls, mb_uname, mb_pwd) def run_agent(self): - self.__log.info("Starting Cartridge Agent...") # Start topology event receiver thread self.register_topology_event_listeners() @@ -191,7 +195,7 @@ class CartridgeAgent(object): time.sleep(1) def wait_for_complete_topology(self): - while not TopologyContext.topology.initialized: + while not TopologyContext.initialized: self.__log.info("Waiting for complete topology event...") time.sleep(5) self.__log.info("Complete topology event received") http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py ---------------------------------------------------------------------- diff --git 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 index 8d2915e..72fc5e2 100644 --- 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,8 +21,6 @@ import sys from yapsy.PluginManager import PluginManager -from yapsy.PluginManager import PluginManager - from modules.util.log import LogFactory from exception import ParameterNotFoundException, InvalidConfigValueException import constants http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py index 48d07c2..9d4d2cd 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/healthstats.py @@ -43,14 +43,14 @@ class HealthStatisticsPublisherManager(Thread): self.log = LogFactory().get_log(__name__) self.publish_interval = publish_interval """:type : int""" - self.setDaemon(True) self.terminated = False + self.setDaemon(True) + self.setName("HealthStatPublisherManagerThread") self.publisher = HealthStatisticsPublisher() """:type : HealthStatisticsPublisher""" """:type : IHealthStatReaderPlugin""" self.stats_reader = Config.health_stat_plugin - self.setName("HealthStatPublisherManagerThread") self.log.debug("Created a HealthStatisticsPublisherManager thread") def run(self): http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py index c8ccf68..62a125a 100644 --- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py +++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/event/eventhandler.py @@ -138,7 +138,7 @@ def on_artifact_updated_event(artifacts_updated_event): try: update_interval = int(Config.artifact_update_interval) except ValueError: - log.exception("Invalid artifact sync interval specified: %s, defaulting to 10 seconds" % ValueError) + log.debug("Invalid artifact sync interval specified: %s, defaulting to 10 seconds" % ValueError) update_interval = 10 AgentGitHandler.schedule_artifact_update_task( @@ -171,7 +171,7 @@ def on_member_activated_event(member_activated_event): member_activated_event.member_id) if not member_initialized: - log.error("Member has not initialized, failed to execute member activated event") + log.debug("Member has not initialized, failed to execute member activated event") return execute_event_extendables(constants.MEMBER_ACTIVATED_EVENT, {}) @@ -196,6 +196,8 @@ def on_complete_topology_event(complete_topology_event): log.info( "Member initialized [member id] %s, [cluster-id] %s, [service] %s" % (member_id_in_payload, cluster_id_in_payload, service_name_in_payload)) + else: + log.info("Member not initialized in topology.......") topology = complete_topology_event.get_topology() service = topology.get_service(service_name_in_payload) @@ -266,7 +268,7 @@ def on_member_terminated_event(member_terminated_event): ) if not member_initialized: - log.error("Member has not initialized, failed to execute member terminated event") + log.debug("Member has not initialized, failed to execute member terminated event") return execute_event_extendables(constants.MEMBER_TERMINATED_EVENT, {}) @@ -284,7 +286,7 @@ def on_member_suspended_event(member_suspended_event): ) if not member_initialized: - log.error("Member has not initialized, failed to execute member suspended event") + log.debug("Member has not initialized, failed to execute member suspended event") return execute_event_extendables(constants.MEMBER_SUSPENDED_EVENT, {}) @@ -302,7 +304,7 @@ def on_member_started_event(member_started_event): ) if not member_initialized: - log.error("Member has not initialized, failed to execute member started event") + log.debug("Member has not initialized, failed to execute member started event") return execute_event_extendables(constants.MEMBER_STARTED_EVENT, {}) @@ -317,7 +319,7 @@ def start_server_extension(): service_name_in_payload, cluster_id_in_payload, member_id_in_payload) if not member_initialized: - log.error("Member has not initialized, failed to execute start server event") + log.debug("Member has not initialized, failed to execute start server event") return execute_event_extendables("StartServers", {}) @@ -409,6 +411,7 @@ def execute_event_extendables(event, input_values): input_values = add_common_input_values(input_values) except Exception as e: log.error("Error while adding common input values for event extendables: %s" % e) + input_values["EVENT"] = event log.debug("Executing extensions for [event] %s with [input values] %s" % (event, input_values)) # Execute the extension @@ -553,12 +556,10 @@ def member_exists_in_topology(service_name, cluster_id, member_id): member = cluster.get_member(member_id) if member is None: - raise Exception("Member id not found in topology [member] %s" % member_id) + log.debug("Member id not found in topology [member] %s" % member_id) + return False - log.info("Found member: " + member.to_json()) - if member.status == MemberStatus.Initialized: - return True - return False + return True def mark_member_as_initialized(service_name, cluster_id, member_id): http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java ---------------------------------------------------------------------- diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java index 2fddf6e..e629586 100644 --- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java +++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCExtensionTestCase.java @@ -122,7 +122,7 @@ public class ADCExtensionTestCase extends PythonAgentIntegrationTest { ArtifactUpdatedEvent privateRepoEvent = createTestArtifactUpdatedEvent(); privateRepoEvent.setRepoURL("https://bitbucket.org/testapache2211/testrepo.git"); privateRepoEvent.setRepoUserName("testapache2211"); - privateRepoEvent.setRepoPassword("+to2qVW16jzy+Xb/zuafQQ=="); + privateRepoEvent.setRepoPassword("iF7qT+BKKPE3PGV1TeDsJA=="); return privateRepoEvent; } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java ---------------------------------------------------------------------- diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java index 6a42cce..125e841 100755 --- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java +++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCTestCase.java @@ -255,7 +255,8 @@ public class ADCTestCase extends PythonAgentIntegrationTest { ArtifactUpdatedEvent privateRepoEvent = createTestArtifactUpdatedEvent(); privateRepoEvent.setRepoURL("https://bitbucket.org/testapache2211/testrepo.git"); privateRepoEvent.setRepoUserName("testapache2211"); - privateRepoEvent.setRepoPassword("+to2qVW16jzy+Xb/zuafQQ=="); +// privateRepoEvent.setRepoPassword("+to2qVW16jzy+Xb/zuafQQ=="); + privateRepoEvent.setRepoPassword("iF7qT+BKKPE3PGV1TeDsJA=="); return privateRepoEvent; } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java ---------------------------------------------------------------------- diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java index 50ed350..0bf20dd 100644 --- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java +++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/ADCValidationTestCase.java @@ -150,7 +150,7 @@ public class ADCValidationTestCase extends PythonAgentIntegrationTest { ArtifactUpdatedEvent privateRepoEvent = createTestArtifactUpdatedEvent(); privateRepoEvent.setRepoURL("https://bitbucket.org/testapache2211/testrepo.git"); privateRepoEvent.setRepoUserName("testapache2211"); - privateRepoEvent.setRepoPassword("+to2qVW16jzy+Xb/zuafQQ=="); + privateRepoEvent.setRepoPassword("iF7qT+BKKPE3PGV1TeDsJA=="); return privateRepoEvent; } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentTerminationTestCase.java ---------------------------------------------------------------------- diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentTerminationTestCase.java b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentTerminationTestCase.java index 46684fa..bae68ac 100644 --- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentTerminationTestCase.java +++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/java/org/apache/stratos/python/cartridge/agent/integration/tests/AgentTerminationTestCase.java @@ -45,9 +45,15 @@ public class AgentTerminationTestCase extends PythonAgentIntegrationTest { public AgentTerminationTestCase() throws IOException { } + @Override + protected String getClassName() { + return this.getClass().getSimpleName(); + } + private static final Log log = LogFactory.getLog(AgentTerminationTestCase.class); private static final int TIMEOUT = 300000; private static final String CLUSTER_ID = "tomcat.domain"; + private static final String APPLICATION_PATH = "/tmp/AgentTerminationTestCase"; private static final String DEPLOYMENT_POLICY_NAME = "deployment-policy-6"; private static final String AUTOSCALING_POLICY_NAME = "autoscaling-policy-6"; private static final String APP_ID = "application-6"; @@ -66,10 +72,10 @@ public class AgentTerminationTestCase extends PythonAgentIntegrationTest { super.setup(TIMEOUT); startServerSocket(8080); } - + @AfterMethod(alwaysRun = true) public void tearDownAgentTerminationTest(){ - tearDown(); + tearDown(APPLICATION_PATH); } @Test(groups = {"smoke"}) @@ -107,42 +113,45 @@ public class AgentTerminationTestCase extends PythonAgentIntegrationTest { Thread startupTestThread = new Thread(new Runnable() { @Override public void run() { - while (!eventReceiverInitiated) { + while (!eventReceiverInitialized) { sleep(1000); } List<String> outputLines = new ArrayList<>(); - boolean completeTopologyPublished = false; - boolean memberInitPublished = false; while (!outputStream.isClosed()) { List<String> newLines = getNewLines(outputLines, outputStream.toString()); if (newLines.size() > 0) { for (String line : newLines) { - if (line.contains("Waiting for complete topology event") && !completeTopologyPublished) { + if (line.contains("Subscribed to 'topology/#'")) { sleep(2000); // Send complete topology event log.info("Publishing complete topology event..."); - Topology topology = createTestTopology(); + Topology topology = PythonAgentIntegrationTest.createTestTopology( + SERVICE_NAME, + CLUSTER_ID, + DEPLOYMENT_POLICY_NAME, + AUTOSCALING_POLICY_NAME, + APP_ID, + MEMBER_ID, + CLUSTER_INSTANCE_ID, + NETWORK_PARTITION_ID, + PARTITION_ID, + ServiceType.SingleTenant); CompleteTopologyEvent completeTopologyEvent = new CompleteTopologyEvent(topology); publishEvent(completeTopologyEvent); log.info("Complete topology event published"); - completeTopologyPublished = true; - } - if (line.contains("Waiting for cartridge agent to be initialized") && !memberInitPublished) { // Publish member initialized event log.info("Publishing member initialized event..."); - MemberInitializedEvent memberInitializedEvent = new MemberInitializedEvent( - SERVICE_NAME, CLUSTER_ID, CLUSTER_INSTANCE_ID, MEMBER_ID, NETWORK_PARTITION_ID, - PARTITION_ID, INSTANCE_ID - ); + MemberInitializedEvent memberInitializedEvent = new MemberInitializedEvent(SERVICE_NAME, + CLUSTER_ID, CLUSTER_INSTANCE_ID, MEMBER_ID, NETWORK_PARTITION_ID, PARTITION_ID, + INSTANCE_ID); publishEvent(memberInitializedEvent); log.info("Member initialized event published"); - memberInitPublished = true; } // Send artifact updated event to activate the instance first if (line.contains("Artifact repository found")) { - publishEvent(getArtifactUpdatedEventForPublicRepo()); + publishEvent(getArtifactUpdatedEventForPrivateRepo()); log.info("Artifact updated event published"); } } @@ -160,10 +169,12 @@ public class AgentTerminationTestCase extends PythonAgentIntegrationTest { } } - private ArtifactUpdatedEvent getArtifactUpdatedEventForPublicRepo() { - ArtifactUpdatedEvent publicRepoEvent = createTestArtifactUpdatedEvent(); - publicRepoEvent.setRepoURL("https://bitbucket.org/testapache2211/opentestrepo1.git"); - return publicRepoEvent; + public static ArtifactUpdatedEvent getArtifactUpdatedEventForPrivateRepo() { + ArtifactUpdatedEvent privateRepoEvent = createTestArtifactUpdatedEvent(); + privateRepoEvent.setRepoURL("https://bitbucket.org/testapache2211/testrepo.git"); + privateRepoEvent.setRepoUserName("testapache2211"); + privateRepoEvent.setRepoPassword("iF7qT+BKKPE3PGV1TeDsJA=="); + return privateRepoEvent; } private static ArtifactUpdatedEvent createTestArtifactUpdatedEvent() { @@ -172,33 +183,4 @@ public class AgentTerminationTestCase extends PythonAgentIntegrationTest { artifactUpdatedEvent.setTenantId(TENANT_ID); return artifactUpdatedEvent; } - - /** - * Create test topology - * - * @return - */ - private Topology createTestTopology() { - Topology topology = new Topology(); - Service service = new Service(SERVICE_NAME, ServiceType.SingleTenant); - topology.addService(service); - - Cluster cluster = new Cluster(service.getServiceName(), CLUSTER_ID, DEPLOYMENT_POLICY_NAME, - AUTOSCALING_POLICY_NAME, APP_ID); - service.addCluster(cluster); - - Member member = new Member(service.getServiceName(), cluster.getClusterId(), MEMBER_ID, - CLUSTER_INSTANCE_ID, NETWORK_PARTITION_ID, PARTITION_ID, LoadBalancingIPType.Private, - System.currentTimeMillis()); - - member.setDefaultPrivateIP("10.0.0.1"); - member.setDefaultPublicIP("20.0.0.1"); - Properties properties = new Properties(); - properties.setProperty("prop1", "value1"); - member.setProperties(properties); - member.setStatus(MemberStatus.Created); - cluster.addMember(member); - - return topology; - } } http://git-wip-us.apache.org/repos/asf/stratos/blob/bd32dcd3/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-conf/integration-test.properties ---------------------------------------------------------------------- diff --git a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-conf/integration-test.properties b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-conf/integration-test.properties index 4e5c66f..4b4b9b0 100755 --- a/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-conf/integration-test.properties +++ b/products/python-cartridge-agent/modules/integration/test-integration/src/test/resources/test-conf/integration-test.properties @@ -27,4 +27,4 @@ cep.server.two.ssl.port=7713 stratos.endpoint=http://localhost:9763 stratos.admin.username=admin stratos.admin.password=admin -test.thread.pool.size=20 \ No newline at end of file +test.thread.pool.size=30 \ No newline at end of file
