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 20:46:57 UTC

[33/50] [abbrv] git commit: Changed the logic to retrieve member ID in the configuration

Changed the logic to retrieve member ID in the configuration


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

Branch: refs/heads/master
Commit: 1c69a9aa76986093970d01e0a22ef6218e483735
Parents: 19f9227
Author: Chamila de Alwis <ch...@wso2.com>
Authored: Fri Oct 10 13:17:39 2014 +0530
Committer: Chamila de Alwis <ch...@wso2.com>
Committed: Fri Oct 10 13:17:39 2014 +0530

----------------------------------------------------------------------
 .../config/cartridgeagentconfiguration.py       | 25 ++++++++++++++++++--
 1 file changed, 23 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/1c69a9aa/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 17b6c78..fde28e8 100644
--- a/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
+++ b/tools/python-cartridge-agent/cartridge-agent/modules/config/cartridgeagentconfiguration.py
@@ -16,8 +16,8 @@
 # under the License.
 
 import ConfigParser
-import logging
 import os
+import socket
 
 from ..util.log import LogFactory
 
@@ -114,7 +114,7 @@ class CartridgeAgentConfiguration:
                 self.cluster_id = self.read_property(cartridgeagentconstants.CLUSTER_ID)
                 self.network_partition_id = self.read_property(cartridgeagentconstants.NETWORK_PARTITION_ID)
                 self.partition_id = self.read_property(cartridgeagentconstants.PARTITION_ID)
-                self.member_id = self.read_property(cartridgeagentconstants.MEMBER_ID)
+                self.member_id = self.get_member_id(cartridgeagentconstants.MEMBER_ID, self.cluster_id)
                 self.cartridge_key = self.read_property(cartridgeagentconstants.CARTRIDGE_KEY)
                 self.app_path = self.read_property(cartridgeagentconstants.APP_PATH)
                 self.repo_url = self.read_property(cartridgeagentconstants.REPO_URL)
@@ -231,6 +231,27 @@ class CartridgeAgentConfiguration:
             self.log.debug("lb-private-ip: %r" % self.lb_private_ip)
             self.log.debug("lb-public-ip: %r" % self.lb_public_ip)
 
+        def get_member_id(self, member_id_field):
+            """
+            Reads the member id from the payload file or configuration file. If neither of
+            these sources contain the member id, the hostname is assigned to it and returned.
+            :param str member_id_field: the key of the member id to lookup
+            :return: The member id
+            :rtype : str
+            """
+            try:
+                member_id = self.read_property(member_id_field)
+            except ParameterNotFoundException:
+                try:
+                    self.log.info("Reading hostname from container")
+                    member_id = socket.gethostname()
+                except:
+                    self.log.exception("Hostname can not be resolved")
+                    member_id = "unknown"
+
+            self.log.debug("MemberId  is taking the value of hostname : [" + member_id + "] ")
+            return member_id
+
         def __read_conf_file(self):
             """
             Reads and stores the agent's configuration file