2929import oracle .kubernetes .operator .DomainStatusUpdater ;
3030import oracle .kubernetes .operator .KubernetesConstants ;
3131import oracle .kubernetes .operator .LabelConstants ;
32- import oracle .kubernetes .operator .PodWatcher ;
32+ import oracle .kubernetes .operator .PodAwaiterStepFactory ;
3333import oracle .kubernetes .operator .ProcessingConstants ;
3434import oracle .kubernetes .operator .TuningParameters ;
3535import oracle .kubernetes .operator .TuningParameters .PodTuning ;
4040import oracle .kubernetes .operator .logging .MessageKeys ;
4141import oracle .kubernetes .operator .wlsconfig .WlsClusterConfig ;
4242import oracle .kubernetes .operator .wlsconfig .WlsServerConfig ;
43- import oracle .kubernetes .operator .work .Container ;
43+ import oracle .kubernetes .operator .work .Component ;
4444import oracle .kubernetes .operator .work .ContainerResolver ;
4545import oracle .kubernetes .operator .work .NextAction ;
4646import oracle .kubernetes .operator .work .Packet ;
@@ -75,12 +75,10 @@ public AdminPodStep(Step next) {
7575
7676 @ Override
7777 public NextAction apply (Packet packet ) {
78- Container c = ContainerResolver .getInstance ().getContainer ();
79- CallBuilderFactory factory = c .getSPI (CallBuilderFactory .class );
80- TuningParameters configMapHelper = c .getSPI (TuningParameters .class );
78+ TuningParameters tuningParameters = TuningParameters .getInstance ();
8179
8280 // Compute the desired pod configuration for the admin server
83- V1Pod adminPod = computeAdminPodConfig (configMapHelper , packet );
81+ V1Pod adminPod = computeAdminPodConfig (tuningParameters , packet );
8482
8583 // Verify if Kubernetes api server has a matching Pod
8684 // Create or replace, if necessary
@@ -99,8 +97,7 @@ public NextAction apply(Packet packet) {
9997
10098 // First, verify existing Pod
10199 Step read =
102- factory
103- .create ()
100+ new CallBuilder ()
104101 .readPodAsync (
105102 podName ,
106103 namespace ,
@@ -120,8 +117,7 @@ public NextAction onSuccess(Packet packet, CallResponse<V1Pod> callResponse) {
120117 info .getExplicitRestartAdmin ().set (false );
121118 info .getExplicitRestartServers ().remove (asName );
122119 Step create =
123- factory
124- .create ()
120+ new CallBuilder ()
125121 .createPodAsync (
126122 namespace ,
127123 adminPod ,
@@ -187,7 +183,7 @@ && validateCurrentPod(adminPod, result)) {
187183 }
188184
189185 // Make this protected so that it can be unit tested
190- protected V1Pod computeAdminPodConfig (TuningParameters configMapHelper , Packet packet ) {
186+ protected V1Pod computeAdminPodConfig (TuningParameters tuningParameters , Packet packet ) {
191187 DomainPresenceInfo info = packet .getSPI (DomainPresenceInfo .class );
192188
193189 Domain dom = info .getDomain ();
@@ -282,7 +278,7 @@ protected V1Pod computeAdminPodConfig(TuningParameters configMapHelper, Packet p
282278 container .addCommandItem (spec .getAsName ());
283279 container .addCommandItem (weblogicDomainName );
284280
285- PodTuning tuning = configMapHelper .getPodTuning ();
281+ PodTuning tuning = tuningParameters .getPodTuning ();
286282
287283 V1Probe readinessProbe = new V1Probe ();
288284 V1ExecAction readinessAction = new V1ExecAction ();
@@ -319,7 +315,7 @@ protected V1Pod computeAdminPodConfig(TuningParameters configMapHelper, Packet p
319315 }
320316
321317 // Add internal-weblogic-operator-service certificate to Admin Server pod
322- String internalOperatorCert = getInternalOperatorCertFile (configMapHelper , packet );
318+ String internalOperatorCert = getInternalOperatorCertFile (tuningParameters , packet );
323319 addEnvVar (container , INTERNAL_OPERATOR_CERT_ENV , internalOperatorCert );
324320
325321 // Override the weblogic domain and admin server related environment variables that
@@ -356,8 +352,8 @@ protected V1Pod computeAdminPodConfig(TuningParameters configMapHelper, Packet p
356352 }
357353
358354 // Make it protected to so that it can be unit tested:
359- protected String getInternalOperatorCertFile (TuningParameters configMapHelper , Packet packet ) {
360- return configMapHelper .get (INTERNAL_OPERATOR_CERT_FILE );
355+ protected String getInternalOperatorCertFile (TuningParameters tuningParameters , Packet packet ) {
356+ return tuningParameters .get (INTERNAL_OPERATOR_CERT_FILE );
361357 }
362358 }
363359
@@ -403,8 +399,7 @@ public NextAction apply(Packet packet) {
403399 CallBuilderFactory factory =
404400 ContainerResolver .getInstance ().getContainer ().getSPI (CallBuilderFactory .class );
405401 Step delete =
406- factory
407- .create ()
402+ new CallBuilder ()
408403 .deletePodAsync (
409404 podName ,
410405 namespace ,
@@ -427,8 +422,7 @@ public NextAction onSuccess(
427422 }
428423 info .getExplicitRestartServers ().contains (serverName );
429424 Step create =
430- factory
431- .create ()
425+ new CallBuilder ()
432426 .createPodAsync (
433427 namespace ,
434428 newPod ,
@@ -455,7 +449,7 @@ public NextAction onSuccess(
455449 sko .getPod ().set (result );
456450 }
457451
458- PodWatcher pw = packet . getSPI ( PodWatcher . class );
452+ PodAwaiterStepFactory pw = getPodAwaiterStepFactory ( packet );
459453 return doNext (pw .waitForReady (result , getNext ()), packet );
460454 }
461455 });
@@ -466,6 +460,18 @@ public NextAction onSuccess(
466460 }
467461 }
468462
463+ public static void addToPacket (Packet packet , PodAwaiterStepFactory pw ) {
464+ packet
465+ .getComponents ()
466+ .put (
467+ ProcessingConstants .PODWATCHER_COMPONENT_NAME ,
468+ Component .createFor (PodAwaiterStepFactory .class , pw ));
469+ }
470+
471+ static PodAwaiterStepFactory getPodAwaiterStepFactory (Packet packet ) {
472+ return packet .getSPI (PodAwaiterStepFactory .class );
473+ }
474+
469475 /**
470476 * Factory for {@link Step} that creates managed server pod
471477 *
@@ -554,12 +560,10 @@ public ManagedPodStep(Step next) {
554560
555561 @ Override
556562 public NextAction apply (Packet packet ) {
557- Container c = ContainerResolver .getInstance ().getContainer ();
558- CallBuilderFactory factory = c .getSPI (CallBuilderFactory .class );
559- TuningParameters configMapHelper = c .getSPI (TuningParameters .class );
563+ TuningParameters tuningParameters = TuningParameters .getInstance ();
560564
561565 // Compute the desired pod configuration for the managed server
562- V1Pod pod = computeManagedPodConfig (configMapHelper , packet );
566+ V1Pod pod = computeManagedPodConfig (tuningParameters , packet );
563567
564568 // Verify if Kubernetes api server has a matching Pod
565569 // Create or replace, if necessary
@@ -582,8 +586,7 @@ public NextAction apply(Packet packet) {
582586
583587 // First, verify there existing Pod
584588 Step read =
585- factory
586- .create ()
589+ new CallBuilder ()
587590 .readPodAsync (
588591 podName ,
589592 namespace ,
@@ -609,8 +612,7 @@ public NextAction onSuccess(
609612 if (result == null ) {
610613 info .getExplicitRestartServers ().remove (weblogicServerName );
611614 Step create =
612- factory
613- .create ()
615+ new CallBuilder ()
614616 .createPodAsync (
615617 namespace ,
616618 pod ,
@@ -699,7 +701,7 @@ public NextAction onSuccess(
699701 }
700702
701703 // Make this protected so that it can be unit tested
702- protected V1Pod computeManagedPodConfig (TuningParameters configMapHelper , Packet packet ) {
704+ protected V1Pod computeManagedPodConfig (TuningParameters tuningParameters , Packet packet ) {
703705 DomainPresenceInfo info = packet .getSPI (DomainPresenceInfo .class );
704706
705707 Domain dom = info .getDomain ();
@@ -807,7 +809,7 @@ protected V1Pod computeManagedPodConfig(TuningParameters configMapHelper, Packet
807809 container .addCommandItem (spec .getAsName ());
808810 container .addCommandItem (String .valueOf (spec .getAsPort ()));
809811
810- PodTuning tuning = configMapHelper .getPodTuning ();
812+ PodTuning tuning = tuningParameters .getPodTuning ();
811813
812814 V1Probe readinessProbe = new V1Probe ();
813815 V1ExecAction readinessAction = new V1ExecAction ();
@@ -900,6 +902,7 @@ private static void overrideContainerWeblogicEnvVars(
900902 addEnvVar (container , "ADMIN_USERNAME" , null );
901903 addEnvVar (container , "ADMIN_PASSWORD" , null );
902904
905+ if (envList == null ) return ;
903906 // resolve tokens in externally specified env that refers to internal env via $(XXX)
904907 for (V1EnvVar ev : envList ) {
905908 String oldValue = ev .getValue ();
@@ -952,11 +955,8 @@ public NextAction apply(Packet packet) {
952955 // Set pod to null so that watcher doesn't try to recreate pod
953956 V1Pod oldPod = sko .getPod ().getAndSet (null );
954957 if (oldPod != null ) {
955- CallBuilderFactory factory =
956- ContainerResolver .getInstance ().getContainer ().getSPI (CallBuilderFactory .class );
957958 return doNext (
958- factory
959- .create ()
959+ new CallBuilder ()
960960 .deletePodAsync (
961961 oldPod .getMetadata ().getName (),
962962 namespace ,
0 commit comments