[Fix-16228] Fix E2E health check url is not correct (#16227)

This commit is contained in:
Wenjun Ruan 2024-06-27 21:49:21 +08:00 committed by GitHub
parent 46eff34e69
commit 0e2d0fb81e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
17 changed files with 30 additions and 42 deletions

View File

@ -21,7 +21,6 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
@ -29,7 +28,7 @@ services:
network:
ipv4_address: 10.5.0.5
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -21,14 +21,13 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
networks:
- api-test
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -21,14 +21,13 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
networks:
- api-test
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -21,7 +21,6 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
@ -31,7 +30,7 @@ services:
- ./download-mysql.sh:/tmp/download-mysql.sh
entrypoint: [ 'bash', '-c', '/bin/bash /tmp/download-mysql.sh && /opt/dolphinscheduler/bin/start.sh && tail -f /dev/null' ]
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -21,14 +21,13 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
networks:
- api-test
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -21,14 +21,13 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
networks:
- api-test
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -21,14 +21,13 @@ services:
dolphinscheduler:
image: apache/dolphinscheduler-standalone-server:ci
environment:
MASTER_MAX_CPU_LOAD_AVG: 100
WORKER_TENANT_AUTO_CREATE: 'true'
ports:
- "12345:12345"
networks:
- api-test
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 60s
retries: 120

View File

@ -24,6 +24,7 @@ import java.net.URL;
import java.time.Duration;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.Stream;
@ -31,6 +32,7 @@ import org.junit.jupiter.api.extension.AfterAllCallback;
import org.junit.jupiter.api.extension.BeforeAllCallback;
import org.junit.jupiter.api.extension.ExtensionContext;
import org.slf4j.Logger;
import org.testcontainers.containers.ContainerState;
import org.testcontainers.containers.DockerComposeContainer;
import org.testcontainers.containers.wait.strategy.Wait;
@ -49,6 +51,9 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
if (!localMode) {
compose = createDockerCompose(context);
compose.start();
compose.getContainerByServiceName(serviceName)
.map(ContainerState::isHealthy)
.orElseThrow(() -> new IllegalStateException("DolphinScheduler service is not healthy"));
}
}
@ -63,17 +68,17 @@ final class DolphinSchedulerExtension implements BeforeAllCallback, AfterAllCall
final Class<?> clazz = context.getRequiredTestClass();
final DolphinScheduler annotation = clazz.getAnnotation(DolphinScheduler.class);
final List<File> files = Stream.of(annotation.composeFiles())
.map(it -> DolphinScheduler.class.getClassLoader().getResource(it))
.filter(Objects::nonNull)
.map(URL::getPath)
.map(File::new)
.collect(Collectors.toList());
.map(it -> DolphinScheduler.class.getClassLoader().getResource(it))
.filter(Objects::nonNull)
.map(URL::getPath)
.map(File::new)
.collect(Collectors.toList());
compose = new DockerComposeContainer<>(files)
.withPull(true)
.withTailChildContainers(true)
.withLogConsumer(serviceName, outputFrame -> log.info(outputFrame.getUtf8String()))
.waitingFor(serviceName, Wait.forHealthcheck().withStartupTimeout(Duration.ofSeconds(Constants.DOCKER_COMPOSE_DEFAULT_TIMEOUT)));
.withPull(true)
.withTailChildContainers(true)
.withLogConsumer(serviceName, outputFrame -> log.info(outputFrame.getUtf8String()))
.waitingFor(serviceName, Wait.forHealthcheck().withStartupTimeout(Duration.ofSeconds(Constants.DOCKER_COMPOSE_DEFAULT_TIMEOUT)));
return compose;
}

View File

@ -18,7 +18,6 @@
package org.apache.dolphinscheduler.dao.repository.impl;
import static com.google.common.truth.Truth.assertThat;
import static org.junit.jupiter.api.Assertions.assertFalse;
import org.apache.dolphinscheduler.common.enums.CommandType;
import org.apache.dolphinscheduler.common.enums.FailureStrategy;
@ -34,7 +33,6 @@ import org.apache.dolphinscheduler.dao.utils.WorkerGroupUtils;
import org.apache.commons.lang3.RandomUtils;
import java.util.List;
import java.util.stream.Collectors;
import org.junit.jupiter.api.RepeatedTest;
import org.springframework.beans.factory.annotation.Autowired;
@ -63,14 +61,6 @@ class CommandDaoImplTest extends BaseDaoTest {
}
List<Command> commands = commandDao.queryCommandByIdSlot(currentSlotIndex, totalSlot, idStep, fetchSize);
assertFalse(commands.isEmpty(),
"Commands should not be empty, currentSlotIndex: " + currentSlotIndex +
", totalSlot: " + totalSlot +
", idStep: " + idStep +
", fetchSize: " + fetchSize +
", total command size: " + commandSize +
", total commands: "
+ commandDao.queryAll().stream().map(Command::getId).collect(Collectors.toList()));
assertThat(commands.size())
.isEqualTo(commandDao.queryAll()
.stream()

View File

@ -28,7 +28,7 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120

View File

@ -28,7 +28,7 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120

View File

@ -28,7 +28,7 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120

View File

@ -31,7 +31,7 @@ services:
- ./download-mysql.sh:/tmp/download-mysql.sh
entrypoint: ['bash', '-c', '/bin/bash /tmp/download-mysql.sh && /opt/dolphinscheduler/bin/start.sh && tail -f /dev/null']
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120

View File

@ -28,9 +28,9 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 300s
timeout: 5s
retries: 120
depends_on:
postgres:

View File

@ -28,7 +28,7 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120

View File

@ -28,7 +28,7 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120

View File

@ -29,7 +29,7 @@ services:
networks:
- e2e
healthcheck:
test: [ "CMD", "curl", "http://localhost:12345/actuator/health" ]
test: [ "CMD", "curl", "http://localhost:12345/dolphinscheduler/actuator/health" ]
interval: 5s
timeout: 5s
retries: 120