From 27f1cb6e066e9cb303e2d7ffb0151b19ec1080a9 Mon Sep 17 00:00:00 2001 From: Aman Brar Date: Fri, 4 Dec 2020 13:39:14 -0500 Subject: [PATCH] removed env vars entirely and updated prometheus validator (#173) --- terraform/basic_components/main.tf | 2 ++ terraform/basic_components/variables.tf | 8 +++++ terraform/canary/amis.tf | 2 -- terraform/ec2/amis.tf | 3 -- terraform/ec2/main.tf | 5 ++- terraform/ec2_setup/amis.tf | 2 -- terraform/eks/main.tf | 10 ++++-- terraform/eks/pull_mode_deployment.tf | 32 +++++++++++++------ terraform/mock/main.tf | 2 ++ terraform/templates/local/docker_compose.tpl | 2 -- .../local/docker_compose_from_source.tpl | 2 -- .../testcases/prometheus_mock/otconfig.tpl | 2 +- .../testcases/prometheus_static/otconfig.tpl | 2 +- .../validators/PrometheusMetricValidator.java | 17 +++++----- 14 files changed, 56 insertions(+), 35 deletions(-) diff --git a/terraform/basic_components/main.tf b/terraform/basic_components/main.tf index 42087638a..fc4540ec9 100644 --- a/terraform/basic_components/main.tf +++ b/terraform/basic_components/main.tf @@ -74,6 +74,8 @@ data "template_file" "otconfig" { grpc_port = module.common.grpc_port udp_port = module.common.udp_port cortex_instance_endpoint = var.cortex_instance_endpoint + sample_app_listen_address_host = var.sample_app_listen_address_host + sample_app_listen_address_port = var.sample_app_listen_address_port mock_endpoint = var.mocked_endpoint } diff --git a/terraform/basic_components/variables.tf b/terraform/basic_components/variables.tf index 749498fc4..3bd28035a 100644 --- a/terraform/basic_components/variables.tf +++ b/terraform/basic_components/variables.tf @@ -32,3 +32,11 @@ variable "sample_app" { variable "cortex_instance_endpoint" { default = "" } + +variable "sample_app_listen_address_host" { + default = "" +} + +variable "sample_app_listen_address_port" { + default = "" +} diff --git a/terraform/canary/amis.tf b/terraform/canary/amis.tf index b174b10d4..5c692354a 100644 --- a/terraform/canary/amis.tf +++ b/terraform/canary/amis.tf @@ -7,7 +7,6 @@ variable "ami_family" { otconfig_destination = "/tmp/ot-default.yml" download_command_pattern = "wget %s" install_command = "sudo rpm -Uvh aws-otel-collector.rpm" - set_env_var_command = "sudo chmod 777 /opt/aws/aws-otel-collector/etc/.env && sudo echo 'SAMPLE_APP_HOST=%s' >> /opt/aws/aws-otel-collector/etc/.env && sudo echo 'SAMPLE_APP_PORT=%s' >> /opt/aws/aws-otel-collector/etc/.env" start_command = "sudo /opt/aws/aws-otel-collector/bin/aws-otel-collector-ctl -c /tmp/ot-default.yml -a start" connection_type = "ssh" user_data = "" @@ -19,7 +18,6 @@ variable "ami_family" { otconfig_destination = "C:\\ot-default.yml" download_command_pattern = "powershell -command \"Invoke-WebRequest -Uri %s -OutFile C:\\aws-otel-collector.msi\"" install_command = "msiexec /i C:\\aws-otel-collector.msi" - set_env_var_command = "powershell \"[System.Environment]::SetEnvironmentVariable('SAMPLE_APP_HOST', '%s', [System.EnvironmentVariableTarget]::Machine); [System.Environment]::SetEnvironmentVariable('SAMPLE_APP_PORT', '%s', [System.EnvironmentVariableTarget]::Machine)\"" start_command = "powershell \"& 'C:\\Program Files\\Amazon\\AwsOtelCollector\\aws-otel-collector-ctl.ps1' -ConfigLocation C:\\ot-default.yml -Action start\"" connection_type = "winrm" user_data = < expectedMetricList = this.getExpectedMetricList(context); + log.info("sleeping to allow metrics to propogate through AOC"); + TimeUnit.SECONDS.sleep(30); + log.info("resuming validation"); - // get metric from cortex - CortexService cortexService = new CortexService(context); RetryHelper.retry( MAX_RETRY_COUNT, () -> { + // get expected metrics + List expectedMetricList = this.getExpectedMetricList(context); + // get metric from cortex + CortexService cortexService = new CortexService(context); + List metricList = this.listMetricFromPrometheus(cortexService, expectedMetricList); @@ -103,11 +107,6 @@ private void compareMetricLists(List toBeCheckedMetricList, private List getExpectedMetricList(Context context) throws Exception { if (!validationConfig.getExpectedResultPath().isEmpty()) { - // add delay to allow sample app lb to start - log.info("sleeping to allow sample app lb to start"); - TimeUnit.SECONDS.sleep(30); - log.info("resuming validation"); - log.info("getting expected metrics from sample endpoint"); PullModeSampleAppClient> pullModeSampleAppClient = new PullModeSampleAppClient<>(context,