3535import oracle .kubernetes .operator .logging .LoggingFactory ;
3636import oracle .kubernetes .operator .steps .DefaultResponseStep ;
3737import oracle .kubernetes .operator .wlsconfig .NetworkAccessPoint ;
38+ import oracle .kubernetes .operator .wlsconfig .WlsServerConfig ;
3839import oracle .kubernetes .operator .work .NextAction ;
3940import oracle .kubernetes .operator .work .Packet ;
4041import oracle .kubernetes .operator .work .Step ;
@@ -89,12 +90,14 @@ private static class ForServerStepContext extends ServerServiceStepContext {
8990 private final KubernetesVersion version ;
9091 private final Integer port ;
9192 private final Integer nodePort ;
93+ private final WlsServerConfig scan ;
9294
9395 ForServerStepContext (Step conflictStep , Packet packet ) {
9496 super (conflictStep , packet );
9597 version = packet .getSPI (KubernetesVersion .class );
9698 port = (Integer ) packet .get (ProcessingConstants .PORT );
9799 nodePort = (Integer ) packet .get (ProcessingConstants .NODE_PORT );
100+ scan = (WlsServerConfig ) packet .get (ProcessingConstants .SERVER_SCAN );
98101 }
99102
100103 @ Override
@@ -106,9 +109,23 @@ protected V1ServiceSpec createServiceSpec() {
106109 if (nodePort == null ) {
107110 serviceSpec .clusterIP ("None" );
108111 }
112+ serviceSpec .ports (createServicePorts ());
109113 return serviceSpec ;
110114 }
111115
116+ protected List <V1ServicePort > createServicePorts () {
117+ List <V1ServicePort > ports = new ArrayList <>();
118+ for (NetworkAccessPoint nap : scan .getNetworkAccessPoints ()) {
119+ V1ServicePort port = new V1ServicePort ()
120+ .name (nap .getName ())
121+ .port (nap .getListenPort ())
122+ .protocol (nap .getProtocol ());
123+ ports .add (port );
124+ }
125+ ports .add (createServicePort ());
126+ return ports ;
127+ }
128+
112129 @ Override
113130 protected V1ServicePort createServicePort () {
114131 V1ServicePort servicePort = new V1ServicePort ().port (port );
0 commit comments