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:09:51 UTC

[26/50] [abbrv] git commit: Abstracted extension handler functionality to avoid circular dependancy Added logging to file '/tmp/cartridge-agent.log'

Abstracted extension handler functionality to avoid circular dependancy
Added logging to file '/tmp/cartridge-agent.log'


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/126fa522
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/126fa522
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/126fa522

Branch: refs/heads/master
Commit: 126fa522679d3b62fa331650654123d4a16700bf
Parents: 116d8f6
Author: Chamila de Alwis <ch...@wso2.com>
Authored: Mon Sep 29 15:13:49 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Sat Oct 11 14:38:29 2014 +0530

----------------------------------------------------------------------
 .../cartridge-agent/agent.py                    |  2 +-
 .../modules/artifactmgt/git/agentgithandler.py  |  8 +--
 .../config/cartridgeagentconfiguration.py       | 30 ++++++----
 .../extensions/abstractextensionhandler.py      | 61 ++++++++++++++++++++
 .../extensions/defaultextensionhandler.py       |  5 +-
 .../publisher/cartridgeagentpublisher.py        |  2 +-
 .../modules/subscriber/eventsubscriber.py       |  2 +-
 .../modules/util/cartridgeagentutils.py         |  2 +-
 .../modules/util/extensionutils.py              |  2 +-
 9 files changed, 91 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/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 ff5eaf5..ae85a5d 100644
--- a/tools/python-cartridge-agent/cartridge-agent/agent.py
+++ b/tools/python-cartridge-agent/cartridge-agent/agent.py
@@ -16,7 +16,7 @@ from modules.topology.topologycontext import *
 
 
 class CartridgeAgent(threading.Thread):
-    logging.basicConfig(level=logging.DEBUG)
+    logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
     log = logging.getLogger(__name__)
 
     def __init__(self):

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/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 fb8100b..e433e0b 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
@@ -8,18 +8,18 @@ from ... config.cartridgeagentconfiguration import CartridgeAgentConfiguration
 from ... util import cartridgeagentutils, extensionutils, cartridgeagentconstants
 from ... util.asyncscheduledtask import AsyncScheduledTask
 from ... artifactmgt.repositoryinformation import RepositoryInformation
-from ... extensions.defaultextensionhandler import DefaultExtensionHandler
+from ... extensions.abstractextensionhandler import AbstractExtensionHandler
 
 
 class AgentGitHandler:
-    logging.basicConfig(level=logging.DEBUG)
+    logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
     log = logging.getLogger(__name__)
 
     SUPER_TENANT_ID = -1234
     SUPER_TENANT_REPO_PATH = "/repository/deployment/server/"
     TENANT_REPO_PATH = "/repository/tenants/"
 
-    extension_handler = DefaultExtensionHandler()
+    extension_handler = AbstractExtensionHandler()
 
     __git_repositories = {}
     # (tenant_id => gitrepository.GitRepository)
@@ -326,7 +326,7 @@ class AgentGitHandler:
 class ArtifactUpdateTask(Thread):
 
     def __init__(self, repo_info, auto_checkout, auto_commit):
