From aae2eed1ff05a56ee41bcdf0822d52c3ca1857b9 Mon Sep 17 00:00:00 2001 From: thangchung Date: Sat, 4 Apr 2020 17:44:11 +0700 Subject: [PATCH 1/8] add debug and tracing annotations --- .../Dapr/DaprExtension.cs | 15 +++++++++++++++ test/E2ETest/testassets/generate/dapr.yaml | 4 ++++ test/E2ETest/testassets/projects/dapr/tye.yaml | 2 ++ 3 files changed, 21 insertions(+) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index e3b92110b..a205b3e13 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -137,6 +137,21 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati deployment.Annotations.Add("dapr.io/enabled", "true"); deployment.Annotations.Add("dapr.io/id", project.Name); deployment.Annotations.Add("dapr.io/port", (httpBinding.Port ?? 80).ToString(CultureInfo.InvariantCulture)); + + if (!config.Data.Any()) + { + continue; + } + + if (config.Data.ContainsKey("config")) + { + deployment.Annotations.Add("dapr.io/config", (config.Data["config"] ?? "tracing").ToString()); + } + + if (config.Data.ContainsKey("log-level")) + { + deployment.Annotations.Add("dapr.io/log-level", (config.Data["log-level"] ?? "info").ToString()); + } } } } diff --git a/test/E2ETest/testassets/generate/dapr.yaml b/test/E2ETest/testassets/generate/dapr.yaml index 4cbcc4e7e..2b1936ef1 100644 --- a/test/E2ETest/testassets/generate/dapr.yaml +++ b/test/E2ETest/testassets/generate/dapr.yaml @@ -6,6 +6,8 @@ metadata: dapr.io/enabled: 'true' dapr.io/id: 'dapr_test_project' dapr.io/port: '80' + dapr.io/config: 'tracing' + dapr.io/log-level: 'debug' labels: app.kubernetes.io/name: 'dapr_test_project' app.kubernetes.io/part-of: 'dapr_test_application' @@ -20,6 +22,8 @@ spec: dapr.io/enabled: 'true' dapr.io/id: 'dapr_test_project' dapr.io/port: '80' + dapr.io/config: 'tracing' + dapr.io/log-level: 'debug' labels: app.kubernetes.io/name: 'dapr_test_project' app.kubernetes.io/part-of: 'dapr_test_application' diff --git a/test/E2ETest/testassets/projects/dapr/tye.yaml b/test/E2ETest/testassets/projects/dapr/tye.yaml index 18ea15610..c292e8c12 100644 --- a/test/E2ETest/testassets/projects/dapr/tye.yaml +++ b/test/E2ETest/testassets/projects/dapr/tye.yaml @@ -1,6 +1,8 @@ name: dapr_test_application extensions: - name: dapr + config: tracing + log-level: debug services: - name: dapr_test_project project: dapr.csproj \ No newline at end of file From 49381f969562c84565850932174d1d102db0ed82 Mon Sep 17 00:00:00 2001 From: thangchung Date: Sat, 4 Apr 2020 17:52:49 +0700 Subject: [PATCH 2/8] fixed null reference possibly --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index a205b3e13..3727ab31d 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -143,14 +143,14 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati continue; } - if (config.Data.ContainsKey("config")) + if (config.Data.TryGetValue("config", out var daprConfig)) { - deployment.Annotations.Add("dapr.io/config", (config.Data["config"] ?? "tracing").ToString()); + deployment.Annotations.Add("dapr.io/config", (daprConfig.ToString() ?? "tracing").ToString(CultureInfo.InvariantCulture)); } - if (config.Data.ContainsKey("log-level")) + if (config.Data.TryGetValue("log-level", out var logLevel)) { - deployment.Annotations.Add("dapr.io/log-level", (config.Data["log-level"] ?? "info").ToString()); + deployment.Annotations.Add("dapr.io/log-level", (logLevel.ToString() ?? "info").ToString(CultureInfo.InvariantCulture)); } } } From 4d14ff951123b7485411dacd9192063cefcee328 Mon Sep 17 00:00:00 2001 From: thangchung Date: Tue, 7 Apr 2020 11:45:01 +0700 Subject: [PATCH 3/8] checked config is object removed redundant code --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index 3727ab31d..227caef0a 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -138,19 +138,14 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati deployment.Annotations.Add("dapr.io/id", project.Name); deployment.Annotations.Add("dapr.io/port", (httpBinding.Port ?? 80).ToString(CultureInfo.InvariantCulture)); - if (!config.Data.Any()) + if (config.Data.TryGetValue("config", out var daprConfig) && daprConfig is object) { - continue; + deployment.Annotations.TryAdd("dapr.io/config", daprConfig.ToString()); } - if (config.Data.TryGetValue("config", out var daprConfig)) + if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) { - deployment.Annotations.Add("dapr.io/config", (daprConfig.ToString() ?? "tracing").ToString(CultureInfo.InvariantCulture)); - } - - if (config.Data.TryGetValue("log-level", out var logLevel)) - { - deployment.Annotations.Add("dapr.io/log-level", (logLevel.ToString() ?? "info").ToString(CultureInfo.InvariantCulture)); + deployment.Annotations.TryAdd("dapr.io/log-level", logLevel.ToString()); } } } From 1af24900d893300c2bc241ee23c43f1df3286c89 Mon Sep 17 00:00:00 2001 From: thangchung Date: Tue, 7 Apr 2020 11:48:06 +0700 Subject: [PATCH 4/8] fixed possible nullable object --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index 227caef0a..9516db12d 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -140,12 +140,12 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati if (config.Data.TryGetValue("config", out var daprConfig) && daprConfig is object) { - deployment.Annotations.TryAdd("dapr.io/config", daprConfig.ToString()); + deployment.Annotations.TryAdd("dapr.io/config", daprConfig?.ToString()); } if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) { - deployment.Annotations.TryAdd("dapr.io/log-level", logLevel.ToString()); + deployment.Annotations.TryAdd("dapr.io/log-level", logLevel?.ToString()); } } } From a116acd1e8b9ec470ac8cab3fecb66cf99d62f4d Mon Sep 17 00:00:00 2001 From: thangchung Date: Wed, 8 Apr 2020 21:35:14 +0700 Subject: [PATCH 5/8] suppress the warning --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index 9516db12d..c0e116c93 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -138,15 +138,17 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati deployment.Annotations.Add("dapr.io/id", project.Name); deployment.Annotations.Add("dapr.io/port", (httpBinding.Port ?? 80).ToString(CultureInfo.InvariantCulture)); +#pragma warning disable CS8604 // Possible null reference argument. if (config.Data.TryGetValue("config", out var daprConfig) && daprConfig is object) { - deployment.Annotations.TryAdd("dapr.io/config", daprConfig?.ToString()); + deployment.Annotations.TryAdd("dapr.io/config", daprConfig.ToString()); } if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) { - deployment.Annotations.TryAdd("dapr.io/log-level", logLevel?.ToString()); + deployment.Annotations.TryAdd("dapr.io/log-level", logLevel.ToString()); } +#pragma warning restore CS8604 // Possible null reference argument. } } } From cc839f1a616d7c36b3b23f1154a864630ddba9f1 Mon Sep 17 00:00:00 2001 From: thangchung Date: Thu, 16 Apr 2020 12:22:54 +0700 Subject: [PATCH 6/8] Fixed wrong format notation --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index c0e116c93..180f0e772 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -37,7 +37,7 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati // These environment variables are replaced with environment variables // defined for this service. - Args = $"-app-id {project.Name} -app-port %APP_PORT% -dapr-grpc-port %DAPR_GRPC_PORT% --dapr-http-port %DAPR_HTTP_PORT% --metrics-port %METRICS_PORT% --placement-address localhost:50005", + Args = $"-app-id {project.Name} -app-port %APP_PORT% -dapr-grpc-port %DAPR_GRPC_PORT% --dapr-http-port %DAPR_HTTP_PORT% --metrics-port %METRICS_PORT% -log-level %LOG_LEVEL% -config %CONFIG% --placement-address localhost:50005", }; context.Application.Services.Add(proxy); @@ -138,17 +138,15 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati deployment.Annotations.Add("dapr.io/id", project.Name); deployment.Annotations.Add("dapr.io/port", (httpBinding.Port ?? 80).ToString(CultureInfo.InvariantCulture)); -#pragma warning disable CS8604 // Possible null reference argument. if (config.Data.TryGetValue("config", out var daprConfig) && daprConfig is object) { - deployment.Annotations.TryAdd("dapr.io/config", daprConfig.ToString()); + deployment.Annotations.TryAdd("dapr.io/config", daprConfig!.ToString()); } if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) { - deployment.Annotations.TryAdd("dapr.io/log-level", logLevel.ToString()); + deployment.Annotations.TryAdd("dapr.io/log-level", logLevel!.ToString()); } -#pragma warning restore CS8604 // Possible null reference argument. } } } From 5d44fdda244122ed343f7ba37b4f2fc3a3ab0954 Mon Sep 17 00:00:00 2001 From: thangchung Date: Thu, 16 Apr 2020 12:40:59 +0700 Subject: [PATCH 7/8] try to add nullable disable --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index 180f0e772..c60e39c12 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -138,15 +138,17 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati deployment.Annotations.Add("dapr.io/id", project.Name); deployment.Annotations.Add("dapr.io/port", (httpBinding.Port ?? 80).ToString(CultureInfo.InvariantCulture)); +#nullable disable if (config.Data.TryGetValue("config", out var daprConfig) && daprConfig is object) { deployment.Annotations.TryAdd("dapr.io/config", daprConfig!.ToString()); } - if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) + if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) { deployment.Annotations.TryAdd("dapr.io/log-level", logLevel!.ToString()); } +#nullable enable } } } From a61c4a87ae44b56845106d6510e70724ab3797c2 Mon Sep 17 00:00:00 2001 From: thangchung Date: Thu, 16 Apr 2020 12:58:19 +0700 Subject: [PATCH 8/8] add default value to overcome nullable possibly --- src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs index c60e39c12..15ff35783 100644 --- a/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs +++ b/src/Microsoft.Tye.Extensions/Dapr/DaprExtension.cs @@ -138,17 +138,15 @@ public override Task ProcessAsync(ExtensionContext context, ExtensionConfigurati deployment.Annotations.Add("dapr.io/id", project.Name); deployment.Annotations.Add("dapr.io/port", (httpBinding.Port ?? 80).ToString(CultureInfo.InvariantCulture)); -#nullable disable if (config.Data.TryGetValue("config", out var daprConfig) && daprConfig is object) { - deployment.Annotations.TryAdd("dapr.io/config", daprConfig!.ToString()); + deployment.Annotations.TryAdd("dapr.io/config", daprConfig!.ToString() ?? string.Empty); } if (config.Data.TryGetValue("log-level", out var logLevel) && logLevel is object) { - deployment.Annotations.TryAdd("dapr.io/log-level", logLevel!.ToString()); + deployment.Annotations.TryAdd("dapr.io/log-level", logLevel!.ToString() ?? string.Empty); } -#nullable enable } } }