55package oracle .kubernetes .operator .helpers ;
66
77import java .io .File ;
8- import java .util .Arrays ;
8+ import java .util .Collections ;
99import java .util .List ;
1010
1111import io .kubernetes .client .models .V1ConfigMapVolumeSource ;
1212import io .kubernetes .client .models .V1Container ;
1313import io .kubernetes .client .models .V1Job ;
1414import io .kubernetes .client .models .V1JobSpec ;
1515import io .kubernetes .client .models .V1ObjectMeta ;
16- import io .kubernetes .client .models .V1PersistentVolumeClaimVolumeSource ;
1716import io .kubernetes .client .models .V1PodSpec ;
1817import io .kubernetes .client .models .V1PodTemplateSpec ;
1918import io .kubernetes .client .models .V1SecretVolumeSource ;
@@ -37,7 +36,7 @@ public abstract class JobStepContext extends StepContextBase {
3736 static final long DEFAULT_ACTIVE_DEADLINE_INCREMENT_SECONDS = 60L ;
3837 private static final LoggingFacade LOGGER = LoggingFactory .getLogger ("Operator" , "Operator" );
3938 private static final String WEBLOGIC_OPERATOR_SCRIPTS_INTROSPECT_DOMAIN_SH =
40- "/weblogic-operator/scripts/introspectDomain.sh" ;
39+ "/weblogic-operator/scripts/introspectDomain.sh" ;
4140 private final DomainPresenceInfo info ;
4241 private V1Job jobModel ;
4342
@@ -105,24 +104,20 @@ Step createJob(Step next) {
105104 return new CallBuilder ().createJobAsync (getNamespace (), getJobModel (), createResponse (next ));
106105 }
107106
108- protected void logJobCreated () {
107+ private void logJobCreated () {
109108 LOGGER .info (getJobCreatedMessageKey (), getJobName ());
110109 }
111110
112111 abstract String getJobCreatedMessageKey ();
113112
114- protected String getNodeManagerHome () {
113+ String getNodeManagerHome () {
115114 return NODEMGR_HOME ;
116115 }
117116
118117 protected String getLogHome () {
119118 return getDomain ().getLogHome ();
120119 }
121120
122- protected boolean isDomainHomeInImage () {
123- return getDomain ().isDomainHomeInImage ();
124- }
125-
126121 String getEffectiveLogHome () {
127122 if (!getDomain ().getLogHomeEnabled ()) {
128123 return null ;
@@ -139,15 +134,15 @@ String getIncludeServerOutInPodLog() {
139134 return Boolean .toString (getDomain ().isIncludeServerOutInPodLog ());
140135 }
141136
142- protected String getIntrospectHome () {
137+ String getIntrospectHome () {
143138 return getDomainHome ();
144139 }
145140
146- List <String > getConfigOverrideSecrets () {
141+ private List <String > getConfigOverrideSecrets () {
147142 return getDomain ().getConfigOverrideSecrets ();
148143 }
149144
150- String getConfigOverrides () {
145+ private String getConfigOverrides () {
151146 return getDomain ().getConfigOverrides ();
152147 }
153148
@@ -159,57 +154,61 @@ private ResponseStep<V1Job> createResponse(Step next) {
159154
160155 private V1Job createJobModel () {
161156 return new V1Job ()
162- .metadata (createMetadata ())
163- .spec (createJobSpec (TuningParameters .getInstance ()));
157+ .metadata (createMetadata ())
158+ .spec (createJobSpec (TuningParameters .getInstance ()));
164159 }
165160
166161 V1ObjectMeta createMetadata () {
167- V1ObjectMeta metadata =
168- new V1ObjectMeta ()
169- .name (getJobName ())
170- .namespace (getNamespace ())
171- .putLabelsItem (LabelConstants .RESOURCE_VERSION_LABEL , VersionConstants .DOMAIN_V1 )
172- .putLabelsItem (LabelConstants .DOMAINUID_LABEL , getDomainUid ())
173- .putLabelsItem (LabelConstants .CREATEDBYOPERATOR_LABEL , "true" );
174- return metadata ;
162+ return new V1ObjectMeta ()
163+ .name (getJobName ())
164+ .namespace (getNamespace ())
165+ .putLabelsItem (LabelConstants .RESOURCE_VERSION_LABEL , VersionConstants .DOMAIN_V1 )
166+ .putLabelsItem (LabelConstants .DOMAINUID_LABEL , getDomainUid ())
167+ .putLabelsItem (LabelConstants .CREATEDBYOPERATOR_LABEL , "true" );
175168 }
176169
177170 private long getActiveDeadlineSeconds () {
178171 return DEFAULT_ACTIVE_DEADLINE_SECONDS
179- + (DEFAULT_ACTIVE_DEADLINE_INCREMENT_SECONDS * info .getRetryCount ());
172+ + (DEFAULT_ACTIVE_DEADLINE_INCREMENT_SECONDS * info .getRetryCount ());
180173 }
181174
182- protected V1JobSpec createJobSpec (TuningParameters tuningParameters ) {
175+ V1JobSpec createJobSpec (TuningParameters tuningParameters ) {
183176 LOGGER .fine (
184- "Creating job "
185- + getJobName ()
186- + " with activeDeadlineSeconds = "
187- + getActiveDeadlineSeconds ());
188- V1JobSpec jobSpec =
189- new V1JobSpec ()
190- .backoffLimit (0 )
191- .activeDeadlineSeconds (getActiveDeadlineSeconds ())
192- .template (createPodTemplateSpec (tuningParameters ));
177+ "Creating job "
178+ + getJobName ()
179+ + " with activeDeadlineSeconds = "
180+ + getActiveDeadlineSeconds ());
193181
194- return jobSpec ;
182+ return new V1JobSpec ()
183+ .backoffLimit (0 )
184+ .activeDeadlineSeconds (getActiveDeadlineSeconds ())
185+ .template (createPodTemplateSpec (tuningParameters ));
195186 }
196187
197188 private V1PodTemplateSpec createPodTemplateSpec (TuningParameters tuningParameters ) {
198- V1ObjectMeta metadata = new V1ObjectMeta ().name (getJobName ());
199- V1PodTemplateSpec podTemplateSpec =
200- new V1PodTemplateSpec ().metadata (metadata ).spec (createPodSpec (tuningParameters ));
201- return podTemplateSpec ;
189+ return new V1PodTemplateSpec ()
190+ .metadata (createPodTemplateMetadata ())
191+ .spec (createPodSpec (tuningParameters ));
192+ }
193+
194+ private V1ObjectMeta createPodTemplateMetadata () {
195+ return new V1ObjectMeta ()
196+ .name (getJobName ())
197+ .putLabelsItem (LabelConstants .CREATEDBYOPERATOR_LABEL , "true" )
198+ .putLabelsItem (LabelConstants .DOMAINUID_LABEL , getDomainUid ())
199+ .putLabelsItem (
200+ LabelConstants .JOBNAME_LABEL , LegalNames .toJobIntrospectorName (getDomainUid ()));
202201 }
203202
204203 private V1PodSpec createPodSpec (TuningParameters tuningParameters ) {
205204 V1PodSpec podSpec =
206- new V1PodSpec ()
207- .activeDeadlineSeconds (getActiveDeadlineSeconds ())
208- .restartPolicy ("Never" )
209- .addContainersItem (createContainer (tuningParameters ))
210- .addVolumesItem (new V1Volume ().name (SECRETS_VOLUME ).secret (getSecretsVolume ()))
211- .addVolumesItem (
212- new V1Volume ().name (SCRIPTS_VOLUME ).configMap (getConfigMapVolumeSource ()));
205+ new V1PodSpec ()
206+ .activeDeadlineSeconds (getActiveDeadlineSeconds ())
207+ .restartPolicy ("Never" )
208+ .addContainersItem (createContainer (tuningParameters ))
209+ .addVolumesItem (new V1Volume ().name (SECRETS_VOLUME ).secret (getSecretsVolume ()))
210+ .addVolumesItem (
211+ new V1Volume ().name (SCRIPTS_VOLUME ).configMap (getConfigMapVolumeSource ()));
213212
214213 podSpec .setImagePullSecrets (info .getDomain ().getSpec ().getImagePullSecrets ());
215214
@@ -220,50 +219,50 @@ private V1PodSpec createPodSpec(TuningParameters tuningParameters) {
220219 List <String > configOverrideSecrets = getConfigOverrideSecrets ();
221220 for (String secretName : configOverrideSecrets ) {
222221 podSpec .addVolumesItem (
223- new V1Volume ()
224- .name (secretName + "-volume" )
225- .secret (getOverrideSecretVolumeSource (secretName )));
222+ new V1Volume ()
223+ .name (secretName + "-volume" )
224+ .secret (getOverrideSecretVolumeSource (secretName )));
226225 }
227226 if (getConfigOverrides () != null && getConfigOverrides ().length () > 0 ) {
228227 podSpec .addVolumesItem (
229- new V1Volume ()
230- .name (getConfigOverrides () + "-volume" )
231- .configMap (getOverridesVolumeSource (getConfigOverrides ())));
228+ new V1Volume ()
229+ .name (getConfigOverrides () + "-volume" )
230+ .configMap (getOverridesVolumeSource (getConfigOverrides ())));
232231 }
233232
234233 return podSpec ;
235234 }
236235
237236 private V1Container createContainer (TuningParameters tuningParameters ) {
238237 V1Container container =
239- new V1Container ()
240- .name (getJobName ())
241- .image (getImageName ())
242- .imagePullPolicy (getImagePullPolicy ())
243- .command (getContainerCommand ())
244- .env (getEnvironmentVariables (tuningParameters ))
245- .addVolumeMountsItem (readOnlyVolumeMount (SECRETS_VOLUME , SECRETS_MOUNT_PATH ))
246- .addVolumeMountsItem (readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH ));
238+ new V1Container ()
239+ .name (getJobName ())
240+ .image (getImageName ())
241+ .imagePullPolicy (getImagePullPolicy ())
242+ .command (getContainerCommand ())
243+ .env (getEnvironmentVariables (tuningParameters ))
244+ .addVolumeMountsItem (readOnlyVolumeMount (SECRETS_VOLUME , SECRETS_MOUNT_PATH ))
245+ .addVolumeMountsItem (readOnlyVolumeMount (SCRIPTS_VOLUME , SCRIPTS_MOUNTS_PATH ));
247246
248247 for (V1VolumeMount additionalVolumeMount : getAdditionalVolumeMounts ()) {
249248 container .addVolumeMountsItem (additionalVolumeMount );
250249 }
251250
252251 if (getConfigOverrides () != null && getConfigOverrides ().length () > 0 ) {
253252 container .addVolumeMountsItem (
254- readOnlyVolumeMount (getConfigOverrides () + "-volume" , OVERRIDES_CM_MOUNT_PATH ));
253+ readOnlyVolumeMount (getConfigOverrides () + "-volume" , OVERRIDES_CM_MOUNT_PATH ));
255254 }
256255
257256 List <String > configOverrideSecrets = getConfigOverrideSecrets ();
258257 for (String secretName : configOverrideSecrets ) {
259258 container .addVolumeMountsItem (
260- readOnlyVolumeMount (
261- secretName + "-volume" , OVERRIDE_SECRETS_MOUNT_PATH + '/' + secretName ));
259+ readOnlyVolumeMount (
260+ secretName + "-volume" , OVERRIDE_SECRETS_MOUNT_PATH + '/' + secretName ));
262261 }
263262 return container ;
264263 }
265264
266- String getImageName () {
265+ private String getImageName () {
267266 String imageName = getDomain ().getSpec ().getImage ();
268267 if (imageName == null ) {
269268 imageName = KubernetesConstants .DEFAULT_IMAGE ;
@@ -279,40 +278,31 @@ String getImagePullPolicy() {
279278 return imagePullPolicy ;
280279 }
281280
282- protected List <String > getContainerCommand () {
283- return Arrays . asList (WEBLOGIC_OPERATOR_SCRIPTS_INTROSPECT_DOMAIN_SH );
281+ private List <String > getContainerCommand () {
282+ return Collections . singletonList (WEBLOGIC_OPERATOR_SCRIPTS_INTROSPECT_DOMAIN_SH );
284283 }
285284
286285 protected String getDomainHome () {
287286 return getDomain ().getDomainHome ();
288287 }
289288
290- protected V1SecretVolumeSource getSecretsVolume () {
289+ private V1SecretVolumeSource getSecretsVolume () {
291290 return new V1SecretVolumeSource ()
292- .secretName (getWebLogicCredentialsSecretName ())
293- .defaultMode (420 );
291+ .secretName (getWebLogicCredentialsSecretName ())
292+ .defaultMode (420 );
294293 }
295294
296- protected V1ConfigMapVolumeSource getConfigMapVolumeSource () {
295+ private V1ConfigMapVolumeSource getConfigMapVolumeSource () {
297296 return new V1ConfigMapVolumeSource ()
298- .name (KubernetesConstants .DOMAIN_CONFIG_MAP_NAME )
299- .defaultMode (ALL_READ_AND_EXECUTE );
300- }
301-
302- protected V1ConfigMapVolumeSource getConfigMapVolumeSource (String name , int mode ) {
303- return new V1ConfigMapVolumeSource ().name (name ).defaultMode (mode );
304- }
305-
306- protected V1PersistentVolumeClaimVolumeSource getPersistenVolumeClaimVolumeSource (
307- String claimName ) {
308- return new V1PersistentVolumeClaimVolumeSource ().claimName (claimName );
297+ .name (KubernetesConstants .DOMAIN_CONFIG_MAP_NAME )
298+ .defaultMode (ALL_READ_AND_EXECUTE );
309299 }
310300
311- protected V1SecretVolumeSource getOverrideSecretVolumeSource (String name ) {
301+ private V1SecretVolumeSource getOverrideSecretVolumeSource (String name ) {
312302 return new V1SecretVolumeSource ().secretName (name ).defaultMode (420 );
313303 }
314304
315- protected V1ConfigMapVolumeSource getOverridesVolumeSource (String name ) {
305+ private V1ConfigMapVolumeSource getOverridesVolumeSource (String name ) {
316306 return new V1ConfigMapVolumeSource ().name (name ).defaultMode (ALL_READ_AND_EXECUTE );
317307 }
318308
0 commit comments