Skip to content

Commit 018538b

Browse files
author
Serafin Sedano
committed
Added a function specific for bpm-async and a generalization to deploy
separate rs modules.
1 parent 9329ee5 commit 018538b

File tree

2 files changed

+25
-13
lines changed

2 files changed

+25
-13
lines changed

kahuna/plugins/scalability.py

+8-6
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ def deploy_api(self, args):
185185
bootstrap.extend(hostname.configure(node))
186186
bootstrap.append(ntp.install())
187187
if options.jenkins:
188-
bootstrap.append(jenkins._download_war(
188+
bootstrap.extend(jenkins._download_war(
189189
options.jenkins, "api"))
190190
bootstrap.extend(tomcat.install_and_configure(node,
191191
tomcat_config, self._install_local_wars))
@@ -221,6 +221,8 @@ def deploy_rs(self, args):
221221
parser.add_option('-s', '--hypervisor-sessions', type="int", default=2,
222222
help='Number of concurrent hypervisor sessions (default 2)',
223223
action='store', dest='hypervisorsessions')
224+
parser.add_option('-l', '--list', help='Upload only those wars (default all rs)',
225+
default='rs', action='store', dest='wars')
224226
(options, args) = parser.parse_args(args)
225227

226228
if not options.jenkins or not options.nfs or not options.rabbit:
@@ -275,7 +277,7 @@ def deploy_rs(self, args):
275277
"hypervisor-sessions": options.hypervisorsessions
276278
}
277279
install_tomcat = tomcat.install_and_configure(node,
278-
tomcat_config, self._install_jenkins_rs(options.jenkins))
280+
tomcat_config, self._install_jenkins_wars(options.jenkins, options.wars))
279281
bootstrap = hostname.configure(node) + \
280282
[ntp.install()] + redis.install("2.6.4") + install_tomcat
281283
responses.append(compute.submitScriptOnNode(node.getId(),
@@ -321,11 +323,12 @@ def _install_local_wars(self):
321323
"do unzip -d ${f%.war} $f; done"))
322324
return script
323325

324-
def _install_jenkins_rs(self, version):
325-
""" Downloads teh Remote Services wars from Jenkins """
326+
def _install_jenkins_wars(self, version, wars = "rs"):
327+
""" Downloads the Remote Services wars from Jenkins """
326328
def jenkins_download():
327329
script = []
328-
script.extend(jenkins.download_rs(version))
330+
for war in wars.split(","):
331+
script.extend(jenkins._download_war(version, war))
329332
script.extend(self._install_local_wars())
330333
return script
331334
return jenkins_download
@@ -336,7 +339,6 @@ def _print_node_errors(self, ex):
336339
for error in ex.getNodeErrors().values():
337340
print "Error %s" % error.getMessage()
338341

339-
340342
class NodeHasIp(Predicate):
341343
""" Implements a NodeMetadata predicate to find nodes by Ip """
342344
def __init__(self, ip):

kahuna/utils/jenkins.py

+17-7
Original file line numberDiff line numberDiff line change
@@ -13,22 +13,21 @@ def download_rs(version):
1313
script.append(Statements.exec(
1414
"ensure_cmd_or_install_package_apt wget wget"))
1515
script.append(_download_war(version, "am"))
16-
script.append(_download_war(version, "bpm-async"))
1716
script.append(_download_war(version, "nodecollector"))
1817
script.append(_download_war(version, "ssm"))
1918
script.append(_download_war(version, "virtualfactory"))
2019
script.append(_download_war(version, "vsm"))
21-
script.append(_download_script(version, "v2v-diskmanager",
22-
"/usr/local/bin"))
23-
script.append(_download_script(version, "mechadora", "/usr/local/bin"))
24-
script.append(Statements.exec("chmod a+x /usr/local/bin/*"))
20+
script.extend(_download_bpm(version))
2521
return script
2622

2723

2824
def _download_war(version, file_name, destination="/tmp"):
2925
""" Downloads a given war from Jenkins """
30-
return Statements.exec("wget -O %s/%s.war %s/%s/%s.war" %
31-
(destination, file_name, JENKINS, version, file_name))
26+
if file_name == "rs":
27+
return _download_rs(version)
28+
else:
29+
return [Statements.exec("wget -O %s/%s.war %s/%s/%s.war" %
30+
(destination, file_name, JENKINS, version, file_name))]
3231

3332

3433
def _download_script(version, file_name, destination="/tmp"):
@@ -42,3 +41,14 @@ def _download_database(version, destination="/tmp"):
4241
return Statements.exec("wget -O %s/kinton-schema-%s.sql "
4342
"%s/%s/database/kinton-schema.sql" %
4443
(destination, version, JENKINS, version))
44+
45+
def _download_bpm(version, destination="/tmp"):
46+
""" Downloads a given war from Jenkins """
47+
script = []
48+
script.append(_download_war(version, "bpm-async", destination))
49+
script.append(_download_script(version, "v2v-diskmanager",
50+
"/usr/local/bin"))
51+
script.append(_download_script(version, "mechadora", "/usr/local/bin"))
52+
script.append(Statements.exec("chmod a+x /usr/local/bin/*"))
53+
return script
54+

0 commit comments

Comments
 (0)