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

[44/50] [abbrv] git commit: Fixed singleton impl of the configuration class Fixed minor issues in dependancies

Fixed singleton impl of the configuration class
Fixed minor issues in dependancies


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

Branch: refs/heads/master
Commit: 599cbdc903db8c892555256dcfdd53aa01e4f60a
Parents: 1593987
Author: Chamila de Alwis <ch...@wso2.com>
Authored: Fri Oct 3 04:22:56 2014 +0530
Committer: Nirmal Fernando <ni...@gmail.com>
Committed: Sat Oct 11 14:38:30 2014 +0530

----------------------------------------------------------------------
 .../cartridge-agent/agent.py                    |  3 +-
 .../modules/artifactmgt/git/agentgithandler.py  | 17 +++---
 .../config/cartridgeagentconfiguration.py       | 58 +++++++++-----------
 .../modules/topology/topologycontext.py         | 24 +++++++-
 .../modules/util/cartridgeagentutils.py         | 39 +------------
 .../modules/util/extensionutils.py              |  2 +
 6 files changed, 60 insertions(+), 83 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/599cbdc9/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 4858b9d..8ba2740 100644
--- a/tools/python-cartridge-agent/cartridge-agent/agent.py
+++ b/tools/python-cartridge-agent/cartridge-agent/agent.py
@@ -11,10 +11,11 @@ from modules.tenant.tenantcontext import *
 from modules.topology.topologycontext import *
 from modules.datapublisher.logpublisher import *
 from modules.config import cartridgeagentconfiguration
+from modules.extensions import defaultextensionhandler
 
 
 class CartridgeAgent(threading.Thread):
-    extension_handler = None
+    extension_handler = defaultextensionhandler.DefaultExtensionHandler()
 
     def __init__(self):
         threading.Thread.__init__(self)

http://git-wip-us.apache.org/repos/asf/stratos/blob/599cbdc9/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 be46c5d..5353b8f 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
@@ -5,7 +5,10 @@ import urllib2
 
 from ... util.log import LogFactory
 from ... util import cartridgeagentutils, extensionutils, cartridgeagentconstants
