@@ -17,13 +17,14 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.Arrays; | |||
import java.util.Set; | |||
import java.util.stream.Collectors; | |||
import org.sonar.process.cluster.health.NodeDetails; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.server.health.Health; | |||
import static org.sonar.process.cluster.health.NodeHealth.Status.GREEN; | |||
import static org.sonar.process.cluster.health.NodeHealth.Status.RED; |
@@ -17,9 +17,10 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.sonar.server.app.ProcessCommandWrapper; | |||
import org.sonar.server.health.Health; | |||
public class CeStatusNodeCheck implements NodeHealthCheck { | |||
private static final Health RED_HEALTH = Health.builder() |
@@ -17,10 +17,11 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.Set; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.server.health.Health; | |||
public interface ClusterHealthCheck { | |||
Health check(Set<NodeHealth> nodeHealths); |
@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.Set; | |||
import java.util.stream.Stream; |
@@ -17,13 +17,14 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.IsAliveMapper; | |||
import org.sonar.server.health.Health; | |||
/** | |||
* Checks Web Server can connect to the Database. |
@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthRequest; | |||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; | |||
@@ -25,6 +25,7 @@ import org.elasticsearch.cluster.health.ClusterHealthStatus; | |||
import org.slf4j.Logger; | |||
import org.slf4j.LoggerFactory; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.health.Health; | |||
abstract class EsStatusCheck { | |||
private static final Logger LOG = LoggerFactory.getLogger(EsStatusCheck.class); |
@@ -17,12 +17,13 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.Set; | |||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.health.Health; | |||
public class EsStatusClusterCheck extends EsStatusCheck implements ClusterHealthCheck { | |||
private static final String MINIMUM_NODE_MESSAGE = "There should be at least three search nodes"; |
@@ -17,10 +17,11 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.elasticsearch.action.admin.cluster.health.ClusterHealthResponse; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.health.Health; | |||
/** | |||
* Checks the ElasticSearch cluster status. |
@@ -17,9 +17,11 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.sonar.server.health.Health; | |||
public class HealthReducer { | |||
private HealthReducer() { |
@@ -17,7 +17,9 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.sonar.server.health.Health; | |||
public interface NodeHealthCheck { | |||
Health check(); |
@@ -17,7 +17,9 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.sonar.server.health.Health; | |||
/** | |||
* Checks the running status of the WebServer when the WebServer is in safemode. |
@@ -17,10 +17,11 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.EnumSet; | |||
import org.sonar.server.app.RestartFlagHolder; | |||
import org.sonar.server.health.Health; | |||
import org.sonar.server.platform.Platform; | |||
import org.sonar.server.platform.db.migration.DatabaseMigrationState; | |||
@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.platform.ws; | |||
package org.sonar.server.common.platform; | |||
public interface LivenessChecker { | |||
boolean liveness(); |
@@ -17,14 +17,14 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.platform.ws; | |||
package org.sonar.server.common.platform; | |||
import javax.annotation.Nullable; | |||
import org.sonar.server.health.CeStatusNodeCheck; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.CeStatusNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.health.Health; | |||
import org.sonar.server.health.WebServerStatusNodeCheck; | |||
public class LivenessCheckerImpl implements LivenessChecker { | |||
@@ -17,9 +17,9 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.platform.ws; | |||
package org.sonar.server.common.platform; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.Health; | |||
public class SafeModeLivenessCheckerImpl implements LivenessChecker { |
@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.Arrays; | |||
import java.util.Random; | |||
@@ -27,6 +27,7 @@ import java.util.stream.Stream; | |||
import org.junit.Test; | |||
import org.sonar.process.cluster.health.NodeDetails; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.server.health.Health; | |||
import static java.util.stream.Collectors.toSet; | |||
import static java.util.stream.Stream.of; | |||
@@ -34,7 +35,7 @@ import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric; | |||
import static org.sonar.process.cluster.health.NodeHealth.Status.GREEN; | |||
import static org.sonar.process.cluster.health.NodeHealth.Status.RED; | |||
import static org.sonar.process.cluster.health.NodeHealth.Status.YELLOW; | |||
import static org.sonar.server.health.HealthAssert.assertThat; | |||
import static org.sonar.server.common.health.HealthAssert.assertThat; | |||
public class AppNodeClusterCheckTest { | |||
private final Random random = new Random(); | |||
@@ -175,8 +176,8 @@ public class AppNodeClusterCheckTest { | |||
randomNumberOfAppNodeHealthOfAnyStatus(GREEN), | |||
// 2 GREEN | |||
nodeHealths(GREEN, GREEN)) | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
Health check = underTest.check(nodeHealths); | |||
@@ -195,8 +196,8 @@ public class AppNodeClusterCheckTest { | |||
randomNumberOfAppNodeHealthOfAnyStatus(GREEN, YELLOW), | |||
// 2 GREEN | |||
nodeHealths(GREEN, GREEN)) | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
Health check = underTest.check(nodeHealths); | |||
assertThat(check) | |||
@@ -214,8 +215,8 @@ public class AppNodeClusterCheckTest { | |||
randomNumberOfAppNodeHealthOfAnyStatus(GREEN, RED), | |||
// 2 GREEN | |||
nodeHealths(GREEN, GREEN)) | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
Health check = underTest.check(nodeHealths); | |||
assertThat(check) | |||
@@ -235,8 +236,8 @@ public class AppNodeClusterCheckTest { | |||
randomNumberOfAppNodeHealthOfAnyStatus(RED, YELLOW, GREEN), | |||
// 2 GREEN | |||
nodeHealths(GREEN, GREEN)) | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
.flatMap(s -> s) | |||
.collect(toSet()); | |||
Health check = underTest.check(nodeHealths); | |||
@@ -262,7 +263,7 @@ public class AppNodeClusterCheckTest { | |||
IntStream.range(0, random.nextInt(3)) | |||
.mapToObj(i -> appNodeHealth(NodeDetails.Type.SEARCH, NodeHealth.Status.values()[random.nextInt(NodeHealth.Status.values().length)])), | |||
Arrays.stream(appNodeStatuses).map(this::appNodeHealth)) | |||
.flatMap(s -> s); | |||
.flatMap(s -> s); | |||
} | |||
private NodeHealth appNodeHealth(NodeHealth.Status status) { |
@@ -17,10 +17,12 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.junit.Test; | |||
import org.sonar.server.app.ProcessCommandWrapper; | |||
import org.sonar.server.common.health.CeStatusNodeCheck; | |||
import org.sonar.server.health.Health; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.mockito.Mockito.mock; |
@@ -17,13 +17,15 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.junit.Before; | |||
import org.junit.Test; | |||
import org.sonar.db.DbClient; | |||
import org.sonar.db.DbSession; | |||
import org.sonar.db.IsAliveMapper; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.Health; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.mockito.ArgumentMatchers.anyBoolean; |
@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import com.google.common.collect.ImmutableSet; | |||
import java.util.Random; | |||
@@ -27,7 +27,9 @@ import org.junit.Test; | |||
import org.mockito.Mockito; | |||
import org.sonar.process.cluster.health.NodeDetails; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.server.common.health.EsStatusClusterCheck; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.health.Health; | |||
import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric; | |||
import static org.assertj.core.api.Assertions.assertThat; |
@@ -17,12 +17,14 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.elasticsearch.cluster.health.ClusterHealthStatus; | |||
import org.junit.Test; | |||
import org.mockito.Mockito; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.es.EsClient; | |||
import org.sonar.server.health.Health; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
import static org.mockito.ArgumentMatchers.any; |
@@ -17,7 +17,7 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import com.google.common.collect.ImmutableList; | |||
import java.util.Arrays; | |||
@@ -29,6 +29,7 @@ import java.util.stream.Collectors; | |||
import javax.annotation.Nullable; | |||
import org.assertj.core.api.AbstractAssert; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.server.health.Health; | |||
final class HealthAssert extends AbstractAssert<HealthAssert, Health> { | |||
private Set<NodeHealth> nodeHealths; |
@@ -17,9 +17,11 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import org.junit.Test; | |||
import org.sonar.server.common.health.WebServerSafemodeNodeCheck; | |||
import org.sonar.server.health.Health; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -17,12 +17,14 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.health; | |||
package org.sonar.server.common.health; | |||
import java.util.Arrays; | |||
import java.util.Random; | |||
import org.junit.Test; | |||
import org.sonar.server.app.RestartFlagHolder; | |||
import org.sonar.server.common.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.health.Health; | |||
import org.sonar.server.platform.Platform; | |||
import org.sonar.server.platform.db.migration.DatabaseMigrationState; | |||
@@ -17,15 +17,15 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.platform.ws; | |||
package org.sonar.server.common.platform; | |||
import org.assertj.core.api.Assertions; | |||
import org.junit.Test; | |||
import org.sonar.server.health.CeStatusNodeCheck; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.CeStatusNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.health.Health; | |||
import org.sonar.server.health.WebServerStatusNodeCheck; | |||
import static org.mockito.Mockito.mock; | |||
import static org.mockito.Mockito.when; |
@@ -17,11 +17,12 @@ | |||
* along with this program; if not, write to the Free Software Foundation, | |||
* Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |||
*/ | |||
package org.sonar.server.platform.ws; | |||
package org.sonar.server.common.platform; | |||
import org.assertj.core.api.Assertions; | |||
import org.junit.Test; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.platform.SafeModeLivenessCheckerImpl; | |||
import org.sonar.server.health.Health; | |||
import static org.mockito.Mockito.mock; |
@@ -14,9 +14,8 @@ dependencies { | |||
api project(':server:sonar-db-dao') | |||
api project(':server:sonar-webserver-common') | |||
// We are not supposed to have a v1 dependency. The ideal would be to have another common module between webapi and webapi-v2 but that needs a lot of refactoring. | |||
api project(':server:sonar-webserver-webapi') | |||
testImplementation 'javax.servlet:javax.servlet-api' | |||
testImplementation 'org.mockito:mockito-core' | |||
testImplementation 'org.springframework:spring-test' | |||
testImplementation 'org.skyscreamer:jsonassert:1.5.1' |
@@ -20,8 +20,8 @@ | |||
package org.sonar.server.v2.api.system.controller; | |||
import javax.annotation.Nullable; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
import org.sonar.server.exceptions.ForbiddenException; | |||
import org.sonar.server.platform.ws.LivenessChecker; | |||
import org.sonar.server.user.SystemPasscode; | |||
import org.sonar.server.user.UserSession; | |||
@@ -20,15 +20,15 @@ | |||
package org.sonar.server.v2.config; | |||
import javax.annotation.Nullable; | |||
import org.sonar.server.common.health.CeStatusNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
import org.sonar.server.common.platform.LivenessCheckerImpl; | |||
import org.sonar.server.common.user.service.UserService; | |||
import org.sonar.server.health.CeStatusNodeCheck; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.health.HealthChecker; | |||
import org.sonar.server.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.platform.NodeInformation; | |||
import org.sonar.server.platform.ws.LivenessChecker; | |||
import org.sonar.server.platform.ws.LivenessCheckerImpl; | |||
import org.sonar.server.user.SystemPasscode; | |||
import org.sonar.server.user.UserSession; | |||
import org.sonar.server.v2.api.system.controller.DefaultLivenessController; |
@@ -19,10 +19,10 @@ | |||
*/ | |||
package org.sonar.server.v2.config; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
import org.sonar.server.common.platform.SafeModeLivenessCheckerImpl; | |||
import org.sonar.server.health.HealthChecker; | |||
import org.sonar.server.platform.ws.LivenessChecker; | |||
import org.sonar.server.platform.ws.SafeModeLivenessCheckerImpl; | |||
import org.sonar.server.user.SystemPasscode; | |||
import org.sonar.server.v2.api.system.controller.DefaultLivenessController; | |||
import org.sonar.server.v2.api.system.controller.HealthController; |
@@ -21,7 +21,7 @@ package org.sonar.server.v2.api.system.controller; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.sonar.server.platform.ws.LivenessChecker; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
import org.sonar.server.tester.UserSessionRule; | |||
import org.sonar.server.user.SystemPasscode; | |||
import org.sonar.server.v2.api.ControllerTester; |
@@ -25,6 +25,9 @@ import javax.annotation.CheckForNull; | |||
import javax.annotation.Nullable; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.process.cluster.health.SharedHealthState; | |||
import org.sonar.server.common.health.ClusterHealthCheck; | |||
import org.sonar.server.common.health.HealthReducer; | |||
import org.sonar.server.common.health.NodeHealthCheck; | |||
import org.sonar.server.platform.NodeInformation; | |||
import org.springframework.beans.factory.annotation.Autowired; | |||
@@ -20,13 +20,13 @@ | |||
package org.sonar.server.platform.ws; | |||
import org.sonar.core.platform.Module; | |||
import org.sonar.server.health.AppNodeClusterCheck; | |||
import org.sonar.server.health.CeStatusNodeCheck; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusClusterCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.AppNodeClusterCheck; | |||
import org.sonar.server.common.health.CeStatusNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusClusterCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.health.HealthCheckerImpl; | |||
import org.sonar.server.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.common.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.platform.NodeInformation; | |||
public class HealthCheckerModule extends Module { |
@@ -21,6 +21,7 @@ package org.sonar.server.platform.ws; | |||
import org.sonar.api.server.ws.Response; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
public class LivenessActionSupport { | |||
@@ -20,10 +20,10 @@ | |||
package org.sonar.server.platform.ws; | |||
import org.sonar.core.platform.Module; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.health.HealthCheckerImpl; | |||
import org.sonar.server.health.WebServerSafemodeNodeCheck; | |||
import org.sonar.server.common.health.WebServerSafemodeNodeCheck; | |||
public class SafeModeHealthCheckerModule extends Module { | |||
@Override |
@@ -20,6 +20,7 @@ | |||
package org.sonar.server.platform.ws; | |||
import org.sonar.core.platform.Module; | |||
import org.sonar.server.common.platform.SafeModeLivenessCheckerImpl; | |||
import org.sonar.server.monitoring.MonitoringWs; | |||
import org.sonar.server.user.BearerPasscode; | |||
@@ -20,6 +20,7 @@ | |||
package org.sonar.server.platform.ws; | |||
import org.sonar.core.platform.Module; | |||
import org.sonar.server.common.platform.LivenessCheckerImpl; | |||
public class SystemWsModule extends Module { | |||
@@ -32,6 +32,8 @@ import org.junit.Test; | |||
import org.sonar.process.cluster.health.NodeDetails; | |||
import org.sonar.process.cluster.health.NodeHealth; | |||
import org.sonar.process.cluster.health.SharedHealthState; | |||
import org.sonar.server.common.health.ClusterHealthCheck; | |||
import org.sonar.server.common.health.NodeHealthCheck; | |||
import org.sonar.server.platform.NodeInformation; | |||
import static org.apache.commons.lang.RandomStringUtils.randomAlphanumeric; |
@@ -24,15 +24,15 @@ import java.util.Random; | |||
import java.util.stream.Collectors; | |||
import org.junit.Test; | |||
import org.sonar.core.platform.ListContainer; | |||
import org.sonar.server.health.AppNodeClusterCheck; | |||
import org.sonar.server.health.CeStatusNodeCheck; | |||
import org.sonar.server.health.ClusterHealthCheck; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusClusterCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.AppNodeClusterCheck; | |||
import org.sonar.server.common.health.CeStatusNodeCheck; | |||
import org.sonar.server.common.health.ClusterHealthCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusClusterCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.health.HealthCheckerImpl; | |||
import org.sonar.server.health.NodeHealthCheck; | |||
import org.sonar.server.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.common.health.NodeHealthCheck; | |||
import org.sonar.server.common.health.WebServerStatusNodeCheck; | |||
import org.sonar.server.platform.NodeInformation; | |||
import static org.assertj.core.api.Assertions.assertThat; |
@@ -22,6 +22,7 @@ package org.sonar.server.platform.ws; | |||
import org.junit.Rule; | |||
import org.junit.Test; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
import org.sonar.server.exceptions.ForbiddenException; | |||
import org.sonar.server.tester.UserSessionRule; | |||
import org.sonar.server.user.SystemPasscode; |
@@ -23,11 +23,11 @@ import java.util.List; | |||
import java.util.stream.Collectors; | |||
import org.junit.Test; | |||
import org.sonar.core.platform.ListContainer; | |||
import org.sonar.server.health.DbConnectionNodeCheck; | |||
import org.sonar.server.health.EsStatusNodeCheck; | |||
import org.sonar.server.common.health.DbConnectionNodeCheck; | |||
import org.sonar.server.common.health.EsStatusNodeCheck; | |||
import org.sonar.server.health.HealthCheckerImpl; | |||
import org.sonar.server.health.NodeHealthCheck; | |||
import org.sonar.server.health.WebServerSafemodeNodeCheck; | |||
import org.sonar.server.common.health.NodeHealthCheck; | |||
import org.sonar.server.common.health.WebServerSafemodeNodeCheck; | |||
import static org.assertj.core.api.Assertions.assertThat; | |||
@@ -21,6 +21,7 @@ package org.sonar.server.platform.ws; | |||
import org.junit.Test; | |||
import org.sonar.api.server.ws.WebService; | |||
import org.sonar.server.common.platform.LivenessChecker; | |||
import org.sonar.server.exceptions.ForbiddenException; | |||
import org.sonar.server.user.SystemPasscode; | |||
import org.sonar.server.ws.TestRequest; |