Restore existing jobs and fix rebase (7c99eff3) issues

This commit is contained in:
Maximilian Paß
2021-06-10 09:26:17 +02:00
parent 0020590c96
commit 25d78df557
23 changed files with 487 additions and 130 deletions

View File

@@ -1,17 +1,56 @@
package nomad
import (
"fmt"
nomadApi "github.com/hashicorp/nomad/api"
"strings"
)
const (
TaskGroupName = "default-group"
TaskName = "default-task"
DefaultJobIDFormat = "%s-default"
TaskGroupName = "default-group"
TaskName = "default-task"
ConfigTaskGroupName = "config"
ConfigTaskName = "config"
defaultRunnerJobID = "default"
runnerJobIDFormat = "%s-%s"
DefaultTaskDriver = "docker"
DefaultConfigTaskDriver = "exec"
DefaultConfigTaskCommand = "whoami"
ConfigMetaEnvironmentKey = "environment"
ConfigMetaUsedKey = "used"
ConfigMetaUsedValue = "true"
ConfigMetaUnusedValue = "false"
ConfigMetaPoolSizeKey = "prewarmingPoolSize"
)
func DefaultJobID(id string) string {
return fmt.Sprintf(DefaultJobIDFormat, id)
return RunnerJobID(id, defaultRunnerJobID)
}
func RunnerJobID(environmentID, runnerID string) string {
return fmt.Sprintf(runnerJobIDFormat, environmentID, runnerID)
}
func IsDefaultJobID(jobID string) bool {
parts := strings.Split(jobID, "-")
return len(parts) == 2 && parts[1] == defaultRunnerJobID
}
func FindConfigTaskGroup(job *nomadApi.Job) *nomadApi.TaskGroup {
for _, tg := range job.TaskGroups {
if *tg.Name == ConfigTaskGroupName {
return tg
}
}
return nil
}
func EnvironmentIDFromJobID(jobID string) string {
parts := strings.Split(jobID, "-")
if len(parts) == 0 {
return ""
}
return parts[0]
}
func (nc *nomadAPIClient) jobInfo(jobID string) (job *nomadApi.Job, err error) {
@@ -21,13 +60,13 @@ func (nc *nomadAPIClient) jobInfo(jobID string) (job *nomadApi.Job, err error) {
// LoadJobList loads the list of jobs from the Nomad api.
func (nc *nomadAPIClient) LoadJobList() (list []*nomadApi.JobListStub, err error) {
list, _, err = nc.client.Jobs().List(nc.queryOptions)
list, _, err = nc.client.Jobs().List(nc.queryOptions())
return
}
// JobScale returns the scale of the passed job.
func (nc *nomadAPIClient) JobScale(jobID string) (jobScale uint, err error) {
status, _, err := nc.client.Jobs().ScaleStatus(jobID, nc.queryOptions)
status, _, err := nc.client.Jobs().ScaleStatus(jobID, nc.queryOptions())
if err != nil {
return
}