diff --git a/Makefile b/Makefile index 3a03b45..1210850 100644 --- a/Makefile +++ b/Makefile @@ -2,7 +2,7 @@ TARGET = ./cc-backend VAR = ./var CFG = config.json .env FRONTEND = ./web/frontend -VERSION = 1 +VERSION = 1.0.0 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.buildTime=${CURRENT_TIME} -X main.version=${VERSION} -X main.hash=${GIT_HASH}' diff --git a/ReleaseNotes.md b/ReleaseNotes.md new file mode 100644 index 0000000..97dd8de --- /dev/null +++ b/ReleaseNotes.md @@ -0,0 +1,27 @@ +# `cc-backend` version 1.0.0 + +Supports job archive version 1 and database version 4. + +This is the initial release of `cc-backend`, the API backend and frontend +implementation of ClusterCockpit. + +**Breaking changes** + +The aggregate job statistic core hours is now computed using the job table +column `num_hwthreads`. In a the future release this column will be renamed to +`num_cores`. For correct display of core hours `num_hwthreads` must be correctly +filled on job start. If your existing jobs do not provide the correct value in +this column then you can set this with one SQL INSERT statement. This only applies +if you have exclusive jobs, only. Please be aware that we treat this column as +it is the number of cores. In case you have SMT enabled and `num_hwthreads` +is not the number of cores the core hours will be too high by a factor! + +**Features** +* Supports user roles admin, support, manager, user, and api. +* Unified search bar supports job id, job name, project id, user name, and name +* Performance improvements for sqlite db backend +* Extended REST api supports to query job metrics +* Better support for shared jobs +* More flexible metric list configuration +* Versioning and migration for database and job archive + diff --git a/internal/api/rest.go b/internal/api/rest.go index 55ca14c..b66a561 100644 --- a/internal/api/rest.go +++ b/internal/api/rest.go @@ -32,7 +32,7 @@ import ( ) // @title ClusterCockpit REST API -// @version 1 +// @version 1.0.0 // @description API for batch job control. // @tag.name Job API diff --git a/pkg/schema/metrics.go b/pkg/schema/metrics.go index 92ac206..d9a13d3 100644 --- a/pkg/schema/metrics.go +++ b/pkg/schema/metrics.go @@ -58,11 +58,15 @@ const ( var metricScopeGranularity map[MetricScope]int = map[MetricScope]int{ MetricScopeNode: 10, MetricScopeSocket: 5, - MetricScopeMemoryDomain: 3, - MetricScopeCore: 2, - MetricScopeHWThread: 1, - - MetricScopeAccelerator: 5, // Special/Randomly choosen + MetricScopeMemoryDomain: 4, + MetricScopeCore: 3, + MetricScopeHWThread: 2, + /* Special-Case Accelerator + * -> No conversion possible if native scope is HWTHREAD + * -> Therefore needs to be less than HWTREAD, else max() would return unhandled case + * -> If nativeScope is accelerator, accelerator metrics return correctly + */ + MetricScopeAccelerator: 1, MetricScopeInvalid: -1, }