mirror of
https://github.com/kemko/nomad.git
synced 2026-01-01 16:05:42 +03:00
style: remove print
This commit is contained in:
@@ -482,11 +482,9 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *drive
|
||||
}
|
||||
|
||||
if cfg.User == "" {
|
||||
fmt.Println("User is not empty, setting to nobody")
|
||||
cfg.User = "nobody"
|
||||
} else {
|
||||
fmt.Printf("User is not empty, user is %s\n", cfg.User)
|
||||
}
|
||||
d.logger.Debug("setting up user", "user", cfg.User)
|
||||
|
||||
if err := driverConfig.validateUserIds(cfg, &d.config); err != nil {
|
||||
return nil, nil, fmt.Errorf("failed host user validation: %v", err)
|
||||
@@ -512,7 +510,6 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *drive
|
||||
}
|
||||
|
||||
user := cfg.User
|
||||
|
||||
if cfg.DNS != nil {
|
||||
dnsMount, err := resolvconf.GenerateDNSMount(cfg.TaskDir().Dir, cfg.DNS)
|
||||
if err != nil {
|
||||
|
||||
@@ -355,13 +355,13 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *drive
|
||||
return nil, nil, fmt.Errorf("failed to decode driver config: %v", err)
|
||||
}
|
||||
|
||||
<<<<<<< HEAD
|
||||
|
||||
if driverConfig.OOMScoreAdj < 0 {
|
||||
return nil, nil, fmt.Errorf("oom_score_adj must not be negative")
|
||||
=======
|
||||
}
|
||||
|
||||
if err := driverConfig.Validate(*d.config, *cfg); err != nil {
|
||||
return nil, nil, fmt.Errorf("failed driver config validation: %v", err)
|
||||
>>>>>>> e1288623a5 (Adds ability to restrict uid and gids in exec and raw_exec)
|
||||
}
|
||||
|
||||
d.logger.Info("starting task", "driver_cfg", hclog.Fmt("%+v", driverConfig))
|
||||
|
||||
@@ -12,6 +12,7 @@ import (
|
||||
"path/filepath"
|
||||
"runtime"
|
||||
"strconv"
|
||||
"sync"
|
||||
"syscall"
|
||||
"testing"
|
||||
"time"
|
||||
@@ -244,6 +245,103 @@ func TestRawExecDriver_StartWait(t *testing.T) {
|
||||
require.NoError(harness.DestroyTask(task.ID, true))
|
||||
}
|
||||
|
||||
func TestRawExecDriver_StartWaitRecoverWaitStop(t *testing.T) {
|
||||
ci.Parallel(t)
|
||||
require := require.New(t)
|
||||
|
||||
d := newEnabledRawExecDriver(t)
|
||||
harness := dtestutil.NewDriverHarness(t, d)
|
||||
defer harness.Kill()
|
||||
|
||||
config := &Config{Enabled: true}
|
||||
var data []byte
|
||||
require.NoError(basePlug.MsgPackEncode(&data, config))
|
||||
bconfig := &basePlug.Config{
|
||||
PluginConfig: data,
|
||||
AgentConfig: &base.AgentConfig{
|
||||
Driver: &base.ClientDriverConfig{
|
||||
Topology: d.nomadConfig.Topology,
|
||||
},
|
||||
},
|
||||
}
|
||||
require.NoError(harness.SetConfig(bconfig))
|
||||
|
||||
allocID := uuid.Generate()
|
||||
taskName := "sleep"
|
||||
task := &drivers.TaskConfig{
|
||||
AllocID: allocID,
|
||||
ID: uuid.Generate(),
|
||||
Name: taskName,
|
||||
Env: defaultEnv(),
|
||||
Resources: testResources(allocID, taskName),
|
||||
}
|
||||
tc := &TaskConfig{
|
||||
Command: testtask.Path(),
|
||||
Args: []string{"sleep", "100s"},
|
||||
}
|
||||
require.NoError(task.EncodeConcreteDriverConfig(&tc))
|
||||
|
||||
testtask.SetTaskConfigEnv(task)
|
||||
|
||||
cleanup := harness.MkAllocDir(task, false)
|
||||
defer cleanup()
|
||||
|
||||
harness.MakeTaskCgroup(allocID, taskName)
|
||||
|
||||
handle, _, err := harness.StartTask(task)
|
||||
require.NoError(err)
|
||||
|
||||
ch, err := harness.WaitTask(context.Background(), task.ID)
|
||||
require.NoError(err)
|
||||
|
||||
var waitDone bool
|
||||
var wg sync.WaitGroup
|
||||
wg.Add(1)
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
result := <-ch
|
||||
require.Error(result.Err)
|
||||
waitDone = true
|
||||
}()
|
||||
|
||||
originalStatus, err := d.InspectTask(task.ID)
|
||||
require.NoError(err)
|
||||
|
||||
d.tasks.Delete(task.ID)
|
||||
|
||||
wg.Wait()
|
||||
require.True(waitDone)
|
||||
_, err = d.InspectTask(task.ID)
|
||||
require.Equal(drivers.ErrTaskNotFound, err)
|
||||
|
||||
err = d.RecoverTask(handle)
|
||||
require.NoError(err)
|
||||
|
||||
status, err := d.InspectTask(task.ID)
|
||||
require.NoError(err)
|
||||
require.Exactly(originalStatus, status)
|
||||
|
||||
ch, err = harness.WaitTask(context.Background(), task.ID)
|
||||
require.NoError(err)
|
||||
|
||||
wg.Add(1)
|
||||
waitDone = false
|
||||
go func() {
|
||||
defer wg.Done()
|
||||
result := <-ch
|
||||
require.NoError(result.Err)
|
||||
require.NotZero(result.ExitCode)
|
||||
require.Equal(9, result.Signal)
|
||||
waitDone = true
|
||||
}()
|
||||
|
||||
time.Sleep(300 * time.Millisecond)
|
||||
require.NoError(d.StopTask(task.ID, 0, "SIGKILL"))
|
||||
wg.Wait()
|
||||
require.NoError(d.DestroyTask(task.ID, false))
|
||||
require.True(waitDone)
|
||||
}
|
||||
|
||||
func TestRawExecDriver_Start_Wait_AllocDir(t *testing.T) {
|
||||
ci.Parallel(t)
|
||||
require := require.New(t)
|
||||
|
||||
Reference in New Issue
Block a user