INFRA-3746 | Abhishek | Configure different image for golang diagnostics
This commit is contained in:
@@ -11,7 +11,8 @@ import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.get
|
||||
import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.getEnvironment;
|
||||
import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.getLanguage;
|
||||
import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.getNamespace;
|
||||
import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.getPort;
|
||||
import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.getPortForDiagnostics;
|
||||
import static com.navi.infra.portal.v2.diagnostic.DiagnosticServiceUtilities.getRunnerImage;
|
||||
import static java.util.stream.Collectors.toList;
|
||||
|
||||
import com.navi.infra.portal.client.AwsS3Client;
|
||||
@@ -42,6 +43,8 @@ class DiagnosticServiceImpl implements DiagnosticService {
|
||||
private final String dagId;
|
||||
private final String vertical;
|
||||
private final String runnerImage;
|
||||
|
||||
private final String golangRunnerImage;
|
||||
private final String airflowUrl;
|
||||
|
||||
public DiagnosticServiceImpl(
|
||||
@@ -52,12 +55,14 @@ class DiagnosticServiceImpl implements DiagnosticService {
|
||||
@Value("${service-dump.dag.id}") String dagId,
|
||||
@Value("${portal.vertical}") String vertical,
|
||||
@Value("${service-dump.image.name}") String runnerImage,
|
||||
@Value("${golang-service-dump.image.name}") String golangRunnerImage,
|
||||
@Value("${airflow.url}") String airflowUrl
|
||||
) {
|
||||
this.airflowClient = airflowClient;
|
||||
this.manifestService = manifestService;
|
||||
this.diagnosticRepository = diagnosticRepository;
|
||||
this.awsS3Client = awsS3Client;
|
||||
this.golangRunnerImage = golangRunnerImage;
|
||||
this.dagId = dagId;
|
||||
this.vertical = vertical;
|
||||
this.runnerImage = runnerImage;
|
||||
@@ -72,7 +77,7 @@ class DiagnosticServiceImpl implements DiagnosticService {
|
||||
final var environment = getEnvironment(manifest);
|
||||
final var manifestName = manifest.getName();
|
||||
final var language = getLanguage(manifest);
|
||||
final var port = getPort(manifest);
|
||||
final var port = getPortForDiagnostics(manifest);
|
||||
return createDiagnostic(
|
||||
triggerDiagnosticRequest, cluster, namespace, environment, manifestName, language, port
|
||||
)
|
||||
@@ -144,6 +149,8 @@ class DiagnosticServiceImpl implements DiagnosticService {
|
||||
final var diagnosticPath = getDiagnosticPath(environment, manifestName);
|
||||
final var diagnosticType = triggerDiagnosticRequest.getDiagnosticType();
|
||||
|
||||
final var image = getRunnerImage(language, runnerImage, golangRunnerImage);
|
||||
|
||||
DiagnosticTriggerRequestBuilder requestBuilder = new DiagnosticTriggerRequestBuilder()
|
||||
.cluster(cluster)
|
||||
.namespace(namespace)
|
||||
@@ -153,7 +160,7 @@ class DiagnosticServiceImpl implements DiagnosticService {
|
||||
.dagId(dagId)
|
||||
.runId(createRunId(podName, instant))
|
||||
.containerName(getContainerFromPod(podName))
|
||||
.runnerImage(runnerImage)
|
||||
.runnerImage(image)
|
||||
.diagnosticResultName(diagnosticResultName)
|
||||
.diagnosticType(diagnosticType.getName())
|
||||
.isFullDump(triggerDiagnosticRequest.isFullDump())
|
||||
|
||||
@@ -63,9 +63,12 @@ public class DiagnosticServiceUtilities {
|
||||
"Language is not present in manifest " + manifest.fullName());
|
||||
}
|
||||
|
||||
static Integer getPort(Manifest manifest) {
|
||||
return requireNonNull(manifest.getDeployment().getMetricsPort(),
|
||||
"Metrics port is not present in manifest " + manifest.fullName());
|
||||
static Integer getPortForDiagnostics(Manifest manifest) {
|
||||
if (manifest.getMetadata().getLanguage().equals("Golang")) {
|
||||
return requireNonNull(manifest.getDeployment().getMetricsPort(),
|
||||
"Metrics port is not present in manifest " + manifest.fullName());
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
static String getNamespace(Manifest manifest) {
|
||||
@@ -85,4 +88,19 @@ public class DiagnosticServiceUtilities {
|
||||
static String getDiagnosticTaskLogUrl(String airflowUrl, String logUrl) {
|
||||
return airflowUrl + "/" + logUrl;
|
||||
}
|
||||
|
||||
static String getRunnerImage(
|
||||
String language,
|
||||
String javaRunnerImage,
|
||||
String golangRunnerImage
|
||||
) {
|
||||
switch (language) {
|
||||
case "Golang":
|
||||
return golangRunnerImage;
|
||||
case "Java":
|
||||
case "Kotlin":
|
||||
return javaRunnerImage;
|
||||
}
|
||||
throw new RuntimeException("Could not find runnner image for language " + language);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -70,6 +70,7 @@ airflow.url=${AIRFLOW_URL}
|
||||
airflow.token=${AIRFLOW_AUTH_TOKEN}
|
||||
service-dump.dag.id=${SERVICE_DUMP_DAG_ID}
|
||||
service-dump.image.name=${SERVICE_DUMP_IMAGE_NAME:193044292705.dkr.ecr.ap-south-1.amazonaws.com/common/jdk11-diagnostic:v101e0a93f95d3989fe6484cd5c0dae05cfe0ce3b}
|
||||
golang-service-dump.image.name=${GOLANG_SERVICE_DUMP_IMAGE_NAME:193044292705.dkr.ecr.ap-south-1.amazonaws.com/common/golang-diagnostic:v3db848072fbfb602c1c17c2b5f733dc58005f099}
|
||||
aws.profile=${AWS_PROFILE:default}
|
||||
spring.mvc.async.request-timeout=1800000
|
||||
jit.number_of_prod_approvals=2
|
||||
|
||||
@@ -72,6 +72,7 @@ jit.slack.policy.upload.channel.id=C0000000000
|
||||
jit.max-grant-window=24
|
||||
slackbot.token=xoxb-676123123123-123123123123-123123123123-123123123123
|
||||
service-dump.image.name=${SERVICE_DUMP_IMAGE_NAME:193044292705.dkr.ecr.ap-south-1.amazonaws.com/common/jdk11-diagnostic:va39edbc8ebfbe68aedb776566e11b88cb4920d75}
|
||||
golang-service-dump.image.name=${GOLANG_SERVICE_DUMP_IMAGE_NAME:193044292705.dkr.ecr.ap-south-1.amazonaws.com/common/golang-diagnostic:v3db848072fbfb602c1c17c2b5f733dc58005f099}
|
||||
github.token=${GITHUB_CLOUD_OAUTH_TOKEN:token}
|
||||
gocd.pipelines.config="{\"navi-data-science\":{\"gocdServerUrl\":\"https://datascience-pipelines.cmd.navi-tech.in\",\"gocdAdminAccessToken\":\"datascience-token\"},\"navi-infra\":{\"gocdServerUrl\":\"https://infra-pipelines.cmd.navi-tech.in\",\"gocdAdminAccessToken\":\"infra-token\"},\"default\":{\"gocdServerUrl\":\"https://pipelines.cmd.navi-tech.in\",\"gocdAdminAccessToken\":\"pipelines-token\"}}"
|
||||
vertical.owner.map={'lending':{'navi-data-science':'navi-data-science','default':'navi-medici'},'insurance':{'default':'navi-gi'},'sa':{'default':'navi-sa'},'amc':{'default':'navi-amc'},'navi-pay':{'default':'navi-pay'},'navi-ppl':{'default':'navi-ppl'}}
|
||||
|
||||
Reference in New Issue
Block a user