@@ -42,6 +42,22 @@ public LoadBalancer(Map lbMap) throws Exception {
42
42
createTraefikIngressPerDomain ();
43
43
}
44
44
}
45
+
46
+ if (lbMap .get ("loadBalancer" ).equals ("VOYAGER" )) {
47
+ String cmdLb = "helm list voyager-operator | grep DEPLOYED" ;
48
+ logger .info ("Executing cmd " + cmdLb );
49
+ ExecResult result = ExecCommand .exec (cmdLb );
50
+ if (result .exitValue () != 0 ) {
51
+ createVoyagerLoadBalancer ();
52
+ logger .info ("Sleeping for 30 seconds to ensure voyager to be ready" );
53
+ Thread .sleep (30 * 1000 );
54
+ }
55
+
56
+ if (((Boolean ) lbMap .get ("ingressPerDomain" )).booleanValue ()) {
57
+ logger .info ("Is going to createVoyagerIngressPerDomain" );
58
+ createVoyagerIngressPerDomain ();
59
+ }
60
+ }
45
61
}
46
62
47
63
public void createTraefikLoadBalancer () throws Exception {
@@ -148,6 +164,90 @@ private void createTraefikIngress() throws Exception {
148
164
logger .info ("Command returned " + outputStr );
149
165
}
150
166
167
+ public void createVoyagerLoadBalancer () throws Exception {
168
+
169
+ String cmd1 = "helm repo add appscode https://charts.appscode.com/stable/" ;
170
+ logger .info ("Executing Add Appscode Chart Repository cmd " + cmd1 );
171
+
172
+ executeHelmCommand (cmd1 );
173
+
174
+ String cmd2 = "helm repo update" ;
175
+ logger .info ("Executing Appscode Chart Repository upgrade cmd " + cmd2 );
176
+
177
+ executeHelmCommand (cmd2 );
178
+
179
+ String cmd3 =
180
+ "helm install appscode/voyager --name voyager-operator --version 7.4.0 --namespace voyage "
181
+ + "--set cloudProvider=baremetal --set apiserver.enableValidatingWebhook=false" ;
182
+ logger .info ("Executing Install voyager operator cmd " + cmd3 );
183
+
184
+ executeHelmCommand (cmd3 );
185
+ }
186
+
187
+ private void createVoyagerIngressPerDomain () throws Exception {
188
+ upgradeVoyagerNamespace ();
189
+ logger .info ("Sleeping for 20 seconds after upgradeVoyagerNamespace " );
190
+ Thread .sleep (20 * 1000 );
191
+ createVoyagerIngress ();
192
+ logger .info ("Sleeping for 20 seconds after createVoyagerIngress " );
193
+ Thread .sleep (20 * 1000 );
194
+ }
195
+
196
+ private void upgradeVoyagerNamespace () throws Exception {
197
+
198
+ StringBuffer cmd = new StringBuffer ("helm upgrade " );
199
+ cmd .append ("--reuse-values " )
200
+ .append ("--set " )
201
+ .append ("\" " )
202
+ .append ("kubernetes.namespaces={voyager," )
203
+ .append (lbMap .get ("namespace" ))
204
+ .append ("}" )
205
+ .append ("\" " )
206
+ .append (" --version 7.4.0" )
207
+ .append (" --set cloudProvider=baremetal" )
208
+ .append (" --set apiserver.enableValidatingWebhook=false" )
209
+ .append (" voyager-operator" )
210
+ .append (" appscode/voyager" );
211
+
212
+ logger .info (" upgradeVoyagerNamespace() Running " + cmd .toString ());
213
+ executeHelmCommand (cmd .toString ());
214
+ }
215
+
216
+ private void createVoyagerIngress () throws Exception {
217
+
218
+ String chartDir = BaseTest .getProjectRoot () + "/integration-tests/src/test/resources/charts" ;
219
+
220
+ StringBuffer cmd = new StringBuffer ("cd " );
221
+ cmd .append (chartDir ).append (" && helm install ingress-per-domain " );
222
+ cmd .append (" --name " )
223
+ .append (lbMap .get ("name" ))
224
+ .append (" --namespace " )
225
+ .append (lbMap .get ("namespace" ))
226
+ .append (" --set type=VOYAGER" )
227
+ .append (" --set " )
228
+ .append ("wlsDomain.domainUID=" )
229
+ .append (lbMap .get ("domainUID" ))
230
+ .append (" --set " )
231
+ .append ("wlsDomain.clusterName=" )
232
+ .append (lbMap .get ("clusterName" ))
233
+ .append (" --set " )
234
+ .append ("voyager.webPort=" )
235
+ .append (lbMap .get ("loadBalancerWebPort" ));
236
+
237
+ logger .info ("createVoyagerIngress() Running " + cmd .toString ());
238
+ executeHelmCommand (cmd .toString ());
239
+ }
240
+
241
+ private void executeHelmCommand (String cmd ) throws Exception {
242
+ ExecResult result = ExecCommand .exec (cmd );
243
+ if (result .exitValue () != 0 ) {
244
+ logger .info ("executeHelmCommand failed with " + cmd );
245
+ reportHelmInstallFailure (cmd , result );
246
+ }
247
+ String outputStr = result .stdout ().trim ();
248
+ logger .info ("Command returned " + outputStr );
249
+ }
250
+
151
251
private void reportHelmInstallFailure (String cmd , ExecResult result ) throws Exception {
152
252
throw new RuntimeException (getExecFailure (cmd , result ));
153
253
}
0 commit comments