From edd96c9fb8315276e96505ed802a2f331872dc89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Ma=C5=82ek?= Date: Thu, 19 Nov 2020 17:28:50 +0100 Subject: [PATCH 1/2] Only import sources when collector exists --- deploy/helm/sumologic/conf/setup/setup.sh | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/deploy/helm/sumologic/conf/setup/setup.sh b/deploy/helm/sumologic/conf/setup/setup.sh index fb55e10c0c..9b56c62a9e 100755 --- a/deploy/helm/sumologic/conf/setup/setup.sh +++ b/deploy/helm/sumologic/conf/setup/setup.sh @@ -60,8 +60,8 @@ fi readonly COLLECTOR_NAME="{{ template "terraform.collector.name" . }}" # Sumo Logic Collector and HTTP sources -terraform import sumologic_collector.collector "${COLLECTOR_NAME}" - +# Only import sources when collector exists. +if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then {{- $ctx := .Values -}} {{- range $type, $sources := .Values.sumologic.sources }} {{- if eq (include "terraform.sources.component_enabled" (dict "Context" $ctx "Type" $type)) "true" }} @@ -72,6 +72,7 @@ terraform import sumologic_http_source.{{ template "terraform.sources.name" (dic {{- end }} {{- end }} {{- end }} +fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret {{ template "terraform.secret.fullname" . }} From 9d32b8b1f6d6699b20bf42e44ff793a0c8bffa5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patryk=20Ma=C5=82ek?= Date: Thu, 19 Nov 2020 17:45:02 +0100 Subject: [PATCH 2/2] Fix tests --- tests/terraform/static/all_fields.output.yaml | 4 +++- tests/terraform/static/collector_fields.output.yaml | 4 +++- tests/terraform/static/conditional_sources.output.yaml | 4 +++- tests/terraform/static/custom.output.yaml | 4 +++- tests/terraform/static/default.output.yaml | 4 +++- tests/terraform/static/disable_default_metrics.output.yaml | 4 +++- tests/terraform/static/strip_extrapolation.output.yaml | 4 +++- tests/terraform/static/traces.output.yaml | 4 +++- 8 files changed, 24 insertions(+), 8 deletions(-) diff --git a/tests/terraform/static/all_fields.output.yaml b/tests/terraform/static/all_fields.output.yaml index 97cf6c9cd4..e7499df9d2 100644 --- a/tests/terraform/static/all_fields.output.yaml +++ b/tests/terraform/static/all_fields.output.yaml @@ -332,7 +332,8 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then terraform import sumologic_http_source.default_events_source "${COLLECTOR_NAME}/events" terraform import sumologic_http_source.default_logs_source "${COLLECTOR_NAME}/logs" terraform import sumologic_http_source.apiserver_metrics_source "${COLLECTOR_NAME}/apiserver-metrics" @@ -344,6 +345,7 @@ data: terraform import sumologic_http_source.scheduler_metrics_source "${COLLECTOR_NAME}/kube-scheduler-metrics" terraform import sumologic_http_source.state_metrics_source "${COLLECTOR_NAME}/kube-state-metrics" terraform import sumologic_http_source.test_source_metrics_source "${COLLECTOR_NAME}/(Test source)" + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/collector_fields.output.yaml b/tests/terraform/static/collector_fields.output.yaml index 9873d1413e..2e467216e0 100644 --- a/tests/terraform/static/collector_fields.output.yaml +++ b/tests/terraform/static/collector_fields.output.yaml @@ -287,7 +287,8 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then terraform import sumologic_http_source.default_events_source "${COLLECTOR_NAME}/events" terraform import sumologic_http_source.default_logs_source "${COLLECTOR_NAME}/logs" terraform import sumologic_http_source.apiserver_metrics_source "${COLLECTOR_NAME}/apiserver-metrics" @@ -298,6 +299,7 @@ data: terraform import sumologic_http_source.node_metrics_source "${COLLECTOR_NAME}/node-exporter-metrics" terraform import sumologic_http_source.scheduler_metrics_source "${COLLECTOR_NAME}/kube-scheduler-metrics" terraform import sumologic_http_source.state_metrics_source "${COLLECTOR_NAME}/kube-state-metrics" + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/conditional_sources.output.yaml b/tests/terraform/static/conditional_sources.output.yaml index 9090728344..007e77fd5c 100644 --- a/tests/terraform/static/conditional_sources.output.yaml +++ b/tests/terraform/static/conditional_sources.output.yaml @@ -214,7 +214,9 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/custom.output.yaml b/tests/terraform/static/custom.output.yaml index 9090728344..007e77fd5c 100644 --- a/tests/terraform/static/custom.output.yaml +++ b/tests/terraform/static/custom.output.yaml @@ -214,7 +214,9 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/default.output.yaml b/tests/terraform/static/default.output.yaml index 5bfe76e9b8..27b71d3e55 100644 --- a/tests/terraform/static/default.output.yaml +++ b/tests/terraform/static/default.output.yaml @@ -285,7 +285,8 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then terraform import sumologic_http_source.default_events_source "${COLLECTOR_NAME}/events" terraform import sumologic_http_source.default_logs_source "${COLLECTOR_NAME}/logs" terraform import sumologic_http_source.apiserver_metrics_source "${COLLECTOR_NAME}/apiserver-metrics" @@ -296,6 +297,7 @@ data: terraform import sumologic_http_source.node_metrics_source "${COLLECTOR_NAME}/node-exporter-metrics" terraform import sumologic_http_source.scheduler_metrics_source "${COLLECTOR_NAME}/kube-scheduler-metrics" terraform import sumologic_http_source.state_metrics_source "${COLLECTOR_NAME}/kube-state-metrics" + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/disable_default_metrics.output.yaml b/tests/terraform/static/disable_default_metrics.output.yaml index 163918f21b..8dddf22024 100644 --- a/tests/terraform/static/disable_default_metrics.output.yaml +++ b/tests/terraform/static/disable_default_metrics.output.yaml @@ -278,7 +278,8 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then terraform import sumologic_http_source.default_events_source "${COLLECTOR_NAME}/events" terraform import sumologic_http_source.default_logs_source "${COLLECTOR_NAME}/logs" terraform import sumologic_http_source.apiserver_metrics_source "${COLLECTOR_NAME}/apiserver-metrics" @@ -288,6 +289,7 @@ data: terraform import sumologic_http_source.node_metrics_source "${COLLECTOR_NAME}/node-exporter-metrics" terraform import sumologic_http_source.scheduler_metrics_source "${COLLECTOR_NAME}/kube-scheduler-metrics" terraform import sumologic_http_source.state_metrics_source "${COLLECTOR_NAME}/kube-state-metrics" + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/strip_extrapolation.output.yaml b/tests/terraform/static/strip_extrapolation.output.yaml index 329ad8c78b..c68fd01360 100644 --- a/tests/terraform/static/strip_extrapolation.output.yaml +++ b/tests/terraform/static/strip_extrapolation.output.yaml @@ -286,7 +286,8 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then terraform import sumologic_http_source.default_events_source "${COLLECTOR_NAME}/events" terraform import sumologic_http_source.default_logs_source "${COLLECTOR_NAME}/logs" terraform import sumologic_http_source.apiserver_metrics_source "${COLLECTOR_NAME}/apiserver-metrics" @@ -297,6 +298,7 @@ data: terraform import sumologic_http_source.node_metrics_source "${COLLECTOR_NAME}/node-exporter-metrics" terraform import sumologic_http_source.scheduler_metrics_source "${COLLECTOR_NAME}/kube-scheduler-metrics" terraform import sumologic_http_source.state_metrics_source "${COLLECTOR_NAME}/kube-state-metrics" + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic diff --git a/tests/terraform/static/traces.output.yaml b/tests/terraform/static/traces.output.yaml index 53baeef1fd..4fdf634e34 100644 --- a/tests/terraform/static/traces.output.yaml +++ b/tests/terraform/static/traces.output.yaml @@ -222,8 +222,10 @@ data: readonly COLLECTOR_NAME="kubernetes" # Sumo Logic Collector and HTTP sources - terraform import sumologic_collector.collector "${COLLECTOR_NAME}" + # Only import sources when collector exists. + if terraform import sumologic_collector.collector "${COLLECTOR_NAME}"; then terraform import sumologic_http_source.default_traces_source "${COLLECTOR_NAME}/traces" + fi # Kubernetes Secret terraform import kubernetes_secret.sumologic_collection_secret sumologic/sumologic