-
+from gitrepository import GitRepository
+from ... config import cartridgeagentconfiguration
+from ... util.asyncscheduledtask import AsyncScheduledTask
+from ... artifactmgt.repositoryinformation import RepositoryInformation
 
 class AgentGitHandler:
     """
@@ -18,7 +21,7 @@ class AgentGitHandler:
     SUPER_TENANT_REPO_PATH = "/repository/deployment/server/"
     TENANT_REPO_PATH = "/repository/tenants/"
 
-    extension_handler = cartridgeagentutils.get_extension_handler()
+    extension_handler = None
 
     __git_repositories = {}
     # (tenant_id => gitrepository.GitRepository)
@@ -113,6 +116,8 @@ class AgentGitHandler:
     @staticmethod
     def pull(repo_context):
         repo = Repo(repo_context.local_repo_path)
+        from ....agent import CartridgeAgent
+        AgentGitHandler.extension_handler = CartridgeAgent.extension_handler
         try:
             repo.git.checkout("master")
             pull_output = repo.git.pull()
@@ -476,10 +481,4 @@ class ArtifactUpdateTask(Thread):
             self.log.exception("Auto checkout task failed")
 
         if self.auto_commit:
-            AgentGitHandler.commit(self.repo_info)
-
-
-from gitrepository import GitRepository
-from ... config import cartridgeagentconfiguration
-from ... util.asyncscheduledtask import AsyncScheduledTask
-from ... artifactmgt.repositoryinformation import RepositoryInformation
\ No newline at end of file
+            AgentGitHandler.commit(self.repo_info)
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/599cbdc9/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 27c9a89..415a54e 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
@@ -111,8 +111,7 @@ class CartridgeAgentConfiguration:
                     self.log_file_paths = None
 
                 is_multi_str = self.read_property(cartridgeagentconstants.CLUSTER_ID)
-                self.is_multitenant = True if str(
-                    is_multi_str).lower().strip() == "true" else False
+                self.is_multitenant = True if str(is_multi_str).lower().strip() == "true" else False
 
                 try:
                     self.persistence_mappings = self.read_property(
@@ -123,47 +122,36 @@ class CartridgeAgentConfiguration:
 
                 try:
                     is_commit_str = self.read_property(cartridgeagentconstants.COMMIT_ENABLED)
-                    self.is_commits_enabled = True if str(
-                        is_commit_str).lower().strip() == "true" else False
+                    self.is_commits_enabled = True if str(is_commit_str).lower().strip() == "true" else False
                 except ParameterNotFoundException:
                     try:
                         is_commit_str = self.read_property(cartridgeagentconstants.AUTO_COMMIT)
-                        self.is_commits_enabled = True if str(
-                            is_commit_str).lower().strip() == "true" else False
+                        self.is_commits_enabled = True if str(is_commit_str).lower().strip() == "true" else False
                     except ParameterNotFoundException:
                         self.log.info(
                             "%r is not found and setting it to false" % cartridgeagentconstants.COMMIT_ENABLED)
                         self.is_commits_enabled = False
 
                 auto_checkout_str = self.read_property(cartridgeagentconstants.AUTO_CHECKOUT, False)
-                self.is_checkout_enabled = True if str(
-                    auto_checkout_str).lower().strip() == "true" else False
+                self.is_checkout_enabled = True if str(auto_checkout_str).lower().strip() == "true" else False
 
                 self.listen_address = self.read_property(
                     cartridgeagentconstants.LISTEN_ADDRESS, False)
 
                 try:
                     int_repo_str = self.read_property(cartridgeagentconstants.PROVIDER)
-                    self.is_internal_repo = True if str(
-                        int_repo_str).strip().lower() == cartridgeagentconstants.INTERNAL else False
+                    self.is_internal_repo = True if str(int_repo_str).strip().lower() == cartridgeagentconstants.INTERNAL else False
                 except ParameterNotFoundException:
                     self.log.info(" INTERNAL payload parameter is not found")
                     self.is_internal_repo = False
 
-                self.tenant_id = self.read_property(
-                    cartridgeagentconstants.TENANT_ID)
-                self.lb_cluster_id = self.read_property(
-                    cartridgeagentconstants.LB_CLUSTER_ID)
-                self.min_count = self.read_property(
-                    cartridgeagentconstants.MIN_INSTANCE_COUNT)
-                self.lb_private_ip = self.read_property(
-                    cartridgeagentconstants.LB_PRIVATE_IP, False)
-                self.lb_public_ip = self.read_property(
-                    cartridgeagentconstants.LB_PUBLIC_IP, False)
-                self.tenant_repository_path = self.read_property(
-                    cartridgeagentconstants.TENANT_REPO_PATH, False)
-                self.super_tenant_repository_path = self.read_property(
-                    cartridgeagentconstants.SUPER_TENANT_REPO_PATH, False)
+                self.tenant_id = self.read_property(cartridgeagentconstants.TENANT_ID)
+                self.lb_cluster_id = self.read_property(cartridgeagentconstants.LB_CLUSTER_ID)
+                self.min_count = self.read_property(cartridgeagentconstants.MIN_INSTANCE_COUNT)
+                self.lb_private_ip = self.read_property(cartridgeagentconstants.LB_PRIVATE_IP, False)
+                self.lb_public_ip = self.read_property(cartridgeagentconstants.LB_PUBLIC_IP, False)
+                self.tenant_repository_path = self.read_property(cartridgeagentconstants.TENANT_REPO_PATH, False)
+                self.super_tenant_repository_path = self.read_property(cartridgeagentconstants.SUPER_TENANT_REPO_PATH, False)
 
                 try:
                     self.deployment = self.read_property(
@@ -175,14 +163,14 @@ class CartridgeAgentConfiguration:
                 if self.deployment is None:
                     self.manager_service_name = None
 
-                if self.deployment.lower() == cartridgeagentconstants.DEPLOYMENT_MANAGER.lower():
+                if str(self.deployment).lower() == cartridgeagentconstants.DEPLOYMENT_MANAGER.lower():
                     self.manager_service_name = self.service_name
 
-                elif self.deployment.lower() == cartridgeagentconstants.DEPLOYMENT_WORKER.lower():
+                elif str(self.deployment).lower() == cartridgeagentconstants.DEPLOYMENT_WORKER.lower():
                     self.deployment = self.read_property(
                         cartridgeagentconstants.MANAGER_SERVICE_TYPE)
 
-                elif self.deployment.lower() == cartridgeagentconstants.DEPLOYMENT_DEFAULT.lower():
+                elif str(self.deployment).lower() == cartridgeagentconstants.DEPLOYMENT_DEFAULT.lower():
                     self.deployment = None
                 else:
                     self.deployment = None
@@ -191,14 +179,14 @@ class CartridgeAgentConfiguration:
                 if self.deployment is None:
                     self.worker_service_name = None
 
-                if self.deployment.lower() == cartridgeagentconstants.DEPLOYMENT_WORKER.lower():
+                if str(self.deployment).lower() == cartridgeagentconstants.DEPLOYMENT_WORKER.lower():
                     self.manager_service_name = self.service_name
 
-                elif self.deployment.lower() == cartridgeagentconstants.DEPLOYMENT_MANAGER.lower():
+                elif str(self.deployment).lower() == cartridgeagentconstants.DEPLOYMENT_MANAGER.lower():
                     self.deployment = self.read_property(
                         cartridgeagentconstants.WORKER_SERVICE_TYPE)
 
-                elif self.deployment.lower() == cartridgeagentconstants.DEPLOYMENT_DEFAULT.lower():
+                elif str(self.deployment).lower() == cartridgeagentconstants.DEPLOYMENT_DEFAULT.lower():
                     self.deployment = None
                 else:
                     self.deployment = None
@@ -288,12 +276,16 @@ class CartridgeAgentConfiguration:
 
     instance = None
 
-    def __new__(cls, *args, **kwargs):
+    # def __new__(cls, *args, **kwargs):
+    #     if not CartridgeAgentConfiguration.instance:
+    #         CartridgeAgentConfiguration.instance = CartridgeAgentConfiguration.__CartridgeAgentConfiguration()
+    #
+    #     return CartridgeAgentConfiguration.instance
+
+    def __init__(self):
         if not CartridgeAgentConfiguration.instance:
             CartridgeAgentConfiguration.instance = CartridgeAgentConfiguration.__CartridgeAgentConfiguration()
 
-        return CartridgeAgentConfiguration.instance
-
     def __getattr__(self, name):
         return getattr(self.instance, name)
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/599cbdc9/tools/python-cartridge-agent/cartridge-agent/modules/topology/topologycontext.py
----------------------------------------------------------------------
diff --git a/tools/python-cartridge-agent/cartridge-agent/modules/topology/topologycontext.py b/tools/python-cartridge-agent/cartridge-agent/modules/topology/topologycontext.py
index 4a13765..21972ef 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/topology/topologycontext.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/topology/topologycontext.py
@@ -1,4 +1,4 @@
-from ..util import cartridgeagentutils, cartridgeagentconstants
+from ..util import cartridgeagentconstants
 
 
 class Topology:
@@ -207,7 +207,7 @@ class Cluster:
         self.hostnames.append(hostname)
 
     def set_tenant_range(self, tenant_range):
-        cartridgeagentutils.validate_tenant_range(tenant_range)
+        self.validate_tenant_range(tenant_range)
         self.tenant_range = tenant_range
 
     def get_members(self):
@@ -277,6 +277,26 @@ class Cluster:
 
         return False
 
+    def validate_tenant_range(self, tenant_range):
+        """
+        Validates the tenant range to be either '*' or a delimeted range of numbers
+        :param str tenant_range: The tenant range string to be validated
+        :return: void if the provided tenant range is valid, RuntimeError if otherwise
+        :exception: RuntimeError if the tenant range is invalid
+        """
+        valid = False
+        if tenant_range == "*":
+            valid = True
+        else:
+            arr = tenant_range.split(cartridgeagentconstants.TENANT_RANGE_DELIMITER)
+            if len(arr) == 2:
+                if arr[0].isdigit() and arr[1].isdigit():
+                    valid = True
+                elif arr[0].isdigit() and arr[1] == "*":
+                    valid = True
+
+        if not valid:
+            raise RuntimeError("Tenant range %r is not valid" % tenant_range)
 
 class Member:
     """

