Skip to content

Commit ecad990

Browse files
committed
merge commit
2 parents f62d96d + 9205f6b commit ecad990

File tree

9 files changed

+49
-19
lines changed

9 files changed

+49
-19
lines changed

src/main/java/com/griddynamics/jagger/jenkins/plugin/JaggerEasyDeployPlugin.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,8 @@ public class JaggerEasyDeployPlugin extends Builder
5353

5454
private transient Engine transformEngine;
5555

56+
private final Map<String, Integer> errorCodes = new HashMap<String, Integer>();
57+
5658
/**
5759
* Constructor where fields from *.jelly will be passed
5860
* @param sutsList
@@ -205,9 +207,16 @@ private String generateScript() throws IOException {
205207
args.put("collecting-results", collectResults());
206208
args.put("stopping-agents", stopAgents());
207209

210+
loadErrorCodes();
211+
args.putAll(errorCodes);
212+
208213
return transformEngine.transform(ScriptTemplate.MAIN.getTemplateString(), args);
209214
}
210215

216+
private void loadErrorCodes() {
217+
errorCodes.put("error-code-agent-not-running", 256);
218+
}
219+
211220

212221
private String stopAgents() throws IOException {
213222

@@ -318,6 +327,7 @@ private String checkAgent(SuT node) throws IOException {
318327

319328
Map <String,Object> args = new HashMap<String, Object>();
320329
addNodeProperties(args, node);
330+
args.put("fail-if-not-running", node.isFailIfNotRunning());
321331

322332
return transformEngine.transform(ScriptTemplate.CHECK_AGENT.getTemplateString(), args);
323333
}

src/main/java/com/griddynamics/jagger/jenkins/plugin/SuT.java

Lines changed: 13 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,16 +29,20 @@ public class SuT extends Node implements Describable<SuT> {
2929

3030
private final String jmxPort;
3131

32+
private final boolean failIfNotRunning;
33+
3234
private String jmxPortActual;
3335

3436
@DataBoundConstructor
3537
public SuT(String serverAddress, String userName, String sshKeyPath,
36-
String jmxPort, boolean useJmx, boolean setJavaHome, String javaHome, String javaOptions){
38+
String jmxPort, boolean useJmx, boolean setJavaHome,
39+
String javaHome, String javaOptions, boolean failIfNotRunning) {
3740

38-
super(serverAddress, userName, sshKeyPath, setJavaHome, javaHome, javaOptions);
41+
super(serverAddress, userName, sshKeyPath, setJavaHome, javaHome, javaOptions);
3942

4043
this.jmxPort = jmxPort;
4144
this.useJmx = useJmx;
45+
this.failIfNotRunning = failIfNotRunning;
4246

4347
setJmxPortActual(jmxPort);
4448
}
@@ -48,6 +52,10 @@ public String getJmxPortActual() {
4852
return jmxPortActual;
4953
}
5054

55+
public boolean isFailIfNotRunning() {
56+
return failIfNotRunning;
57+
}
58+
5159
public void setJmxPortActual(String jmxPortActual) {
5260
this.jmxPortActual = jmxPortActual;
5361
}
@@ -110,11 +118,12 @@ public FormValidation doCheckJmxPort(@QueryParameter String value) {
110118

111119
if(value == null || value.matches("\\s*")) {
112120
return FormValidation.warning("Set JMX Port(s)");
121+
} else if (value.contains("$")) {
122+
return FormValidation.ok();
113123
} else if (!value.matches("\\d+(,\\d+)*")) {
114124
return FormValidation.error("wrong format: split with comas");
115-
} else {
116-
return FormValidation.ok();
117125
}
126+
return FormValidation.ok();
118127
}
119128
}
120129
}

src/main/resources/com/griddynamics/jagger/jenkins/plugin/JaggerComparisonPlugin/config.jelly

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,9 @@
22
<f:entry title="Path to Jagger output xml file" field="path">
33
<f:textbox />
44
</f:entry>
5-
<f:entry title="Stop and set the build to 'failed' status if there are errors when processing a result file" field="stopOnErrors">
6-
<f:checkbox default="checked"/>
5+
6+
<f:entry field="stopOnErrors"
7+
title="Stop and set the build status to 'failed', if there are errors when processing a result file">
8+
<f:booleanRadio />
79
</f:entry>
810
</j:jelly>

src/main/resources/com/griddynamics/jagger/jenkins/plugin/SuT/config.jelly

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
<j:jelly xmlns:j="jelly:core" xmlns:st="jelly:stapler" xmlns:d="jelly:define" xmlns:l="/lib/layout" xmlns:t="/lib/hudson" xmlns:f="/lib/form">
22

3+
<f:entry field="failIfNotRunning"
4+
title="Fail job if agent didn't started">
5+
<f:booleanRadio />
6+
</f:entry>
37

48
<f:entry title = "Address" >
59
<f:textbox field = "serverAddress" />

src/main/resources/com/griddynamics/jagger/jenkins/plugin/script/agent.checking.script

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,10 @@ echo "Checking Agent ${server-address}"
33
JOUT=$(ssh${ssh-key-path} ${user-name}@${server-address} "pgrep -f AgentStarter")
44

55
if [ -z "$JOUT" ] ; then
6-
echo "No AgentStarter running on ${server-address}"
7-
exit $JOUT
6+
echo "No AgentStarter running on ${server-address}" 1>&2;
7+
8+
FAIL_IF_AGENT_NOT_RUNNING="${fail-if-not-running}"
9+
if [ $FAIL_IF_AGENT_NOT_RUNNING = "true" ] ; then
10+
exit $ERROR_CODE_AGENT_NOT_RUNNING
11+
fi
812
fi
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11

22

33
echo "Starting Agent ${server-address}"
4-
ssh -f${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-home}export JAVA_HOME=${java-home};${end} ./start_agent.sh \\${if java-options}
5-
${java-options} \\${end}
4+
ssh -f${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-home}export JAVA_HOME=${java-home};${end} ./start_agent.sh \\
65
-Dchassis.coordination.http.url=http://${master-server-address}:${if http-port}${http-port}${else}8089${end} \\
76
-Djmx.enabled=${jmx-enabled} \\${if jmx-ports}
87
-Djmx.services=${foreach jmx-ports port}${if last_port}localhost:${port}${else}localhost:${port},${end}${end} \\${end}${if additional-properties}
9-
${additional-properties} \\${end}
8+
${additional-properties} \\${end}${if java-options}
9+
${java-options} \\${end}
1010
> /dev/null"
1111

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
echo "Starting Kernel ${server-address}"
3-
ssh -f${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-home}export JAVA_HOME=${java-home};${end} ./start.sh ${jagger-properties} \\${if java-options}
4-
${java-options} \\${end}
3+
ssh -f${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-home}export JAVA_HOME=${java-home};${end} ./start.sh ${jagger-properties} \\
54
-Dchassis.storage.rdb.client.driver=${db-driver} \\
65
-Dchassis.storage.rdb.client.url=${db-url} \\
76
-Dchassis.storage.rdb.username=${db-user-name} \\
@@ -10,6 +9,6 @@ ssh -f${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if jav
109
-Dchassis.roles=KERNEL \\
1110
-Dchassis.coordinator.zookeeper.endpoint=${master-server-address}:${if zookeeper-port}${zookeeper-port}${else}2181${end} \\
1211
-Dchassis.storage.fs.default.name=hdfs://${master-server-address}/ \\${if additional-properties}
13-
${additional-properties} \\${end}
14-
> /dev/null"
15-
12+
${additional-properties} \\${end}${if java-options}
13+
${java-options} \\${end}
14+
> /dev/null"

src/main/resources/com/griddynamics/jagger/jenkins/plugin/script/main.script

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@ rm -rf ${base-directory}
44
sleep 2
55
mkdir ${base-directory}
66

7+
#Error codes:
8+
ERROR_CODE_AGENT_NOT_RUNNING=${error-code-agent-not-running}
79

810
echo "Deploying"
911
${deploying}

src/main/resources/com/griddynamics/jagger/jenkins/plugin/script/master.starting.script

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
echo "Starting Master ${server-address}"
2-
ssh${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-home}export JAVA_HOME=${java-home};${end} ./start.sh ${jagger-properties} \\${if java-options}
3-
${java-options} \\${end}${if min-agents}
2+
ssh${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-home}export JAVA_HOME=${java-home};${end} ./start.sh ${jagger-properties} \\${if min-agents}
43
-Dchassis.conditions.min.agents.count=${min-agents} \\${end}${if min-kernels}
54
-Dchassis.conditions.min.kernels.count=${if min-kernels=0}1${else}${min-kernels}${end} \\${end}
65
-Dchassis.storage.rdb.client.driver=${db-driver} \\
@@ -11,7 +10,8 @@ ssh${ssh-key-path} ${user-name}@${server-address} "cd ${jagger-home};${if java-h
1110
-Dchassis.roles=MASTER,COORDINATION_SERVER,HTTP_COORDINATION_SERVER${if min-kernels=0},KERNEL${end}${if h2-db},RDB_SERVER${end} \\
1211
-Dchassis.coordinator.zookeeper.endpoint=${server-address}:${if zookeeper-port}${zookeeper-port}${else}2181${end} \\
1312
-Dchassis.storage.fs.default.name=hdfs://${server-address}/ ${if additional-properties}\\
14-
${additional-properties}${end} "
13+
${additional-properties}${end}${if java-options} \\
14+
${java-options} ${end} "
1515
status=$?
1616
if [ "$status" -ne 0 ] ; then
1717
exit $status

0 commit comments

Comments
 (0)