21
21
import java .util .zip .ZipEntry ;
22
22
import java .util .zip .ZipInputStream ;
23
23
24
+ import com .amazonaws .util .StringUtils ;
24
25
import org .apache .commons .io .FileUtils ;
25
26
import org .apache .commons .io .IOUtils ;
26
27
import org .apache .logging .log4j .LogManager ;
32
33
public class AgentStartup implements Runnable {
33
34
34
35
private static Logger logger = LogManager .getLogger (AgentStartup .class );
35
- public static final String SERVICE_RELATIVE_PATH = "/rest/v1/agent-service" ;
36
- public static final String METHOD_SETTINGS = "/settings" ;
37
- private static String API_HARNESS_COMMAND = "./startAgent.sh" ;
38
- public static final String METHOD_SUPPORT = "/supportFiles" ;
39
- private static final long WAIT_FOR_RESTART_TIME = 00000 ; // zero minute
36
+ private static final String SERVICE_RELATIVE_PATH = "/rest/v1/agent-service" ;
37
+ private static final String METHOD_SETTINGS = "/settings" ;
38
+ private static final String API_HARNESS_COMMAND = "./startAgent.sh" ;
39
+ private static final String METHOD_SUPPORT = "/supportFiles" ;
40
40
41
- private String controllerBase ;
41
+ private final String controllerBaseUrl ;
42
+
43
+ public AgentStartup (String controllerBaseUrl ) {
44
+ this .controllerBaseUrl = controllerBaseUrl ;
45
+ }
42
46
43
47
public void run () {
44
48
logger .info ("Starting up..." );
45
- if (AmazonUtil .usingEip ()) {
46
- try {
47
- logger .info ("Using EIP. Sleeping for " + WAIT_FOR_RESTART_TIME + " ms." );
48
- Thread .sleep (WAIT_FOR_RESTART_TIME );
49
- } catch (InterruptedException e1 ) {
50
- logger .info ("Exception waiting." );
51
- System .exit (0 );
52
- }
53
- }
54
49
try {
55
- if (controllerBase == null ) {
56
- controllerBase = AmazonUtil .getControllerBaseUrl ();
57
- }
58
-
59
- logger .info ("Starting up: ControllerBaseUrl=" + controllerBase );
60
- URL url = new URL (controllerBase + SERVICE_RELATIVE_PATH + METHOD_SETTINGS );
50
+ logger .info ("Starting up: ControllerBaseUrl=" + controllerBaseUrl );
51
+ URL url = new URL (controllerBaseUrl + SERVICE_RELATIVE_PATH + METHOD_SETTINGS );
61
52
logger .info ("Starting up: making call to tank service url to get settings.xml "
62
53
+ url .toExternalForm ());
63
54
try ( InputStream settingsStream = url .openStream () ) {
64
55
String settings = IOUtils .toString (settingsStream , StandardCharsets .UTF_8 );
65
56
FileUtils .writeStringToFile (new File ("settings.xml" ), settings , StandardCharsets .UTF_8 );
66
57
logger .info ("got settings file..." );
67
58
}
68
- url = new URL (controllerBase + SERVICE_RELATIVE_PATH + METHOD_SUPPORT );
59
+ url = new URL (controllerBaseUrl + SERVICE_RELATIVE_PATH + METHOD_SUPPORT );
69
60
logger .info ("Making call to tank service url to get support files " + url .toExternalForm ());
70
61
try ( ZipInputStream zip = new ZipInputStream (url .openStream ()) ){
71
62
ZipEntry entry = zip .getNextEntry ();
@@ -81,17 +72,16 @@ public void run() {
81
72
}
82
73
// now start the harness
83
74
String jvmArgs = AmazonUtil .getUserDataAsMap ().get (TankConstants .KEY_JVM_ARGS );
84
- logger .info ("Starting apiharness with command: " + API_HARNESS_COMMAND + " -http=" + controllerBase + " "
75
+ logger .info ("Starting apiharness with command: " + API_HARNESS_COMMAND + " -http=" + controllerBaseUrl + " "
85
76
+ jvmArgs );
86
- Runtime .getRuntime ().exec (API_HARNESS_COMMAND + " -http=" + controllerBase + " " + jvmArgs );
77
+ Runtime .getRuntime ().exec (API_HARNESS_COMMAND + " -http=" + controllerBaseUrl + " " + jvmArgs );
87
78
} catch (Exception e ) {
88
79
logger .error ("Error in AgentStartup " + e , e );
89
80
}
90
81
}
91
82
92
83
public static void main (String [] args ) {
93
- AgentStartup agentStartup = new AgentStartup ();
94
-
84
+ String controllerBaseUrl = null ;
95
85
for (String argument : args ) {
96
86
String [] values = argument .split ("=" );
97
87
@@ -100,10 +90,13 @@ public static void main(String[] args) {
100
90
usage ();
101
91
return ;
102
92
}
103
- agentStartup . controllerBase = values [1 ];
93
+ controllerBaseUrl = values [1 ];
104
94
}
105
-
106
95
}
96
+ if (StringUtils .isNullOrEmpty (controllerBaseUrl )) {
97
+ controllerBaseUrl = AmazonUtil .getControllerBaseUrl ();
98
+ }
99
+ AgentStartup agentStartup = new AgentStartup (controllerBaseUrl );
107
100
agentStartup .run ();
108
101
}
109
102
0 commit comments