Explicitly set task groups network when networkAccess is false

Previously, updating an environment from with to without network
access would leave the network resource in the task group as they
were before.
This commit is contained in:
sirkrypt0
2021-05-27 10:08:27 +02:00
committed by Tobias Kantusch
parent b990df7b9d
commit 1be744f2d4
2 changed files with 5 additions and 0 deletions

View File

@ -125,6 +125,8 @@ func configureNetwork(taskGroup *nomadApi.TaskGroup, networkAccess bool, exposed
// Somehow, we can't set the network mode to none in the NetworkResource on task group level.
// See https://github.com/hashicorp/nomad/issues/10540
task.Config["network_mode"] = "none"
// Explicitly set Networks to signal Nomad to remove the possibly existing networkResource
taskGroup.Networks = []*nomadApi.NetworkResource{}
}
}

View File

@ -64,6 +64,7 @@ func createTestJob() (*nomadApi.Job, *nomadApi.Job) {
taskGroupName := fmt.Sprintf(nomad.TaskGroupNameFormat, *job.ID)
taskGroup.Name = &taskGroupName
taskGroup.Tasks = []*nomadApi.Task{task}
taskGroup.Networks = []*nomadApi.NetworkResource{}
job.TaskGroups = []*nomadApi.TaskGroup{taskGroup}
return job, base
}
@ -209,6 +210,7 @@ func TestConfigureTaskWhenNoTaskExists(t *testing.T) {
expectedImage := "python:latest"
expectedTask.Config = map[string]interface{}{"image": expectedImage, "network_mode": "none"}
expectedTaskGroup.Tasks = []*nomadApi.Task{expectedTask}
expectedTaskGroup.Networks = []*nomadApi.NetworkResource{}
configureTask(taskGroup, expectedTask.Name,
uint(*expectedResources.CPU), uint(*expectedResources.MemoryMB),
@ -232,6 +234,7 @@ func TestConfigureTaskWhenTaskExists(t *testing.T) {
expectedTask.Config["image"] = expectedImage
expectedTask.Config["network_mode"] = "none"
expectedTaskGroup.Tasks = []*nomadApi.Task{&expectedTask}
expectedTaskGroup.Networks = []*nomadApi.NetworkResource{}
configureTask(taskGroup, expectedTask.Name,
uint(*expectedResources.CPU), uint(*expectedResources.MemoryMB),