diff --git a/api/swagger.json b/api/swagger.json index 17277d8..a221ea4 100644 --- a/api/swagger.json +++ b/api/swagger.json @@ -403,9 +403,9 @@ "example": "fritz" }, "duration": { - "description": "Duration of job in seconds", + "description": "Duration of job in seconds (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 43200 }, "exclusive": { @@ -452,21 +452,21 @@ "example": 1 }, "numAcc": { - "description": "Number of accelerators used", + "description": "Number of accelerators used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "numHwthreads": { - "description": "Number of HWThreads used", + "description": "Number of HWThreads used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 20 }, "numNodes": { - "description": "Number of nodes used", + "description": "Number of nodes used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "partition": { @@ -513,8 +513,9 @@ "example": "abcd100h" }, "walltime": { - "description": "Requested walltime of job in seconds", + "description": "Requested walltime of job in seconds (Min \u003e 0)", "type": "integer", + "minimum": 1, "example": 86400 } } @@ -534,9 +535,9 @@ "example": "fritz" }, "duration": { - "description": "Duration of job in seconds", + "description": "Duration of job in seconds (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 43200 }, "exclusive": { @@ -583,21 +584,21 @@ "example": 1 }, "numAcc": { - "description": "Number of accelerators used", + "description": "Number of accelerators used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "numHwthreads": { - "description": "Number of HWThreads used", + "description": "Number of HWThreads used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 20 }, "numNodes": { - "description": "Number of nodes used", + "description": "Number of nodes used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "partition": { @@ -623,9 +624,9 @@ "example": 4 }, "startTime": { - "description": "Start epoch time stamp in seconds", + "description": "Start epoch time stamp in seconds (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 1649723812 }, "statistics": { @@ -653,8 +654,9 @@ "example": "abcd100h" }, "walltime": { - "description": "Requested walltime of job in seconds", + "description": "Requested walltime of job in seconds (Min \u003e 0)", "type": "integer", + "minimum": 1, "example": 86400 } } diff --git a/api/swagger.yaml b/api/swagger.yaml index 32372cd..4e47530 100644 --- a/api/swagger.yaml +++ b/api/swagger.yaml @@ -75,9 +75,9 @@ definitions: example: fritz type: string duration: - description: Duration of job in seconds + description: Duration of job in seconds (Min > 0) example: 43200 - minimum: 0 + minimum: 1 type: integer exclusive: description: 'Specifies how nodes are shared: 0 - Shared among multiple jobs @@ -118,19 +118,19 @@ definitions: minimum: 0 type: integer numAcc: - description: Number of accelerators used + description: Number of accelerators used (Min > 0) example: 2 - minimum: 0 + minimum: 1 type: integer numHwthreads: - description: Number of HWThreads used + description: Number of HWThreads used (Min > 0) example: 20 - minimum: 0 + minimum: 1 type: integer numNodes: - description: Number of nodes used + description: Number of nodes used (Min > 0) example: 2 - minimum: 0 + minimum: 1 type: integer partition: description: The Slurm partition to which the job was submitted @@ -166,8 +166,9 @@ definitions: example: abcd100h type: string walltime: - description: Requested walltime of job in seconds + description: Requested walltime of job in seconds (Min > 0) example: 86400 + minimum: 1 type: integer type: object schema.JobMeta: @@ -182,9 +183,9 @@ definitions: example: fritz type: string duration: - description: Duration of job in seconds + description: Duration of job in seconds (Min > 0) example: 43200 - minimum: 0 + minimum: 1 type: integer exclusive: description: 'Specifies how nodes are shared: 0 - Shared among multiple jobs @@ -225,19 +226,19 @@ definitions: minimum: 0 type: integer numAcc: - description: Number of accelerators used + description: Number of accelerators used (Min > 0) example: 2 - minimum: 0 + minimum: 1 type: integer numHwthreads: - description: Number of HWThreads used + description: Number of HWThreads used (Min > 0) example: 20 - minimum: 0 + minimum: 1 type: integer numNodes: - description: Number of nodes used + description: Number of nodes used (Min > 0) example: 2 - minimum: 0 + minimum: 1 type: integer partition: description: The Slurm partition to which the job was submitted @@ -257,9 +258,9 @@ definitions: example: 4 type: integer startTime: - description: Start epoch time stamp in seconds + description: Start epoch time stamp in seconds (Min > 0) example: 1649723812 - minimum: 0 + minimum: 1 type: integer statistics: additionalProperties: @@ -280,8 +281,9 @@ definitions: example: abcd100h type: string walltime: - description: Requested walltime of job in seconds + description: Requested walltime of job in seconds (Min > 0) example: 86400 + minimum: 1 type: integer type: object schema.JobStatistics: diff --git a/internal/api/docs.go b/internal/api/docs.go index f430a50..0007060 100644 --- a/internal/api/docs.go +++ b/internal/api/docs.go @@ -1,6 +1,6 @@ // Package api GENERATED BY SWAG; DO NOT EDIT // This file was generated by swaggo/swag at -// 2022-09-21 14:11:26.478228557 +0200 CEST m=+0.132083534 +// 2022-09-21 14:20:28.235814518 +0200 CEST m=+0.133704544 package api import "github.com/swaggo/swag" @@ -411,9 +411,9 @@ const docTemplate = `{ "example": "fritz" }, "duration": { - "description": "Duration of job in seconds", + "description": "Duration of job in seconds (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 43200 }, "exclusive": { @@ -460,21 +460,21 @@ const docTemplate = `{ "example": 1 }, "numAcc": { - "description": "Number of accelerators used", + "description": "Number of accelerators used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "numHwthreads": { - "description": "Number of HWThreads used", + "description": "Number of HWThreads used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 20 }, "numNodes": { - "description": "Number of nodes used", + "description": "Number of nodes used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "partition": { @@ -521,8 +521,9 @@ const docTemplate = `{ "example": "abcd100h" }, "walltime": { - "description": "Requested walltime of job in seconds", + "description": "Requested walltime of job in seconds (Min \u003e 0)", "type": "integer", + "minimum": 1, "example": 86400 } } @@ -542,9 +543,9 @@ const docTemplate = `{ "example": "fritz" }, "duration": { - "description": "Duration of job in seconds", + "description": "Duration of job in seconds (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 43200 }, "exclusive": { @@ -591,21 +592,21 @@ const docTemplate = `{ "example": 1 }, "numAcc": { - "description": "Number of accelerators used", + "description": "Number of accelerators used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "numHwthreads": { - "description": "Number of HWThreads used", + "description": "Number of HWThreads used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 20 }, "numNodes": { - "description": "Number of nodes used", + "description": "Number of nodes used (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 2 }, "partition": { @@ -631,9 +632,9 @@ const docTemplate = `{ "example": 4 }, "startTime": { - "description": "Start epoch time stamp in seconds", + "description": "Start epoch time stamp in seconds (Min \u003e 0)", "type": "integer", - "minimum": 0, + "minimum": 1, "example": 1649723812 }, "statistics": { @@ -661,8 +662,9 @@ const docTemplate = `{ "example": "abcd100h" }, "walltime": { - "description": "Requested walltime of job in seconds", + "description": "Requested walltime of job in seconds (Min \u003e 0)", "type": "integer", + "minimum": 1, "example": 86400 } } diff --git a/pkg/schema/job.go b/pkg/schema/job.go index 299966b..d2db324 100644 --- a/pkg/schema/job.go +++ b/pkg/schema/job.go @@ -23,15 +23,15 @@ type BaseJob struct { SubCluster string `json:"subCluster" db:"subcluster" example:"main"` // The unique identifier of a sub cluster Partition string `json:"partition" db:"partition" example:"main"` // The Slurm partition to which the job was submitted ArrayJobId int64 `json:"arrayJobId" db:"array_job_id" example:"123000"` // The unique identifier of an array job - NumNodes int32 `json:"numNodes" db:"num_nodes" example:"2" minimum:"0"` // Number of nodes used - NumHWThreads int32 `json:"numHwthreads" db:"num_hwthreads" example:"20" minimum:"0"` // Number of HWThreads used - NumAcc int32 `json:"numAcc" db:"num_acc" example:"2" minimum:"0"` // Number of accelerators used + NumNodes int32 `json:"numNodes" db:"num_nodes" example:"2" minimum:"1"` // Number of nodes used (Min > 0) + NumHWThreads int32 `json:"numHwthreads" db:"num_hwthreads" example:"20" minimum:"1"` // Number of HWThreads used (Min > 0) + NumAcc int32 `json:"numAcc" db:"num_acc" example:"2" minimum:"1"` // Number of accelerators used (Min > 0) Exclusive int32 `json:"exclusive" db:"exclusive" example:"1" minimum:"0" maximum:"2"` // Specifies how nodes are shared: 0 - Shared among multiple jobs of multiple users, 1 - Job exclusive (Default), 2 - Shared among multiple jobs of same user MonitoringStatus int32 `json:"monitoringStatus" db:"monitoring_status" example:"1" minimum:"0" maximum:"3"` // State of monitoring system during job run: 0 - Disabled, 1 - Running or Archiving (Default), 2 - Archiving Failed, 3 - Archiving Successfull SMT int32 `json:"smt" db:"smt" example:"4"` // SMT threads used by job State JobState `json:"jobState" db:"job_state" example:"completed" enums:"completed,failed,cancelled,stopped,timeout,out_of_memory"` // Final state of job - Duration int32 `json:"duration" db:"duration" example:"43200" minimum:"0"` // Duration of job in seconds - Walltime int64 `json:"walltime" db:"walltime" example:"86400"` // Requested walltime of job in seconds + Duration int32 `json:"duration" db:"duration" example:"43200" minimum:"1"` // Duration of job in seconds (Min > 0) + Walltime int64 `json:"walltime" db:"walltime" example:"86400" minimum:"1"` // Requested walltime of job in seconds (Min > 0) Tags []*Tag `json:"tags"` // List of tags RawResources []byte `json:"-" db:"resources"` // Resources used by job [As Bytes] Resources []*Resource `json:"resources"` // Resources used by job @@ -73,7 +73,7 @@ type JobMeta struct { // The unique identifier of a job in the database ID *int64 `json:"id,omitempty"` BaseJob - StartTime int64 `json:"startTime" db:"start_time" example:"1649723812" minimum:"0"` // Start epoch time stamp in seconds + StartTime int64 `json:"startTime" db:"start_time" example:"1649723812" minimum:"1"` // Start epoch time stamp in seconds (Min > 0) Statistics map[string]JobStatistics `json:"statistics,omitempty"` // Metric statistics of job }