You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2015/03/01 19:35:28 UTC
[07/50] [abbrv] stratos git commit: PCA - Check ports activity when
publishing instance activated event. If ports activation times out,
no InstanceActivatedEvent is published
PCA - Check ports activity when publishing instance activated event. If ports activation times out, no InstanceActivatedEvent is published
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a4fc8ef2
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a4fc8ef2
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a4fc8ef2
Branch: refs/heads/docker-grouping-merge
Commit: a4fc8ef232e6e94ca314c10c33fa6c15334913a0
Parents: 6d408dd
Author: Chamila de Alwis <ch...@wso2.com>
Authored: Fri Feb 27 00:31:59 2015 +0530
Committer: R-Rajkumar <rr...@gmail.com>
Committed: Fri Feb 27 19:42:44 2015 +0530
----------------------------------------------------------------------
.../publisher/CartridgeAgentEventPublisher.java | 4 +-
.../cartridge.agent/cartridge.agent/agent.py | 7 --
.../publisher/cartridgeagentpublisher.py | 77 ++++++++++++--------
.../modules/util/cartridgeagentutils.py | 4 +-
4 files changed, 50 insertions(+), 42 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/a4fc8ef2/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
index 9a4e0c2..c3b3f14 100644
--- a/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
+++ b/components/org.apache.stratos.cartridge.agent/src/main/java/org/apache/stratos/cartridge/agent/event/publisher/CartridgeAgentEventPublisher.java
@@ -149,8 +149,8 @@ public class CartridgeAgentEventPublisher {
for (Integer port: ports){
portsStr += port + ", ";
}
- log.info(String.format(
- "Ports activation timed out. Aborting InstanceActivatedEvent publishing. [IPAdress] %s [Ports] %s",
+ log.error(String.format(
+ "Ports activation timed out. Aborting InstanceActivatedEvent publishing. [IPAddress] %s [Ports] %s",
listenAddress,
portsStr));
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/a4fc8ef2/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 4d09b78..1efb0c6 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
@@ -88,13 +88,6 @@ class CartridgeAgent(threading.Thread):
except Exception as e:
self.__log.exception("Error processing start servers event: %s" % e)
- # Wait for all ports to be active
- cartridgeagentutils.wait_until_ports_active(
- self.__config.listen_address,
- self.__config.ports,
- int(self.__config.read_property("port.check.timeout", critical=False))
- )
-
# check if artifact management is required before publishing instance activated event
repo_url = self.__config.repo_url
if repo_url is None or str(repo_url).strip() == "":
http://git-wip-us.apache.org/repos/asf/stratos/blob/a4fc8ef2/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/publisher/cartridgeagentpublisher.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/publisher/cartridgeagentpublisher.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/publisher/cartridgeagentpublisher.py
index 875332a..aea0e58 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/publisher/cartridgeagentpublisher.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/publisher/cartridgeagentpublisher.py
@@ -61,44 +61,57 @@ def publish_instance_started_event():
def publish_instance_activated_event():
global activated, log
if not activated:
+ # Wait for all ports to be active
+
+ listen_address = CartridgeAgentConfiguration().listen_address
+ configuration__ports = CartridgeAgentConfiguration().ports
+ ports_active = cartridgeagentutils.wait_until_ports_active(
+ listen_address,
+ configuration__ports,
+ int(CartridgeAgentConfiguration().read_property("port.check.timeout", critical=False))
+ )
log.info("Publishing instance activated event")
- service_name = CartridgeAgentConfiguration().service_name
- cluster_id = CartridgeAgentConfiguration().cluster_id
- member_id = CartridgeAgentConfiguration().member_id
- instance_id = CartridgeAgentConfiguration().instance_id
- cluster_instance_id = CartridgeAgentConfiguration().cluster_instance_id
- network_partition_id = CartridgeAgentConfiguration().network_partition_id
- partition_id = CartridgeAgentConfiguration().partition_id
-
- instance_activated_event = InstanceActivatedEvent(service_name, cluster_id, cluster_instance_id, member_id,
- instance_id, network_partition_id, partition_id)
-
- publisher = get_publisher(constants.INSTANCE_STATUS_TOPIC + constants.INSTANCE_ACTIVATED_EVENT)
- publisher.publish(instance_activated_event)
-
- log.info("Instance activated event published")
- log.info("Starting health statistics notifier")
-
- if CEPPublisherConfiguration.get_instance().enabled:
- interval_default = 15 # seconds
- interval = CartridgeAgentConfiguration().read_property("stats.notifier.interval", False)
- if interval is not None and len(interval) > 0:
- try:
- interval = int(interval)
- except ValueError:
+ if ports_active:
+ service_name = CartridgeAgentConfiguration().service_name
+ cluster_id = CartridgeAgentConfiguration().cluster_id
+ member_id = CartridgeAgentConfiguration().member_id
+ instance_id = CartridgeAgentConfiguration().instance_id
+ cluster_instance_id = CartridgeAgentConfiguration().cluster_instance_id
+ network_partition_id = CartridgeAgentConfiguration().network_partition_id
+ partition_id = CartridgeAgentConfiguration().partition_id
+
+ instance_activated_event = InstanceActivatedEvent(service_name, cluster_id, cluster_instance_id, member_id,
+ instance_id, network_partition_id, partition_id)
+
+ publisher = get_publisher(constants.INSTANCE_STATUS_TOPIC + constants.INSTANCE_ACTIVATED_EVENT)
+ publisher.publish(instance_activated_event)
+
+ log.info("Instance activated event published")
+ log.info("Starting health statistics notifier")
+
+ if CEPPublisherConfiguration.get_instance().enabled:
+ interval_default = 15 # seconds
+ interval = CartridgeAgentConfiguration().read_property("stats.notifier.interval", False)
+ if interval is not None and len(interval) > 0:
+ try:
+ interval = int(interval)
+ except ValueError:
+ interval = interval_default
+ else:
interval = interval_default
+
+ health_stats_publisher = HealthStatisticsPublisherManager(interval)
+ log.info("Starting Health statistics publisher with interval %r" % interval)
+ health_stats_publisher.start()
else:
- interval = interval_default
+ log.warn("Statistics publisher is disabled")
- health_stats_publisher = HealthStatisticsPublisherManager(interval)
- log.info("Starting Health statistics publisher with interval %r" % interval)
- health_stats_publisher.start()
+ activated = True
+ log.info("Health statistics notifier started")
else:
- log.warn("Statistics publisher is disabled")
-
- activated = True
- log.info("Health statistics notifier started")
+ log.error("Ports activation timed out. Aborting InstanceActivatedEvent publishing. [IPAddress] %s [Ports] %s"
+ % (listen_address, configuration__ports))
else:
log.warn("Instance already activated")
http://git-wip-us.apache.org/repos/asf/stratos/blob/a4fc8ef2/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
index f8a4078..0f825bf 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/cartridgeagentutils.py
@@ -84,10 +84,12 @@ def wait_until_ports_active(ip_address, ports, ports_check_timeout=600000):
if duration > ports_check_timeout:
log.info("Port check timeout reached: [ip] %r [ports] %r [timeout] %r" % (ip_address, ports, ports_check_timeout))
- return
+ return False
time.sleep(5)
+
log.info("Ports activated: [ip] %r [ports] %r" % (ip_address, ports))
+ return True
def check_ports_active(ip_address, ports):