From a1f28977cd7e9d2f5849ce3d72a0cad2cb82be3f Mon Sep 17 00:00:00 2001 From: Min Xia Date: Thu, 24 Oct 2024 15:05:07 -0700 Subject: [PATCH] Fix Lambda canary tests --- .../node/lambda/lambda/{lary_arns.tf => layer_arns.tf} | 0 terraform/node/lambda/lambda/main.tf | 3 ++- terraform/node/lambda/lambda/variables.tf | 6 ++++++ .../lambda/lambda/{lary_arns.tf => layer_arns.tf} | 0 terraform/python/lambda/lambda/main.tf | 2 +- terraform/python/lambda/lambda/variables.tf | 6 ++++++ .../node/lambda/lambda-invoke-trace.mustache | 10 ++++------ .../python/lambda/lambda-invoke-trace.mustache | 10 ++++------ 8 files changed, 23 insertions(+), 14 deletions(-) rename terraform/node/lambda/lambda/{lary_arns.tf => layer_arns.tf} (100%) rename terraform/python/lambda/lambda/{lary_arns.tf => layer_arns.tf} (100%) diff --git a/terraform/node/lambda/lambda/lary_arns.tf b/terraform/node/lambda/lambda/layer_arns.tf similarity index 100% rename from terraform/node/lambda/lambda/lary_arns.tf rename to terraform/node/lambda/lambda/layer_arns.tf diff --git a/terraform/node/lambda/lambda/main.tf b/terraform/node/lambda/lambda/main.tf index 3d098329d..4c5fb2fff 100644 --- a/terraform/node/lambda/lambda/main.tf +++ b/terraform/node/lambda/lambda/main.tf @@ -1,6 +1,7 @@ locals { architecture = var.architecture == "x86_64" ? "amd64" : "arm64" } + resource "aws_lambda_layer_version" "sdk_layer" { count = var.is_canary ? 0 : 1 layer_name = var.sdk_layer_name @@ -26,7 +27,7 @@ module "hello-lambda-function" { memory_size = 512 timeout = 30 - layers = var.is_canary ? [local.sdk_layer_arns_amd64.us-west-1] : [aws_lambda_layer_version.sdk_layer[0].arn] + layers = var.is_canary ? [local.sdk_layer_arns_amd64[var.region]] : [aws_lambda_layer_version.sdk_layer[0].arn] environment_variables = { AWS_LAMBDA_EXEC_WRAPPER = "/opt/otel-instrument" diff --git a/terraform/node/lambda/lambda/variables.tf b/terraform/node/lambda/lambda/variables.tf index 9bca5c4a9..b20a2e500 100644 --- a/terraform/node/lambda/lambda/variables.tf +++ b/terraform/node/lambda/lambda/variables.tf @@ -28,6 +28,12 @@ variable "architecture" { default = "x86_64" } +variable "region" { + type = string + description = "Lambda function running region, default value is us-west-2" + default = "us-west-2" +} + variable "is_canary" { type = bool default = false diff --git a/terraform/python/lambda/lambda/lary_arns.tf b/terraform/python/lambda/lambda/layer_arns.tf similarity index 100% rename from terraform/python/lambda/lambda/lary_arns.tf rename to terraform/python/lambda/lambda/layer_arns.tf diff --git a/terraform/python/lambda/lambda/main.tf b/terraform/python/lambda/lambda/main.tf index f8a018e10..696c472f7 100644 --- a/terraform/python/lambda/lambda/main.tf +++ b/terraform/python/lambda/lambda/main.tf @@ -26,7 +26,7 @@ module "hello-lambda-function" { memory_size = 512 timeout = 30 - layers = var.is_canary ? [local.sdk_layer_arns_amd64.us-west-1] : [aws_lambda_layer_version.sdk_layer[0].arn] + layers = var.is_canary ? [local.sdk_layer_arns_amd64[var.region]] : [aws_lambda_layer_version.sdk_layer[0].arn] environment_variables = { AWS_LAMBDA_EXEC_WRAPPER = "/opt/otel-instrument" diff --git a/terraform/python/lambda/lambda/variables.tf b/terraform/python/lambda/lambda/variables.tf index 1766306b7..5021d5150 100644 --- a/terraform/python/lambda/lambda/variables.tf +++ b/terraform/python/lambda/lambda/variables.tf @@ -34,6 +34,12 @@ variable "is_canary" { description = "Whether to create the resource or not" } +variable "region" { + type = string + description = "Lambda function running region, default value is us-west-2" + default = "us-west-2" +} + variable "layer_artifacts_directory" { type = string default = "./layer_artifacts" diff --git a/validator/src/main/resources/expected-data-template/node/lambda/lambda-invoke-trace.mustache b/validator/src/main/resources/expected-data-template/node/lambda/lambda-invoke-trace.mustache index d9e078065..0b97f1532 100644 --- a/validator/src/main/resources/expected-data-template/node/lambda/lambda-invoke-trace.mustache +++ b/validator/src/main/resources/expected-data-template/node/lambda/lambda-invoke-trace.mustache @@ -2,26 +2,24 @@ "name": "^{{serviceName}}$", "annotations": { "aws.local.service": "^{{serviceName}}$", - "aws.local.operation": "^{{serviceName}}/FunctionHandler$", - "aws.local.environment": "^lambda:default$" + "aws.local.operation": "^{{serviceName}}/FunctionHandler$" }, "metadata": { "default": { - "faas.id": "arn:aws:lambda:{{region}}:{{accountId}}:function:{{serviceName}}$", + "faas.id": "arn:aws:lambda:{{region}}:{{accountId}}:function:{{serviceName}}$" } }, "subsegments": [ { "name": "^S3$", "aws": { - "span.kind": "^CLIENT$", + "span.kind": "^CLIENT$" }, "annotations": { "aws.local.service": "^{{serviceName}}$", "aws.local.operation": "^S3.ListBuckets$", "aws.remote.service": "^AWS::S3$", - "aws.remote.operation": "^ListBuckets$", - "aws.local.environment": "^lambda:default$" + "aws.remote.operation": "^ListBuckets$" }, "metadata": { "default": { diff --git a/validator/src/main/resources/expected-data-template/python/lambda/lambda-invoke-trace.mustache b/validator/src/main/resources/expected-data-template/python/lambda/lambda-invoke-trace.mustache index d9e078065..0b97f1532 100644 --- a/validator/src/main/resources/expected-data-template/python/lambda/lambda-invoke-trace.mustache +++ b/validator/src/main/resources/expected-data-template/python/lambda/lambda-invoke-trace.mustache @@ -2,26 +2,24 @@ "name": "^{{serviceName}}$", "annotations": { "aws.local.service": "^{{serviceName}}$", - "aws.local.operation": "^{{serviceName}}/FunctionHandler$", - "aws.local.environment": "^lambda:default$" + "aws.local.operation": "^{{serviceName}}/FunctionHandler$" }, "metadata": { "default": { - "faas.id": "arn:aws:lambda:{{region}}:{{accountId}}:function:{{serviceName}}$", + "faas.id": "arn:aws:lambda:{{region}}:{{accountId}}:function:{{serviceName}}$" } }, "subsegments": [ { "name": "^S3$", "aws": { - "span.kind": "^CLIENT$", + "span.kind": "^CLIENT$" }, "annotations": { "aws.local.service": "^{{serviceName}}$", "aws.local.operation": "^S3.ListBuckets$", "aws.remote.service": "^AWS::S3$", - "aws.remote.operation": "^ListBuckets$", - "aws.local.environment": "^lambda:default$" + "aws.remote.operation": "^ListBuckets$" }, "metadata": { "default": {