http://git-wip-us.apache.org/repos/asf/stratos/blob/599cbdc9/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 81b2b92..7a7a4fe 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/util/cartridgeagentutils.py
@@ -1,12 +1,10 @@
 from Crypto.Cipher import AES
 import base64
-import logging
 import os
 import time
 import socket
 import shutil
 
-import cartridgeagentconstants
 from log import LogFactory
 
 unpad = lambda s: s[0:-ord(s[-1])]
@@ -15,16 +13,6 @@ log = LogFactory().get_log(__name__)
 
 current_milli_time = lambda: int(round(time.time() * 1000))
 
-extension_handler = None
-
-
-def get_extension_handler():
-    global extension_handler
-    if extension_handler is None:
-        extension_handler = defaultextensionhandler.DefaultExtensionHandler()
-
-    return extension_handler
-
 
 def decrypt_password(pass_str, secret):
     """
@@ -138,28 +126,6 @@ def check_ports_active(ip_address, ports):
     return True
 
 
-def validate_tenant_range(tenant_range):
-    """
-    Validates the tenant range to be either '*' or a delimeted range of numbers
-    :param str tenant_range: The tenant range string to be validated
-    :return: void if the provided tenant range is valid, RuntimeError if otherwise
-    :exception: RuntimeError if the tenant range is invalid
-    """
-    valid = False
-    if tenant_range == "*":
-        valid = True
-    else:
-        arr = tenant_range.split(cartridgeagentconstants.TENANT_RANGE_DELIMITER)
-        if len(arr) == 2:
-            if arr[0].isdigit() and arr[1].isdigit():
-                valid = True
-            elif arr[0].isdigit() and arr[1] == "*":
-                valid = True
-
-    if not valid:
-        raise RuntimeError("Tenant range %r is not valid" % tenant_range)
-
-
 def get_carbon_server_property(property_key):
     """
     Reads the carbon.xml file and returns the value for the property key.
@@ -179,7 +145,4 @@ def get_working_dir():
     :rtype : str
     """
     #"/path/to/cartridge-agent/modules/util/".split("modules") returns ["/path/to/cartridge-agent/", "/util"]
-    return os.path.abspath(os.path.dirname(__file__)).split("modules")[0]
-
-
-from ..extensions import defaultextensionhandler
+    return os.path.abspath(os.path.dirname(__file__)).split("modules")[0]
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/stratos/blob/599cbdc9/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 013713b..9cf8ba3 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/util/extensionutils.py
@@ -4,6 +4,8 @@ import subprocess
 import time
 
 from log import LogFactory
+from .. config import cartridgeagentconfiguration
+
 
 log = LogFactory().get_log(__name__)