-        logging.basicConfig(level=logging.DEBUG)
+        logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
         self.log = logging.getLogger(__name__)
         Thread.__init__(self)
         self.repo_info = repo_info

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py b/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
index 43a4e5e..32ff23f 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
@@ -11,7 +11,7 @@ class CartridgeAgentConfiguration:
     Handles the configuration information of the particular Cartridge Agent
     """
     # set log level
-    logging.basicConfig(level=logging.DEBUG)
+    logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
     log = logging.getLogger(__name__)
 
     payload_params = {}
@@ -154,12 +154,12 @@ class CartridgeAgentConfiguration:
                         "%r is not found and setting it to false" % cartridgeagentconstants.COMMIT_ENABLED)
                     CartridgeAgentConfiguration.is_commits_enabled = False
 
-            auto_checkout_str = CartridgeAgentConfiguration.read_property(cartridgeagentconstants.AUTO_CHECKOUT)
+            auto_checkout_str = CartridgeAgentConfiguration.read_property(cartridgeagentconstants.AUTO_CHECKOUT, False)
             CartridgeAgentConfiguration.is_checkout_enabled = True if str(
                 auto_checkout_str).lower().strip() == "true" else False
 
             CartridgeAgentConfiguration.listen_address = CartridgeAgentConfiguration.read_property(
-                cartridgeagentconstants.LISTEN_ADDRESS)
+                cartridgeagentconstants.LISTEN_ADDRESS, False)
 
             try:
                 int_repo_str = CartridgeAgentConfiguration.read_property(cartridgeagentconstants.PROVIDER)
@@ -176,13 +176,13 @@ class CartridgeAgentConfiguration:
             CartridgeAgentConfiguration.min_count = CartridgeAgentConfiguration.read_property(
                 cartridgeagentconstants.MIN_INSTANCE_COUNT)
             CartridgeAgentConfiguration.lb_private_ip = CartridgeAgentConfiguration.read_property(
-                cartridgeagentconstants.LB_PRIVATE_IP)
+                cartridgeagentconstants.LB_PRIVATE_IP, False)
             CartridgeAgentConfiguration.lb_public_ip = CartridgeAgentConfiguration.read_property(
-                cartridgeagentconstants.LB_PUBLIC_IP)
+                cartridgeagentconstants.LB_PUBLIC_IP, False)
             CartridgeAgentConfiguration.tenant_repository_path = CartridgeAgentConfiguration.read_property(
-                cartridgeagentconstants.TENANT_REPO_PATH)
+                cartridgeagentconstants.TENANT_REPO_PATH, False)
             CartridgeAgentConfiguration.super_tenant_repository_path = CartridgeAgentConfiguration.read_property(
-                cartridgeagentconstants.SUPER_TENANT_REPO_PATH)
+                cartridgeagentconstants.SUPER_TENANT_REPO_PATH, False)
 
             try:
                 CartridgeAgentConfiguration.deployment = CartridgeAgentConfiguration.read_property(
@@ -277,17 +277,22 @@ class CartridgeAgentConfiguration:
             if param_file is not None:
                 metadata_file = open(param_file)
                 metadata_payload_content = metadata_file.read()
-                CartridgeAgentConfiguration.payload_params = dict(
-                    param.split("=") for param in metadata_payload_content.split(","))
+                for param in metadata_payload_content.split(","):
+                    if param.strip() != "":
+                        param_value = param.strip().split("=")
+                        CartridgeAgentConfiguration.payload_params[param_value[0]] = param_value[1]
+
+                # CartridgeAgentConfiguration.payload_params = dict(
+                #     param.split("=") for param in metadata_payload_content.split(","))
                 metadata_file.close()
             else:
                 CartridgeAgentConfiguration.log.error("File not found: %r" % param_file)
         except:
-            CartridgeAgentConfiguration.log.error(
+            CartridgeAgentConfiguration.log.exception(
                 "Could not read launch parameter file, hence trying to read from System properties.")
 
     @staticmethod
-    def read_property(property_key):
+    def read_property(property_key, critical=True):
         """
         Returns the value of the provided property
         :param str property_key: the name of the property to be read
@@ -307,4 +312,5 @@ class CartridgeAgentConfiguration:
             if temp_str != "" and temp_str is not None:
                 return temp_str
 
