From 34504ab52b9d3efa5f97892ea75d59b73d6a5ce9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brad=20Reed=20=F0=9F=98=8E?= Date: Tue, 2 Aug 2022 12:12:48 +0200 Subject: [PATCH 1/4] feat(kubernetes): add namespace to k8s error reporting table MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Brad Reed 😎 --- .../src/components/ErrorReporting/ErrorReporting.tsx | 9 +++++++-- plugins/kubernetes/src/error-detection/common.ts | 2 ++ .../src/error-detection/error-detection.test.ts | 8 ++++++++ plugins/kubernetes/src/error-detection/types.ts | 1 + 4 files changed, 18 insertions(+), 2 deletions(-) diff --git a/plugins/kubernetes/src/components/ErrorReporting/ErrorReporting.tsx b/plugins/kubernetes/src/components/ErrorReporting/ErrorReporting.tsx index 62af1d9d14..0dbf889fab 100644 --- a/plugins/kubernetes/src/components/ErrorReporting/ErrorReporting.tsx +++ b/plugins/kubernetes/src/components/ErrorReporting/ErrorReporting.tsx @@ -26,12 +26,17 @@ type ErrorReportingProps = { const columns: TableColumn[] = [ { title: 'cluster', - width: '15%', + width: '10%', render: (detectedError: DetectedError) => detectedError.cluster, }, + { + title: 'namespace', + width: '10%', + render: (detectedError: DetectedError) => detectedError.namespace, + }, { title: 'kind', - width: '15%', + width: '10%', render: (detectedError: DetectedError) => detectedError.kind, }, { diff --git a/plugins/kubernetes/src/error-detection/common.ts b/plugins/kubernetes/src/error-detection/common.ts index ce7902110f..bc5fd2fc40 100644 --- a/plugins/kubernetes/src/error-detection/common.ts +++ b/plugins/kubernetes/src/error-detection/common.ts @@ -45,6 +45,7 @@ export const detectErrorsInObjects = ( const value = errors.get(dedupKey); const name = object.metadata?.name ?? 'unknown'; + const namespace = object.metadata?.namespace ?? 'unknown'; if (value !== undefined) { // This gets translated into the Chip "+5 others" @@ -60,6 +61,7 @@ export const detectErrorsInObjects = ( names: [name], message: message, severity: errorMapper.severity, + namespace, }); } } diff --git a/plugins/kubernetes/src/error-detection/error-detection.test.ts b/plugins/kubernetes/src/error-detection/error-detection.test.ts index ef64ff6a20..2c6373f32d 100644 --- a/plugins/kubernetes/src/error-detection/error-detection.test.ts +++ b/plugins/kubernetes/src/error-detection/error-detection.test.ts @@ -154,6 +154,7 @@ describe('detectErrors', () => { 'container=side-car restarted 38 times', ], names: ['dice-roller-canary-7d64cd756c-55rfq'], + namespace: 'default', severity: 4, }); @@ -165,6 +166,7 @@ describe('detectErrors', () => { 'containers with unready status: [side-car other-side-car]', ], names: ['dice-roller-canary-7d64cd756c-55rfq'], + namespace: 'default', severity: 5, }); @@ -176,6 +178,7 @@ describe('detectErrors', () => { 'back-off 5m0s restarting failed container=side-car pod=dice-roller-canary-7d64cd756c-55rfq_default(65ad28e3-5d51-4b4b-9bf8-4cb069803034)', ], names: ['dice-roller-canary-7d64cd756c-55rfq'], + namespace: 'default', severity: 6, }); @@ -187,6 +190,7 @@ describe('detectErrors', () => { 'container=side-car exited with error code (1)', ], names: ['dice-roller-canary-7d64cd756c-55rfq'], + namespace: 'default', severity: 4, }); }); @@ -210,6 +214,7 @@ describe('detectErrors', () => { 'containers with unready status: [nginx]', ], names: ['dice-roller-bad-cm-855bf85464-mg6xb'], + namespace: 'default', severity: 5, }); @@ -218,6 +223,7 @@ describe('detectErrors', () => { kind: 'Pod', message: ['configmap "some-cm" not found'], names: ['dice-roller-bad-cm-855bf85464-mg6xb'], + namespace: 'default', severity: 6, }); }); @@ -248,6 +254,7 @@ describe('detectErrors', () => { kind: 'Deployment', message: ['Deployment does not have minimum availability.'], names: ['dice-roller-canary'], + namespace: 'default', severity: 6, }); }); @@ -280,6 +287,7 @@ describe('detectErrors', () => { 'Current number of replicas (10) is equal to the configured max number of replicas (10)', ], names: ['dice-roller'], + namespace: 'default', severity: 8, }); }); diff --git a/plugins/kubernetes/src/error-detection/types.ts b/plugins/kubernetes/src/error-detection/types.ts index 871413d43e..5e35cef8b6 100644 --- a/plugins/kubernetes/src/error-detection/types.ts +++ b/plugins/kubernetes/src/error-detection/types.ts @@ -55,6 +55,7 @@ export type DetectedErrorsByCluster = Map; export interface DetectedError { severity: ErrorSeverity; cluster: string; + namespace: string; kind: ErrorDetectableKind; names: string[]; message: string[]; From f563b86a5b1fc76dc4875c6331de85e81e009cd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brad=20Reed=20=F0=9F=98=8E?= Date: Tue, 2 Aug 2022 12:20:07 +0200 Subject: [PATCH 2/4] changeset MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Brad Reed 😎 --- .changeset/flat-zebras-draw.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/flat-zebras-draw.md diff --git a/.changeset/flat-zebras-draw.md b/.changeset/flat-zebras-draw.md new file mode 100644 index 0000000000..338ee9ca27 --- /dev/null +++ b/.changeset/flat-zebras-draw.md @@ -0,0 +1,5 @@ +--- +'@backstage/plugin-kubernetes': minor +--- + +Adds namespace column to Kubernetes error reporting table From 440663a4fd484cd2ffe16ba097006e045063fadd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Brad=20Reed=20=F0=9F=98=8E?= Date: Tue, 2 Aug 2022 13:09:07 +0200 Subject: [PATCH 3/4] api-report MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Brad Reed 😎 --- plugins/kubernetes/api-report.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/plugins/kubernetes/api-report.md b/plugins/kubernetes/api-report.md index e85c9cbeca..ccb4dcae8d 100644 --- a/plugins/kubernetes/api-report.md +++ b/plugins/kubernetes/api-report.md @@ -109,6 +109,8 @@ export interface DetectedError { // (undocumented) names: string[]; // (undocumented) + namespace: string; + // (undocumented) severity: ErrorSeverity; } From 039999d2e898c3bf882d3e51202753c356bcc902 Mon Sep 17 00:00:00 2001 From: Brad Reed Date: Tue, 2 Aug 2022 15:30:46 +0200 Subject: [PATCH 4/4] Update .changeset/flat-zebras-draw.md Signed-off-by: Brad Reed --- .changeset/flat-zebras-draw.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.changeset/flat-zebras-draw.md b/.changeset/flat-zebras-draw.md index 338ee9ca27..ba82f156ef 100644 --- a/.changeset/flat-zebras-draw.md +++ b/.changeset/flat-zebras-draw.md @@ -1,5 +1,5 @@ --- -'@backstage/plugin-kubernetes': minor +'@backstage/plugin-kubernetes': patch --- Adds namespace column to Kubernetes error reporting table