You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ambari.apache.org by vb...@apache.org on 2016/12/13 11:48:55 UTC
ambari git commit: AMBARI-19058. Perf: Deploy 3000 Agent cluster and
find perf bugs. Part 3.(vbrodetskyi)
Repository: ambari
Updated Branches:
refs/heads/branch-2.5 b5e917930 -> 03518b055
AMBARI-19058. Perf: Deploy 3000 Agent cluster and find perf bugs. Part 3.(vbrodetskyi)
Project: http://git-wip-us.apache.org/repos/asf/ambari/repo
Commit: http://git-wip-us.apache.org/repos/asf/ambari/commit/03518b05
Tree: http://git-wip-us.apache.org/repos/asf/ambari/tree/03518b05
Diff: http://git-wip-us.apache.org/repos/asf/ambari/diff/03518b05
Branch: refs/heads/branch-2.5
Commit: 03518b055c6d42bd3b103db89fddbdfd3e2f590e
Parents: b5e9179
Author: Vitaly Brodetskyi <vb...@hortonworks.com>
Authored: Tue Dec 13 13:27:12 2016 +0200
Committer: Vitaly Brodetskyi <vb...@hortonworks.com>
Committed: Tue Dec 13 13:27:12 2016 +0200
----------------------------------------------------------------------
ambari-agent/conf/unix/agent-multiplier.py | 21 +++++++++++++++++++--
1 file changed, 19 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ambari/blob/03518b05/ambari-agent/conf/unix/agent-multiplier.py
----------------------------------------------------------------------
diff --git a/ambari-agent/conf/unix/agent-multiplier.py b/ambari-agent/conf/unix/agent-multiplier.py
index 7c0774c..5abae58 100644
--- a/ambari-agent/conf/unix/agent-multiplier.py
+++ b/ambari-agent/conf/unix/agent-multiplier.py
@@ -60,6 +60,7 @@ class Multiplier:
self.config_dir = "/etc/ambari-agent/conf"
self.pid_file = "/var/run/ambari-agent/ambari-agent.pid"
self.prefix_dir = "/var/lib/ambari-agent/data"
+ self.cache_dir = "/var/lib/ambari-agent/cache"
# Ambari Agent config file to use as a template
# Will change hostname and port after copying
@@ -162,11 +163,12 @@ class Multiplier:
host_pid_file = host_home_dir + self.pid_file
host_pid_dir = os.path.dirname(host_pid_file)
host_prefix = host_home_dir + self.prefix_dir
+ host_cache_dir = host_home_dir + self.cache_dir
if self.verbose:
print "Analyzing host %s with port %d" % (host_name, host.ping_port)
- for dir in [host_home_dir, host_log_dir, host_config_dir, host_pid_dir, host_prefix]:
+ for dir in [host_home_dir, host_log_dir, host_config_dir, host_pid_dir, host_prefix, host_cache_dir]:
if not os.path.isdir(dir):
print "Creating dir %s" % (dir)
os.makedirs(dir)
@@ -183,6 +185,11 @@ class Multiplier:
print "Copying version file %s" % str(version_file)
shutil.copyfile(self.source_version_file, version_file)
+ # Copy cache dir content
+ if not os.path.isdir(os.path.join(host_cache_dir, "stacks")):
+ print "Copying cache directory content %s" % str(host_cache_dir)
+ self.copytree(self.cache_dir, host_cache_dir)
+
# Create hostname.sh script to use custom FQDN for each agent.
host_name_script = os.path.join(host_config_dir, "hostname.sh")
self.create_host_name_script(host_name, host_name_script)
@@ -193,12 +200,22 @@ class Multiplier:
"public_hostname_script": host_name_script,
"logdir": host_log_dir,
"piddir": host_pid_dir,
- "prefix": host_prefix}
+ "prefix": host_prefix,
+ "cache_dir": host_cache_dir}
self.change_config(host_config_file, config_dict)
# Change /etc/hosts file by appending each hostname.
self.modify_etc_hosts_file()
+ def copytree(self, src, dst, symlinks=False, ignore=None):
+ for item in os.listdir(src):
+ s = os.path.join(src, item)
+ d = os.path.join(dst, item)
+ if os.path.isdir(s):
+ shutil.copytree(s, d, symlinks, ignore)
+ else:
+ shutil.copy2(s, d)
+
def create_host_name_script(self, host_name, host_name_script):
"""
Creates a shell script that will echo the given hostname.