From 006048b7a0b878832ef2cde80d2e9773bba0ad05 Mon Sep 17 00:00:00 2001 From: Yavor16 Date: Fri, 3 Apr 2026 10:32:43 +0300 Subject: [PATCH] Remove readniness env --- .../client/facade/domain/Staging.java | 3 --- .../rest/CloudControllerRestClientImpl.java | 3 +-- .../multiapps/controller/core/Messages.java | 1 - .../core/util/ApplicationConfiguration.java | 17 ------------- .../process/steps/CreateOrUpdateAppStep.java | 14 ----------- .../util/ReadinessHealthCheckUtil.java | 5 ---- .../PollStartAppStatusExecutionTest.java | 5 ++-- .../PrepareToStopDependentModuleStepTest.java | 6 ++--- .../process/steps/RestartAppStepTest.java | 18 +++++--------- .../util/ReadinessHealthCheckUtilTest.java | 24 +++++++++---------- 10 files changed, 22 insertions(+), 74 deletions(-) diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java index 9db7dcc661..f843fc3449 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/domain/Staging.java @@ -74,9 +74,6 @@ public interface Staging { @Nullable String getReadinessHealthCheckHttpEndpoint(); - @Nullable - Boolean isReadinessHealthCheckEnabled(); - /** * @return boolean value to see if ssh is enabled */ diff --git a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerRestClientImpl.java b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerRestClientImpl.java index ef744cd882..d92af5d765 100644 --- a/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerRestClientImpl.java +++ b/multiapps-controller-client/src/main/java/org/cloudfoundry/multiapps/controller/client/facade/rest/CloudControllerRestClientImpl.java @@ -395,8 +395,7 @@ private void updateApplicationProcess(UUID applicationGuid, Staging staging) { if (staging.getHealthCheckType() != null) { updateProcessRequestBuilder.healthCheck(buildHealthCheck(staging)); } - if (staging.isReadinessHealthCheckEnabled() != null && staging.isReadinessHealthCheckEnabled() - && staging.getReadinessHealthCheckType() != null) { + if (staging.getReadinessHealthCheckType() != null) { updateProcessRequestBuilder.readinessHealthCheck(buildReadinessHealthCheck(staging)); } delegate.processes() diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/Messages.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/Messages.java index 60617f9397..6efb7e7b3d 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/Messages.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/Messages.java @@ -158,7 +158,6 @@ public final class Messages { public static final String FLOWABLE_JOB_EXECUTOR_CORE_THREADS = "Flowable job executor core threads: {0}"; public static final String FLOWABLE_JOB_EXECUTOR_MAX_THREADS = "Flowable job executor max threads: {0}"; public static final String FLOWABLE_JOB_EXECUTOR_QUEUE_CAPACITY = "Flowable job executor queue capacity: {0}"; - public static final String IS_READINESS_HEALTH_CHECK_ENABLED = "Is readiness health check enabled: {0}"; public static final String GLOBAL_AUDITOR_ORIGIN = "Global auditor user origin: {0}"; public static final String AUDIT_LOG_ABOUT_TO_PERFORM_ACTION = "About to perform action \"{0}\""; diff --git a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/util/ApplicationConfiguration.java b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/util/ApplicationConfiguration.java index 842d90b3b4..0af38e4b41 100644 --- a/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/util/ApplicationConfiguration.java +++ b/multiapps-controller-core/src/main/java/org/cloudfoundry/multiapps/controller/core/util/ApplicationConfiguration.java @@ -75,7 +75,6 @@ public class ApplicationConfiguration { static final String CFG_FLOWABLE_JOB_EXECUTOR_CORE_THREADS = "FLOWABLE_JOB_EXECUTOR_CORE_THREADS"; static final String CFG_FLOWABLE_JOB_EXECUTOR_MAX_THREADS = "FLOWABLE_JOB_EXECUTOR_MAX_THREADS"; static final String CFG_FLOWABLE_JOB_EXECUTOR_QUEUE_CAPACITY = "FLOWABLE_JOB_EXECUTOR_QUEUE_CAPACITY"; - static final String IS_READINESS_HEALTH_CHECK_ENABLED = "IS_READINESS_HEALTH_CHECK_ENABLED"; static final String CFG_FSS_CACHE_UPDATE_TIMEOUT_MINUTES = "FSS_CACHE_UPDATE_TIMEOUT_MINUTES"; static final String CFG_THREAD_MONITOR_CACHE_UPDATE_IN_SECONDS = "THREAD_MONITOR_CACHE_UPDATE_IN_SECONDS"; static final String CFG_SPACE_DEVELOPER_CACHE_TIME_IN_SECONDS = "SPACE_DEVELOPER_CACHE_TIME_IN_SECONDS"; @@ -159,7 +158,6 @@ public class ApplicationConfiguration { public static final int DEFAULT_THREADS_FOR_FILE_UPLOAD_TO_CONTROLLER = 6; public static final int DEFAULT_THREADS_FOR_FILE_STORAGE_UPLOAD = 7; public static final boolean DEFAULT_IS_HEALTH_CHECK_ENABLED = false; - public static final Boolean DEFAULT_IS_READINESS_HEALTH_CHECK_ENABLED = Boolean.FALSE; protected final Environment environment; @@ -219,7 +217,6 @@ public class ApplicationConfiguration { private Integer threadsForFileStorageUpload; private Boolean isHealthCheckEnabled; private Set objectStoreRegions; - private Boolean isReadinessHealthCheckEnabled; public ApplicationConfiguration() { this(new Environment()); @@ -269,7 +266,6 @@ public void load() { getFilesAsyncUploadExecutorMaxThreads(); getDeployFromUrlExecutorMaxThreads(); getObjectStoreRegions(); - getIsReadinessHealthCheckEnabled(); } public Map getNotSensitiveVariables() { @@ -552,13 +548,6 @@ public Integer getFssCacheUpdateTimeoutMinutes() { return fssCacheUpdateTimeoutMinutes; } - public Boolean getIsReadinessHealthCheckEnabled() { - if (isReadinessHealthCheckEnabled == null) { - isReadinessHealthCheckEnabled = getIsReadinessHealthCheckFromEnvironment(); - } - return isReadinessHealthCheckEnabled; - } - public Integer getThreadMonitorCacheUpdateInSeconds() { if (threadMonitorCacheUpdateInSeconds == null) { threadMonitorCacheUpdateInSeconds = getThreadMonitorCacheUpdateInSecondsFromEnvironment(); @@ -980,12 +969,6 @@ private Integer getFlowableJobExecutorQueueCapacityFromEnvironment() { return value; } - private Boolean getIsReadinessHealthCheckFromEnvironment() { - Boolean value = environment.getBoolean(IS_READINESS_HEALTH_CHECK_ENABLED, DEFAULT_IS_READINESS_HEALTH_CHECK_ENABLED); - logEnvironmentVariable(IS_READINESS_HEALTH_CHECK_ENABLED, Messages.IS_READINESS_HEALTH_CHECK_ENABLED, value); - return value; - } - private String getCronExpression(String name, String defaultValue) { String value = environment.getString(name); if (CronExpression.isValidExpression(value)) { diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/CreateOrUpdateAppStep.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/CreateOrUpdateAppStep.java index 8fc3f219b0..65b757b708 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/CreateOrUpdateAppStep.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/steps/CreateOrUpdateAppStep.java @@ -19,8 +19,6 @@ import org.cloudfoundry.multiapps.controller.client.facade.CloudCredentials; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudApplication; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableCloudApplication; -import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableStaging; -import org.cloudfoundry.multiapps.controller.client.facade.domain.Staging; import org.cloudfoundry.multiapps.controller.client.facade.dto.ApplicationToCreateDto; import org.cloudfoundry.multiapps.controller.client.facade.dto.ImmutableApplicationToCreateDto; import org.cloudfoundry.multiapps.controller.client.lib.domain.CloudApplicationExtended; @@ -72,7 +70,6 @@ protected StepPhase executeStep(ProcessContext context) throws FileStorageExcept CloudControllerClient client = context.getControllerClient(); CloudApplication existingApp = client.getApplication(app.getName(), false); context.setVariable(Variables.EXISTING_APP, existingApp); - app = getApplicationWithReadinessEnabledInStaging(app); StepFlowHandler flowHandler = createStepFlowHandler(context, client, app, existingApp); @@ -110,17 +107,6 @@ private StepFlowHandler createStepFlowHandler(ProcessContext context, return new UpdateAppFlowHandler(context, client, app, existingApp); } - private CloudApplicationExtended getApplicationWithReadinessEnabledInStaging(CloudApplicationExtended app) { - Boolean isReadinessHealthCheckEnabled = configuration.getIsReadinessHealthCheckEnabled(); - if (isReadinessHealthCheckEnabled == null || !isReadinessHealthCheckEnabled) { - return app; - } - Staging newStaging = ImmutableStaging.copyOf(app.getStaging()) - .withIsReadinessHealthCheckEnabled(configuration.getIsReadinessHealthCheckEnabled()); - return ImmutableCloudApplicationExtended.copyOf(app) - .withStaging(newStaging); - } - private abstract class StepFlowHandler { final ProcessContext context; diff --git a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtil.java b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtil.java index 6b945dd007..2bafa60f9a 100644 --- a/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtil.java +++ b/multiapps-controller-process/src/main/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtil.java @@ -11,11 +11,6 @@ private ReadinessHealthCheckUtil() { public static boolean shouldWaitForAppToBecomeRoutable(ProcessContext context) { CloudApplicationExtended appToProcess = context.getVariable(Variables.APP_TO_PROCESS); - Boolean isReadinessHealthCheckEnabled = appToProcess.getStaging() - .isReadinessHealthCheckEnabled(); - if (isReadinessHealthCheckEnabled == null || !isReadinessHealthCheckEnabled) { - return false; - } return appToProcess.getStaging() .getReadinessHealthCheckType() != null; } diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PollStartAppStatusExecutionTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PollStartAppStatusExecutionTest.java index 65bd077da1..0a5d2cebb3 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PollStartAppStatusExecutionTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PollStartAppStatusExecutionTest.java @@ -112,14 +112,13 @@ void testErrorMessageWhenReadinessHealthCheckIsDisabled() { assertEquals(NORMAL_ERROR_MESSAGE, step.getPollingErrorMessage(context)); } - private CloudApplicationExtended buildApplication(int instancesCount, boolean isReadinessHealthCheckEnabled) { + private CloudApplicationExtended buildApplication(int instancesCount, boolean isReadinessEnabled) { return ImmutableCloudApplicationExtended.builder() .metadata(ImmutableCloudMetadata.of(UUID.randomUUID())) .name(APP_NAME) .instances(instancesCount) .staging(ImmutableStaging.builder() - .isReadinessHealthCheckEnabled(isReadinessHealthCheckEnabled) - .readinessHealthCheckType("test") + .readinessHealthCheckType(isReadinessEnabled ? "test" : null) .build()) .build(); } diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PrepareToStopDependentModuleStepTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PrepareToStopDependentModuleStepTest.java index fe5fa7188d..7b89dbd125 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PrepareToStopDependentModuleStepTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/PrepareToStopDependentModuleStepTest.java @@ -71,8 +71,7 @@ private void setUpMocks(Module module) { .metadata(ImmutableCloudMetadata.of( UUID.randomUUID() )) - .staging(createStaging( - true)) + .staging(createStaging()) .build(); context.setVariable(Variables.APP_TO_PROCESS, applicationExtended); context.setVariable(Variables.COMPLETE_DEPLOYMENT_DESCRIPTOR, completeDeploymentDescriptor); @@ -80,9 +79,8 @@ private void setUpMocks(Module module) { when(applicationCloudModelBuilder.build(Mockito.any(), Mockito.any())).thenReturn(applicationExtended); } - private Staging createStaging(boolean isReadinessHealthCheckEnabled) { + private Staging createStaging() { return ImmutableStaging.builder() - .isReadinessHealthCheckEnabled(isReadinessHealthCheckEnabled) .readinessHealthCheckType("http") .build(); } diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/RestartAppStepTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/RestartAppStepTest.java index 459fe75d43..83fe91c9be 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/RestartAppStepTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/steps/RestartAppStepTest.java @@ -6,7 +6,6 @@ import org.cloudfoundry.multiapps.controller.api.model.ProcessType; import org.cloudfoundry.multiapps.controller.client.facade.domain.CloudApplication; import org.cloudfoundry.multiapps.controller.client.facade.domain.ImmutableStaging; -import org.cloudfoundry.multiapps.controller.client.facade.domain.Staging; import org.cloudfoundry.multiapps.controller.client.lib.domain.CloudApplicationExtended; import org.cloudfoundry.multiapps.controller.client.lib.domain.ImmutableCloudApplicationExtended; import org.cloudfoundry.multiapps.controller.core.cf.metadata.processor.MtaMetadataParser; @@ -49,7 +48,7 @@ class RestartAppStepTest extends SyncFlowableStepTest { @Test void testExecuteWhenAppIsStopped() { when(processTypeParser.getProcessType(context.getExecution())).thenReturn(ProcessType.DEPLOY); - CloudApplicationExtended app = createApplication(APP_NAME, CloudApplication.State.STOPPED, true); + CloudApplicationExtended app = createApplication(APP_NAME, CloudApplication.State.STOPPED, false); prepareContextAndClient(app); step.execute(execution); assertStepFinishedSuccessfully(); @@ -68,7 +67,7 @@ protected void assertStepFinishedSuccessfully() { @Test void testExecuteWhenAppIsStarted() { when(processTypeParser.getProcessType(context.getExecution())).thenReturn(ProcessType.DEPLOY); - CloudApplicationExtended app = createApplication(APP_NAME, CloudApplication.State.STARTED, true); + CloudApplicationExtended app = createApplication(APP_NAME, CloudApplication.State.STARTED, false); prepareContextAndClient(app); step.execute(execution); assertStepFinishedSuccessfully(); @@ -88,21 +87,16 @@ void testGetHookPhasesBeforeStep() { assertEquals(expectedHooks, hookPhasesBeforeStep); } - private CloudApplicationExtended createApplication(String name, CloudApplication.State state, boolean isReadinessHealthCheckEnabled) { + private CloudApplicationExtended createApplication(String name, CloudApplication.State state, boolean isReadinessEnabled) { return ImmutableCloudApplicationExtended.builder() .name(name) .state(state) - .staging(createStaging(isReadinessHealthCheckEnabled)) + .staging(ImmutableStaging.builder() + .readinessHealthCheckType(isReadinessEnabled ? "test" : null) + .build()) .build(); } - private Staging createStaging(boolean isReadinessHealthCheckEnabled) { - return ImmutableStaging.builder() - .isReadinessHealthCheckEnabled(isReadinessHealthCheckEnabled) - .readinessHealthCheckType("http") - .build(); - } - private void prepareContextAndClient(CloudApplicationExtended app) { when(client.getApplication(APP_NAME)).thenReturn(app); context.setVariable(Variables.APP_TO_PROCESS, app); diff --git a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtilTest.java b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtilTest.java index cfafd40bab..781efad760 100644 --- a/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtilTest.java +++ b/multiapps-controller-process/src/test/java/org/cloudfoundry/multiapps/controller/process/util/ReadinessHealthCheckUtilTest.java @@ -27,40 +27,38 @@ class ReadinessHealthCheckUtilTest { static Stream testShouldWaitForAppToBecomeRoutable() { return Stream.of( // (0) Test shouldWaitForAppToBecomeRoutable when enabled is null - Arguments.of(null, null, false), + Arguments.of(null, false), // (1) Test shouldWaitForAppToBecomeRoutable when enabled is false - Arguments.of(false, null, false), + Arguments.of(null, false), // (2) Test shouldWaitForAppToBecomeRoutable when enabled is true and type is null - Arguments.of(true, null, false), + Arguments.of(null, false), // (3) Test shouldWaitForAppToBecomeRoutable when enabled is true and type is not null - Arguments.of(true, "http", true)); + Arguments.of("http", true)); } @ParameterizedTest @MethodSource - void testShouldWaitForAppToBecomeRoutable(Boolean isReadinessHealthCheckEnabled, String readinessHealthCheckType, - boolean expectedResult) { + void testShouldWaitForAppToBecomeRoutable(String readinessHealthCheckType, boolean expectedResult) { assertEquals(expectedResult, ReadinessHealthCheckUtil.shouldWaitForAppToBecomeRoutable( - createContext(isReadinessHealthCheckEnabled, readinessHealthCheckType))); + createContext(readinessHealthCheckType))); } - private ProcessContext createContext(Boolean isReadinessHealthCheckEnabled, String readinessHealthCheckType) { + private ProcessContext createContext(String readinessHealthCheckType) { DelegateExecution execution = MockDelegateExecution.createSpyInstance(); ProcessContext context = new ProcessContext(execution, stepLogger, clientProvider); - context.setVariable(Variables.APP_TO_PROCESS, createAppToProcess(isReadinessHealthCheckEnabled, readinessHealthCheckType)); + context.setVariable(Variables.APP_TO_PROCESS, createAppToProcess(readinessHealthCheckType)); return context; } - private CloudApplicationExtended createAppToProcess(Boolean isReadinessHealthCheckEnabled, String readinessHealthCheckType) { + private CloudApplicationExtended createAppToProcess(String readinessHealthCheckType) { return ImmutableCloudApplicationExtended.builder() - .staging(createStaging(isReadinessHealthCheckEnabled, readinessHealthCheckType)) + .staging(createStaging(readinessHealthCheckType)) .build(); } - private Staging createStaging(Boolean isReadinessHealthCheckEnabled, String readinessHealthCheckType) { + private Staging createStaging(String readinessHealthCheckType) { return ImmutableStaging.builder() - .isReadinessHealthCheckEnabled(isReadinessHealthCheckEnabled) .readinessHealthCheckType(readinessHealthCheckType) .build(); }