-        raise ParameterNotFoundException("Cannot find the value of required parameter: %r" % property_key)
\ No newline at end of file
+        if critical:
+            raise ParameterNotFoundException("Cannot find the value of required parameter: %r" % property_key)

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/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
new file mode 100644
index 0000000..1a2bfaf
--- /dev/null
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/extensions/abstractextensionhandler.py
@@ -0,0 +1,61 @@
+import abc
+
+
+class AbstractExtensionHandler:
+
+    def on_instance_started_event(self):
+        raise NotImplementedError
+
+    def on_instance_activated_event(self):
+        raise NotImplementedError
+
+    def on_artifact_updated_event(self, artifacts_updated_event):
+        raise NotImplementedError
+
+    def on_artifact_update_scheduler_event(self, tenant_id):
+        raise NotImplementedError
+
+    def on_instance_cleanup_cluster_event(self, instanceCleanupClusterEvent):
+        raise NotImplementedError
+
+    def on_instance_cleanup_member_event(self, instanceCleanupMemberEvent):
+        raise NotImplementedError
+
+    def on_member_activated_event(self, member_activated_event):
+        raise NotImplementedError
+
+    def on_complete_topology_event(self, complete_topology_event):
+        raise NotImplementedError
+
+    def on_complete_tenant_event(self, complete_tenant_event):
+        raise NotImplementedError
+
+    def on_member_terminated_event(self, member_terminated_event):
+        raise NotImplementedError
+
+    def on_member_suspended_event(self, member_suspended_event):
+        raise NotImplementedError
+
+    def on_member_started_event(self, member_started_event):
+        raise NotImplementedError
+
+    def start_server_extension(self):
+        raise NotImplementedError
+
+    def volume_mount_extension(self, persistence_mappings_payload):
+        raise NotImplementedError
+
+    def on_subscription_domain_added_event(self, subscription_domain_added_event):
+        raise NotImplementedError
+
+    def on_subscription_domain_removed_event(self, subscriptionDomainRemovedEvent):
+        raise NotImplementedError
+
+    def on_copy_artifacts_extension(self, src, des):
+        raise NotImplementedError
+
+    def on_tenant_subscribed_event(self, tenant_subscribed_event):
+            raise NotImplementedError
+
+    def on_tenant_unsubscribed_event(self, tenant_unsubscribed_event):
+            raise NotImplementedError

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/tools/python-cartridge-agent/cartridge-agent/modules/extensions/defaultextensionhandler.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/extensions/defaultextensionhandler.py b/tools/python-cartridge-agent/cartridge-agent/modules/extensions/defaultextensionhandler.py
index a93130f..96b6fd5 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/extensions/defaultextensionhandler.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/extensions/defaultextensionhandler.py
@@ -9,16 +9,17 @@ from ..publisher import cartridgeagentpublisher
 from ..exception.parameternotfoundexception import ParameterNotFoundException
 from ..topology.topologycontext import *
 from ..tenant.tenantcontext import *
+from abstractextensionhandler import AbstractExtensionHandler
 
 
-class DefaultExtensionHandler:
+class DefaultExtensionHandler(AbstractExtensionHandler):
     """
     TODO : Provide abstraction
     """
     log = None
 
     def __init__(self):
-        logging.basicConfig(level=logging.DEBUG)
+        logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
         self.log = logging.getLogger(__name__)
         self.wk_members = []
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/tools/python-cartridge-agent/cartridge-agent/modules/publisher/cartridgeagentpublisher.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/publisher/cartridgeagentpublisher.py b/tools/python-cartridge-agent/cartridge-agent/modules/publisher/cartridgeagentpublisher.py
index 84ee43a..1ad437b 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/publisher/cartridgeagentpublisher.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/publisher/cartridgeagentpublisher.py
@@ -7,7 +7,7 @@ from .. config.cartridgeagentconfiguration import CartridgeAgentConfiguration
 from .. util import cartridgeagentconstants
 
 
-logging.basicConfig(level=logging.DEBUG)
+logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
 log = logging.getLogger(__name__)
 
 started = False

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/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 44ed8d8..6d29a68 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/subscriber/eventsubscriber.py
@@ -18,7 +18,7 @@ class EventSubscriber(threading.Thread):
         #{"ArtifactUpdateEvent" : onArtifactUpdateEvent()}
         self.__event_handlers = {}
 
-        logging.basicConfig(level=logging.DEBUG)
+        logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
         self.log = logging.getLogger(__name__)
 
         self.__mb_client = None

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py b/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py
index 89e7961..8e47a37 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py
@@ -11,7 +11,7 @@ import cartridgeagentconstants
 
 unpad = lambda s: s[0:-ord(s[-1])]
 
-logging.basicConfig(level=logging.DEBUG)
+logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
 log = logging.getLogger(__name__)
 
 current_milli_time = lambda: int(round(time.time() * 1000))

http://git-wip-us.apache.org/repos/asf/stratos/blob/126fa522/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py b/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py
index 60a1558..53b6ea8 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py
@@ -6,7 +6,7 @@ import time
 from .. config.cartridgeagentconfiguration import CartridgeAgentConfiguration
 from .. topology.topologycontext import *
 
-logging.basicConfig(level=logging.DEBUG)
+logging.basicConfig(level=logging.DEBUG, filename='/tmp/cartridge-agent.log')
 log = logging.getLogger(__name__)