From 3cfed64cdb5ad9df39f3506e0bddf60d96a36ada1e17208a4ba440873e1a8254 Mon Sep 17 00:00:00 2001 From: George Date: Wed, 20 Aug 2025 11:56:42 +0200 Subject: [PATCH 01/13] Adding nessie to factory --- nessie-image/Dockerfile | 28 +++++++++++++++ nessie-image/_service | 19 ++++++++++ nessie/_service | 19 ++++++++++ nessie/nessie.spec | 80 +++++++++++++++++++++++++++++++++++++++++ 4 files changed, 146 insertions(+) create mode 100644 nessie-image/Dockerfile create mode 100644 nessie-image/_service create mode 100644 nessie/_service create mode 100644 nessie/nessie.spec diff --git a/nessie-image/Dockerfile b/nessie-image/Dockerfile new file mode 100644 index 0000000..f39f6b1 --- /dev/null +++ b/nessie-image/Dockerfile @@ -0,0 +1,28 @@ +# SPDX-License-Identifier: Apache-2.0 +#!BuildTag: %%IMG_PREFIX%%nessie:v%%nessie_version%% +#!BuildTag: %%IMG_PREFIX%%nessie:v%%nessie_version%%-%RELEASE% + +FROM registry.suse.com/bci/bci-base:15.7 + +LABEL org.opencontainers.image.title="nessie" +LABEL org.opencontainers.image.description="Nessie diagnostic tool for SUSE Kubernetes environments" +LABEL org.opencontainers.image.version="%%nessie_version%%" +LABEL org.opencontainers.image.authors="George Agriogiannis " +LABEL org.opencontainers.image.url="https://github.com/suse-edge/support-tools/tree/main/nessie" +LABEL org.opencontainers.image.vendor="SUSE LLC" +LABEL org.opencontainers.image.created="%BUILDTIME%" +LABEL org.opensuse.reference="%%IMG_REPO%%/%%IMG_PREFIX%%nessie:v%%nessie_version%%-%RELEASE%" +LABEL org.openbuildservice.disturl="%DISTURL%" +LABEL com.suse.supportlevel="%%SUPPORT_LEVEL%%" +LABEL com.suse.eula="SUSE Combined EULA February 2024" +LABEL com.suse.lifecycle-url="https://www.suse.com/lifecycle" +LABEL com.suse.image-type="application" +LABEL com.suse.release-stage="released" + +RUN zypper --non-interactive refresh && \ + zypper --non-interactive install --no-recommends nessie && \ + zypper clean + +WORKDIR /tmp + +ENTRYPOINT ["/usr/bin/nessie"] diff --git a/nessie-image/_service b/nessie-image/_service new file mode 100644 index 0000000..ea862e3 --- /dev/null +++ b/nessie-image/_service @@ -0,0 +1,19 @@ + + + + + Dockerfile + %%nessie_version%% + nessie + patch + + + Dockerfile + IMG_PREFIX=$(rpm --macros=/root/.rpmmacros -E %{?img_prefix}) + IMG_PREFIX + IMG_REPO=$(rpm --macros=/root/.rpmmacros -E %img_repo) + IMG_REPO + SUPPORT_LEVEL=$(rpm --macros=/root/.rpmmacros -E %support_level) + SUPPORT_LEVEL + + diff --git a/nessie/_service b/nessie/_service new file mode 100644 index 0000000..a4becf3 --- /dev/null +++ b/nessie/_service @@ -0,0 +1,19 @@ + + + https://github.com/suse-edge/support-tools + git + nessie-v1.0.0 + nessie + .git + enable + 1.0.0 + nessie + + + nessie.obsinfo + + + *.tar + gz + + diff --git a/nessie/nessie.spec b/nessie/nessie.spec new file mode 100644 index 0000000..ce1708f --- /dev/null +++ b/nessie/nessie.spec @@ -0,0 +1,80 @@ +# +# spec file for package nessie +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + +Name: nessie +# Version will be set automatically by factory's set_version service +Version: 1.0.0 +Release: 0 +Summary: Node Environment Support Script for Inspection and Export +License: Apache-2.0 +Group: System/Management +URL: https://github.com/suse-edge/support-tools/tree/main/nessie +Source0: %{name}-%{version}.tar.gz +BuildArch: noarch + +# Build dependencies +BuildRequires: python3-devel + +# Runtime dependencies +Requires: python3 +Requires: python3-kubernetes +Requires: python3-PyYAML +Requires: helm +Requires: systemd + +# Optional dependencies for enhanced functionality +Recommends: util-linux +Recommends: kubernetes1.29-client + +%description +Nessie (Node Environment Support Script for Inspection and Export) is a +comprehensive diagnostic tool for SUSE Kubernetes environments. It collects +logs, configurations, and system information from Kubernetes clusters for +troubleshooting and support purposes. + +Key features: +- Collects system service logs and Kubernetes pod logs +- Gathers cluster configurations and Helm releases +- Retrieves node metrics and component versions +- Supports RKE2 and K3s environments +- Fault-tolerant with configurable options +- Can be run directly or as a container + +The tool is designed specifically for SUSE Edge environments and integrates +well with SUSE Linux Micro, RKE2, and K3s distributions. + +%prep +%autosetup + +%build +# Validate Python syntax +python3 -m py_compile nessie.py + +%install +# Install the main script +install -D -m 0755 nessie.py %{buildroot}%{_bindir}/nessie + +# Install documentation files +install -D -m 0644 README.md %{buildroot}%{_docdir}/%{name}/README.md +install -D -m 0644 LICENSE %{buildroot}%{_docdir}/%{name}/LICENSE + +%files +%{_bindir}/nessie +%doc %{_docdir}/%{name}/README.md +%license %{_docdir}/%{name}/LICENSE + +%changelog -- 2.49.0 From c9f8147bb426da9b24d2988d9164c435457054b12d4a23f7a22aa5e73adcff91 Mon Sep 17 00:00:00 2001 From: George Date: Wed, 20 Aug 2025 15:42:59 +0200 Subject: [PATCH 02/13] Adding some fixes --- nessie-image/Dockerfile | 8 +++++--- nessie/_service | 19 +++++++++++-------- nessie/nessie.spec | 1 - 3 files changed, 16 insertions(+), 12 deletions(-) diff --git a/nessie-image/Dockerfile b/nessie-image/Dockerfile index f39f6b1..99efe04 100644 --- a/nessie-image/Dockerfile +++ b/nessie-image/Dockerfile @@ -1,9 +1,10 @@ # SPDX-License-Identifier: Apache-2.0 -#!BuildTag: %%IMG_PREFIX%%nessie:v%%nessie_version%% -#!BuildTag: %%IMG_PREFIX%%nessie:v%%nessie_version%%-%RELEASE% +#!BuildTag: %%IMG_PREFIX%%nessie:%%nessie_version%% +#!BuildTag: %%IMG_PREFIX%%nessie:%%nessie_version%%-%RELEASE% FROM registry.suse.com/bci/bci-base:15.7 +# labelprefix=com.suse.application.nessie LABEL org.opencontainers.image.title="nessie" LABEL org.opencontainers.image.description="Nessie diagnostic tool for SUSE Kubernetes environments" LABEL org.opencontainers.image.version="%%nessie_version%%" @@ -11,13 +12,14 @@ LABEL org.opencontainers.image.authors="George Agriogiannis https://github.com/suse-edge/support-tools git - nessie-v1.0.0 + _auto_ + @PARENT_TAG@ + enable + george.agriogiannis2@suse.com + nessie-v* + nessie-v(\d+\.\d+\.\d+) + \1 nessie .git - enable - 1.0.0 - nessie + yes + nessie.obsinfo - - *.tar - gz - + + diff --git a/nessie/nessie.spec b/nessie/nessie.spec index ce1708f..a5d5a50 100644 --- a/nessie/nessie.spec +++ b/nessie/nessie.spec @@ -38,7 +38,6 @@ Requires: systemd # Optional dependencies for enhanced functionality Recommends: util-linux -Recommends: kubernetes1.29-client %description Nessie (Node Environment Support Script for Inspection and Export) is a -- 2.49.0 From 876509ea3a6530d61d31ec7438eeca8763164831b3e5b370261c5b8edcc1d98e Mon Sep 17 00:00:00 2001 From: George Date: Wed, 20 Aug 2025 16:45:45 +0200 Subject: [PATCH 03/13] Adding a revision for obs_scm to push it to get the code from the tag as it fails to get the code due to different expected branch name --- nessie/_service | 1 + 1 file changed, 1 insertion(+) diff --git a/nessie/_service b/nessie/_service index 7352d5c..aa3b9de 100644 --- a/nessie/_service +++ b/nessie/_service @@ -2,6 +2,7 @@ https://github.com/suse-edge/support-tools git + nessie-v1.0.0 _auto_ @PARENT_TAG@ enable -- 2.49.0 From 30cde390980f585a8f07a177a23fb22c378b89f71f99d21d410280585611e9c5 Mon Sep 17 00:00:00 2001 From: George Date: Wed, 20 Aug 2025 17:18:29 +0200 Subject: [PATCH 04/13] Switching to main as revision point --- nessie/_service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nessie/_service b/nessie/_service index aa3b9de..74376ff 100644 --- a/nessie/_service +++ b/nessie/_service @@ -2,7 +2,7 @@ https://github.com/suse-edge/support-tools git - nessie-v1.0.0 + main _auto_ @PARENT_TAG@ enable -- 2.49.0 From 4ba7224666b4d202268ddf4c2f1476a371b75ef34857aae70ecf2dcc8c7e7abe Mon Sep 17 00:00:00 2001 From: George Date: Wed, 20 Aug 2025 18:26:54 +0200 Subject: [PATCH 05/13] Adding a filename param to obs_scm service --- nessie/_service | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nessie/_service b/nessie/_service index 74376ff..d04f179 100644 --- a/nessie/_service +++ b/nessie/_service @@ -13,11 +13,10 @@ nessie .git yes + nessie - nessie.obsinfo - -- 2.49.0 From 3251d6045af751063c2aacf130c2b836407bb8293b5fcbb5dbbf34f8cf99de64 Mon Sep 17 00:00:00 2001 From: George Date: Wed, 20 Aug 2025 19:14:02 +0200 Subject: [PATCH 06/13] Going back to the tag revision --- nessie/_service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nessie/_service b/nessie/_service index d04f179..849d67d 100644 --- a/nessie/_service +++ b/nessie/_service @@ -2,7 +2,7 @@ https://github.com/suse-edge/support-tools git - main + nessie-v1.0.0 _auto_ @PARENT_TAG@ enable -- 2.49.0 From 76177551cf549ffd563f24d20d5a395340a2a7685f2fed33400b1e1befb91a3e Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 11:25:12 +0200 Subject: [PATCH 07/13] Adding verbose output to tar service to get more info on failure --- nessie/_service | 2 ++ 1 file changed, 2 insertions(+) diff --git a/nessie/_service b/nessie/_service index 849d67d..5c97ff8 100644 --- a/nessie/_service +++ b/nessie/_service @@ -17,6 +17,8 @@ nessie.obsinfo + 1 + gz -- 2.49.0 From f047901ff200fe83d88802329d7f64df0acda75f5d3776c3fac28cde198f67a1 Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 12:05:01 +0200 Subject: [PATCH 08/13] Adding verbose output to obs_scm since tar does not support it --- nessie/_service | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/nessie/_service b/nessie/_service index 5c97ff8..d9b4430 100644 --- a/nessie/_service +++ b/nessie/_service @@ -14,11 +14,10 @@ .git yes nessie + 1 nessie.obsinfo - 1 - gz -- 2.49.0 From 6b6a9b122cbffd9a53445e7366caae81c800062ef6b05fbd0829a205ee9c82ca Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 13:18:08 +0200 Subject: [PATCH 09/13] trying to find correct value of verbose parameter for obs_scm --- nessie/_service | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nessie/_service b/nessie/_service index d9b4430..524f4cd 100644 --- a/nessie/_service +++ b/nessie/_service @@ -14,7 +14,7 @@ .git yes nessie - 1 + true nessie.obsinfo -- 2.49.0 From 63763123e50c48e61e1792482cbccf2e4ce61b1d36643b676517ac9d93ebdb5b Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 13:28:00 +0200 Subject: [PATCH 10/13] Removing verbose output from obs_scm --- nessie/_service | 1 - 1 file changed, 1 deletion(-) diff --git a/nessie/_service b/nessie/_service index 524f4cd..849d67d 100644 --- a/nessie/_service +++ b/nessie/_service @@ -14,7 +14,6 @@ .git yes nessie - true nessie.obsinfo -- 2.49.0 From 34bbfd5233a762fdf5d9fdb398a7067d951fbda6e11a96874ef14527313606ba Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 13:58:00 +0200 Subject: [PATCH 11/13] Adding a recompress to get the gz that the rpm is looking for --- nessie/_service | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/nessie/_service b/nessie/_service index 849d67d..cdb78be 100644 --- a/nessie/_service +++ b/nessie/_service @@ -18,5 +18,9 @@ nessie.obsinfo + + *.tar + gz + -- 2.49.0 From 71f8c52062b3e15d47aa404414222fe3d27a12ad6833f886b3fe18a2d7e4fbbb Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 14:16:11 +0200 Subject: [PATCH 12/13] Adding the directory in the files section --- nessie/nessie.spec | 1 + 1 file changed, 1 insertion(+) diff --git a/nessie/nessie.spec b/nessie/nessie.spec index a5d5a50..c085dda 100644 --- a/nessie/nessie.spec +++ b/nessie/nessie.spec @@ -73,6 +73,7 @@ install -D -m 0644 LICENSE %{buildroot}%{_docdir}/%{name}/LICENSE %files %{_bindir}/nessie +%dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/README.md %license %{_docdir}/%{name}/LICENSE -- 2.49.0 From f29e2f160f7c9b651f174d18dbad0aee699d7e79ba7db46d65b3f50050f60afa Mon Sep 17 00:00:00 2001 From: George Date: Thu, 21 Aug 2025 16:31:09 +0200 Subject: [PATCH 13/13] Adding ARG for SLE_VERSION in Dockerfile --- nessie-image/Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/nessie-image/Dockerfile b/nessie-image/Dockerfile index 99efe04..7945e15 100644 --- a/nessie-image/Dockerfile +++ b/nessie-image/Dockerfile @@ -2,7 +2,8 @@ #!BuildTag: %%IMG_PREFIX%%nessie:%%nessie_version%% #!BuildTag: %%IMG_PREFIX%%nessie:%%nessie_version%%-%RELEASE% -FROM registry.suse.com/bci/bci-base:15.7 +ARG SLE_VERSION +FROM registry.suse.com/bci/bci-base:$SLE_VERSION # labelprefix=com.suse.application.nessie LABEL org.opencontainers.image.title="nessie" -- 2.49.0