From d61bf212f5aa0cc8fbec496cf49e70ccf3c00873 Mon Sep 17 00:00:00 2001 From: Michael Panzlaff Date: Mon, 3 Feb 2025 17:02:13 +0100 Subject: [PATCH 1/7] Fix 'make -B', don't fail if $(VAR) already exists --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 52f0d39..dd33827 100644 --- a/Makefile +++ b/Makefile @@ -82,7 +82,7 @@ tags: @ctags -R $(VAR): - @mkdir $(VAR) + @mkdir -p $(VAR) config.json: $(info ===> Initialize config.json file) From 632b9fc5eaacda5a5ca2388777f4f441f81856a0 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Wed, 26 Feb 2025 12:54:50 +0100 Subject: [PATCH 2/7] Prepare Bugfix release 1.4.3 --- Makefile | 2 +- ReleaseNotes.md | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index dd33827..0721fc4 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ TARGET = ./cc-backend VAR = ./var CFG = config.json .env FRONTEND = ./web/frontend -VERSION = 1.4.2 +VERSION = 1.4.3 GIT_HASH := $(shell git rev-parse --short HEAD || echo 'development') CURRENT_TIME = $(shell date +"%Y-%m-%d:T%H:%M:%S") LD_FLAGS = '-s -X main.date=${CURRENT_TIME} -X main.version=${VERSION} -X main.commit=${GIT_HASH}' diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 2659964..0015727 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -1,8 +1,8 @@ -# `cc-backend` version 1.4.2 +# `cc-backend` version 1.4.3 Supports job archive version 2 and database version 8. -This is a small bug fix release of `cc-backend`, the API backend and frontend +This is a bug fix release of `cc-backend`, the API backend and frontend implementation of ClusterCockpit. For release specific notes visit the [ClusterCockpit Documentation](https://clusterockpit.org/docs/release/). From 6640e93ce98884de56c965b7da66bb3f61be05aa Mon Sep 17 00:00:00 2001 From: Christoph Kluge Date: Fri, 28 Feb 2025 15:12:42 +0100 Subject: [PATCH 3/7] edit new features for 1.4.3 releasenotes --- ReleaseNotes.md | 27 +++++++++++++-------------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/ReleaseNotes.md b/ReleaseNotes.md index 0015727..ef1082f 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -22,20 +22,19 @@ For release specific notes visit the [ClusterCockpit Documentation](https://clus ## New features -- Tags have a scope now. Tags created by a basic user are only visible by that - user. Tags created by an admin/support role can be configured to be visible by - all users (global scope) or only be admin/support role. -- Re-sampling support for running (requires a recent `cc-metric-store`) and - archived jobs. This greatly speeds up loading of large or very long jobs. You - need to add the new configuration key `enable-resampling` to the `config.json` - file. -- For finished jobs a total job energy is shown in the job view. -- Continuous scrolling in job lists is default now. -- All database queries (especially for sqlite) were optimized resulting in - dramatically faster load times. -- A performance and energy footprint can be freely configured on a per - subcluster base. One can filter for footprint statistics for running and - finished jobs. +- Detailed Node List + - Adds new routes `/systems/list/$cluster` and `/systems/list/$cluster/$subcluster` + - Displays live, scoped metric data requested from the nodes indepenent of jobs +- Color Blind Mode + - Set on a per-user basis in options + - Applies to plot data, plot background color, statsseries colors, roofline timescale +- Histogram Bin Select in User-View + - Metric-Histograms: `10 Bins` now default, selectable options `20, 50, 100` + - Job-Duration-Histogram: `48h in 1h Bins` now default, selectable options: + - `60 minutes in 1 minute Bins` + - `12 hours in 10 minute Bins` + - `3 days in 6 hour Bins` + - `7 days in 12 hour Bins` ## Known issues From 6a7546c43b7e833ed32054b51390a94607deb356 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Fri, 14 Mar 2025 10:03:53 +0100 Subject: [PATCH 4/7] Clarify header for breaking changes --- ReleaseNotes.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ReleaseNotes.md b/ReleaseNotes.md index ef1082f..f047abf 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -6,7 +6,7 @@ This is a bug fix release of `cc-backend`, the API backend and frontend implementation of ClusterCockpit. For release specific notes visit the [ClusterCockpit Documentation](https://clusterockpit.org/docs/release/). -## Breaking changes +## Breaking changes for minor release 1.4.x - You need to perform a database migration. Depending on your database size the migration might require several hours! From 25aaf55b93a13d853c6ef57d08ccc22488ddaf84 Mon Sep 17 00:00:00 2001 From: Jan Eitzinger Date: Fri, 14 Mar 2025 10:06:25 +0100 Subject: [PATCH 5/7] Add feature to Releasenotes --- ReleaseNotes.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/ReleaseNotes.md b/ReleaseNotes.md index f047abf..beb8ee1 100644 --- a/ReleaseNotes.md +++ b/ReleaseNotes.md @@ -28,6 +28,8 @@ For release specific notes visit the [ClusterCockpit Documentation](https://clus - Color Blind Mode - Set on a per-user basis in options - Applies to plot data, plot background color, statsseries colors, roofline timescale +- Job-View metric selection is now persisted based on the jobs subcluster. +Helpful for heterogeneous subcluster configurations. - Histogram Bin Select in User-View - Metric-Histograms: `10 Bins` now default, selectable options `20, 50, 100` - Job-Duration-Histogram: `48h in 1h Bins` now default, selectable options: From c53f5eb144ec559cde19440748ca6886ad54f2a3 Mon Sep 17 00:00:00 2001 From: Christoph Kluge Date: Tue, 18 Mar 2025 18:01:37 +0100 Subject: [PATCH 6/7] fix: always return hasNextPage boolean to frontend - removes dependency on uiDefaults setting --- internal/graph/schema.resolvers.go | 44 ++++++++++++++---------------- 1 file changed, 21 insertions(+), 23 deletions(-) diff --git a/internal/graph/schema.resolvers.go b/internal/graph/schema.resolvers.go index ce1384b..7d3de90 100644 --- a/internal/graph/schema.resolvers.go +++ b/internal/graph/schema.resolvers.go @@ -354,30 +354,28 @@ func (r *queryResolver) Jobs(ctx context.Context, filter []*model.JobFilter, pag return nil, err } - if !config.Keys.UiDefaults["job_list_usePaging"].(bool) { - hasNextPage := false - // page.Page += 1 : Simple, but expensive - // Example Page 4 @ 10 IpP : Does item 41 exist? - // Minimal Page 41 @ 1 IpP : If len(result) is 1, Page 5 @ 10 IpP exists. - nextPage := &model.PageRequest{ - ItemsPerPage: 1, - Page: ((page.Page * page.ItemsPerPage) + 1), - } - - nextJobs, err := r.Repo.QueryJobs(ctx, filter, nextPage, order) - if err != nil { - log.Warn("Error while querying next jobs") - return nil, err - } - - if len(nextJobs) == 1 { - hasNextPage = true - } - - return &model.JobResultList{Items: jobs, Count: &count, HasNextPage: &hasNextPage}, nil - } else { - return &model.JobResultList{Items: jobs, Count: &count}, nil + // Note: Even if App-Default 'config.Keys.UiDefaults["job_list_usePaging"]' is set, always return hasNextPage boolean. + // Users can decide in frontend to use continuous scroll, even if app-default is paging! + /* + Example Page 4 @ 10 IpP : Does item 41 exist? + Minimal Page 41 @ 1 IpP : If len(result) is 1, Page 5 @ 10 IpP exists. + */ + nextPage := &model.PageRequest{ + ItemsPerPage: 1, + Page: ((page.Page * page.ItemsPerPage) + 1), } + nextJobs, err := r.Repo.QueryJobs(ctx, filter, nextPage, order) + if err != nil { + log.Warn("Error while querying next jobs") + return nil, err + } + + hasNextPage := false + if len(nextJobs) == 1 { + hasNextPage = true + } + + return &model.JobResultList{Items: jobs, Count: &count, HasNextPage: &hasNextPage}, nil } // JobsStatistics is the resolver for the jobsStatistics field. From e9a214c5b2272356ce89cbdac79056016134b735 Mon Sep 17 00:00:00 2001 From: Christoph Kluge Date: Wed, 19 Mar 2025 14:57:27 +0100 Subject: [PATCH 7/7] fix: add nullSafe condition to monitoringStatus display on metric queryError --- web/frontend/src/Job.root.svelte | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/web/frontend/src/Job.root.svelte b/web/frontend/src/Job.root.svelte index 6980230..22a69d8 100644 --- a/web/frontend/src/Job.root.svelte +++ b/web/frontend/src/Job.root.svelte @@ -231,7 +231,7 @@ {#if $initq.error} {$initq.error.message} - {:else if $initq.data} + {:else if $initq?.data} {#if $initq.data?.job?.metaData?.message} @@ -305,7 +305,7 @@ - {#if $initq.data} + {#if $initq?.data}