You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by is...@apache.org on 2015/12/22 05:31:19 UTC
[1/8] stratos git commit: initial changes for signup deletion
Repository: stratos
Updated Branches:
refs/heads/master a760c0694 -> 418ed02e8
initial changes for signup deletion
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/46ccf803
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/46ccf803
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/46ccf803
Branch: refs/heads/master
Commit: 46ccf803b946d612be2ea569bcc0e5bea8547cbb
Parents: 75ee959
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Fri Nov 27 10:13:24 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:35:23 2015 +0530
----------------------------------------------------------------------
.../modules/artifactmgt/git/agentgithandler.py | 19 +++++++++++++++++
.../plugins/DefaultArtifactCheckout.py | 22 ++++++++++++++++++++
2 files changed, 41 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/46ccf803/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
index 15d3733..690285c 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
@@ -28,6 +28,7 @@ import time
from config import Config
from exception import GitRepositorySynchronizationException
from git import *
+import errno
from ...util.asyncscheduledtask import AbstractAsyncScheduledTask, ScheduledExecutor
from ...util.log import LogFactory
@@ -314,12 +315,30 @@ class AgentGitHandler:
AgentGitHandler.log.exception(
"Could not remove repository folder for tenant:%s %s" % (git_repo.tenant_id, e))
+ # restore default artifacts
+ AgentGitHandler.restore_default_artifacts("/tmp/default_artifacts", git_repo.local_repo_path)
+
AgentGitHandler.clear_repo(tenant_id)
AgentGitHandler.log.info("Git repository deleted for tenant %s" % git_repo.tenant_id)
return True
@staticmethod
+ def restore_default_artifacts (default_artifact_backup_location, local_repo_path):
+ try:
+ if os.path.isdir(default_artifact_backup_location):
+ # first remove all the artifacts in the local_repo_path
+ if os.listdir(local_repo_path):
+ # non-empty
+ filelist = [f for f in os.listdir(local_repo_path)]
+ for f in filelist:
+ GitUtils.delete_folder_tree(local_repo_path + '/' + f)
+ AgentGitHandler.log.info('Restoring default artifacts from ' + default_artifact_backup_location + ' to ' + local_repo_path)
+ shutil.copytree(default_artifact_backup_location, local_repo_path)
+ except OSError as e:
+ AgentGitHandler.log.error('Contents of ' + default_artifact_backup_location + ' not restored. Error: %s' % e)
+
+ @staticmethod
def execute_git_command(command, repo_path):
"""
Executes the given command string with given environment parameters
http://git-wip-us.apache.org/repos/asf/stratos/blob/46ccf803/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index 27cf99c..1dbf645 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -21,6 +21,9 @@ from modules.artifactmgt.git.agentgithandler import AgentGitHandler
from config import Config
import constants
from exception import *
+import shutil
+import errno
+import os
class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
@@ -90,6 +93,10 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
git_repo.repo_url, git_repo.local_repo_path)
self.log.info("Executing git clone: [tenant-id] %s [repo-url] %s, [repo path] %s",
git_repo.tenant_id, git_repo.repo_url, git_repo.local_repo_path)
+
+ # copy default artifacts (if any) to a /tmp/default_artifacts
+ self.backupDefaultArtifacts(git_repo.local_repo_path, "/tmp/default_artifacts")
+
try:
git_repo = AgentGitHandler.clone(git_repo)
AgentGitHandler.add_repo(git_repo)
@@ -101,3 +108,18 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
self.log.info("Retrying git clone operation...")
AgentGitHandler.retry_clone(git_repo)
AgentGitHandler.add_repo(git_repo)
+
+ def backupDefaultArtifacts(src, dest):
+ try:
+ if not os.path.isdir(src):
+ self.log.info ('Direcotry ' + src + ' does not exist')
+ return
+ if os.path.isdir(dest):
+ self.log.info('Directory ' + dest + ' already exists, will delete')
+ shutil.rmtree(dest)
+ self.log.info('Copying default artifacts from ' + src + ' to ' + dest)
+ shutil.copytree(src, dest)
+ except OSError as e:
+ self.log.error('Directory not copied. Error: %s' % e)
+
+
[6/8] stratos git commit: adding a log for default artifact backup =
false
Posted by is...@apache.org.
adding a log for default artifact backup = false
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/969293f6
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/969293f6
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/969293f6
Branch: refs/heads/master
Commit: 969293f6f4cd9e1e2ce93d8ee1bfbd95fc0bc7d5
Parents: fd28829
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Dec 9 18:17:36 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:38:52 2015 +0530
----------------------------------------------------------------------
.../cartridge.agent/plugins/DefaultArtifactCheckout.py | 2 ++
1 file changed, 2 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/969293f6/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index a2cd5c6..f9883aa 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -97,6 +97,8 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
if not Config.backup_initial_artifacts is None and Config.backup_initial_artifacts:
self.check_and_backup_initial_artifacts(git_repo.local_repo_path)
+ else:
+ self.log.info("Default artifact backup disabled")
try:
git_repo = AgentGitHandler.clone(git_repo)
[4/8] stratos git commit: adding comments
Posted by is...@apache.org.
adding comments
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/dd649946
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/dd649946
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/dd649946
Branch: refs/heads/master
Commit: dd6499463c6e1576a2a6f2c3a7e9865595efbe3a
Parents: 9a6f8dc
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Tue Dec 1 17:07:23 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:36:29 2015 +0530
----------------------------------------------------------------------
.../modules/artifactmgt/git/agentgithandler.py | 21 ++++++++++----------
.../plugins/DefaultArtifactCheckout.py | 7 +++++++
2 files changed, 17 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/dd649946/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
index 39543b9..14b76f3 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
@@ -214,15 +214,9 @@ class AgentGitHandler:
@staticmethod
def clear_repo(tenant_id):
tenant_id = str(tenant_id)
- AgentGitHandler.log.info ('########################## in clear_repo method...' + tenant_id)
if tenant_id in AgentGitHandler.__git_repositories:
del AgentGitHandler.__git_repositories[tenant_id]
- AgentGitHandler.log.info('########################## cached repo object deleted for tenant ' +
- tenant_id)
- if tenant_id in AgentGitHandler.__git_repositories:
- AgentGitHandler.log.info('########################## cached repo object still exists for tenant ' + tenant_id)
- else:
- AgentGitHandler.log.info('########################## no cached obj found for ' + tenant_id)
+ AgentGitHandler.log.debug('Cached repo object deleted for tenant ' + tenant_id)
@staticmethod
def create_git_repo(repo_info):
@@ -338,13 +332,18 @@ class AgentGitHandler:
return True
@staticmethod
- def restore_default_artifacts(default_dir):
+ def restore_default_artifacts(initial_artifact_dir):
+ """
+ Restores the initial artifacts from the previously taken backup, if the backup exists
+
+ :param initial_artifact_dir: path to local artifact directory
+ """
try:
- Utils.move_directory(Utils.strip_trailing_slash(default_dir) + constants.BACKUP_DIR_SUFFIX, default_dir)
- AgentGitHandler.log.info('Restored contents from backup location ' +Utils.strip_trailing_slash(default_dir)
+ Utils.move_directory(Utils.strip_trailing_slash(initial_artifact_dir) + constants.BACKUP_DIR_SUFFIX, initial_artifact_dir)
+ AgentGitHandler.log.info('Restored contents from backup location ' + Utils.strip_trailing_slash(initial_artifact_dir)
+ constants.BACKUP_DIR_SUFFIX)
except OSError as e:
- AgentGitHandler.log.error('Contents of ' + default_dir + ' not restored. Error: %s' % e)
+ AgentGitHandler.log.error('Contents of ' + initial_artifact_dir + ' not restored. Error: %s' % e)
@staticmethod
def execute_git_command(command, repo_path):
http://git-wip-us.apache.org/repos/asf/stratos/blob/dd649946/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index 413090e..1b7baa0 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -110,6 +110,13 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
AgentGitHandler.add_repo(git_repo)
def check_and_backup_initial_artifacts(self, initial_artifact_dir):
+ """
+ verifies if there are any default artifacts by checking the 'initial_artifact_dir' and
+ whether its empty, and takes a backup to a directory initial_artifact_dir_backup in the
+ same location
+
+ :param initial_artifact_dir: path to local artifact directory
+ """
# copy default artifacts (if any) to a a temp location
# if directory name is dir, the backup directory name would be dir_backup
if self.initial_artifacts_exists(initial_artifact_dir):
[3/8] stratos git commit: fixing
http://stackoverflow.com/questions/9160227/dir-util-copy-tree-fails-after-shutil-rmtree,
improving ScheduledExecutor and using str(tenant_id) in getting cached git
repo objects
Posted by is...@apache.org.
fixing http://stackoverflow.com/questions/9160227/dir-util-copy-tree-fails-after-shutil-rmtree, improving ScheduledExecutor and using str(tenant_id) in getting cached git repo objects
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/9a6f8dc5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/9a6f8dc5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/9a6f8dc5
Branch: refs/heads/master
Commit: 9a6f8dc5728755328dd822480f65652da44e90da
Parents: a0a1684
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Tue Dec 1 16:26:41 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:35:46 2015 +0530
----------------------------------------------------------------------
.../modules/artifactmgt/git/agentgithandler.py | 12 ++++++++++++
.../modules/util/asyncscheduledtask.py | 5 +++--
.../modules/util/cartridgeagentutils.py | 9 ++++++++-
.../plugins/DefaultArtifactCheckout.py | 18 +++++++++++-------
4 files changed, 34 insertions(+), 10 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/9a6f8dc5/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
index dfa8089..39543b9 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
@@ -21,6 +21,7 @@ import tempfile
import urllib
import os
from distutils.dir_util import copy_tree
+import distutils.dir_util
from threading import current_thread
import constants
@@ -155,6 +156,9 @@ class AgentGitHandler:
"Cloning artifacts from URL: %s to temp location: %s" % (git_repo.repo_url, temp_repo_path))
Repo.clone_from(git_repo.auth_url, temp_repo_path)
+ # clear the paths to get rid of the following bug in distutils:
+ # http://stackoverflow.com/questions/9160227/dir-util-copy-tree-fails-after-shutil-rmtree
+ distutils.dir_util._path_created = {}
# move the cloned dir to application path
copy_tree(temp_repo_path, git_repo.local_repo_path)
AgentGitHandler.log.info("Git clone operation for tenant %s successful" % git_repo.tenant_id)
@@ -209,8 +213,16 @@ class AgentGitHandler:
@staticmethod
def clear_repo(tenant_id):
+ tenant_id = str(tenant_id)
+ AgentGitHandler.log.info ('########################## in clear_repo method...' + tenant_id)
if tenant_id in AgentGitHandler.__git_repositories:
del AgentGitHandler.__git_repositories[tenant_id]
+ AgentGitHandler.log.info('########################## cached repo object deleted for tenant ' +
+ tenant_id)
+ if tenant_id in AgentGitHandler.__git_repositories:
+ AgentGitHandler.log.info('########################## cached repo object still exists for tenant ' + tenant_id)
+ else:
+ AgentGitHandler.log.info('########################## no cached obj found for ' + tenant_id)
@staticmethod
def create_git_repo(repo_info):
http://git-wip-us.apache.org/repos/asf/stratos/blob/9a6f8dc5/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
index f727414..5b54598 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
@@ -61,8 +61,9 @@ class ScheduledExecutor(Thread):
"""
while not self.terminated:
time.sleep(self.delay)
- task_thread = Thread(target=self.task.execute_task)
- task_thread.start()
+ if not self.terminated:
+ task_thread = Thread(target=self.task.execute_task)
+ task_thread.start()
def terminate(self):
"""
http://git-wip-us.apache.org/repos/asf/stratos/blob/9a6f8dc5/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 532dc5f..7b2d0ed 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
@@ -143,8 +143,8 @@ def check_port_active(ip_address, port):
log.debug("Port %s is not active" % port)
return False
-class Utils (object):
+class Utils(object):
@staticmethod
def directory_exists(dir):
"""
@@ -197,6 +197,13 @@ class Utils (object):
except OSError as e:
log.error('Directory not moved. Error: %s' % e)
+ @staticmethod
+ def print_dictionary(dic):
+ for x in dic:
+ print (x)
+ for y in dic[x]:
+ print (y, ':', dic[x][y])
+
class IncrementalCeilingListIterator(object):
"""
Iterates through a given list and returns elements. At the end of the list if terminate_at_end is set to false,
http://git-wip-us.apache.org/repos/asf/stratos/blob/9a6f8dc5/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index 0a45d91..413090e 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -83,6 +83,7 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
git_repo.cloned = False
self.log.debug("Executing git clone: [tenant-id] %s [repo-url] %s",
git_repo.tenant_id, git_repo.repo_url)
+
git_repo = AgentGitHandler.clone(git_repo)
AgentGitHandler.add_repo(git_repo)
self.log.debug("Git clone executed: [tenant-id] %s [repo-url] %s",
@@ -94,13 +95,7 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
self.log.info("Executing git clone: [tenant-id] %s [repo-url] %s, [repo path] %s",
git_repo.tenant_id, git_repo.repo_url, git_repo.local_repo_path)
- # copy default artifacts (if any) to a a temp location
- # if directory name is dir, the backup directory name would be dir_backup
- if self.initial_artifacts_exists(git_repo.local_repo_path):
- self.log.info("Default artifacts exist at " + git_repo.local_repo_path)
- self.backup_initial_artifacts(git_repo.local_repo_path)
- else:
- self.log.info("No default artifacts exist at " + git_repo.local_repo_path)
+ self.check_and_backup_initial_artifacts(git_repo.local_repo_path)
try:
git_repo = AgentGitHandler.clone(git_repo)
@@ -114,6 +109,15 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
AgentGitHandler.retry_clone(git_repo)
AgentGitHandler.add_repo(git_repo)
+ def check_and_backup_initial_artifacts(self, initial_artifact_dir):
+ # copy default artifacts (if any) to a a temp location
+ # if directory name is dir, the backup directory name would be dir_backup
+ if self.initial_artifacts_exists(initial_artifact_dir):
+ self.log.info("Default artifacts exist at " + initial_artifact_dir)
+ self.backup_initial_artifacts(initial_artifact_dir)
+ else:
+ self.log.info("No default artifacts exist at " + initial_artifact_dir)
+
def initial_artifacts_exists(self, dir):
try:
return os.path.exists(dir) and os.listdir(dir)
[2/8] stratos git commit: initial changes for restoring initial
artifacts after signup removal
Posted by is...@apache.org.
initial changes for restoring initial artifacts after signup removal
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a0a1684b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a0a1684b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a0a1684b
Branch: refs/heads/master
Commit: a0a1684b3e12f05643b41ff15a3c56f5aa6c36f5
Parents: 46ccf80
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Tue Dec 1 11:07:56 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:35:37 2015 +0530
----------------------------------------------------------------------
.../cartridge.agent/constants.py | 2 +
.../modules/artifactmgt/git/agentgithandler.py | 22 ++++----
.../modules/util/cartridgeagentutils.py | 55 ++++++++++++++++++++
.../plugins/DefaultArtifactCheckout.py | 34 +++++++-----
4 files changed, 86 insertions(+), 27 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/a0a1684b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
index cd2ce36..4672579 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
@@ -140,3 +140,5 @@ MONITORING_RECEIVER_PORT = "monitoring.server.port"
MONITORING_RECEIVER_SECURE_PORT = "monitoring.server.secure.port"
MONITORING_SERVER_ADMIN_USERNAME = "monitoring.server.admin.username"
MONITORING_SERVER_ADMIN_PASSWORD = "monitoring.server.admin.password"
+
+BACKUP_DIR_SUFFIX = "_backup"
http://git-wip-us.apache.org/repos/asf/stratos/blob/a0a1684b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
index 690285c..dfa8089 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
@@ -28,10 +28,10 @@ import time
from config import Config
from exception import GitRepositorySynchronizationException
from git import *
-import errno
from ...util.asyncscheduledtask import AbstractAsyncScheduledTask, ScheduledExecutor
from ...util.log import LogFactory
+from ...util.cartridgeagentutils import Utils
class AgentGitHandler:
@@ -316,7 +316,9 @@ class AgentGitHandler:
"Could not remove repository folder for tenant:%s %s" % (git_repo.tenant_id, e))
# restore default artifacts
- AgentGitHandler.restore_default_artifacts("/tmp/default_artifacts", git_repo.local_repo_path)
+ if Utils.directory_exists(Utils.strip_trailing_slash(git_repo.local_repo_path) +
+ constants.BACKUP_DIR_SUFFIX):
+ AgentGitHandler.restore_default_artifacts(git_repo.local_repo_path)
AgentGitHandler.clear_repo(tenant_id)
AgentGitHandler.log.info("Git repository deleted for tenant %s" % git_repo.tenant_id)
@@ -324,19 +326,13 @@ class AgentGitHandler:
return True
@staticmethod
- def restore_default_artifacts (default_artifact_backup_location, local_repo_path):
+ def restore_default_artifacts(default_dir):
try:
- if os.path.isdir(default_artifact_backup_location):
- # first remove all the artifacts in the local_repo_path
- if os.listdir(local_repo_path):
- # non-empty
- filelist = [f for f in os.listdir(local_repo_path)]
- for f in filelist:
- GitUtils.delete_folder_tree(local_repo_path + '/' + f)
- AgentGitHandler.log.info('Restoring default artifacts from ' + default_artifact_backup_location + ' to ' + local_repo_path)
- shutil.copytree(default_artifact_backup_location, local_repo_path)
+ Utils.move_directory(Utils.strip_trailing_slash(default_dir) + constants.BACKUP_DIR_SUFFIX, default_dir)
+ AgentGitHandler.log.info('Restored contents from backup location ' +Utils.strip_trailing_slash(default_dir)
+ + constants.BACKUP_DIR_SUFFIX)
except OSError as e:
- AgentGitHandler.log.error('Contents of ' + default_artifact_backup_location + ' not restored. Error: %s' % e)
+ AgentGitHandler.log.error('Contents of ' + default_dir + ' not restored. Error: %s' % e)
@staticmethod
def execute_git_command(command, repo_path):
http://git-wip-us.apache.org/repos/asf/stratos/blob/a0a1684b/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 e5ad877..532dc5f 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
@@ -21,6 +21,8 @@ import time
import socket
import string
import hashlib
+import shutil
+import os
from log import LogFactory
@@ -141,6 +143,59 @@ def check_port_active(ip_address, port):
log.debug("Port %s is not active" % port)
return False
+class Utils (object):
+
+ @staticmethod
+ def directory_exists(dir):
+ """
+ Checks if the given directory exists
+ :param dir: directory to check
+ :return: True if the directory dir exists, else False
+ :rtype: bool
+ """
+ try:
+ return os.path.isdir(dir)
+ except OSError as e:
+ log.error("Unable to check directory existance [%s]" % e)
+ return False
+
+ @staticmethod
+ def copy_directory(src, destination):
+ """
+ Copies if the directory 'src' to 'destination'
+ :param src: location of directory to copy
+ :param destination: new directory location
+ """
+ try:
+ shutil.copytree(src, destination)
+ log.debug("Directory [%s] copied to [%s]" % (src, destination))
+ except OSError as e:
+ log.error('Directory not copied. Error: %s' % e)
+
+ @staticmethod
+ def strip_trailing_slash(string):
+ """
+ If the string has a trailing '/', removes it
+ :param string: string to check
+ :return: string without a trailing '/'
+ :rtype: string
+ """
+ if string.endswith('/'):
+ return string[:-1]
+ return string
+
+ @staticmethod
+ def move_directory(src, destination):
+ """
+ Moves if the directory 'src' to 'destination'
+ :param src: location of directory to move
+ :param destination: new directory location
+ """
+ try:
+ shutil.move(src, destination)
+ log.debug("Directory [%s] moved to [%s]" % (src, destination))
+ except OSError as e:
+ log.error('Directory not moved. Error: %s' % e)
class IncrementalCeilingListIterator(object):
"""
http://git-wip-us.apache.org/repos/asf/stratos/blob/a0a1684b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index 1dbf645..0a45d91 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -17,12 +17,12 @@
from plugins.contracts import IArtifactCheckoutPlugin
from modules.util.log import LogFactory
+from modules.util.cartridgeagentutils import Utils
from modules.artifactmgt.git.agentgithandler import AgentGitHandler
from config import Config
import constants
from exception import *
import shutil
-import errno
import os
@@ -94,8 +94,13 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
self.log.info("Executing git clone: [tenant-id] %s [repo-url] %s, [repo path] %s",
git_repo.tenant_id, git_repo.repo_url, git_repo.local_repo_path)
- # copy default artifacts (if any) to a /tmp/default_artifacts
- self.backupDefaultArtifacts(git_repo.local_repo_path, "/tmp/default_artifacts")
+ # copy default artifacts (if any) to a a temp location
+ # if directory name is dir, the backup directory name would be dir_backup
+ if self.initial_artifacts_exists(git_repo.local_repo_path):
+ self.log.info("Default artifacts exist at " + git_repo.local_repo_path)
+ self.backup_initial_artifacts(git_repo.local_repo_path)
+ else:
+ self.log.info("No default artifacts exist at " + git_repo.local_repo_path)
try:
git_repo = AgentGitHandler.clone(git_repo)
@@ -109,17 +114,18 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
AgentGitHandler.retry_clone(git_repo)
AgentGitHandler.add_repo(git_repo)
- def backupDefaultArtifacts(src, dest):
+ def initial_artifacts_exists(self, dir):
try:
- if not os.path.isdir(src):
- self.log.info ('Direcotry ' + src + ' does not exist')
- return
- if os.path.isdir(dest):
- self.log.info('Directory ' + dest + ' already exists, will delete')
- shutil.rmtree(dest)
- self.log.info('Copying default artifacts from ' + src + ' to ' + dest)
- shutil.copytree(src, dest)
+ return os.path.exists(dir) and os.listdir(dir)
except OSError as e:
- self.log.error('Directory not copied. Error: %s' % e)
-
+ self.log.error('Unable to check if directory exists | non-empty, error: %s' % e)
+ return False
+ def backup_initial_artifacts(self, src):
+ self.log.info('Initial artifacts exists, taking backup to ' + Utils.strip_trailing_slash(src)
+ + constants.BACKUP_DIR_SUFFIX +
+ ' directory')
+ try:
+ shutil.copytree(src, Utils.strip_trailing_slash(src) + constants.BACKUP_DIR_SUFFIX)
+ except OSError as e:
+ self.log.error('Directory not copied. Error: %s' % e)
[7/8] stratos git commit: changing logic of enabling initial artifact
update
Posted by is...@apache.org.
changing logic of enabling initial artifact update
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/d296b2d5
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/d296b2d5
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/d296b2d5
Branch: refs/heads/master
Commit: d296b2d559994c1801c1d2c4b0d036cd96c8f8e2
Parents: 969293f
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Dec 9 22:35:53 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:39:15 2015 +0530
----------------------------------------------------------------------
.../src/main/python/cartridge.agent/cartridge.agent/agent.conf | 2 +-
.../cartridge.agent/plugins/DefaultArtifactCheckout.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/d296b2d5/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
index 6875d25..06e3a40 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
@@ -45,4 +45,4 @@ APPLICATION_PATH =APPLICATION-PATH
metadata.service.url =METADATA-SERVICE-URL
super.tenant.repository.path =/repository/deployment/server/
tenant.repository.path =/repository/tenants/
-enable.initial.artifact.backup =ENABLE_INITIAL_ARTIFACT_UPDATE
+enable.initial.artifact.backup =ENABLE_INITIAL_ARTIFACT_BACKUP
http://git-wip-us.apache.org/repos/asf/stratos/blob/d296b2d5/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index f9883aa..1645030 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -95,7 +95,7 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
self.log.info("Executing git clone: [tenant-id] %s [repo-url] %s, [repo path] %s",
git_repo.tenant_id, git_repo.repo_url, git_repo.local_repo_path)
- if not Config.backup_initial_artifacts is None and Config.backup_initial_artifacts:
+ if Config.backup_initial_artifacts:
self.check_and_backup_initial_artifacts(git_repo.local_repo_path)
else:
self.log.info("Default artifact backup disabled")
[5/8] stratos git commit: configuration for enabling initial artifact
backup
Posted by is...@apache.org.
configuration for enabling initial artifact backup
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/fd288296
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/fd288296
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/fd288296
Branch: refs/heads/master
Commit: fd288296ea7de1d801fa842f963bf9e29b65b770
Parents: dd64994
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Wed Dec 9 18:11:13 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Mon Dec 21 22:38:32 2015 +0530
----------------------------------------------------------------------
.../src/main/python/cartridge.agent/cartridge.agent/agent.conf | 1 +
.../src/main/python/cartridge.agent/cartridge.agent/config.py | 3 +++
.../src/main/python/cartridge.agent/cartridge.agent/constants.py | 1 +
.../cartridge.agent/plugins/DefaultArtifactCheckout.py | 3 ++-
4 files changed, 7 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd288296/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
index a8c8a19..6875d25 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
@@ -45,3 +45,4 @@ APPLICATION_PATH =APPLICATION-PATH
metadata.service.url =METADATA-SERVICE-URL
super.tenant.repository.path =/repository/deployment/server/
tenant.repository.path =/repository/tenants/
+enable.initial.artifact.backup =ENABLE_INITIAL_ARTIFACT_UPDATE
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd288296/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
index 8d2915e..292e164 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
@@ -114,6 +114,8 @@ class Config:
""" :type : str """
super_tenant_repository_path = None
""" :type : str """
+ backup_initial_artifacts = False
+ """ :type : bool """
deployment = None
""" :type : str """
manager_service_name = None
@@ -360,6 +362,7 @@ class Config:
Config.lb_public_ip = Config.read_property(constants.LB_PUBLIC_IP, False)
Config.tenant_repository_path = Config.read_property(constants.TENANT_REPO_PATH, False)
Config.super_tenant_repository_path = Config.read_property(constants.SUPER_TENANT_REPO_PATH, False)
+ Config.backup_initial_artifacts = Config.read_property(constants.ENABLE_INITIAL_ARTIFACT_BACKUP, False)
Config.is_primary = Config.read_property(constants.CLUSTERING_PRIMARY_KEY, False)
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd288296/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
index 4672579..93879d1 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
@@ -77,6 +77,7 @@ SUPERTENANT_TEMP_PATH = "/tmp/-1234/"
SUPER_TENANT_REPO_PATH = "super.tenant.repository.path"
TENANT_REPO_PATH = "tenant.repository.path"
+ENABLE_INITIAL_ARTIFACT_BACKUP = "enable.initial.artifact.backup"
# topic names to subscribe
INSTANCE_NOTIFIER_TOPIC = "instance/#"
http://git-wip-us.apache.org/repos/asf/stratos/blob/fd288296/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
index 1b7baa0..a2cd5c6 100644
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/plugins/DefaultArtifactCheckout.py
@@ -95,7 +95,8 @@ class DefaultArtifactCheckout(IArtifactCheckoutPlugin):
self.log.info("Executing git clone: [tenant-id] %s [repo-url] %s, [repo path] %s",
git_repo.tenant_id, git_repo.repo_url, git_repo.local_repo_path)
- self.check_and_backup_initial_artifacts(git_repo.local_repo_path)
+ if not Config.backup_initial_artifacts is None and Config.backup_initial_artifacts:
+ self.check_and_backup_initial_artifacts(git_repo.local_repo_path)
try:
git_repo = AgentGitHandler.clone(git_repo)
[8/8] stratos git commit: fixing conflicts in asyncschedulertask.py
Posted by is...@apache.org.
fixing conflicts in asyncschedulertask.py
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/418ed02e
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/418ed02e
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/418ed02e
Branch: refs/heads/master
Commit: 418ed02e85b530a3ee296643b8c5947ae1a5d1cc
Parents: d296b2d a760c06
Author: Isuru Haththotuwa <is...@apache.org>
Authored: Tue Dec 22 10:00:53 2015 +0530
Committer: Isuru Haththotuwa <is...@apache.org>
Committed: Tue Dec 22 10:00:53 2015 +0530
----------------------------------------------------------------------
.../cartridge/agent/util/ExtensionUtils.java | 4 +-
.../messaging/domain/topology/Topology.java | 19 +-
...licationClustersCreatedMessageProcessor.java | 3 +-
...licationClustersRemovedMessageProcessor.java | 3 +-
.../ClusterCreatedMessageProcessor.java | 3 +-
.../ClusterInstanceActivatedProcessor.java | 3 +-
.../ClusterInstanceCreatedMessageProcessor.java | 3 +-
.../ClusterInstanceInactivateProcessor.java | 3 +-
.../ClusterInstanceTerminatedProcessor.java | 3 +-
.../ClusterInstanceTerminatingProcessor.java | 3 +-
.../ClusterRemovedMessageProcessor.java | 3 +-
.../topology/ClusterResetMessageProcessor.java | 3 +-
.../CompleteTopologyMessageProcessor.java | 5 +-
.../MemberActivatedMessageProcessor.java | 3 +-
.../topology/MemberCreatedMessageProcessor.java | 3 +-
.../MemberInitializedMessageProcessor.java | 3 +-
.../MemberMaintenanceModeProcessor.java | 3 +-
.../MemberReadyToShutdownMessageProcessor.java | 3 +-
.../topology/MemberStartedMessageProcessor.java | 3 +-
.../MemberSuspendedMessageProcessor.java | 3 +-
.../MemberTerminatedMessageProcessor.java | 3 +-
.../ServiceCreatedMessageProcessor.java | 3 +-
.../ServiceRemovedMessageProcessor.java | 3 +-
.../receiver/topology/TopologyManager.java | 10 +
.../README.md | 53 +-
.../pom.xml | 38 --
.../cartridge.agent/cartridge.agent/agent.conf | 2 +
.../cartridge.agent/cartridge.agent/agent.py | 46 +-
.../cartridge.agent/cartridge.agent/config.py | 37 +-
.../cartridge.agent/constants.py | 2 +
.../cartridge.agent/cartridge.agent/entity.py | 2 +
.../extensions/bash/CreateLVSDummyInterface.sh | 6 +-
.../cartridge.agent/healthstats.py | 4 +
.../cartridge.agent/logpublisher.py | 14 +-
.../modules/artifactmgt/git/agentgithandler.py | 5 +
.../modules/event/eventhandler.py | 42 +-
.../modules/util/asyncscheduledtask.py | 10 +
.../cartridge.agent/publisher.py | 5 +-
.../cartridge.agent/subscriber.py | 77 +--
.../cartridge.agent/terminator.txt | 0
.../python/cartridge.agent/tests/__init__.py | 16 -
.../tests/conf/complete_topology_event.json | 1 -
.../tests/conf/git/auth_repo.json | 10 -
.../tests/conf/git/auth_repo2.json | 10 -
.../tests/conf/git/simple_repo.json | 10 -
.../python/cartridge.agent/tests/test_events.py | 125 -----
.../python/cartridge.agent/tests/test_git.py | 79 ---
.../python/cartridge.agent/tests/test_util.py | 127 -----
.../test/PythonCartridgeAgentTest.java | 529 -------------------
.../extension/FaultHandlingWindowProcessor.java | 2 +-
.../extension/FaultHandlingWindowProcessor.java | 2 +-
.../integration/tests/ADCExtensionTestCase.java | 2 +-
.../agent/integration/tests/ADCTestCase.java | 3 +-
.../tests/ADCValidationTestCase.java | 2 +-
.../AgentConfBackwardCompatibilityTestCase.java | 140 +++++
.../tests/AgentTerminationTestCase.java | 186 +++++++
.../tests/MessageBrokerHATestCase.java | 1 +
.../tests/PythonAgentIntegrationTest.java | 3 +-
.../agent.conf | 48 ++
.../logging.ini | 52 ++
.../payload/launch-params | 1 +
.../AgentTerminationTestCase/agent.conf | 46 ++
.../AgentTerminationTestCase/logging.ini | 52 ++
.../payload/launch-params | 1 +
.../test-conf/integration-test.properties | 2 +-
.../src/test/resources/test-suite-ha.xml | 38 ++
.../integration/common/TopologyHandler.java | 6 +-
67 files changed, 851 insertions(+), 1084 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/418ed02e/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/agent.conf
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/418ed02e/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/config.py
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/418ed02e/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/constants.py
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/418ed02e/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/artifactmgt/git/agentgithandler.py
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/418ed02e/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
----------------------------------------------------------------------
diff --cc components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
index 5b54598,9e3106b..ccf3d4a
--- a/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
+++ b/components/org.apache.stratos.python.cartridge.agent/src/main/python/cartridge.agent/cartridge.agent/modules/util/asyncscheduledtask.py
@@@ -61,9 -68,11 +68,12 @@@ class ScheduledExecutor(Thread)
"""
while not self.terminated:
time.sleep(self.delay)
- task_thread = Thread(target=self.task.execute_task)
- task_thread.setName("WorkerThreadForTask%s" % self.task.__class__.__name__)
- task_thread.setDaemon(True)
- log.debug("Starting a worker thread for the Scheduled Executor for task %s" % self.task.__class__.__name__)
- task_thread.start()
+ if not self.terminated:
+ task_thread = Thread(target=self.task.execute_task)
++ task_thread.setName("WorkerThreadForTask%s" % self.task.__class__.__name__)
++ task_thread.setDaemon(True)
++ log.debug("Starting a worker thread for the Scheduled Executor for task %s" % self.task.__class__.__name__)
+ task_thread.start()
def terminate(self):
"""