You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/10/11 11:10:02 UTC
[37/50] [abbrv] git commit: Removed circular dependancy between
AgentGitHandler and DefaultExtensionHandler
Removed circular dependancy between AgentGitHandler and DefaultExtensionHandler
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0fda59b6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0fda59b6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0fda59b6
Branch: refs/heads/master
Commit: 0fda59b66225b1c7d68bf3669dfa088c0b26dc19
Parents: 9b825d0
Author: Chamila de Alwis <ch...@wso2.com>
Authored: Thu Oct 2 14:59:38 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Sat Oct 11 14:38:30 2014 +0530
----------------------------------------------------------------------
.../cartridge-agent/agent.py | 56 ++++++++++++--------
.../modules/artifactmgt/git/agentgithandler.py | 5 +-
.../extensions/abstractextensionhandler.py | 3 --
.../modules/subscriber/eventsubscriber.py | 2 +-
4 files changed, 38 insertions(+), 28 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fda59b6/tools/python-cartridge-agent/cartridge-agent/agent.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/agent.py b/tools/python-cartridge-agent/cartridge-agent/agent.py
index bf47397..ecc8c45 100644
--- a/tools/python-cartridge-agent/cartridge-agent/agent.py
+++ b/tools/python-cartridge-agent/cartridge-agent/agent.py
@@ -14,10 +14,11 @@ from modules.event.topology.events import *
from modules.tenant.tenantcontext import *
from modules.topology.topologycontext import *
from modules.datapublisher.logpublisher import *
+from modules.extensions.abstractextensionhandler import *
class CartridgeAgent(threading.Thread):
- log = LogFactory().get_log(__name__)
+ extension_handler = None
def __init__(self):
threading.Thread.__init__(self)
@@ -27,8 +28,6 @@ class CartridgeAgent(threading.Thread):
self.__tenant_event_subscriber = EventSubscriber(cartridgeagentconstants.TENANT_TOPIC)
self.__topology_event_subscriber = EventSubscriber(cartridgeagentconstants.TOPOLOGY_TOPIC)
- self.extension_handler = DefaultExtensionHandler()
-
self.__tenant_context_initialized = False
self.__topology_context_initialized = False
@@ -36,6 +35,8 @@ class CartridgeAgent(threading.Thread):
self.terminated = False
+ self.log = LogFactory().get_log(__name__)
+
def run(self):
self.log.info("Starting Cartridge Agent...")
@@ -52,14 +53,14 @@ class CartridgeAgent(threading.Thread):
self.register_tenant_event_listeners()
#Execute instance started shell script
- self.extension_handler.on_instance_started_event()
+ CartridgeAgent.extension_handler.on_instance_started_event()
#Publish instance started event
cartridgeagentpublisher.publish_instance_started_event()
#Execute start servers extension
try:
- self.extension_handler.start_server_extension()
+ CartridgeAgent.extension_handler.start_server_extension()
except:
self.log.exception("Error processing start servers event")
@@ -73,13 +74,13 @@ class CartridgeAgent(threading.Thread):
repo_url = CartridgeAgentConfiguration.repo_url
if repo_url is None or str(repo_url).strip() == "":
self.log.info("No artifact repository found")
- self.extension_handler.on_instance_activated_event()
+ CartridgeAgent.extension_handler.on_instance_activated_event()
cartridgeagentpublisher.publish_instance_activated_event()
persistence_mappping_payload = CartridgeAgentConfiguration.persistence_mappings
if persistence_mappping_payload is not None:
- self.extension_handler.volume_mount_extension(persistence_mappping_payload)
+ CartridgeAgent.extension_handler.volume_mount_extension(persistence_mappping_payload)
# start log publishing thread
if DataPublisherConfiguration.get_instance().enabled:
@@ -146,14 +147,14 @@ class CartridgeAgent(threading.Thread):
def on_artifact_updated(self, msg):
event_obj = ArtifactUpdatedEvent.create_from_json(msg.payload)
- self.extension_handler.on_artifact_updated_event(event_obj)
+ CartridgeAgent.extension_handler.on_artifact_updated_event(event_obj)
def on_instance_cleanup_member(self, msg):
member_in_payload = CartridgeAgentConfiguration.member_id
event_obj = InstanceCleanupMemberEvent.create_from_json(msg.payload)
member_in_event = event_obj.member_id
if member_in_payload == member_in_event:
- self.extension_handler.on_instance_cleanup_member_event(event_obj)
+ CartridgeAgent.extension_handler.on_instance_cleanup_member_event(event_obj)
def on_instance_cleanup_cluster(self, msg):
event_obj = InstanceCleanupClusterEvent.create_from_json(msg.payload)
@@ -161,7 +162,7 @@ class CartridgeAgent(threading.Thread):
cluster_in_event = event_obj.cluster_id
if cluster_in_event == cluster_in_payload:
- self.extension_handler.on_instance_cleanup_cluster_event(event_obj)
+ CartridgeAgent.extension_handler.on_instance_cleanup_cluster_event(event_obj)
def register_topology_event_listeners(self):
self.log.debug("Starting topology event message receiver thread")
@@ -179,7 +180,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Member activated event received: %r" % msg.payload)
event_obj = MemberActivatedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_member_activated_event(event_obj)
+ CartridgeAgent.extension_handler.on_member_activated_event(event_obj)
except:
self.log.exception("Error processing member terminated event")
@@ -187,7 +188,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Member terminated event received: %r" % msg.payload)
event_obj = MemberTerminatedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_member_terminated_event(event_obj)
+ CartridgeAgent.extension_handler.on_member_terminated_event(event_obj)
except:
self.log.exception("Error processing member terminated event")
@@ -195,7 +196,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Member suspended event received: %r" % msg.payload)
event_obj = MemberSuspendedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_member_suspended_event(event_obj)
+ CartridgeAgent.extension_handler.on_member_suspended_event(event_obj)
except:
self.log.exception("Error processing member suspended event")
@@ -206,7 +207,7 @@ class CartridgeAgent(threading.Thread):
TopologyContext.update(event_obj.topology)
self.__topology_context_initialized = True
try:
- self.extension_handler.on_complete_topology_event(event_obj)
+ CartridgeAgent.extension_handler.on_complete_topology_event(event_obj)
except:
self.log.exception("Error processing complete topology event")
else:
@@ -216,7 +217,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Member started event received: %r" % msg.payload)
event_obj = MemberStartedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_member_started_event(event_obj)
+ CartridgeAgent.extension_handler.on_member_started_event(event_obj)
except:
self.log.exception("Error processing member started event")
@@ -235,7 +236,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Subscription domain added event received : %r" % msg.payload)
event_obj = SubscriptionDomainAddedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_subscription_domain_added_event(event_obj)
+ CartridgeAgent.extension_handler.on_subscription_domain_added_event(event_obj)
except:
self.log.exception("Error processing subscription domains added event")
@@ -243,7 +244,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Subscription domain removed event received : %r" % msg.payload)
event_obj = SubscriptionDomainRemovedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_subscription_domain_removed_event(event_obj)
+ CartridgeAgent.extension_handler.on_subscription_domain_removed_event(event_obj)
except:
self.log.exception("Error processing subscription domains removed event")
@@ -254,7 +255,7 @@ class CartridgeAgent(threading.Thread):
TenantContext.update(event_obj.tenants)
try:
- self.extension_handler.on_complete_tenant_event(event_obj)
+ CartridgeAgent.extension_handler.on_complete_tenant_event(event_obj)
self.__tenant_context_initialized = True
except:
self.log.exception("Error processing complete tenant event")
@@ -265,7 +266,7 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Tenant subscribed event received: %r" % msg.payload)
event_obj = TenantSubscribedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_tenant_subscribed_event(event_obj)
+ CartridgeAgent.extension_handler.on_tenant_subscribed_event(event_obj)
except:
self.log.exception("Error processing tenant subscribed event")
@@ -273,14 +274,27 @@ class CartridgeAgent(threading.Thread):
self.log.debug("Tenant unSubscribed event received: %r" % msg.payload)
event_obj = TenantUnsubscribedEvent.create_from_json(msg.payload)
try:
- self.extension_handler.on_tenant_unsubscribed_event(event_obj)
+ CartridgeAgent.extension_handler.on_tenant_unsubscribed_event(event_obj)
except:
self.log.exception("Error processing tenant unSubscribed event")
+
+ @staticmethod
+ def get_extension_handler():
+ """
+ Returns the Extension handler implementation
+ :return: An implmentation of AbstractExtensionHandler
+ :rtype : AbstractExtensionHandler
+ """
+ if CartridgeAgent.extension_handler is None:
+ CartridgeAgent.extension_handler = DefaultExtensionHandler()
+
+ return CartridgeAgent.extension_handler
def main():
+ cartridge_agent = CartridgeAgent()
+
try:
- cartridge_agent = CartridgeAgent()
cartridge_agent.start()
except:
cartridge_agent.terminate()
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fda59b6/tools/python-cartridge-agent/cartridge-agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/artifactmgt/git/agentgithandler.py b/tools/python-cartridge-agent/cartridge-agent/modules/artifactmgt/git/agentgithandler.py
index e6fd98e..d192e75 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/artifactmgt/git/agentgithandler.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/artifactmgt/git/agentgithandler.py
@@ -10,9 +10,8 @@ from ... config.cartridgeagentconfiguration import CartridgeAgentConfiguration
from ... util import cartridgeagentutils, extensionutils, cartridgeagentconstants
from ... util.asyncscheduledtask import AsyncScheduledTask
from ... artifactmgt.repositoryinformation import RepositoryInformation
-from ... extensions.abstractextensionhandler import AbstractExtensionHandler
from ... util.log import LogFactory
-
+from ....agent import CartridgeAgent
class AgentGitHandler:
@@ -26,7 +25,7 @@ class AgentGitHandler:
SUPER_TENANT_REPO_PATH = "/repository/deployment/server/"
TENANT_REPO_PATH = "/repository/tenants/"
- extension_handler = AbstractExtensionHandler() # TODO: remove dependancy
+ extension_handler = CartridgeAgent.get_extension_handler()
__git_repositories = {}
# (tenant_id => gitrepository.GitRepository)
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fda59b6/tools/python-cartridge-agent/cartridge-agent/modules/extensions/abstractextensionhandler.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/extensions/abstractextensionhandler.py b/tools/python-cartridge-agent/cartridge-agent/modules/extensions/abstractextensionhandler.py
index 1a2bfaf..f57a1cf 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/extensions/abstractextensionhandler.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/extensions/abstractextensionhandler.py
@@ -1,6 +1,3 @@
-import abc
-
-
class AbstractExtensionHandler:
def on_instance_started_event(self):
http://git-wip-us.apache.org/repos/asf/stratos/blob/0fda59b6/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py b/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py
index a8209a5..46fe18a 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py
@@ -44,7 +44,7 @@ class EventSubscriber(threading.Thread):
"""
Adds an event handler function mapped to the provided event.
:param str event: Name of the event to attach the provided handler
- :param (str)->void handler: The handler function
+ :param handler: The handler function
:return: void
:rtype: void
"""