@@ -66,11 +66,22 @@ private ServiceHelper() {}
66
66
* @return Step for internal service creation
67
67
*/
68
68
public static Step createForServerStep (Step next ) {
69
- return new ForServerStep (next );
69
+ return createForServerStep (false , next );
70
+ }
71
+
72
+ /**
73
+ * Create asynchronous step for internal cluster service.
74
+ *
75
+ * @param isPreserveServices true, if this service is for a placeholder service with no pod
76
+ * @param next Next processing step
77
+ * @return Step for internal service creation
78
+ */
79
+ public static Step createForServerStep (boolean isPreserveServices , Step next ) {
80
+ return new ForServerStep (isPreserveServices , next );
70
81
}
71
82
72
83
static V1Service createServerServiceModel (Packet packet ) {
73
- return new ServerServiceStepContext (null , packet ).createModel ();
84
+ return new ServerServiceStepContext (false , null , packet ).createModel ();
74
85
}
75
86
76
87
public static void addToPresence (DomainPresenceInfo info , V1Service service ) {
@@ -125,13 +136,16 @@ private static String getSpecType(V1Service service) {
125
136
}
126
137
127
138
private static class ForServerStep extends ServiceHelperStep {
128
- ForServerStep (Step next ) {
139
+ private final boolean isPreserveServices ;
140
+
141
+ ForServerStep (boolean isPreserveServices , Step next ) {
129
142
super (next );
143
+ this .isPreserveServices = isPreserveServices ;
130
144
}
131
145
132
146
@ Override
133
147
protected ServiceStepContext createContext (Packet packet ) {
134
- return new ServerServiceStepContext (this , packet );
148
+ return new ServerServiceStepContext (isPreserveServices , this , packet );
135
149
}
136
150
}
137
151
@@ -153,13 +167,15 @@ private NextAction doVerifyService(Step next, Packet packet) {
153
167
}
154
168
155
169
private static class ServerServiceStepContext extends ServiceStepContext {
170
+ private final boolean isPreserveServices ;
156
171
protected final String serverName ;
157
172
protected final String clusterName ;
158
173
protected final KubernetesVersion version ;
159
174
final WlsServerConfig scan ;
160
175
161
- ServerServiceStepContext (Step conflictStep , Packet packet ) {
176
+ ServerServiceStepContext (boolean isPreserveServices , Step conflictStep , Packet packet ) {
162
177
super (conflictStep , packet , OperatorServiceType .SERVER );
178
+ this .isPreserveServices = isPreserveServices ;
163
179
serverName = (String ) packet .get (ProcessingConstants .SERVER_NAME );
164
180
clusterName = (String ) packet .get (ProcessingConstants .CLUSTER_NAME );
165
181
scan = (WlsServerConfig ) packet .get (ProcessingConstants .SERVER_SCAN );
@@ -170,7 +186,7 @@ private static class ServerServiceStepContext extends ServiceStepContext {
170
186
protected V1ServiceSpec createServiceSpec () {
171
187
V1ServiceSpec serviceSpec =
172
188
super .createServiceSpec ()
173
- .clusterIP ("None" )
189
+ .clusterIP (isPreserveServices ? null : "None" )
174
190
.ports (createServicePorts ())
175
191
.putSelectorItem (LabelConstants .SERVERNAME_LABEL , getServerName ());
176
192
if (isPublishNotReadyAddressesSupported ())
0 commit comments