Merge pull request #5002 from hashicorp/b-task-config-resources
Convert driver resource to AllocatedTaskResource
This commit is contained in:
commit
9d1403d617
|
@ -37,6 +37,7 @@ func TestAllocRunner_TaskLeader_KillTG(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
alloc := mock.BatchAlloc()
|
alloc := mock.BatchAlloc()
|
||||||
|
tr := alloc.AllocatedResources.Tasks[alloc.Job.TaskGroups[0].Tasks[0].Name]
|
||||||
alloc.Job.TaskGroups[0].RestartPolicy.Attempts = 0
|
alloc.Job.TaskGroups[0].RestartPolicy.Attempts = 0
|
||||||
|
|
||||||
// Create two tasks in the task group
|
// Create two tasks in the task group
|
||||||
|
@ -56,7 +57,8 @@ func TestAllocRunner_TaskLeader_KillTG(t *testing.T) {
|
||||||
"run_for": "1s",
|
"run_for": "1s",
|
||||||
}
|
}
|
||||||
alloc.Job.TaskGroups[0].Tasks = append(alloc.Job.TaskGroups[0].Tasks, task2)
|
alloc.Job.TaskGroups[0].Tasks = append(alloc.Job.TaskGroups[0].Tasks, task2)
|
||||||
alloc.TaskResources[task2.Name] = task2.Resources
|
alloc.AllocatedResources.Tasks[task.Name] = tr
|
||||||
|
alloc.AllocatedResources.Tasks[task2.Name] = tr
|
||||||
|
|
||||||
conf, cleanup := testAllocRunnerConfig(t, alloc)
|
conf, cleanup := testAllocRunnerConfig(t, alloc)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
@ -121,6 +123,7 @@ func TestAllocRunner_TaskLeader_StopTG(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
alloc := mock.Alloc()
|
alloc := mock.Alloc()
|
||||||
|
tr := alloc.AllocatedResources.Tasks[alloc.Job.TaskGroups[0].Tasks[0].Name]
|
||||||
alloc.Job.TaskGroups[0].RestartPolicy.Attempts = 0
|
alloc.Job.TaskGroups[0].RestartPolicy.Attempts = 0
|
||||||
|
|
||||||
// Create 3 tasks in the task group
|
// Create 3 tasks in the task group
|
||||||
|
@ -146,7 +149,9 @@ func TestAllocRunner_TaskLeader_StopTG(t *testing.T) {
|
||||||
"run_for": "10s",
|
"run_for": "10s",
|
||||||
}
|
}
|
||||||
alloc.Job.TaskGroups[0].Tasks = append(alloc.Job.TaskGroups[0].Tasks, task2, task3)
|
alloc.Job.TaskGroups[0].Tasks = append(alloc.Job.TaskGroups[0].Tasks, task2, task3)
|
||||||
alloc.TaskResources[task2.Name] = task2.Resources
|
alloc.AllocatedResources.Tasks[task.Name] = tr
|
||||||
|
alloc.AllocatedResources.Tasks[task2.Name] = tr
|
||||||
|
alloc.AllocatedResources.Tasks[task3.Name] = tr
|
||||||
|
|
||||||
conf, cleanup := testAllocRunnerConfig(t, alloc)
|
conf, cleanup := testAllocRunnerConfig(t, alloc)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
@ -216,6 +221,7 @@ func TestAllocRunner_TaskLeader_StopRestoredTG(t *testing.T) {
|
||||||
t.Parallel()
|
t.Parallel()
|
||||||
|
|
||||||
alloc := mock.Alloc()
|
alloc := mock.Alloc()
|
||||||
|
tr := alloc.AllocatedResources.Tasks[alloc.Job.TaskGroups[0].Tasks[0].Name]
|
||||||
alloc.Job.TaskGroups[0].RestartPolicy.Attempts = 0
|
alloc.Job.TaskGroups[0].RestartPolicy.Attempts = 0
|
||||||
|
|
||||||
// Create a leader and follower task in the task group
|
// Create a leader and follower task in the task group
|
||||||
|
@ -237,7 +243,8 @@ func TestAllocRunner_TaskLeader_StopRestoredTG(t *testing.T) {
|
||||||
}
|
}
|
||||||
|
|
||||||
alloc.Job.TaskGroups[0].Tasks = append(alloc.Job.TaskGroups[0].Tasks, task2)
|
alloc.Job.TaskGroups[0].Tasks = append(alloc.Job.TaskGroups[0].Tasks, task2)
|
||||||
alloc.TaskResources[task2.Name] = task2.Resources
|
alloc.AllocatedResources.Tasks[task.Name] = tr
|
||||||
|
alloc.AllocatedResources.Tasks[task2.Name] = tr
|
||||||
|
|
||||||
conf, cleanup := testAllocRunnerConfig(t, alloc)
|
conf, cleanup := testAllocRunnerConfig(t, alloc)
|
||||||
defer cleanup()
|
defer cleanup()
|
||||||
|
|
|
@ -58,9 +58,16 @@ func newServiceHook(c serviceHookConfig) *serviceHook {
|
||||||
delay: c.task.ShutdownDelay,
|
delay: c.task.ShutdownDelay,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// COMPAT(0.10): Just use the AllocatedResources
|
||||||
|
if c.alloc.AllocatedResources != nil {
|
||||||
|
if res := c.alloc.AllocatedResources.Tasks[c.task.Name]; res != nil {
|
||||||
|
h.networks = res.Networks
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if res := c.alloc.TaskResources[c.task.Name]; res != nil {
|
if res := c.alloc.TaskResources[c.task.Name]; res != nil {
|
||||||
h.networks = res.Networks
|
h.networks = res.Networks
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if c.alloc.DeploymentStatus != nil && c.alloc.DeploymentStatus.Canary {
|
if c.alloc.DeploymentStatus != nil && c.alloc.DeploymentStatus.Canary {
|
||||||
h.canary = true
|
h.canary = true
|
||||||
|
@ -103,10 +110,17 @@ func (h *serviceHook) Update(ctx context.Context, req *interfaces.TaskUpdateRequ
|
||||||
canary = req.Alloc.DeploymentStatus.Canary
|
canary = req.Alloc.DeploymentStatus.Canary
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// COMPAT(0.10): Just use the AllocatedResources
|
||||||
var networks structs.Networks
|
var networks structs.Networks
|
||||||
|
if req.Alloc.AllocatedResources != nil {
|
||||||
|
if res := req.Alloc.AllocatedResources.Tasks[h.taskName]; res != nil {
|
||||||
|
networks = res.Networks
|
||||||
|
}
|
||||||
|
} else {
|
||||||
if res := req.Alloc.TaskResources[h.taskName]; res != nil {
|
if res := req.Alloc.TaskResources[h.taskName]; res != nil {
|
||||||
networks = res.Networks
|
networks = res.Networks
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
task := req.Alloc.LookupTask(h.taskName)
|
task := req.Alloc.LookupTask(h.taskName)
|
||||||
if task == nil {
|
if task == nil {
|
||||||
|
|
|
@ -265,12 +265,29 @@ func NewTaskRunner(config *Config) (*TaskRunner, error) {
|
||||||
// Pull out the task's resources
|
// Pull out the task's resources
|
||||||
ares := tr.alloc.AllocatedResources
|
ares := tr.alloc.AllocatedResources
|
||||||
if ares != nil {
|
if ares != nil {
|
||||||
if tres, ok := ares.Tasks[tr.taskName]; ok {
|
tres, ok := ares.Tasks[tr.taskName]
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("no task resources found on allocation")
|
||||||
|
}
|
||||||
tr.taskResources = tres
|
tr.taskResources = tres
|
||||||
|
} else {
|
||||||
|
// COMPAT(0.10): Upgrade from old resources to new resources
|
||||||
|
// Grab the old task resources
|
||||||
|
oldTr, ok := tr.alloc.TaskResources[tr.taskName]
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("no task resources found on allocation")
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO in the else case should we do a migration from resources as an
|
// Convert the old to new
|
||||||
// upgrade path
|
tr.taskResources = &structs.AllocatedTaskResources{
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: int64(oldTr.CPU),
|
||||||
|
},
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
|
MemoryMB: int64(oldTr.MemoryMB),
|
||||||
|
},
|
||||||
|
Networks: oldTr.Networks,
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Build the restart tracker.
|
// Build the restart tracker.
|
||||||
|
@ -697,17 +714,18 @@ func (tr *TaskRunner) buildTaskConfig() *drivers.TaskConfig {
|
||||||
task := tr.Task()
|
task := tr.Task()
|
||||||
alloc := tr.Alloc()
|
alloc := tr.Alloc()
|
||||||
invocationid := uuid.Generate()[:8]
|
invocationid := uuid.Generate()[:8]
|
||||||
|
taskResources := tr.taskResources
|
||||||
|
|
||||||
return &drivers.TaskConfig{
|
return &drivers.TaskConfig{
|
||||||
ID: fmt.Sprintf("%s/%s/%s", alloc.ID, task.Name, invocationid),
|
ID: fmt.Sprintf("%s/%s/%s", alloc.ID, task.Name, invocationid),
|
||||||
Name: task.Name,
|
Name: task.Name,
|
||||||
JobName: alloc.Job.Name,
|
JobName: alloc.Job.Name,
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: task.Resources,
|
NomadResources: taskResources,
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: int64(task.Resources.MemoryMB) * 1024 * 1024,
|
MemoryLimitBytes: taskResources.Memory.MemoryMB * 1024 * 1024,
|
||||||
CPUShares: int64(task.Resources.CPU),
|
CPUShares: taskResources.Cpu.CpuShares,
|
||||||
PercentTicks: float64(task.Resources.CPU) / float64(tr.clientConfig.Node.NodeResources.Cpu.CpuShares),
|
PercentTicks: float64(taskResources.Cpu.CpuShares) / float64(tr.clientConfig.Node.NodeResources.Cpu.CpuShares),
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
Devices: tr.hookResources.getDevices(),
|
Devices: tr.hookResources.getDevices(),
|
||||||
|
|
|
@ -17,8 +17,6 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
dtestutil "github.com/hashicorp/nomad/plugins/drivers/testutils"
|
|
||||||
|
|
||||||
docker "github.com/fsouza/go-dockerclient"
|
docker "github.com/fsouza/go-dockerclient"
|
||||||
"github.com/hashicorp/consul/lib/freeport"
|
"github.com/hashicorp/consul/lib/freeport"
|
||||||
hclog "github.com/hashicorp/go-hclog"
|
hclog "github.com/hashicorp/go-hclog"
|
||||||
|
@ -30,6 +28,7 @@ import (
|
||||||
"github.com/hashicorp/nomad/nomad/structs"
|
"github.com/hashicorp/nomad/nomad/structs"
|
||||||
"github.com/hashicorp/nomad/plugins/base"
|
"github.com/hashicorp/nomad/plugins/base"
|
||||||
"github.com/hashicorp/nomad/plugins/drivers"
|
"github.com/hashicorp/nomad/plugins/drivers"
|
||||||
|
dtestutil "github.com/hashicorp/nomad/plugins/drivers/testutils"
|
||||||
"github.com/hashicorp/nomad/plugins/shared/loader"
|
"github.com/hashicorp/nomad/plugins/shared/loader"
|
||||||
tu "github.com/hashicorp/nomad/testutil"
|
tu "github.com/hashicorp/nomad/testutil"
|
||||||
"github.com/stretchr/testify/assert"
|
"github.com/stretchr/testify/assert"
|
||||||
|
@ -38,10 +37,13 @@ import (
|
||||||
|
|
||||||
var (
|
var (
|
||||||
basicResources = &drivers.Resources{
|
basicResources = &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 256,
|
MemoryMB: 256,
|
||||||
CPU: 512,
|
},
|
||||||
DiskMB: 20,
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 250,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
CPUShares: 512,
|
CPUShares: 512,
|
||||||
|
@ -96,9 +98,13 @@ func dockerTask(t *testing.T) (*drivers.TaskConfig, *TaskConfig, []int) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "redis-demo",
|
Name: "redis-demo",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 256,
|
MemoryMB: 256,
|
||||||
CPU: 512,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 512,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
IP: "127.0.0.1",
|
IP: "127.0.0.1",
|
||||||
|
@ -2259,7 +2265,7 @@ func TestDockerDriver_OOMKilled(t *testing.T) {
|
||||||
Resources: basicResources,
|
Resources: basicResources,
|
||||||
}
|
}
|
||||||
task.Resources.LinuxResources.MemoryLimitBytes = 10 * 1024 * 1024
|
task.Resources.LinuxResources.MemoryLimitBytes = 10 * 1024 * 1024
|
||||||
task.Resources.NomadResources.MemoryMB = 10
|
task.Resources.NomadResources.Memory.MemoryMB = 10
|
||||||
|
|
||||||
require.NoError(t, task.EncodeConcreteDriverConfig(&taskCfg))
|
require.NoError(t, task.EncodeConcreteDriverConfig(&taskCfg))
|
||||||
|
|
||||||
|
|
|
@ -35,9 +35,13 @@ func TestMain(m *testing.M) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var testResources = &drivers.Resources{
|
var testResources = &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
|
|
@ -249,9 +249,13 @@ func basicTask(t *testing.T, name string, taskConfig map[string]interface{}) *dr
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: name,
|
Name: name,
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
|
|
@ -102,10 +102,14 @@ func TestLXCDriver_Start_Wait(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "test",
|
Name: "test",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
CPU: 1,
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 2,
|
MemoryMB: 2,
|
||||||
},
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 1024,
|
||||||
|
},
|
||||||
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
CPUShares: 1024,
|
CPUShares: 1024,
|
||||||
MemoryLimitBytes: 2 * 1024,
|
MemoryLimitBytes: 2 * 1024,
|
||||||
|
@ -196,10 +200,14 @@ func TestLXCDriver_Start_Stop(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "test",
|
Name: "test",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
CPU: 1,
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 2,
|
MemoryMB: 2,
|
||||||
},
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 1024,
|
||||||
|
},
|
||||||
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
CPUShares: 1024,
|
CPUShares: 1024,
|
||||||
MemoryLimitBytes: 2 * 1024,
|
MemoryLimitBytes: 2 * 1024,
|
||||||
|
|
|
@ -209,7 +209,7 @@ func (d *Driver) formatMount(hostPath, taskPath string, readOnly bool) string {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (d *Driver) setResourceLimits(c *lxc.Container, cfg *drivers.TaskConfig) error {
|
func (d *Driver) setResourceLimits(c *lxc.Container, cfg *drivers.TaskConfig) error {
|
||||||
if err := c.SetMemoryLimit(lxc.ByteSize(cfg.Resources.NomadResources.MemoryMB) * lxc.MB); err != nil {
|
if err := c.SetMemoryLimit(lxc.ByteSize(cfg.Resources.NomadResources.Memory.MemoryMB) * lxc.MB); err != nil {
|
||||||
return fmt.Errorf("unable to set memory limits: %v", err)
|
return fmt.Errorf("unable to set memory limits: %v", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -19,10 +19,14 @@ func TestLXCDriver_Mounts(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "test",
|
Name: "test",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
CPU: 1,
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 2,
|
MemoryMB: 2,
|
||||||
},
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 1024,
|
||||||
|
},
|
||||||
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
CPUShares: 1024,
|
CPUShares: 1024,
|
||||||
MemoryLimitBytes: 2 * 1024,
|
MemoryLimitBytes: 2 * 1024,
|
||||||
|
|
|
@ -318,10 +318,11 @@ func (d *Driver) StartTask(cfg *drivers.TaskConfig) (*drivers.TaskHandle, *cstru
|
||||||
accelerator = driverConfig.Accelerator
|
accelerator = driverConfig.Accelerator
|
||||||
}
|
}
|
||||||
|
|
||||||
if cfg.Resources.NomadResources.MemoryMB < 128 || cfg.Resources.NomadResources.MemoryMB > 4000000 {
|
mb := cfg.Resources.NomadResources.Memory.MemoryMB
|
||||||
|
if mb < 128 || mb > 4000000 {
|
||||||
return nil, nil, fmt.Errorf("Qemu memory assignment out of bounds")
|
return nil, nil, fmt.Errorf("Qemu memory assignment out of bounds")
|
||||||
}
|
}
|
||||||
mem := fmt.Sprintf("%dM", cfg.Resources.NomadResources.MemoryMB)
|
mem := fmt.Sprintf("%dM", mb)
|
||||||
|
|
||||||
absPath, err := GetAbsolutePath("qemu-system-x86_64")
|
absPath, err := GetAbsolutePath("qemu-system-x86_64")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -1,24 +1,22 @@
|
||||||
package qemu
|
package qemu
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"context"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
"os"
|
"os"
|
||||||
"path/filepath"
|
"path/filepath"
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
"context"
|
|
||||||
"fmt"
|
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
dtestutil "github.com/hashicorp/nomad/plugins/drivers/testutils"
|
|
||||||
|
|
||||||
"github.com/hashicorp/hcl2/hcl"
|
"github.com/hashicorp/hcl2/hcl"
|
||||||
ctestutil "github.com/hashicorp/nomad/client/testutil"
|
ctestutil "github.com/hashicorp/nomad/client/testutil"
|
||||||
"github.com/hashicorp/nomad/helper/testlog"
|
"github.com/hashicorp/nomad/helper/testlog"
|
||||||
"github.com/hashicorp/nomad/helper/uuid"
|
"github.com/hashicorp/nomad/helper/uuid"
|
||||||
"github.com/hashicorp/nomad/nomad/structs"
|
"github.com/hashicorp/nomad/nomad/structs"
|
||||||
"github.com/hashicorp/nomad/plugins/drivers"
|
"github.com/hashicorp/nomad/plugins/drivers"
|
||||||
|
dtestutil "github.com/hashicorp/nomad/plugins/drivers/testutils"
|
||||||
"github.com/hashicorp/nomad/plugins/shared"
|
"github.com/hashicorp/nomad/plugins/shared"
|
||||||
"github.com/hashicorp/nomad/plugins/shared/hclspec"
|
"github.com/hashicorp/nomad/plugins/shared/hclspec"
|
||||||
pstructs "github.com/hashicorp/nomad/plugins/shared/structs"
|
pstructs "github.com/hashicorp/nomad/plugins/shared/structs"
|
||||||
|
@ -44,9 +42,13 @@ func TestQemuDriver_Start_Wait_Stop(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "linux",
|
Name: "linux",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 512,
|
MemoryMB: 512,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
||||||
|
@ -102,9 +104,13 @@ func TestQemuDriver_GetMonitorPathOldQemu(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "linux",
|
Name: "linux",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 512,
|
MemoryMB: 512,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
||||||
|
@ -153,9 +159,13 @@ func TestQemuDriver_GetMonitorPathNewQemu(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "linux",
|
Name: "linux",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 512,
|
MemoryMB: 512,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
||||||
|
@ -243,9 +253,13 @@ func TestQemuDriver_User(t *testing.T) {
|
||||||
Name: "linux",
|
Name: "linux",
|
||||||
User: "alice",
|
User: "alice",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 512,
|
MemoryMB: 512,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
||||||
|
@ -295,9 +309,13 @@ func TestQemuDriver_Stats(t *testing.T) {
|
||||||
ID: uuid.Generate(),
|
ID: uuid.Generate(),
|
||||||
Name: "linux",
|
Name: "linux",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 512,
|
MemoryMB: 512,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
ReservedPorts: []structs.Port{{Label: "main", Value: 22000}, {Label: "web", Value: 80}},
|
||||||
|
|
|
@ -13,9 +13,6 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
dtestutil "github.com/hashicorp/nomad/plugins/drivers/testutils"
|
|
||||||
"golang.org/x/sys/unix"
|
|
||||||
|
|
||||||
"github.com/hashicorp/hcl2/hcl"
|
"github.com/hashicorp/hcl2/hcl"
|
||||||
ctestutil "github.com/hashicorp/nomad/client/testutil"
|
ctestutil "github.com/hashicorp/nomad/client/testutil"
|
||||||
"github.com/hashicorp/nomad/helper/testlog"
|
"github.com/hashicorp/nomad/helper/testlog"
|
||||||
|
@ -24,10 +21,12 @@ import (
|
||||||
"github.com/hashicorp/nomad/nomad/structs"
|
"github.com/hashicorp/nomad/nomad/structs"
|
||||||
basePlug "github.com/hashicorp/nomad/plugins/base"
|
basePlug "github.com/hashicorp/nomad/plugins/base"
|
||||||
"github.com/hashicorp/nomad/plugins/drivers"
|
"github.com/hashicorp/nomad/plugins/drivers"
|
||||||
|
dtestutil "github.com/hashicorp/nomad/plugins/drivers/testutils"
|
||||||
"github.com/hashicorp/nomad/plugins/shared"
|
"github.com/hashicorp/nomad/plugins/shared"
|
||||||
"github.com/hashicorp/nomad/plugins/shared/hclspec"
|
"github.com/hashicorp/nomad/plugins/shared/hclspec"
|
||||||
"github.com/hashicorp/nomad/testutil"
|
"github.com/hashicorp/nomad/testutil"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
|
"golang.org/x/sys/unix"
|
||||||
)
|
)
|
||||||
|
|
||||||
var _ drivers.DriverPlugin = (*Driver)(nil)
|
var _ drivers.DriverPlugin = (*Driver)(nil)
|
||||||
|
@ -93,9 +92,13 @@ func TestRktDriver_Start_Wait_Stop_DNS(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -173,9 +176,13 @@ func TestRktDriver_Start_Wait_Stop(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -228,9 +235,13 @@ func TestRktDriver_Start_Wait_Skip_Trust(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -283,9 +294,13 @@ func TestRktDriver_InvalidTrustPrefix(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -334,9 +349,13 @@ func TestRktDriver_StartWaitRecoverWaitStop(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -434,9 +453,13 @@ func TestRktDriver_Start_Wait_Volume(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "rkttest_alpine",
|
Name: "rkttest_alpine",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -518,9 +541,13 @@ func TestRktDriver_Start_Wait_TaskMounts(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "rkttest_alpine",
|
Name: "rkttest_alpine",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -586,9 +613,13 @@ func TestRktDriver_PortMapping(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "redis",
|
Name: "redis",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
Networks: []*structs.NetworkResource{
|
Networks: []*structs.NetworkResource{
|
||||||
{
|
{
|
||||||
IP: "127.0.0.1",
|
IP: "127.0.0.1",
|
||||||
|
@ -640,9 +671,13 @@ func TestRktDriver_UserGroup(t *testing.T) {
|
||||||
User: "nobody",
|
User: "nobody",
|
||||||
Name: "rkttest_alpine",
|
Name: "rkttest_alpine",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -702,9 +737,13 @@ func TestRktDriver_Exec(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
@ -780,9 +819,13 @@ func TestRktDriver_Stats(t *testing.T) {
|
||||||
AllocID: uuid.Generate(),
|
AllocID: uuid.Generate(),
|
||||||
Name: "etcd",
|
Name: "etcd",
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{
|
NomadResources: &structs.AllocatedTaskResources{
|
||||||
|
Memory: structs.AllocatedMemoryResources{
|
||||||
MemoryMB: 128,
|
MemoryMB: 128,
|
||||||
CPU: 100,
|
},
|
||||||
|
Cpu: structs.AllocatedCpuResources{
|
||||||
|
CpuShares: 100,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
LinuxResources: &drivers.LinuxResources{
|
LinuxResources: &drivers.LinuxResources{
|
||||||
MemoryLimitBytes: 134217728,
|
MemoryLimitBytes: 134217728,
|
||||||
|
|
|
@ -105,7 +105,7 @@ func (l *LibcontainerExecutor) Launch(command *ExecCommand) (*ProcessState, erro
|
||||||
|
|
||||||
if command.Resources == nil {
|
if command.Resources == nil {
|
||||||
command.Resources = &drivers.Resources{
|
command.Resources = &drivers.Resources{
|
||||||
NomadResources: &structs.Resources{},
|
NomadResources: &structs.AllocatedTaskResources{},
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -578,20 +578,21 @@ func configureCgroups(cfg *lconfigs.Config, command *ExecCommand) error {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
if command.Resources.NomadResources.MemoryMB > 0 {
|
if mb := command.Resources.NomadResources.Memory.MemoryMB; mb > 0 {
|
||||||
// Total amount of memory allowed to consume
|
// Total amount of memory allowed to consume
|
||||||
cfg.Cgroups.Resources.Memory = int64(command.Resources.NomadResources.MemoryMB * 1024 * 1024)
|
cfg.Cgroups.Resources.Memory = mb * 1024 * 1024
|
||||||
// Disable swap to avoid issues on the machine
|
// Disable swap to avoid issues on the machine
|
||||||
var memSwappiness uint64
|
var memSwappiness uint64
|
||||||
cfg.Cgroups.Resources.MemorySwappiness = &memSwappiness
|
cfg.Cgroups.Resources.MemorySwappiness = &memSwappiness
|
||||||
}
|
}
|
||||||
|
|
||||||
if command.Resources.NomadResources.CPU < 2 {
|
cpuShares := command.Resources.NomadResources.Cpu.CpuShares
|
||||||
return fmt.Errorf("resources.CPU must be equal to or greater than 2: %v", command.Resources.NomadResources.CPU)
|
if cpuShares < 2 {
|
||||||
|
return fmt.Errorf("resources.Cpu.CpuShares must be equal to or greater than 2: %v", cpuShares)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set the relative CPU shares for this cgroup.
|
// Set the relative CPU shares for this cgroup.
|
||||||
cfg.Cgroups.Resources.CpuShares = uint64(command.Resources.NomadResources.CPU)
|
cfg.Cgroups.Resources.CpuShares = uint64(cpuShares)
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
|
@ -69,7 +69,7 @@ func testExecutorCommandWithChroot(t *testing.T) (*ExecCommand, *allocdir.AllocD
|
||||||
Env: taskEnv.List(),
|
Env: taskEnv.List(),
|
||||||
TaskDir: td.Dir,
|
TaskDir: td.Dir,
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: task.Resources,
|
NomadResources: alloc.AllocatedResources.Tasks[task.Name],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
configureTLogging(cmd)
|
configureTLogging(cmd)
|
||||||
|
@ -109,7 +109,7 @@ func TestExecutor_IsolationAndConstraints(t *testing.T) {
|
||||||
data, err := ioutil.ReadFile(memLimits)
|
data, err := ioutil.ReadFile(memLimits)
|
||||||
require.NoError(err)
|
require.NoError(err)
|
||||||
|
|
||||||
expectedMemLim := strconv.Itoa(execCmd.Resources.NomadResources.MemoryMB * 1024 * 1024)
|
expectedMemLim := strconv.Itoa(int(execCmd.Resources.NomadResources.Memory.MemoryMB * 1024 * 1024))
|
||||||
actualMemLim := strings.TrimSpace(string(data))
|
actualMemLim := strings.TrimSpace(string(data))
|
||||||
require.Equal(actualMemLim, expectedMemLim)
|
require.Equal(actualMemLim, expectedMemLim)
|
||||||
require.NoError(executor.Shutdown("", 0))
|
require.NoError(executor.Shutdown("", 0))
|
||||||
|
|
|
@ -13,15 +13,14 @@ import (
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/hashicorp/nomad/plugins/drivers"
|
|
||||||
tu "github.com/hashicorp/nomad/testutil"
|
|
||||||
|
|
||||||
hclog "github.com/hashicorp/go-hclog"
|
hclog "github.com/hashicorp/go-hclog"
|
||||||
"github.com/hashicorp/nomad/client/allocdir"
|
"github.com/hashicorp/nomad/client/allocdir"
|
||||||
cstructs "github.com/hashicorp/nomad/client/structs"
|
cstructs "github.com/hashicorp/nomad/client/structs"
|
||||||
"github.com/hashicorp/nomad/client/taskenv"
|
"github.com/hashicorp/nomad/client/taskenv"
|
||||||
"github.com/hashicorp/nomad/helper/testlog"
|
"github.com/hashicorp/nomad/helper/testlog"
|
||||||
"github.com/hashicorp/nomad/nomad/mock"
|
"github.com/hashicorp/nomad/nomad/mock"
|
||||||
|
"github.com/hashicorp/nomad/plugins/drivers"
|
||||||
|
tu "github.com/hashicorp/nomad/testutil"
|
||||||
"github.com/stretchr/testify/require"
|
"github.com/stretchr/testify/require"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -55,7 +54,7 @@ func testExecutorCommand(t *testing.T) (*ExecCommand, *allocdir.AllocDir) {
|
||||||
Env: taskEnv.List(),
|
Env: taskEnv.List(),
|
||||||
TaskDir: td.Dir,
|
TaskDir: td.Dir,
|
||||||
Resources: &drivers.Resources{
|
Resources: &drivers.Resources{
|
||||||
NomadResources: task.Resources,
|
NomadResources: alloc.AllocatedResources.Tasks[task.Name],
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ func (m *LaunchRequest) Reset() { *m = LaunchRequest{} }
|
||||||
func (m *LaunchRequest) String() string { return proto.CompactTextString(m) }
|
func (m *LaunchRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*LaunchRequest) ProtoMessage() {}
|
func (*LaunchRequest) ProtoMessage() {}
|
||||||
func (*LaunchRequest) Descriptor() ([]byte, []int) {
|
func (*LaunchRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{0}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{0}
|
||||||
}
|
}
|
||||||
func (m *LaunchRequest) XXX_Unmarshal(b []byte) error {
|
func (m *LaunchRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_LaunchRequest.Unmarshal(m, b)
|
return xxx_messageInfo_LaunchRequest.Unmarshal(m, b)
|
||||||
|
@ -162,7 +162,7 @@ func (m *LaunchResponse) Reset() { *m = LaunchResponse{} }
|
||||||
func (m *LaunchResponse) String() string { return proto.CompactTextString(m) }
|
func (m *LaunchResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*LaunchResponse) ProtoMessage() {}
|
func (*LaunchResponse) ProtoMessage() {}
|
||||||
func (*LaunchResponse) Descriptor() ([]byte, []int) {
|
func (*LaunchResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{1}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{1}
|
||||||
}
|
}
|
||||||
func (m *LaunchResponse) XXX_Unmarshal(b []byte) error {
|
func (m *LaunchResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_LaunchResponse.Unmarshal(m, b)
|
return xxx_messageInfo_LaunchResponse.Unmarshal(m, b)
|
||||||
|
@ -199,7 +199,7 @@ func (m *WaitRequest) Reset() { *m = WaitRequest{} }
|
||||||
func (m *WaitRequest) String() string { return proto.CompactTextString(m) }
|
func (m *WaitRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*WaitRequest) ProtoMessage() {}
|
func (*WaitRequest) ProtoMessage() {}
|
||||||
func (*WaitRequest) Descriptor() ([]byte, []int) {
|
func (*WaitRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{2}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{2}
|
||||||
}
|
}
|
||||||
func (m *WaitRequest) XXX_Unmarshal(b []byte) error {
|
func (m *WaitRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_WaitRequest.Unmarshal(m, b)
|
return xxx_messageInfo_WaitRequest.Unmarshal(m, b)
|
||||||
|
@ -230,7 +230,7 @@ func (m *WaitResponse) Reset() { *m = WaitResponse{} }
|
||||||
func (m *WaitResponse) String() string { return proto.CompactTextString(m) }
|
func (m *WaitResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*WaitResponse) ProtoMessage() {}
|
func (*WaitResponse) ProtoMessage() {}
|
||||||
func (*WaitResponse) Descriptor() ([]byte, []int) {
|
func (*WaitResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{3}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{3}
|
||||||
}
|
}
|
||||||
func (m *WaitResponse) XXX_Unmarshal(b []byte) error {
|
func (m *WaitResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_WaitResponse.Unmarshal(m, b)
|
return xxx_messageInfo_WaitResponse.Unmarshal(m, b)
|
||||||
|
@ -269,7 +269,7 @@ func (m *ShutdownRequest) Reset() { *m = ShutdownRequest{} }
|
||||||
func (m *ShutdownRequest) String() string { return proto.CompactTextString(m) }
|
func (m *ShutdownRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ShutdownRequest) ProtoMessage() {}
|
func (*ShutdownRequest) ProtoMessage() {}
|
||||||
func (*ShutdownRequest) Descriptor() ([]byte, []int) {
|
func (*ShutdownRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{4}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{4}
|
||||||
}
|
}
|
||||||
func (m *ShutdownRequest) XXX_Unmarshal(b []byte) error {
|
func (m *ShutdownRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ShutdownRequest.Unmarshal(m, b)
|
return xxx_messageInfo_ShutdownRequest.Unmarshal(m, b)
|
||||||
|
@ -313,7 +313,7 @@ func (m *ShutdownResponse) Reset() { *m = ShutdownResponse{} }
|
||||||
func (m *ShutdownResponse) String() string { return proto.CompactTextString(m) }
|
func (m *ShutdownResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ShutdownResponse) ProtoMessage() {}
|
func (*ShutdownResponse) ProtoMessage() {}
|
||||||
func (*ShutdownResponse) Descriptor() ([]byte, []int) {
|
func (*ShutdownResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{5}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{5}
|
||||||
}
|
}
|
||||||
func (m *ShutdownResponse) XXX_Unmarshal(b []byte) error {
|
func (m *ShutdownResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ShutdownResponse.Unmarshal(m, b)
|
return xxx_messageInfo_ShutdownResponse.Unmarshal(m, b)
|
||||||
|
@ -344,7 +344,7 @@ func (m *UpdateResourcesRequest) Reset() { *m = UpdateResourcesRequest{}
|
||||||
func (m *UpdateResourcesRequest) String() string { return proto.CompactTextString(m) }
|
func (m *UpdateResourcesRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*UpdateResourcesRequest) ProtoMessage() {}
|
func (*UpdateResourcesRequest) ProtoMessage() {}
|
||||||
func (*UpdateResourcesRequest) Descriptor() ([]byte, []int) {
|
func (*UpdateResourcesRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{6}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{6}
|
||||||
}
|
}
|
||||||
func (m *UpdateResourcesRequest) XXX_Unmarshal(b []byte) error {
|
func (m *UpdateResourcesRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_UpdateResourcesRequest.Unmarshal(m, b)
|
return xxx_messageInfo_UpdateResourcesRequest.Unmarshal(m, b)
|
||||||
|
@ -381,7 +381,7 @@ func (m *UpdateResourcesResponse) Reset() { *m = UpdateResourcesResponse
|
||||||
func (m *UpdateResourcesResponse) String() string { return proto.CompactTextString(m) }
|
func (m *UpdateResourcesResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*UpdateResourcesResponse) ProtoMessage() {}
|
func (*UpdateResourcesResponse) ProtoMessage() {}
|
||||||
func (*UpdateResourcesResponse) Descriptor() ([]byte, []int) {
|
func (*UpdateResourcesResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{7}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{7}
|
||||||
}
|
}
|
||||||
func (m *UpdateResourcesResponse) XXX_Unmarshal(b []byte) error {
|
func (m *UpdateResourcesResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_UpdateResourcesResponse.Unmarshal(m, b)
|
return xxx_messageInfo_UpdateResourcesResponse.Unmarshal(m, b)
|
||||||
|
@ -411,7 +411,7 @@ func (m *VersionRequest) Reset() { *m = VersionRequest{} }
|
||||||
func (m *VersionRequest) String() string { return proto.CompactTextString(m) }
|
func (m *VersionRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*VersionRequest) ProtoMessage() {}
|
func (*VersionRequest) ProtoMessage() {}
|
||||||
func (*VersionRequest) Descriptor() ([]byte, []int) {
|
func (*VersionRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{8}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{8}
|
||||||
}
|
}
|
||||||
func (m *VersionRequest) XXX_Unmarshal(b []byte) error {
|
func (m *VersionRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_VersionRequest.Unmarshal(m, b)
|
return xxx_messageInfo_VersionRequest.Unmarshal(m, b)
|
||||||
|
@ -442,7 +442,7 @@ func (m *VersionResponse) Reset() { *m = VersionResponse{} }
|
||||||
func (m *VersionResponse) String() string { return proto.CompactTextString(m) }
|
func (m *VersionResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*VersionResponse) ProtoMessage() {}
|
func (*VersionResponse) ProtoMessage() {}
|
||||||
func (*VersionResponse) Descriptor() ([]byte, []int) {
|
func (*VersionResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{9}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{9}
|
||||||
}
|
}
|
||||||
func (m *VersionResponse) XXX_Unmarshal(b []byte) error {
|
func (m *VersionResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_VersionResponse.Unmarshal(m, b)
|
return xxx_messageInfo_VersionResponse.Unmarshal(m, b)
|
||||||
|
@ -479,7 +479,7 @@ func (m *StatsRequest) Reset() { *m = StatsRequest{} }
|
||||||
func (m *StatsRequest) String() string { return proto.CompactTextString(m) }
|
func (m *StatsRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StatsRequest) ProtoMessage() {}
|
func (*StatsRequest) ProtoMessage() {}
|
||||||
func (*StatsRequest) Descriptor() ([]byte, []int) {
|
func (*StatsRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{10}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{10}
|
||||||
}
|
}
|
||||||
func (m *StatsRequest) XXX_Unmarshal(b []byte) error {
|
func (m *StatsRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_StatsRequest.Unmarshal(m, b)
|
return xxx_messageInfo_StatsRequest.Unmarshal(m, b)
|
||||||
|
@ -510,7 +510,7 @@ func (m *StatsResponse) Reset() { *m = StatsResponse{} }
|
||||||
func (m *StatsResponse) String() string { return proto.CompactTextString(m) }
|
func (m *StatsResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StatsResponse) ProtoMessage() {}
|
func (*StatsResponse) ProtoMessage() {}
|
||||||
func (*StatsResponse) Descriptor() ([]byte, []int) {
|
func (*StatsResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{11}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{11}
|
||||||
}
|
}
|
||||||
func (m *StatsResponse) XXX_Unmarshal(b []byte) error {
|
func (m *StatsResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_StatsResponse.Unmarshal(m, b)
|
return xxx_messageInfo_StatsResponse.Unmarshal(m, b)
|
||||||
|
@ -548,7 +548,7 @@ func (m *SignalRequest) Reset() { *m = SignalRequest{} }
|
||||||
func (m *SignalRequest) String() string { return proto.CompactTextString(m) }
|
func (m *SignalRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SignalRequest) ProtoMessage() {}
|
func (*SignalRequest) ProtoMessage() {}
|
||||||
func (*SignalRequest) Descriptor() ([]byte, []int) {
|
func (*SignalRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{12}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{12}
|
||||||
}
|
}
|
||||||
func (m *SignalRequest) XXX_Unmarshal(b []byte) error {
|
func (m *SignalRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_SignalRequest.Unmarshal(m, b)
|
return xxx_messageInfo_SignalRequest.Unmarshal(m, b)
|
||||||
|
@ -585,7 +585,7 @@ func (m *SignalResponse) Reset() { *m = SignalResponse{} }
|
||||||
func (m *SignalResponse) String() string { return proto.CompactTextString(m) }
|
func (m *SignalResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SignalResponse) ProtoMessage() {}
|
func (*SignalResponse) ProtoMessage() {}
|
||||||
func (*SignalResponse) Descriptor() ([]byte, []int) {
|
func (*SignalResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{13}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{13}
|
||||||
}
|
}
|
||||||
func (m *SignalResponse) XXX_Unmarshal(b []byte) error {
|
func (m *SignalResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_SignalResponse.Unmarshal(m, b)
|
return xxx_messageInfo_SignalResponse.Unmarshal(m, b)
|
||||||
|
@ -618,7 +618,7 @@ func (m *ExecRequest) Reset() { *m = ExecRequest{} }
|
||||||
func (m *ExecRequest) String() string { return proto.CompactTextString(m) }
|
func (m *ExecRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ExecRequest) ProtoMessage() {}
|
func (*ExecRequest) ProtoMessage() {}
|
||||||
func (*ExecRequest) Descriptor() ([]byte, []int) {
|
func (*ExecRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{14}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{14}
|
||||||
}
|
}
|
||||||
func (m *ExecRequest) XXX_Unmarshal(b []byte) error {
|
func (m *ExecRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ExecRequest.Unmarshal(m, b)
|
return xxx_messageInfo_ExecRequest.Unmarshal(m, b)
|
||||||
|
@ -671,7 +671,7 @@ func (m *ExecResponse) Reset() { *m = ExecResponse{} }
|
||||||
func (m *ExecResponse) String() string { return proto.CompactTextString(m) }
|
func (m *ExecResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ExecResponse) ProtoMessage() {}
|
func (*ExecResponse) ProtoMessage() {}
|
||||||
func (*ExecResponse) Descriptor() ([]byte, []int) {
|
func (*ExecResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{15}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{15}
|
||||||
}
|
}
|
||||||
func (m *ExecResponse) XXX_Unmarshal(b []byte) error {
|
func (m *ExecResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ExecResponse.Unmarshal(m, b)
|
return xxx_messageInfo_ExecResponse.Unmarshal(m, b)
|
||||||
|
@ -719,7 +719,7 @@ func (m *ProcessState) Reset() { *m = ProcessState{} }
|
||||||
func (m *ProcessState) String() string { return proto.CompactTextString(m) }
|
func (m *ProcessState) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ProcessState) ProtoMessage() {}
|
func (*ProcessState) ProtoMessage() {}
|
||||||
func (*ProcessState) Descriptor() ([]byte, []int) {
|
func (*ProcessState) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_executor_b646d273b48eddd5, []int{16}
|
return fileDescriptor_executor_6afb14e0d1b270fe, []int{16}
|
||||||
}
|
}
|
||||||
func (m *ProcessState) XXX_Unmarshal(b []byte) error {
|
func (m *ProcessState) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ProcessState.Unmarshal(m, b)
|
return xxx_messageInfo_ProcessState.Unmarshal(m, b)
|
||||||
|
@ -1091,10 +1091,10 @@ var _Executor_serviceDesc = grpc.ServiceDesc{
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterFile("drivers/shared/executor/proto/executor.proto", fileDescriptor_executor_b646d273b48eddd5)
|
proto.RegisterFile("drivers/shared/executor/proto/executor.proto", fileDescriptor_executor_6afb14e0d1b270fe)
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptor_executor_b646d273b48eddd5 = []byte{
|
var fileDescriptor_executor_6afb14e0d1b270fe = []byte{
|
||||||
// 871 bytes of a gzipped FileDescriptorProto
|
// 871 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x4b, 0x8f, 0xdc, 0x44,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xb4, 0x55, 0x4b, 0x8f, 0xdc, 0x44,
|
||||||
0x10, 0xce, 0xac, 0x77, 0x5e, 0xe5, 0xd9, 0x87, 0x5a, 0x68, 0x71, 0xcc, 0x21, 0x83, 0x0f, 0x64,
|
0x10, 0xce, 0xac, 0x77, 0x5e, 0xe5, 0xd9, 0x87, 0x5a, 0x68, 0x71, 0xcc, 0x21, 0x83, 0x0f, 0x64,
|
||||||
|
|
|
@ -173,7 +173,7 @@ func (tc *TaskConfig) EncodeConcreteDriverConfig(t interface{}) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Resources struct {
|
type Resources struct {
|
||||||
NomadResources *structs.Resources
|
NomadResources *structs.AllocatedTaskResources
|
||||||
LinuxResources *LinuxResources
|
LinuxResources *LinuxResources
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ func (x TaskState) String() string {
|
||||||
return proto.EnumName(TaskState_name, int32(x))
|
return proto.EnumName(TaskState_name, int32(x))
|
||||||
}
|
}
|
||||||
func (TaskState) EnumDescriptor() ([]byte, []int) {
|
func (TaskState) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type FingerprintResponse_HealthState int32
|
type FingerprintResponse_HealthState int32
|
||||||
|
@ -76,7 +76,7 @@ func (x FingerprintResponse_HealthState) String() string {
|
||||||
return proto.EnumName(FingerprintResponse_HealthState_name, int32(x))
|
return proto.EnumName(FingerprintResponse_HealthState_name, int32(x))
|
||||||
}
|
}
|
||||||
func (FingerprintResponse_HealthState) EnumDescriptor() ([]byte, []int) {
|
func (FingerprintResponse_HealthState) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{5, 0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{5, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type StartTaskResponse_Result int32
|
type StartTaskResponse_Result int32
|
||||||
|
@ -102,7 +102,7 @@ func (x StartTaskResponse_Result) String() string {
|
||||||
return proto.EnumName(StartTaskResponse_Result_name, int32(x))
|
return proto.EnumName(StartTaskResponse_Result_name, int32(x))
|
||||||
}
|
}
|
||||||
func (StartTaskResponse_Result) EnumDescriptor() ([]byte, []int) {
|
func (StartTaskResponse_Result) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{9, 0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{9, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type DriverCapabilities_FSIsolation int32
|
type DriverCapabilities_FSIsolation int32
|
||||||
|
@ -128,7 +128,7 @@ func (x DriverCapabilities_FSIsolation) String() string {
|
||||||
return proto.EnumName(DriverCapabilities_FSIsolation_name, int32(x))
|
return proto.EnumName(DriverCapabilities_FSIsolation_name, int32(x))
|
||||||
}
|
}
|
||||||
func (DriverCapabilities_FSIsolation) EnumDescriptor() ([]byte, []int) {
|
func (DriverCapabilities_FSIsolation) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{25, 0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{25, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type CPUUsage_Fields int32
|
type CPUUsage_Fields int32
|
||||||
|
@ -163,7 +163,7 @@ func (x CPUUsage_Fields) String() string {
|
||||||
return proto.EnumName(CPUUsage_Fields_name, int32(x))
|
return proto.EnumName(CPUUsage_Fields_name, int32(x))
|
||||||
}
|
}
|
||||||
func (CPUUsage_Fields) EnumDescriptor() ([]byte, []int) {
|
func (CPUUsage_Fields) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{41, 0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{43, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type MemoryUsage_Fields int32
|
type MemoryUsage_Fields int32
|
||||||
|
@ -195,7 +195,7 @@ func (x MemoryUsage_Fields) String() string {
|
||||||
return proto.EnumName(MemoryUsage_Fields_name, int32(x))
|
return proto.EnumName(MemoryUsage_Fields_name, int32(x))
|
||||||
}
|
}
|
||||||
func (MemoryUsage_Fields) EnumDescriptor() ([]byte, []int) {
|
func (MemoryUsage_Fields) EnumDescriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{42, 0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{44, 0}
|
||||||
}
|
}
|
||||||
|
|
||||||
type TaskConfigSchemaRequest struct {
|
type TaskConfigSchemaRequest struct {
|
||||||
|
@ -208,7 +208,7 @@ func (m *TaskConfigSchemaRequest) Reset() { *m = TaskConfigSchemaRequest
|
||||||
func (m *TaskConfigSchemaRequest) String() string { return proto.CompactTextString(m) }
|
func (m *TaskConfigSchemaRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskConfigSchemaRequest) ProtoMessage() {}
|
func (*TaskConfigSchemaRequest) ProtoMessage() {}
|
||||||
func (*TaskConfigSchemaRequest) Descriptor() ([]byte, []int) {
|
func (*TaskConfigSchemaRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{0}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{0}
|
||||||
}
|
}
|
||||||
func (m *TaskConfigSchemaRequest) XXX_Unmarshal(b []byte) error {
|
func (m *TaskConfigSchemaRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskConfigSchemaRequest.Unmarshal(m, b)
|
return xxx_messageInfo_TaskConfigSchemaRequest.Unmarshal(m, b)
|
||||||
|
@ -240,7 +240,7 @@ func (m *TaskConfigSchemaResponse) Reset() { *m = TaskConfigSchemaRespon
|
||||||
func (m *TaskConfigSchemaResponse) String() string { return proto.CompactTextString(m) }
|
func (m *TaskConfigSchemaResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskConfigSchemaResponse) ProtoMessage() {}
|
func (*TaskConfigSchemaResponse) ProtoMessage() {}
|
||||||
func (*TaskConfigSchemaResponse) Descriptor() ([]byte, []int) {
|
func (*TaskConfigSchemaResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{1}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{1}
|
||||||
}
|
}
|
||||||
func (m *TaskConfigSchemaResponse) XXX_Unmarshal(b []byte) error {
|
func (m *TaskConfigSchemaResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskConfigSchemaResponse.Unmarshal(m, b)
|
return xxx_messageInfo_TaskConfigSchemaResponse.Unmarshal(m, b)
|
||||||
|
@ -277,7 +277,7 @@ func (m *CapabilitiesRequest) Reset() { *m = CapabilitiesRequest{} }
|
||||||
func (m *CapabilitiesRequest) String() string { return proto.CompactTextString(m) }
|
func (m *CapabilitiesRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*CapabilitiesRequest) ProtoMessage() {}
|
func (*CapabilitiesRequest) ProtoMessage() {}
|
||||||
func (*CapabilitiesRequest) Descriptor() ([]byte, []int) {
|
func (*CapabilitiesRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{2}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{2}
|
||||||
}
|
}
|
||||||
func (m *CapabilitiesRequest) XXX_Unmarshal(b []byte) error {
|
func (m *CapabilitiesRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_CapabilitiesRequest.Unmarshal(m, b)
|
return xxx_messageInfo_CapabilitiesRequest.Unmarshal(m, b)
|
||||||
|
@ -312,7 +312,7 @@ func (m *CapabilitiesResponse) Reset() { *m = CapabilitiesResponse{} }
|
||||||
func (m *CapabilitiesResponse) String() string { return proto.CompactTextString(m) }
|
func (m *CapabilitiesResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*CapabilitiesResponse) ProtoMessage() {}
|
func (*CapabilitiesResponse) ProtoMessage() {}
|
||||||
func (*CapabilitiesResponse) Descriptor() ([]byte, []int) {
|
func (*CapabilitiesResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{3}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{3}
|
||||||
}
|
}
|
||||||
func (m *CapabilitiesResponse) XXX_Unmarshal(b []byte) error {
|
func (m *CapabilitiesResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_CapabilitiesResponse.Unmarshal(m, b)
|
return xxx_messageInfo_CapabilitiesResponse.Unmarshal(m, b)
|
||||||
|
@ -349,7 +349,7 @@ func (m *FingerprintRequest) Reset() { *m = FingerprintRequest{} }
|
||||||
func (m *FingerprintRequest) String() string { return proto.CompactTextString(m) }
|
func (m *FingerprintRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*FingerprintRequest) ProtoMessage() {}
|
func (*FingerprintRequest) ProtoMessage() {}
|
||||||
func (*FingerprintRequest) Descriptor() ([]byte, []int) {
|
func (*FingerprintRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{4}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{4}
|
||||||
}
|
}
|
||||||
func (m *FingerprintRequest) XXX_Unmarshal(b []byte) error {
|
func (m *FingerprintRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_FingerprintRequest.Unmarshal(m, b)
|
return xxx_messageInfo_FingerprintRequest.Unmarshal(m, b)
|
||||||
|
@ -392,7 +392,7 @@ func (m *FingerprintResponse) Reset() { *m = FingerprintResponse{} }
|
||||||
func (m *FingerprintResponse) String() string { return proto.CompactTextString(m) }
|
func (m *FingerprintResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*FingerprintResponse) ProtoMessage() {}
|
func (*FingerprintResponse) ProtoMessage() {}
|
||||||
func (*FingerprintResponse) Descriptor() ([]byte, []int) {
|
func (*FingerprintResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{5}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{5}
|
||||||
}
|
}
|
||||||
func (m *FingerprintResponse) XXX_Unmarshal(b []byte) error {
|
func (m *FingerprintResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_FingerprintResponse.Unmarshal(m, b)
|
return xxx_messageInfo_FingerprintResponse.Unmarshal(m, b)
|
||||||
|
@ -447,7 +447,7 @@ func (m *RecoverTaskRequest) Reset() { *m = RecoverTaskRequest{} }
|
||||||
func (m *RecoverTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *RecoverTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RecoverTaskRequest) ProtoMessage() {}
|
func (*RecoverTaskRequest) ProtoMessage() {}
|
||||||
func (*RecoverTaskRequest) Descriptor() ([]byte, []int) {
|
func (*RecoverTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{6}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{6}
|
||||||
}
|
}
|
||||||
func (m *RecoverTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *RecoverTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RecoverTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_RecoverTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -491,7 +491,7 @@ func (m *RecoverTaskResponse) Reset() { *m = RecoverTaskResponse{} }
|
||||||
func (m *RecoverTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *RecoverTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RecoverTaskResponse) ProtoMessage() {}
|
func (*RecoverTaskResponse) ProtoMessage() {}
|
||||||
func (*RecoverTaskResponse) Descriptor() ([]byte, []int) {
|
func (*RecoverTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{7}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{7}
|
||||||
}
|
}
|
||||||
func (m *RecoverTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *RecoverTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RecoverTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_RecoverTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -523,7 +523,7 @@ func (m *StartTaskRequest) Reset() { *m = StartTaskRequest{} }
|
||||||
func (m *StartTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *StartTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StartTaskRequest) ProtoMessage() {}
|
func (*StartTaskRequest) ProtoMessage() {}
|
||||||
func (*StartTaskRequest) Descriptor() ([]byte, []int) {
|
func (*StartTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{8}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{8}
|
||||||
}
|
}
|
||||||
func (m *StartTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *StartTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_StartTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_StartTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -577,7 +577,7 @@ func (m *StartTaskResponse) Reset() { *m = StartTaskResponse{} }
|
||||||
func (m *StartTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *StartTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StartTaskResponse) ProtoMessage() {}
|
func (*StartTaskResponse) ProtoMessage() {}
|
||||||
func (*StartTaskResponse) Descriptor() ([]byte, []int) {
|
func (*StartTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{9}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{9}
|
||||||
}
|
}
|
||||||
func (m *StartTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *StartTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_StartTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_StartTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -637,7 +637,7 @@ func (m *WaitTaskRequest) Reset() { *m = WaitTaskRequest{} }
|
||||||
func (m *WaitTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *WaitTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*WaitTaskRequest) ProtoMessage() {}
|
func (*WaitTaskRequest) ProtoMessage() {}
|
||||||
func (*WaitTaskRequest) Descriptor() ([]byte, []int) {
|
func (*WaitTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{10}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{10}
|
||||||
}
|
}
|
||||||
func (m *WaitTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *WaitTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_WaitTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_WaitTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -678,7 +678,7 @@ func (m *WaitTaskResponse) Reset() { *m = WaitTaskResponse{} }
|
||||||
func (m *WaitTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *WaitTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*WaitTaskResponse) ProtoMessage() {}
|
func (*WaitTaskResponse) ProtoMessage() {}
|
||||||
func (*WaitTaskResponse) Descriptor() ([]byte, []int) {
|
func (*WaitTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{11}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{11}
|
||||||
}
|
}
|
||||||
func (m *WaitTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *WaitTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_WaitTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_WaitTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -730,7 +730,7 @@ func (m *StopTaskRequest) Reset() { *m = StopTaskRequest{} }
|
||||||
func (m *StopTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *StopTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StopTaskRequest) ProtoMessage() {}
|
func (*StopTaskRequest) ProtoMessage() {}
|
||||||
func (*StopTaskRequest) Descriptor() ([]byte, []int) {
|
func (*StopTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{12}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{12}
|
||||||
}
|
}
|
||||||
func (m *StopTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *StopTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_StopTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_StopTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -781,7 +781,7 @@ func (m *StopTaskResponse) Reset() { *m = StopTaskResponse{} }
|
||||||
func (m *StopTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *StopTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*StopTaskResponse) ProtoMessage() {}
|
func (*StopTaskResponse) ProtoMessage() {}
|
||||||
func (*StopTaskResponse) Descriptor() ([]byte, []int) {
|
func (*StopTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{13}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{13}
|
||||||
}
|
}
|
||||||
func (m *StopTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *StopTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_StopTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_StopTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -815,7 +815,7 @@ func (m *DestroyTaskRequest) Reset() { *m = DestroyTaskRequest{} }
|
||||||
func (m *DestroyTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *DestroyTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DestroyTaskRequest) ProtoMessage() {}
|
func (*DestroyTaskRequest) ProtoMessage() {}
|
||||||
func (*DestroyTaskRequest) Descriptor() ([]byte, []int) {
|
func (*DestroyTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{14}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{14}
|
||||||
}
|
}
|
||||||
func (m *DestroyTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *DestroyTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DestroyTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_DestroyTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -859,7 +859,7 @@ func (m *DestroyTaskResponse) Reset() { *m = DestroyTaskResponse{} }
|
||||||
func (m *DestroyTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *DestroyTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DestroyTaskResponse) ProtoMessage() {}
|
func (*DestroyTaskResponse) ProtoMessage() {}
|
||||||
func (*DestroyTaskResponse) Descriptor() ([]byte, []int) {
|
func (*DestroyTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{15}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{15}
|
||||||
}
|
}
|
||||||
func (m *DestroyTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *DestroyTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DestroyTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_DestroyTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -891,7 +891,7 @@ func (m *InspectTaskRequest) Reset() { *m = InspectTaskRequest{} }
|
||||||
func (m *InspectTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *InspectTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*InspectTaskRequest) ProtoMessage() {}
|
func (*InspectTaskRequest) ProtoMessage() {}
|
||||||
func (*InspectTaskRequest) Descriptor() ([]byte, []int) {
|
func (*InspectTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{16}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{16}
|
||||||
}
|
}
|
||||||
func (m *InspectTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *InspectTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_InspectTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_InspectTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -934,7 +934,7 @@ func (m *InspectTaskResponse) Reset() { *m = InspectTaskResponse{} }
|
||||||
func (m *InspectTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *InspectTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*InspectTaskResponse) ProtoMessage() {}
|
func (*InspectTaskResponse) ProtoMessage() {}
|
||||||
func (*InspectTaskResponse) Descriptor() ([]byte, []int) {
|
func (*InspectTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{17}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{17}
|
||||||
}
|
}
|
||||||
func (m *InspectTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *InspectTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_InspectTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_InspectTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -987,7 +987,7 @@ func (m *TaskStatsRequest) Reset() { *m = TaskStatsRequest{} }
|
||||||
func (m *TaskStatsRequest) String() string { return proto.CompactTextString(m) }
|
func (m *TaskStatsRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskStatsRequest) ProtoMessage() {}
|
func (*TaskStatsRequest) ProtoMessage() {}
|
||||||
func (*TaskStatsRequest) Descriptor() ([]byte, []int) {
|
func (*TaskStatsRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{18}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{18}
|
||||||
}
|
}
|
||||||
func (m *TaskStatsRequest) XXX_Unmarshal(b []byte) error {
|
func (m *TaskStatsRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskStatsRequest.Unmarshal(m, b)
|
return xxx_messageInfo_TaskStatsRequest.Unmarshal(m, b)
|
||||||
|
@ -1026,7 +1026,7 @@ func (m *TaskStatsResponse) Reset() { *m = TaskStatsResponse{} }
|
||||||
func (m *TaskStatsResponse) String() string { return proto.CompactTextString(m) }
|
func (m *TaskStatsResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskStatsResponse) ProtoMessage() {}
|
func (*TaskStatsResponse) ProtoMessage() {}
|
||||||
func (*TaskStatsResponse) Descriptor() ([]byte, []int) {
|
func (*TaskStatsResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{19}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{19}
|
||||||
}
|
}
|
||||||
func (m *TaskStatsResponse) XXX_Unmarshal(b []byte) error {
|
func (m *TaskStatsResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskStatsResponse.Unmarshal(m, b)
|
return xxx_messageInfo_TaskStatsResponse.Unmarshal(m, b)
|
||||||
|
@ -1063,7 +1063,7 @@ func (m *TaskEventsRequest) Reset() { *m = TaskEventsRequest{} }
|
||||||
func (m *TaskEventsRequest) String() string { return proto.CompactTextString(m) }
|
func (m *TaskEventsRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskEventsRequest) ProtoMessage() {}
|
func (*TaskEventsRequest) ProtoMessage() {}
|
||||||
func (*TaskEventsRequest) Descriptor() ([]byte, []int) {
|
func (*TaskEventsRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{20}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{20}
|
||||||
}
|
}
|
||||||
func (m *TaskEventsRequest) XXX_Unmarshal(b []byte) error {
|
func (m *TaskEventsRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskEventsRequest.Unmarshal(m, b)
|
return xxx_messageInfo_TaskEventsRequest.Unmarshal(m, b)
|
||||||
|
@ -1097,7 +1097,7 @@ func (m *SignalTaskRequest) Reset() { *m = SignalTaskRequest{} }
|
||||||
func (m *SignalTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *SignalTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SignalTaskRequest) ProtoMessage() {}
|
func (*SignalTaskRequest) ProtoMessage() {}
|
||||||
func (*SignalTaskRequest) Descriptor() ([]byte, []int) {
|
func (*SignalTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{21}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{21}
|
||||||
}
|
}
|
||||||
func (m *SignalTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *SignalTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_SignalTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_SignalTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -1141,7 +1141,7 @@ func (m *SignalTaskResponse) Reset() { *m = SignalTaskResponse{} }
|
||||||
func (m *SignalTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *SignalTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*SignalTaskResponse) ProtoMessage() {}
|
func (*SignalTaskResponse) ProtoMessage() {}
|
||||||
func (*SignalTaskResponse) Descriptor() ([]byte, []int) {
|
func (*SignalTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{22}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{22}
|
||||||
}
|
}
|
||||||
func (m *SignalTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *SignalTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_SignalTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_SignalTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -1178,7 +1178,7 @@ func (m *ExecTaskRequest) Reset() { *m = ExecTaskRequest{} }
|
||||||
func (m *ExecTaskRequest) String() string { return proto.CompactTextString(m) }
|
func (m *ExecTaskRequest) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ExecTaskRequest) ProtoMessage() {}
|
func (*ExecTaskRequest) ProtoMessage() {}
|
||||||
func (*ExecTaskRequest) Descriptor() ([]byte, []int) {
|
func (*ExecTaskRequest) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{23}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{23}
|
||||||
}
|
}
|
||||||
func (m *ExecTaskRequest) XXX_Unmarshal(b []byte) error {
|
func (m *ExecTaskRequest) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ExecTaskRequest.Unmarshal(m, b)
|
return xxx_messageInfo_ExecTaskRequest.Unmarshal(m, b)
|
||||||
|
@ -1235,7 +1235,7 @@ func (m *ExecTaskResponse) Reset() { *m = ExecTaskResponse{} }
|
||||||
func (m *ExecTaskResponse) String() string { return proto.CompactTextString(m) }
|
func (m *ExecTaskResponse) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ExecTaskResponse) ProtoMessage() {}
|
func (*ExecTaskResponse) ProtoMessage() {}
|
||||||
func (*ExecTaskResponse) Descriptor() ([]byte, []int) {
|
func (*ExecTaskResponse) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{24}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{24}
|
||||||
}
|
}
|
||||||
func (m *ExecTaskResponse) XXX_Unmarshal(b []byte) error {
|
func (m *ExecTaskResponse) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ExecTaskResponse.Unmarshal(m, b)
|
return xxx_messageInfo_ExecTaskResponse.Unmarshal(m, b)
|
||||||
|
@ -1294,7 +1294,7 @@ func (m *DriverCapabilities) Reset() { *m = DriverCapabilities{} }
|
||||||
func (m *DriverCapabilities) String() string { return proto.CompactTextString(m) }
|
func (m *DriverCapabilities) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DriverCapabilities) ProtoMessage() {}
|
func (*DriverCapabilities) ProtoMessage() {}
|
||||||
func (*DriverCapabilities) Descriptor() ([]byte, []int) {
|
func (*DriverCapabilities) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{25}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{25}
|
||||||
}
|
}
|
||||||
func (m *DriverCapabilities) XXX_Unmarshal(b []byte) error {
|
func (m *DriverCapabilities) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DriverCapabilities.Unmarshal(m, b)
|
return xxx_messageInfo_DriverCapabilities.Unmarshal(m, b)
|
||||||
|
@ -1375,7 +1375,7 @@ func (m *TaskConfig) Reset() { *m = TaskConfig{} }
|
||||||
func (m *TaskConfig) String() string { return proto.CompactTextString(m) }
|
func (m *TaskConfig) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskConfig) ProtoMessage() {}
|
func (*TaskConfig) ProtoMessage() {}
|
||||||
func (*TaskConfig) Descriptor() ([]byte, []int) {
|
func (*TaskConfig) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{26}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{26}
|
||||||
}
|
}
|
||||||
func (m *TaskConfig) XXX_Unmarshal(b []byte) error {
|
func (m *TaskConfig) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskConfig.Unmarshal(m, b)
|
return xxx_messageInfo_TaskConfig.Unmarshal(m, b)
|
||||||
|
@ -1494,8 +1494,8 @@ func (m *TaskConfig) GetAllocId() string {
|
||||||
}
|
}
|
||||||
|
|
||||||
type Resources struct {
|
type Resources struct {
|
||||||
// RawResources are the resources set for the task
|
// AllocatedResources are the resources set for the task
|
||||||
RawResources *RawResources `protobuf:"bytes,1,opt,name=raw_resources,json=rawResources,proto3" json:"raw_resources,omitempty"`
|
AllocatedResources *AllocatedTaskResources `protobuf:"bytes,1,opt,name=allocated_resources,json=allocatedResources,proto3" json:"allocated_resources,omitempty"`
|
||||||
// LinuxResources are the computed values to set for specific Linux features
|
// LinuxResources are the computed values to set for specific Linux features
|
||||||
LinuxResources *LinuxResources `protobuf:"bytes,2,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"`
|
LinuxResources *LinuxResources `protobuf:"bytes,2,opt,name=linux_resources,json=linuxResources,proto3" json:"linux_resources,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
@ -1507,7 +1507,7 @@ func (m *Resources) Reset() { *m = Resources{} }
|
||||||
func (m *Resources) String() string { return proto.CompactTextString(m) }
|
func (m *Resources) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Resources) ProtoMessage() {}
|
func (*Resources) ProtoMessage() {}
|
||||||
func (*Resources) Descriptor() ([]byte, []int) {
|
func (*Resources) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{27}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{27}
|
||||||
}
|
}
|
||||||
func (m *Resources) XXX_Unmarshal(b []byte) error {
|
func (m *Resources) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Resources.Unmarshal(m, b)
|
return xxx_messageInfo_Resources.Unmarshal(m, b)
|
||||||
|
@ -1527,9 +1527,9 @@ func (m *Resources) XXX_DiscardUnknown() {
|
||||||
|
|
||||||
var xxx_messageInfo_Resources proto.InternalMessageInfo
|
var xxx_messageInfo_Resources proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *Resources) GetRawResources() *RawResources {
|
func (m *Resources) GetAllocatedResources() *AllocatedTaskResources {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.RawResources
|
return m.AllocatedResources
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -1541,76 +1541,136 @@ func (m *Resources) GetLinuxResources() *LinuxResources {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
type RawResources struct {
|
type AllocatedTaskResources struct {
|
||||||
Cpu int64 `protobuf:"varint,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
|
Cpu *AllocatedCpuResources `protobuf:"bytes,1,opt,name=cpu,proto3" json:"cpu,omitempty"`
|
||||||
Memory int64 `protobuf:"varint,2,opt,name=memory,proto3" json:"memory,omitempty"`
|
Memory *AllocatedMemoryResources `protobuf:"bytes,2,opt,name=memory,proto3" json:"memory,omitempty"`
|
||||||
Disk int64 `protobuf:"varint,3,opt,name=disk,proto3" json:"disk,omitempty"`
|
|
||||||
Iops int64 `protobuf:"varint,4,opt,name=iops,proto3" json:"iops,omitempty"`
|
|
||||||
Networks []*NetworkResource `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"`
|
Networks []*NetworkResource `protobuf:"bytes,5,rep,name=networks,proto3" json:"networks,omitempty"`
|
||||||
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
XXX_unrecognized []byte `json:"-"`
|
XXX_unrecognized []byte `json:"-"`
|
||||||
XXX_sizecache int32 `json:"-"`
|
XXX_sizecache int32 `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RawResources) Reset() { *m = RawResources{} }
|
func (m *AllocatedTaskResources) Reset() { *m = AllocatedTaskResources{} }
|
||||||
func (m *RawResources) String() string { return proto.CompactTextString(m) }
|
func (m *AllocatedTaskResources) String() string { return proto.CompactTextString(m) }
|
||||||
func (*RawResources) ProtoMessage() {}
|
func (*AllocatedTaskResources) ProtoMessage() {}
|
||||||
func (*RawResources) Descriptor() ([]byte, []int) {
|
func (*AllocatedTaskResources) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{28}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{28}
|
||||||
}
|
}
|
||||||
func (m *RawResources) XXX_Unmarshal(b []byte) error {
|
func (m *AllocatedTaskResources) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_RawResources.Unmarshal(m, b)
|
return xxx_messageInfo_AllocatedTaskResources.Unmarshal(m, b)
|
||||||
}
|
}
|
||||||
func (m *RawResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
func (m *AllocatedTaskResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
return xxx_messageInfo_RawResources.Marshal(b, m, deterministic)
|
return xxx_messageInfo_AllocatedTaskResources.Marshal(b, m, deterministic)
|
||||||
}
|
}
|
||||||
func (dst *RawResources) XXX_Merge(src proto.Message) {
|
func (dst *AllocatedTaskResources) XXX_Merge(src proto.Message) {
|
||||||
xxx_messageInfo_RawResources.Merge(dst, src)
|
xxx_messageInfo_AllocatedTaskResources.Merge(dst, src)
|
||||||
}
|
}
|
||||||
func (m *RawResources) XXX_Size() int {
|
func (m *AllocatedTaskResources) XXX_Size() int {
|
||||||
return xxx_messageInfo_RawResources.Size(m)
|
return xxx_messageInfo_AllocatedTaskResources.Size(m)
|
||||||
}
|
}
|
||||||
func (m *RawResources) XXX_DiscardUnknown() {
|
func (m *AllocatedTaskResources) XXX_DiscardUnknown() {
|
||||||
xxx_messageInfo_RawResources.DiscardUnknown(m)
|
xxx_messageInfo_AllocatedTaskResources.DiscardUnknown(m)
|
||||||
}
|
}
|
||||||
|
|
||||||
var xxx_messageInfo_RawResources proto.InternalMessageInfo
|
var xxx_messageInfo_AllocatedTaskResources proto.InternalMessageInfo
|
||||||
|
|
||||||
func (m *RawResources) GetCpu() int64 {
|
func (m *AllocatedTaskResources) GetCpu() *AllocatedCpuResources {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.Cpu
|
return m.Cpu
|
||||||
}
|
}
|
||||||
return 0
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RawResources) GetMemory() int64 {
|
func (m *AllocatedTaskResources) GetMemory() *AllocatedMemoryResources {
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.Memory
|
return m.Memory
|
||||||
}
|
}
|
||||||
return 0
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (m *RawResources) GetDisk() int64 {
|
func (m *AllocatedTaskResources) GetNetworks() []*NetworkResource {
|
||||||
if m != nil {
|
|
||||||
return m.Disk
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *RawResources) GetIops() int64 {
|
|
||||||
if m != nil {
|
|
||||||
return m.Iops
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (m *RawResources) GetNetworks() []*NetworkResource {
|
|
||||||
if m != nil {
|
if m != nil {
|
||||||
return m.Networks
|
return m.Networks
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type AllocatedCpuResources struct {
|
||||||
|
CpuShares int64 `protobuf:"varint,1,opt,name=cpu_shares,json=cpuShares,proto3" json:"cpu_shares,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AllocatedCpuResources) Reset() { *m = AllocatedCpuResources{} }
|
||||||
|
func (m *AllocatedCpuResources) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*AllocatedCpuResources) ProtoMessage() {}
|
||||||
|
func (*AllocatedCpuResources) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{29}
|
||||||
|
}
|
||||||
|
func (m *AllocatedCpuResources) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_AllocatedCpuResources.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *AllocatedCpuResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_AllocatedCpuResources.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (dst *AllocatedCpuResources) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_AllocatedCpuResources.Merge(dst, src)
|
||||||
|
}
|
||||||
|
func (m *AllocatedCpuResources) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_AllocatedCpuResources.Size(m)
|
||||||
|
}
|
||||||
|
func (m *AllocatedCpuResources) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_AllocatedCpuResources.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_AllocatedCpuResources proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *AllocatedCpuResources) GetCpuShares() int64 {
|
||||||
|
if m != nil {
|
||||||
|
return m.CpuShares
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
|
type AllocatedMemoryResources struct {
|
||||||
|
MemoryMb int64 `protobuf:"varint,2,opt,name=memory_mb,json=memoryMb,proto3" json:"memory_mb,omitempty"`
|
||||||
|
XXX_NoUnkeyedLiteral struct{} `json:"-"`
|
||||||
|
XXX_unrecognized []byte `json:"-"`
|
||||||
|
XXX_sizecache int32 `json:"-"`
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *AllocatedMemoryResources) Reset() { *m = AllocatedMemoryResources{} }
|
||||||
|
func (m *AllocatedMemoryResources) String() string { return proto.CompactTextString(m) }
|
||||||
|
func (*AllocatedMemoryResources) ProtoMessage() {}
|
||||||
|
func (*AllocatedMemoryResources) Descriptor() ([]byte, []int) {
|
||||||
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{30}
|
||||||
|
}
|
||||||
|
func (m *AllocatedMemoryResources) XXX_Unmarshal(b []byte) error {
|
||||||
|
return xxx_messageInfo_AllocatedMemoryResources.Unmarshal(m, b)
|
||||||
|
}
|
||||||
|
func (m *AllocatedMemoryResources) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
|
||||||
|
return xxx_messageInfo_AllocatedMemoryResources.Marshal(b, m, deterministic)
|
||||||
|
}
|
||||||
|
func (dst *AllocatedMemoryResources) XXX_Merge(src proto.Message) {
|
||||||
|
xxx_messageInfo_AllocatedMemoryResources.Merge(dst, src)
|
||||||
|
}
|
||||||
|
func (m *AllocatedMemoryResources) XXX_Size() int {
|
||||||
|
return xxx_messageInfo_AllocatedMemoryResources.Size(m)
|
||||||
|
}
|
||||||
|
func (m *AllocatedMemoryResources) XXX_DiscardUnknown() {
|
||||||
|
xxx_messageInfo_AllocatedMemoryResources.DiscardUnknown(m)
|
||||||
|
}
|
||||||
|
|
||||||
|
var xxx_messageInfo_AllocatedMemoryResources proto.InternalMessageInfo
|
||||||
|
|
||||||
|
func (m *AllocatedMemoryResources) GetMemoryMb() int64 {
|
||||||
|
if m != nil {
|
||||||
|
return m.MemoryMb
|
||||||
|
}
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
type NetworkResource struct {
|
type NetworkResource struct {
|
||||||
Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
|
Device string `protobuf:"bytes,1,opt,name=device,proto3" json:"device,omitempty"`
|
||||||
Cidr string `protobuf:"bytes,2,opt,name=cidr,proto3" json:"cidr,omitempty"`
|
Cidr string `protobuf:"bytes,2,opt,name=cidr,proto3" json:"cidr,omitempty"`
|
||||||
|
@ -1627,7 +1687,7 @@ func (m *NetworkResource) Reset() { *m = NetworkResource{} }
|
||||||
func (m *NetworkResource) String() string { return proto.CompactTextString(m) }
|
func (m *NetworkResource) String() string { return proto.CompactTextString(m) }
|
||||||
func (*NetworkResource) ProtoMessage() {}
|
func (*NetworkResource) ProtoMessage() {}
|
||||||
func (*NetworkResource) Descriptor() ([]byte, []int) {
|
func (*NetworkResource) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{29}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{31}
|
||||||
}
|
}
|
||||||
func (m *NetworkResource) XXX_Unmarshal(b []byte) error {
|
func (m *NetworkResource) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_NetworkResource.Unmarshal(m, b)
|
return xxx_messageInfo_NetworkResource.Unmarshal(m, b)
|
||||||
|
@ -1701,7 +1761,7 @@ func (m *NetworkPort) Reset() { *m = NetworkPort{} }
|
||||||
func (m *NetworkPort) String() string { return proto.CompactTextString(m) }
|
func (m *NetworkPort) String() string { return proto.CompactTextString(m) }
|
||||||
func (*NetworkPort) ProtoMessage() {}
|
func (*NetworkPort) ProtoMessage() {}
|
||||||
func (*NetworkPort) Descriptor() ([]byte, []int) {
|
func (*NetworkPort) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{30}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{32}
|
||||||
}
|
}
|
||||||
func (m *NetworkPort) XXX_Unmarshal(b []byte) error {
|
func (m *NetworkPort) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_NetworkPort.Unmarshal(m, b)
|
return xxx_messageInfo_NetworkPort.Unmarshal(m, b)
|
||||||
|
@ -1761,7 +1821,7 @@ func (m *LinuxResources) Reset() { *m = LinuxResources{} }
|
||||||
func (m *LinuxResources) String() string { return proto.CompactTextString(m) }
|
func (m *LinuxResources) String() string { return proto.CompactTextString(m) }
|
||||||
func (*LinuxResources) ProtoMessage() {}
|
func (*LinuxResources) ProtoMessage() {}
|
||||||
func (*LinuxResources) Descriptor() ([]byte, []int) {
|
func (*LinuxResources) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{31}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{33}
|
||||||
}
|
}
|
||||||
func (m *LinuxResources) XXX_Unmarshal(b []byte) error {
|
func (m *LinuxResources) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_LinuxResources.Unmarshal(m, b)
|
return xxx_messageInfo_LinuxResources.Unmarshal(m, b)
|
||||||
|
@ -1853,7 +1913,7 @@ func (m *Mount) Reset() { *m = Mount{} }
|
||||||
func (m *Mount) String() string { return proto.CompactTextString(m) }
|
func (m *Mount) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Mount) ProtoMessage() {}
|
func (*Mount) ProtoMessage() {}
|
||||||
func (*Mount) Descriptor() ([]byte, []int) {
|
func (*Mount) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{32}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{34}
|
||||||
}
|
}
|
||||||
func (m *Mount) XXX_Unmarshal(b []byte) error {
|
func (m *Mount) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Mount.Unmarshal(m, b)
|
return xxx_messageInfo_Mount.Unmarshal(m, b)
|
||||||
|
@ -1916,7 +1976,7 @@ func (m *Device) Reset() { *m = Device{} }
|
||||||
func (m *Device) String() string { return proto.CompactTextString(m) }
|
func (m *Device) String() string { return proto.CompactTextString(m) }
|
||||||
func (*Device) ProtoMessage() {}
|
func (*Device) ProtoMessage() {}
|
||||||
func (*Device) Descriptor() ([]byte, []int) {
|
func (*Device) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{33}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{35}
|
||||||
}
|
}
|
||||||
func (m *Device) XXX_Unmarshal(b []byte) error {
|
func (m *Device) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_Device.Unmarshal(m, b)
|
return xxx_messageInfo_Device.Unmarshal(m, b)
|
||||||
|
@ -1974,7 +2034,7 @@ func (m *TaskHandle) Reset() { *m = TaskHandle{} }
|
||||||
func (m *TaskHandle) String() string { return proto.CompactTextString(m) }
|
func (m *TaskHandle) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskHandle) ProtoMessage() {}
|
func (*TaskHandle) ProtoMessage() {}
|
||||||
func (*TaskHandle) Descriptor() ([]byte, []int) {
|
func (*TaskHandle) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{34}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{36}
|
||||||
}
|
}
|
||||||
func (m *TaskHandle) XXX_Unmarshal(b []byte) error {
|
func (m *TaskHandle) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskHandle.Unmarshal(m, b)
|
return xxx_messageInfo_TaskHandle.Unmarshal(m, b)
|
||||||
|
@ -2034,7 +2094,7 @@ func (m *NetworkOverride) Reset() { *m = NetworkOverride{} }
|
||||||
func (m *NetworkOverride) String() string { return proto.CompactTextString(m) }
|
func (m *NetworkOverride) String() string { return proto.CompactTextString(m) }
|
||||||
func (*NetworkOverride) ProtoMessage() {}
|
func (*NetworkOverride) ProtoMessage() {}
|
||||||
func (*NetworkOverride) Descriptor() ([]byte, []int) {
|
func (*NetworkOverride) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{35}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{37}
|
||||||
}
|
}
|
||||||
func (m *NetworkOverride) XXX_Unmarshal(b []byte) error {
|
func (m *NetworkOverride) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_NetworkOverride.Unmarshal(m, b)
|
return xxx_messageInfo_NetworkOverride.Unmarshal(m, b)
|
||||||
|
@ -2092,7 +2152,7 @@ func (m *ExitResult) Reset() { *m = ExitResult{} }
|
||||||
func (m *ExitResult) String() string { return proto.CompactTextString(m) }
|
func (m *ExitResult) String() string { return proto.CompactTextString(m) }
|
||||||
func (*ExitResult) ProtoMessage() {}
|
func (*ExitResult) ProtoMessage() {}
|
||||||
func (*ExitResult) Descriptor() ([]byte, []int) {
|
func (*ExitResult) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{36}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{38}
|
||||||
}
|
}
|
||||||
func (m *ExitResult) XXX_Unmarshal(b []byte) error {
|
func (m *ExitResult) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_ExitResult.Unmarshal(m, b)
|
return xxx_messageInfo_ExitResult.Unmarshal(m, b)
|
||||||
|
@ -2155,7 +2215,7 @@ func (m *TaskStatus) Reset() { *m = TaskStatus{} }
|
||||||
func (m *TaskStatus) String() string { return proto.CompactTextString(m) }
|
func (m *TaskStatus) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskStatus) ProtoMessage() {}
|
func (*TaskStatus) ProtoMessage() {}
|
||||||
func (*TaskStatus) Descriptor() ([]byte, []int) {
|
func (*TaskStatus) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{37}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{39}
|
||||||
}
|
}
|
||||||
func (m *TaskStatus) XXX_Unmarshal(b []byte) error {
|
func (m *TaskStatus) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskStatus.Unmarshal(m, b)
|
return xxx_messageInfo_TaskStatus.Unmarshal(m, b)
|
||||||
|
@ -2230,7 +2290,7 @@ func (m *TaskDriverStatus) Reset() { *m = TaskDriverStatus{} }
|
||||||
func (m *TaskDriverStatus) String() string { return proto.CompactTextString(m) }
|
func (m *TaskDriverStatus) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskDriverStatus) ProtoMessage() {}
|
func (*TaskDriverStatus) ProtoMessage() {}
|
||||||
func (*TaskDriverStatus) Descriptor() ([]byte, []int) {
|
func (*TaskDriverStatus) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{38}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{40}
|
||||||
}
|
}
|
||||||
func (m *TaskDriverStatus) XXX_Unmarshal(b []byte) error {
|
func (m *TaskDriverStatus) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskDriverStatus.Unmarshal(m, b)
|
return xxx_messageInfo_TaskDriverStatus.Unmarshal(m, b)
|
||||||
|
@ -2275,7 +2335,7 @@ func (m *TaskStats) Reset() { *m = TaskStats{} }
|
||||||
func (m *TaskStats) String() string { return proto.CompactTextString(m) }
|
func (m *TaskStats) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskStats) ProtoMessage() {}
|
func (*TaskStats) ProtoMessage() {}
|
||||||
func (*TaskStats) Descriptor() ([]byte, []int) {
|
func (*TaskStats) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{39}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{41}
|
||||||
}
|
}
|
||||||
func (m *TaskStats) XXX_Unmarshal(b []byte) error {
|
func (m *TaskStats) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskStats.Unmarshal(m, b)
|
return xxx_messageInfo_TaskStats.Unmarshal(m, b)
|
||||||
|
@ -2337,7 +2397,7 @@ func (m *TaskResourceUsage) Reset() { *m = TaskResourceUsage{} }
|
||||||
func (m *TaskResourceUsage) String() string { return proto.CompactTextString(m) }
|
func (m *TaskResourceUsage) String() string { return proto.CompactTextString(m) }
|
||||||
func (*TaskResourceUsage) ProtoMessage() {}
|
func (*TaskResourceUsage) ProtoMessage() {}
|
||||||
func (*TaskResourceUsage) Descriptor() ([]byte, []int) {
|
func (*TaskResourceUsage) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{40}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{42}
|
||||||
}
|
}
|
||||||
func (m *TaskResourceUsage) XXX_Unmarshal(b []byte) error {
|
func (m *TaskResourceUsage) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_TaskResourceUsage.Unmarshal(m, b)
|
return xxx_messageInfo_TaskResourceUsage.Unmarshal(m, b)
|
||||||
|
@ -2389,7 +2449,7 @@ func (m *CPUUsage) Reset() { *m = CPUUsage{} }
|
||||||
func (m *CPUUsage) String() string { return proto.CompactTextString(m) }
|
func (m *CPUUsage) String() string { return proto.CompactTextString(m) }
|
||||||
func (*CPUUsage) ProtoMessage() {}
|
func (*CPUUsage) ProtoMessage() {}
|
||||||
func (*CPUUsage) Descriptor() ([]byte, []int) {
|
func (*CPUUsage) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{41}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{43}
|
||||||
}
|
}
|
||||||
func (m *CPUUsage) XXX_Unmarshal(b []byte) error {
|
func (m *CPUUsage) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_CPUUsage.Unmarshal(m, b)
|
return xxx_messageInfo_CPUUsage.Unmarshal(m, b)
|
||||||
|
@ -2475,7 +2535,7 @@ func (m *MemoryUsage) Reset() { *m = MemoryUsage{} }
|
||||||
func (m *MemoryUsage) String() string { return proto.CompactTextString(m) }
|
func (m *MemoryUsage) String() string { return proto.CompactTextString(m) }
|
||||||
func (*MemoryUsage) ProtoMessage() {}
|
func (*MemoryUsage) ProtoMessage() {}
|
||||||
func (*MemoryUsage) Descriptor() ([]byte, []int) {
|
func (*MemoryUsage) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{42}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{44}
|
||||||
}
|
}
|
||||||
func (m *MemoryUsage) XXX_Unmarshal(b []byte) error {
|
func (m *MemoryUsage) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_MemoryUsage.Unmarshal(m, b)
|
return xxx_messageInfo_MemoryUsage.Unmarshal(m, b)
|
||||||
|
@ -2555,7 +2615,7 @@ func (m *DriverTaskEvent) Reset() { *m = DriverTaskEvent{} }
|
||||||
func (m *DriverTaskEvent) String() string { return proto.CompactTextString(m) }
|
func (m *DriverTaskEvent) String() string { return proto.CompactTextString(m) }
|
||||||
func (*DriverTaskEvent) ProtoMessage() {}
|
func (*DriverTaskEvent) ProtoMessage() {}
|
||||||
func (*DriverTaskEvent) Descriptor() ([]byte, []int) {
|
func (*DriverTaskEvent) Descriptor() ([]byte, []int) {
|
||||||
return fileDescriptor_driver_f8c1fd114dd6e6a4, []int{43}
|
return fileDescriptor_driver_9320f8b051f51d4e, []int{45}
|
||||||
}
|
}
|
||||||
func (m *DriverTaskEvent) XXX_Unmarshal(b []byte) error {
|
func (m *DriverTaskEvent) XXX_Unmarshal(b []byte) error {
|
||||||
return xxx_messageInfo_DriverTaskEvent.Unmarshal(m, b)
|
return xxx_messageInfo_DriverTaskEvent.Unmarshal(m, b)
|
||||||
|
@ -2634,7 +2694,9 @@ func init() {
|
||||||
proto.RegisterType((*TaskConfig)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfig")
|
proto.RegisterType((*TaskConfig)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfig")
|
||||||
proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfig.EnvEntry")
|
proto.RegisterMapType((map[string]string)(nil), "hashicorp.nomad.plugins.drivers.proto.TaskConfig.EnvEntry")
|
||||||
proto.RegisterType((*Resources)(nil), "hashicorp.nomad.plugins.drivers.proto.Resources")
|
proto.RegisterType((*Resources)(nil), "hashicorp.nomad.plugins.drivers.proto.Resources")
|
||||||
proto.RegisterType((*RawResources)(nil), "hashicorp.nomad.plugins.drivers.proto.RawResources")
|
proto.RegisterType((*AllocatedTaskResources)(nil), "hashicorp.nomad.plugins.drivers.proto.AllocatedTaskResources")
|
||||||
|
proto.RegisterType((*AllocatedCpuResources)(nil), "hashicorp.nomad.plugins.drivers.proto.AllocatedCpuResources")
|
||||||
|
proto.RegisterType((*AllocatedMemoryResources)(nil), "hashicorp.nomad.plugins.drivers.proto.AllocatedMemoryResources")
|
||||||
proto.RegisterType((*NetworkResource)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkResource")
|
proto.RegisterType((*NetworkResource)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkResource")
|
||||||
proto.RegisterType((*NetworkPort)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkPort")
|
proto.RegisterType((*NetworkPort)(nil), "hashicorp.nomad.plugins.drivers.proto.NetworkPort")
|
||||||
proto.RegisterType((*LinuxResources)(nil), "hashicorp.nomad.plugins.drivers.proto.LinuxResources")
|
proto.RegisterType((*LinuxResources)(nil), "hashicorp.nomad.plugins.drivers.proto.LinuxResources")
|
||||||
|
@ -3246,188 +3308,190 @@ var _Driver_serviceDesc = grpc.ServiceDesc{
|
||||||
}
|
}
|
||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
proto.RegisterFile("plugins/drivers/proto/driver.proto", fileDescriptor_driver_f8c1fd114dd6e6a4)
|
proto.RegisterFile("plugins/drivers/proto/driver.proto", fileDescriptor_driver_9320f8b051f51d4e)
|
||||||
}
|
}
|
||||||
|
|
||||||
var fileDescriptor_driver_f8c1fd114dd6e6a4 = []byte{
|
var fileDescriptor_driver_9320f8b051f51d4e = []byte{
|
||||||
// 2858 bytes of a gzipped FileDescriptorProto
|
// 2888 bytes of a gzipped FileDescriptorProto
|
||||||
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0xcd, 0x6f, 0x23, 0xc7,
|
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xac, 0x59, 0x4b, 0x6f, 0x23, 0xc7,
|
||||||
0xb1, 0x17, 0x49, 0x91, 0x22, 0x8b, 0x14, 0x35, 0xdb, 0xbb, 0xfb, 0x4c, 0xd3, 0x78, 0xcf, 0xeb,
|
0xf1, 0x17, 0x49, 0x91, 0x22, 0x8b, 0x12, 0x35, 0xdb, 0xbb, 0x6b, 0xd3, 0x34, 0xfe, 0x7f, 0xaf,
|
||||||
0x01, 0xfc, 0xb0, 0xb0, 0xbd, 0x94, 0x2d, 0xe3, 0x79, 0x3f, 0x1e, 0xfc, 0x41, 0x53, 0xb3, 0x92,
|
0x07, 0x70, 0x20, 0xd8, 0x5e, 0xca, 0x96, 0x91, 0x7d, 0x25, 0x7e, 0xd0, 0xd4, 0xac, 0x24, 0xaf,
|
||||||
0xbc, 0x12, 0xa5, 0x34, 0x29, 0xac, 0x37, 0x89, 0x3d, 0x19, 0xcd, 0xb4, 0xc8, 0x59, 0x71, 0x3e,
|
0x44, 0x29, 0x4d, 0x0a, 0xeb, 0x4d, 0x62, 0x4f, 0x46, 0x33, 0x2d, 0x72, 0x56, 0x9c, 0x87, 0xa7,
|
||||||
0xdc, 0x3d, 0xa3, 0x95, 0x10, 0x04, 0x09, 0x12, 0x20, 0x48, 0x0e, 0x01, 0x72, 0x09, 0x02, 0xe4,
|
0x7b, 0x64, 0x09, 0x41, 0x90, 0x20, 0x01, 0x82, 0xe4, 0x10, 0x20, 0x17, 0x23, 0x40, 0x8e, 0xc9,
|
||||||
0x98, 0x9c, 0x82, 0x5c, 0x73, 0x4a, 0xe0, 0x4b, 0x80, 0xfc, 0x0f, 0x39, 0xe6, 0x12, 0x20, 0xd7,
|
0x29, 0xc8, 0x37, 0x48, 0xe0, 0x4b, 0x3e, 0x45, 0x80, 0x5c, 0x72, 0x09, 0x90, 0x6b, 0xbe, 0x41,
|
||||||
0xfc, 0x07, 0x41, 0x7f, 0xcc, 0x70, 0x28, 0x69, 0xbd, 0x43, 0x6e, 0x4e, 0x9c, 0xae, 0xee, 0xfa,
|
0xd0, 0x8f, 0x19, 0x0e, 0x25, 0xad, 0x77, 0xc8, 0xcd, 0x89, 0xec, 0xea, 0xae, 0x5f, 0xd7, 0x54,
|
||||||
0x75, 0xb1, 0xaa, 0xba, 0xaa, 0xba, 0x0b, 0xf4, 0x70, 0x12, 0x8f, 0x5c, 0x9f, 0xad, 0x3b, 0xd4,
|
0x55, 0x57, 0x55, 0x77, 0x81, 0x1e, 0x8e, 0xe3, 0xa1, 0xeb, 0xd3, 0x75, 0x27, 0x72, 0x4f, 0x49,
|
||||||
0x3d, 0x25, 0x94, 0xad, 0x87, 0x34, 0x88, 0x02, 0x35, 0xea, 0x88, 0x01, 0x7a, 0x73, 0x6c, 0xb1,
|
0x44, 0xd7, 0xc3, 0x28, 0x60, 0x81, 0x1a, 0xb5, 0xc5, 0x00, 0xbd, 0x31, 0xb2, 0xe8, 0xc8, 0xb5,
|
||||||
0xb1, 0x6b, 0x07, 0x34, 0xec, 0xf8, 0x81, 0x67, 0x39, 0x1d, 0xc5, 0xd3, 0x51, 0x3c, 0x72, 0x59,
|
0x83, 0x28, 0x6c, 0xfb, 0x81, 0x67, 0x39, 0x6d, 0xc5, 0xd3, 0x56, 0x3c, 0x72, 0x59, 0xeb, 0xff,
|
||||||
0xfb, 0x7f, 0x46, 0x41, 0x30, 0x9a, 0x10, 0x89, 0x70, 0x14, 0x1f, 0xaf, 0x3b, 0x31, 0xb5, 0x22,
|
0x87, 0x41, 0x30, 0x1c, 0x13, 0x89, 0x70, 0x14, 0x1f, 0xaf, 0x3b, 0x71, 0x64, 0x31, 0x37, 0xf0,
|
||||||
0x37, 0xf0, 0xd5, 0xfc, 0xeb, 0x17, 0xe7, 0x23, 0xd7, 0x23, 0x2c, 0xb2, 0xbc, 0x50, 0x2d, 0xf8,
|
0xd5, 0xfc, 0x6b, 0x17, 0xe7, 0x99, 0xeb, 0x11, 0xca, 0x2c, 0x2f, 0x54, 0x0b, 0x3e, 0x1a, 0xba,
|
||||||
0x64, 0xe4, 0x46, 0xe3, 0xf8, 0xa8, 0x63, 0x07, 0xde, 0x7a, 0xba, 0xe5, 0xba, 0xd8, 0x72, 0x3d,
|
0x6c, 0x14, 0x1f, 0xb5, 0xed, 0xc0, 0x5b, 0x4f, 0xb7, 0x5c, 0x17, 0x5b, 0xae, 0x27, 0x62, 0xd2,
|
||||||
0x11, 0x93, 0x8d, 0x2d, 0x4a, 0x9c, 0xf5, 0xb1, 0x3d, 0x61, 0x21, 0xb1, 0xf9, 0xaf, 0xc9, 0x3f,
|
0x91, 0x15, 0x11, 0x67, 0x7d, 0x64, 0x8f, 0x69, 0x48, 0x6c, 0xfe, 0x6b, 0xf2, 0x3f, 0x0a, 0x61,
|
||||||
0x14, 0xc2, 0x56, 0x7e, 0x04, 0x16, 0xd1, 0xd8, 0x8e, 0x92, 0xff, 0x6b, 0x45, 0x11, 0x75, 0x8f,
|
0x2b, 0x3f, 0x02, 0x65, 0x51, 0x6c, 0xb3, 0xe4, 0x7b, 0x2d, 0xc6, 0x22, 0xf7, 0x28, 0x66, 0x44,
|
||||||
0xe2, 0x88, 0x48, 0x20, 0xfd, 0x55, 0x78, 0x65, 0x68, 0xb1, 0x93, 0x5e, 0xe0, 0x1f, 0xbb, 0xa3,
|
0x02, 0xe9, 0xaf, 0xc0, 0xcb, 0x03, 0x8b, 0x9e, 0x74, 0x03, 0xff, 0xd8, 0x1d, 0xf6, 0xed, 0x11,
|
||||||
0x81, 0x3d, 0x26, 0x9e, 0x85, 0xc9, 0x57, 0x31, 0x61, 0x91, 0xfe, 0x5d, 0x68, 0x5d, 0x9e, 0x62,
|
0xf1, 0x2c, 0x4c, 0xbe, 0x88, 0x09, 0x65, 0xfa, 0x0f, 0xa1, 0x79, 0x79, 0x8a, 0x86, 0x81, 0x4f,
|
||||||
0x61, 0xe0, 0x33, 0x82, 0x3e, 0x81, 0x65, 0x2e, 0x4d, 0xab, 0x70, 0xab, 0x70, 0xbb, 0xbe, 0xf1,
|
0x09, 0xfa, 0x08, 0x16, 0xb9, 0x34, 0xcd, 0xc2, 0xad, 0xc2, 0x5a, 0x7d, 0xe3, 0xed, 0xf6, 0xb3,
|
||||||
0x4e, 0xe7, 0x79, 0x8a, 0x93, 0x32, 0x74, 0xd4, 0xbf, 0xe8, 0x0c, 0x42, 0x62, 0x63, 0xc1, 0xa9,
|
0x14, 0x27, 0x65, 0x68, 0xab, 0xaf, 0x68, 0xf7, 0x43, 0x62, 0x63, 0xc1, 0xa9, 0xdf, 0x84, 0xeb,
|
||||||
0xdf, 0x84, 0xeb, 0x3d, 0x2b, 0xb4, 0x8e, 0xdc, 0x89, 0x1b, 0xb9, 0x84, 0x25, 0x9b, 0xc6, 0x70,
|
0x5d, 0x2b, 0xb4, 0x8e, 0xdc, 0xb1, 0xcb, 0x5c, 0x42, 0x93, 0x4d, 0x63, 0xb8, 0x31, 0x4d, 0x56,
|
||||||
0x63, 0x96, 0xac, 0x36, 0xfc, 0x02, 0x1a, 0x76, 0x86, 0xae, 0x36, 0xbe, 0xdf, 0xc9, 0x65, 0xb1,
|
0x1b, 0x7e, 0x06, 0xcb, 0x76, 0x86, 0xae, 0x36, 0xbe, 0xdf, 0xce, 0x65, 0xb1, 0xf6, 0xa6, 0x18,
|
||||||
0xce, 0xa6, 0x18, 0xcd, 0x00, 0xcf, 0xc0, 0xe9, 0x37, 0x00, 0x3d, 0x74, 0xfd, 0x11, 0xa1, 0x21,
|
0x4d, 0x01, 0x4f, 0xc1, 0xe9, 0x37, 0x00, 0x3d, 0x74, 0xfd, 0x21, 0x89, 0xc2, 0xc8, 0xf5, 0x59,
|
||||||
0x75, 0xfd, 0x28, 0x11, 0xe6, 0xeb, 0x12, 0x5c, 0x9f, 0x21, 0x2b, 0x61, 0x9e, 0x02, 0xa4, 0x7a,
|
0x22, 0xcc, 0xd7, 0x25, 0xb8, 0x3e, 0x45, 0x56, 0xc2, 0x3c, 0x05, 0x48, 0xf5, 0xc8, 0x45, 0x29,
|
||||||
0xe4, 0xa2, 0x94, 0x6e, 0xd7, 0x37, 0x3e, 0xcb, 0x29, 0xca, 0x15, 0x78, 0x9d, 0x6e, 0x0a, 0x66,
|
0xad, 0xd5, 0x37, 0x3e, 0xc9, 0x29, 0xca, 0x15, 0x78, 0xed, 0x4e, 0x0a, 0x66, 0xf8, 0x2c, 0x3a,
|
||||||
0xf8, 0x11, 0x3d, 0xc7, 0x19, 0x74, 0xf4, 0x25, 0x54, 0xc6, 0xc4, 0x9a, 0x44, 0xe3, 0x56, 0xf1,
|
0xc7, 0x19, 0x74, 0xf4, 0x39, 0x54, 0x46, 0xc4, 0x1a, 0xb3, 0x51, 0xb3, 0x78, 0xab, 0xb0, 0xd6,
|
||||||
0x56, 0xe1, 0x76, 0x73, 0xe3, 0xe1, 0x4b, 0xec, 0xb3, 0x2d, 0x80, 0x06, 0x91, 0x15, 0x11, 0xac,
|
0xd8, 0x78, 0xf8, 0x02, 0xfb, 0x6c, 0x0b, 0xa0, 0x3e, 0xb3, 0x18, 0xc1, 0x0a, 0x15, 0xdd, 0x06,
|
||||||
0x50, 0xd1, 0x1d, 0x40, 0xf2, 0xcb, 0x74, 0x08, 0xb3, 0xa9, 0x1b, 0x72, 0x47, 0x6e, 0x95, 0x6e,
|
0x24, 0xff, 0x99, 0x0e, 0xa1, 0x76, 0xe4, 0x86, 0xdc, 0x91, 0x9b, 0xa5, 0x5b, 0x85, 0xb5, 0x1a,
|
||||||
0x15, 0x6e, 0xd7, 0xf0, 0x35, 0x39, 0xb3, 0x39, 0x9d, 0x68, 0x87, 0xb0, 0x76, 0x41, 0x5a, 0xa4,
|
0xbe, 0x26, 0x67, 0x36, 0x27, 0x13, 0xad, 0x10, 0x56, 0x2f, 0x48, 0x8b, 0x34, 0x28, 0x9d, 0x90,
|
||||||
0x41, 0xe9, 0x84, 0x9c, 0x0b, 0x8b, 0xd4, 0x30, 0xff, 0x44, 0x5b, 0x50, 0x3e, 0xb5, 0x26, 0x31,
|
0x73, 0x61, 0x91, 0x1a, 0xe6, 0x7f, 0xd1, 0x16, 0x94, 0x4f, 0xad, 0x71, 0x4c, 0x84, 0xc8, 0xf5,
|
||||||
0x11, 0x22, 0xd7, 0x37, 0xde, 0x7b, 0x91, 0x7b, 0x28, 0x17, 0x9d, 0xea, 0x01, 0x4b, 0xfe, 0x07,
|
0x8d, 0x77, 0x9f, 0xe7, 0x1e, 0xca, 0x45, 0x27, 0x7a, 0xc0, 0x92, 0xff, 0x41, 0xf1, 0x5e, 0x41,
|
||||||
0xc5, 0x7b, 0x05, 0xfd, 0x3e, 0xd4, 0x33, 0x72, 0xa3, 0x26, 0xc0, 0x61, 0x7f, 0xd3, 0x18, 0x1a,
|
0xbf, 0x0f, 0xf5, 0x8c, 0xdc, 0xa8, 0x01, 0x70, 0xd8, 0xdb, 0x34, 0x06, 0x46, 0x77, 0x60, 0x6c,
|
||||||
0xbd, 0xa1, 0xb1, 0xa9, 0x2d, 0xa1, 0x55, 0xa8, 0x1d, 0xf6, 0xb7, 0x8d, 0xee, 0xee, 0x70, 0xfb,
|
0x6a, 0x0b, 0x68, 0x05, 0x6a, 0x87, 0xbd, 0x6d, 0xa3, 0xb3, 0x3b, 0xd8, 0x7e, 0xa2, 0x15, 0x50,
|
||||||
0x89, 0x56, 0x40, 0x75, 0x58, 0x49, 0x06, 0x45, 0xfd, 0x0c, 0x10, 0x26, 0x76, 0x70, 0x4a, 0x28,
|
0x1d, 0x96, 0x92, 0x41, 0x51, 0x3f, 0x03, 0x84, 0x89, 0x1d, 0x9c, 0x92, 0x88, 0x3b, 0xb2, 0xb2,
|
||||||
0x77, 0x64, 0x65, 0x55, 0xf4, 0x0a, 0xac, 0x44, 0x16, 0x3b, 0x31, 0x5d, 0x47, 0xc9, 0x5c, 0xe1,
|
0x2a, 0x7a, 0x19, 0x96, 0x98, 0x45, 0x4f, 0x4c, 0xd7, 0x51, 0x32, 0x57, 0xf8, 0x70, 0xc7, 0x41,
|
||||||
0xc3, 0x1d, 0x07, 0xed, 0x40, 0x65, 0x6c, 0xf9, 0xce, 0xe4, 0xc5, 0x72, 0xcf, 0xaa, 0x9a, 0x83,
|
0x3b, 0x50, 0x19, 0x59, 0xbe, 0x33, 0x7e, 0xbe, 0xdc, 0xd3, 0xaa, 0xe6, 0xe0, 0xdb, 0x82, 0x11,
|
||||||
0x6f, 0x0b, 0x46, 0xac, 0x00, 0xb8, 0x77, 0xcf, 0xec, 0x2c, 0x0d, 0xa0, 0x3f, 0x01, 0x6d, 0x10,
|
0x2b, 0x00, 0xee, 0xdd, 0x53, 0x3b, 0x4b, 0x03, 0xe8, 0x4f, 0x40, 0xeb, 0x33, 0x2b, 0x62, 0x59,
|
||||||
0x59, 0x34, 0xca, 0x8a, 0x63, 0xc0, 0x32, 0xdf, 0x5f, 0x79, 0xf4, 0x3c, 0x7b, 0xca, 0x93, 0x89,
|
0x71, 0x0c, 0x58, 0xe4, 0xfb, 0x2b, 0x8f, 0x9e, 0x65, 0x4f, 0x79, 0x32, 0xb1, 0x60, 0xd7, 0xff,
|
||||||
0x05, 0xbb, 0xfe, 0xaf, 0x22, 0x5c, 0xcb, 0x60, 0x2b, 0x4f, 0x7d, 0x0c, 0x15, 0x4a, 0x58, 0x3c,
|
0x53, 0x84, 0x6b, 0x19, 0x6c, 0xe5, 0xa9, 0x8f, 0xa1, 0x12, 0x11, 0x1a, 0x8f, 0x99, 0x80, 0x6f,
|
||||||
0x89, 0x04, 0x7c, 0x73, 0xe3, 0xe3, 0x9c, 0xf0, 0x97, 0x90, 0x3a, 0x58, 0xc0, 0x60, 0x05, 0x87,
|
0x6c, 0x7c, 0x98, 0x13, 0xfe, 0x12, 0x52, 0x1b, 0x0b, 0x18, 0xac, 0xe0, 0xd0, 0x1a, 0x68, 0x92,
|
||||||
0x6e, 0x83, 0x26, 0x39, 0x4c, 0x42, 0x69, 0x40, 0x4d, 0x8f, 0x8d, 0x84, 0xd6, 0x6a, 0xb8, 0x29,
|
0xc3, 0x24, 0x51, 0x14, 0x44, 0xa6, 0x47, 0x87, 0x42, 0x6b, 0x35, 0xdc, 0x90, 0x74, 0x83, 0x93,
|
||||||
0xe9, 0x06, 0x27, 0xef, 0xb1, 0x51, 0x46, 0xab, 0xa5, 0x97, 0xd4, 0x2a, 0xb2, 0x40, 0xf3, 0x49,
|
0xf7, 0xe8, 0x30, 0xa3, 0xd5, 0xd2, 0x0b, 0x6a, 0x15, 0x59, 0xa0, 0xf9, 0x84, 0x7d, 0x19, 0x44,
|
||||||
0xf4, 0x2c, 0xa0, 0x27, 0x26, 0x57, 0x2d, 0x75, 0x1d, 0xd2, 0x5a, 0x16, 0xa0, 0x1f, 0xe4, 0x04,
|
0x27, 0x26, 0x57, 0x6d, 0xe4, 0x3a, 0xa4, 0xb9, 0x28, 0x40, 0xef, 0xe4, 0x04, 0xed, 0x49, 0xf6,
|
||||||
0xed, 0x4b, 0xf6, 0x7d, 0xc5, 0x8d, 0xd7, 0xfc, 0x59, 0x82, 0xfe, 0x36, 0x54, 0xe4, 0x3f, 0xe5,
|
0x7d, 0xc5, 0x8d, 0x57, 0xfd, 0x69, 0x82, 0xfe, 0x16, 0x54, 0xe4, 0x97, 0x72, 0x4f, 0xea, 0x1f,
|
||||||
0x9e, 0x34, 0x38, 0xec, 0xf5, 0x8c, 0xc1, 0x40, 0x5b, 0x42, 0x35, 0x28, 0x63, 0x63, 0x88, 0xb9,
|
0x76, 0xbb, 0x46, 0xbf, 0xaf, 0x2d, 0xa0, 0x1a, 0x94, 0xb1, 0x31, 0xc0, 0xdc, 0xc3, 0x6a, 0x50,
|
||||||
0x87, 0xd5, 0xa0, 0xfc, 0xb0, 0x3b, 0xec, 0xee, 0x6a, 0x45, 0xfd, 0x2d, 0x58, 0x7b, 0x6c, 0xb9,
|
0x7e, 0xd8, 0x19, 0x74, 0x76, 0xb5, 0xa2, 0xfe, 0x26, 0xac, 0x3e, 0xb6, 0x5c, 0x96, 0xc7, 0xb9,
|
||||||
0x51, 0x1e, 0xe7, 0xd2, 0x03, 0xd0, 0xa6, 0x6b, 0x95, 0x75, 0x76, 0x66, 0xac, 0x93, 0x5f, 0x35,
|
0xf4, 0x00, 0xb4, 0xc9, 0x5a, 0x65, 0x9d, 0x9d, 0x29, 0xeb, 0xe4, 0x57, 0x8d, 0x71, 0xe6, 0xb2,
|
||||||
0xc6, 0x99, 0x1b, 0x5d, 0xb0, 0x87, 0x06, 0x25, 0x42, 0xa9, 0x32, 0x01, 0xff, 0xd4, 0x9f, 0xc1,
|
0x0b, 0xf6, 0xd0, 0xa0, 0x44, 0xa2, 0x48, 0x99, 0x80, 0xff, 0xd5, 0xbf, 0x84, 0xd5, 0x3e, 0x0b,
|
||||||
0xda, 0x20, 0x0a, 0xc2, 0x5c, 0x9e, 0xff, 0x3e, 0xac, 0xf0, 0x1c, 0x15, 0xc4, 0x91, 0x72, 0xfd,
|
0xc2, 0x5c, 0x9e, 0xff, 0x1e, 0x2c, 0xf1, 0x1c, 0x15, 0xc4, 0x4c, 0xb9, 0xfe, 0x2b, 0x6d, 0x99,
|
||||||
0x57, 0x3b, 0x32, 0x87, 0x75, 0x92, 0x1c, 0xd6, 0xd9, 0x54, 0x39, 0x0e, 0x27, 0x2b, 0xd1, 0x7f,
|
0xc3, 0xda, 0x49, 0x0e, 0x6b, 0x6f, 0xaa, 0x1c, 0x87, 0x93, 0x95, 0xe8, 0x25, 0xa8, 0x50, 0x77,
|
||||||
0x41, 0x85, 0xb9, 0x23, 0xdf, 0x9a, 0xa8, 0x68, 0xa1, 0x46, 0x3a, 0xe2, 0x4e, 0x9e, 0x6c, 0xac,
|
0xe8, 0x5b, 0x63, 0x15, 0x2d, 0xd4, 0x48, 0x47, 0xdc, 0xc9, 0x93, 0x8d, 0x95, 0xe3, 0x77, 0x01,
|
||||||
0x1c, 0xbf, 0x07, 0x68, 0x93, 0xb0, 0x88, 0x06, 0xe7, 0xb9, 0xe4, 0xb9, 0x01, 0xe5, 0xe3, 0x80,
|
0x6d, 0x12, 0xca, 0xa2, 0xe0, 0x3c, 0x97, 0x3c, 0x37, 0xa0, 0x7c, 0x1c, 0x44, 0xb6, 0x3c, 0x88,
|
||||||
0xda, 0xf2, 0x20, 0x56, 0xb1, 0x1c, 0xf0, 0x43, 0x35, 0x03, 0xa2, 0xb0, 0xef, 0x00, 0xda, 0xf1,
|
0x55, 0x2c, 0x07, 0xfc, 0x50, 0x4d, 0x81, 0x28, 0xec, 0xdb, 0x80, 0x76, 0x7c, 0x9e, 0x53, 0xf2,
|
||||||
0x79, 0x4e, 0xc9, 0x67, 0x88, 0x5f, 0x16, 0xe1, 0xfa, 0xcc, 0x7a, 0x65, 0x8c, 0xc5, 0xcf, 0x21,
|
0x19, 0xe2, 0xb7, 0x45, 0xb8, 0x3e, 0xb5, 0x5e, 0x19, 0x63, 0xfe, 0x73, 0xc8, 0x03, 0x53, 0x4c,
|
||||||
0x0f, 0x4c, 0x31, 0x93, 0xe7, 0x10, 0xed, 0x43, 0x45, 0xae, 0x50, 0x9a, 0xbc, 0x3b, 0x07, 0x90,
|
0xe5, 0x39, 0x44, 0xfb, 0x50, 0x91, 0x2b, 0x94, 0x26, 0xef, 0xce, 0x00, 0x24, 0xd3, 0x94, 0x82,
|
||||||
0x4c, 0x53, 0x0a, 0x4e, 0xc1, 0x5c, 0xe9, 0xf4, 0xa5, 0xff, 0xb4, 0xd3, 0x6b, 0xc9, 0xff, 0x60,
|
0x53, 0x30, 0x57, 0x3a, 0x7d, 0xe9, 0x7f, 0xed, 0xf4, 0x5a, 0xf2, 0x1d, 0xf4, 0xb9, 0xfa, 0xfb,
|
||||||
0x2f, 0xd4, 0xdf, 0x77, 0xe0, 0x5a, 0x66, 0xb1, 0x52, 0xde, 0x43, 0x28, 0x33, 0x4e, 0x50, 0xda,
|
0x01, 0x5c, 0xcb, 0x2c, 0x56, 0xca, 0x7b, 0x08, 0x65, 0xca, 0x09, 0x4a, 0x7b, 0xef, 0xcc, 0xa8,
|
||||||
0x7b, 0x77, 0x4e, 0xed, 0x31, 0x2c, 0xd9, 0xf5, 0xeb, 0x12, 0xdc, 0x38, 0x25, 0x7e, 0x2a, 0x8a,
|
0x3d, 0x8a, 0x25, 0xbb, 0x7e, 0x5d, 0x82, 0x1b, 0xa7, 0xc4, 0x4f, 0x45, 0xd1, 0x37, 0xe1, 0x5a,
|
||||||
0xbe, 0x09, 0xd7, 0x06, 0xc2, 0xb5, 0x72, 0xf9, 0xce, 0xd4, 0x2d, 0x8b, 0x33, 0x6e, 0x79, 0x03,
|
0x5f, 0xb8, 0x56, 0x2e, 0xdf, 0x99, 0xb8, 0x65, 0x71, 0xca, 0x2d, 0x6f, 0x00, 0xca, 0xa2, 0x28,
|
||||||
0x50, 0x16, 0x45, 0x39, 0xcf, 0x39, 0xac, 0x19, 0x67, 0xc4, 0xce, 0x85, 0xdc, 0x82, 0x15, 0x3b,
|
0xe7, 0x39, 0x87, 0x55, 0xe3, 0x8c, 0xd8, 0xb9, 0x90, 0x9b, 0xb0, 0x64, 0x07, 0x9e, 0x67, 0xf9,
|
||||||
0xf0, 0x3c, 0xcb, 0x77, 0x5a, 0xc5, 0x5b, 0xa5, 0xdb, 0x35, 0x9c, 0x0c, 0xb3, 0xe7, 0xa7, 0x94,
|
0x4e, 0xb3, 0x78, 0xab, 0xb4, 0x56, 0xc3, 0xc9, 0x30, 0x7b, 0x7e, 0x4a, 0x79, 0xcf, 0x8f, 0xfe,
|
||||||
0xf7, 0xfc, 0xe8, 0xbf, 0x28, 0x80, 0x36, 0xdd, 0x5b, 0x29, 0x92, 0x4b, 0x1f, 0x39, 0x1c, 0x88,
|
0x9b, 0x02, 0x68, 0x93, 0xbd, 0x95, 0x22, 0xb9, 0xf4, 0xcc, 0xe1, 0x40, 0x7c, 0xef, 0x65, 0xac,
|
||||||
0xef, 0xdd, 0xc0, 0x6a, 0xa4, 0xe8, 0xc9, 0x11, 0x97, 0x74, 0x42, 0x69, 0x26, 0x84, 0x94, 0x5e,
|
0x46, 0x8a, 0x9e, 0x1c, 0x71, 0x49, 0x27, 0x51, 0x94, 0x09, 0x21, 0xa5, 0x17, 0x0c, 0x21, 0xfa,
|
||||||
0x32, 0x84, 0xe8, 0xff, 0x28, 0x00, 0xba, 0x5c, 0x28, 0xa1, 0x37, 0xa0, 0xc1, 0x88, 0xef, 0x98,
|
0xbf, 0x0a, 0x80, 0x2e, 0x17, 0x4a, 0xe8, 0x75, 0x58, 0xa6, 0xc4, 0x77, 0x4c, 0xa9, 0x46, 0x69,
|
||||||
0x52, 0x8d, 0xd2, 0xc2, 0x55, 0x5c, 0xe7, 0x34, 0xa9, 0x4f, 0x86, 0x10, 0x2c, 0x93, 0x33, 0x62,
|
0xe1, 0x2a, 0xae, 0x73, 0x9a, 0xd4, 0x27, 0x45, 0x08, 0x16, 0xc9, 0x19, 0xb1, 0xd5, 0x69, 0x15,
|
||||||
0xab, 0xd3, 0x2a, 0xbe, 0xd1, 0x18, 0x1a, 0xc7, 0xcc, 0x74, 0x59, 0x30, 0xb1, 0xd2, 0x8a, 0xa2,
|
0xff, 0xd1, 0x08, 0x96, 0x8f, 0xa9, 0xe9, 0xd2, 0x60, 0x6c, 0xa5, 0x15, 0x45, 0x63, 0xc3, 0x98,
|
||||||
0xb9, 0x61, 0x2c, 0x5c, 0xb0, 0x75, 0x1e, 0x0e, 0x76, 0x12, 0x30, 0x5c, 0x3f, 0x66, 0xe9, 0x40,
|
0xbb, 0x60, 0x6b, 0x3f, 0xec, 0xef, 0x24, 0x60, 0xb8, 0x7e, 0x4c, 0xd3, 0x81, 0xde, 0x86, 0x7a,
|
||||||
0xef, 0x40, 0x3d, 0x33, 0x87, 0xaa, 0xb0, 0xdc, 0xdf, 0xef, 0x1b, 0xda, 0x12, 0x02, 0xa8, 0xf4,
|
0x66, 0x0e, 0x55, 0x61, 0xb1, 0xb7, 0xdf, 0x33, 0xb4, 0x05, 0x04, 0x50, 0xe9, 0x6e, 0xe3, 0xfd,
|
||||||
0xb6, 0xf1, 0xfe, 0xfe, 0x50, 0x46, 0xed, 0x9d, 0xbd, 0xee, 0x96, 0xa1, 0x15, 0xf5, 0xdf, 0x94,
|
0xfd, 0x81, 0x8c, 0xda, 0x3b, 0x7b, 0x9d, 0x2d, 0x43, 0x2b, 0xea, 0xbf, 0x2f, 0x03, 0x4c, 0xd2,
|
||||||
0x01, 0xa6, 0xe9, 0x13, 0x35, 0xa1, 0x98, 0x5a, 0xba, 0xe8, 0x3a, 0xfc, 0xcf, 0xf8, 0x96, 0x47,
|
0x27, 0x6a, 0x40, 0x31, 0xb5, 0x74, 0xd1, 0x75, 0xf8, 0xc7, 0xf8, 0x96, 0x47, 0x94, 0xf7, 0x88,
|
||||||
0x94, 0xf7, 0x88, 0x6f, 0xb4, 0x01, 0x37, 0x3d, 0x36, 0x0a, 0x2d, 0xfb, 0xc4, 0x54, 0x59, 0xcf,
|
0xff, 0x68, 0x03, 0x6e, 0x7a, 0x74, 0x18, 0x5a, 0xf6, 0x89, 0xa9, 0xb2, 0x9e, 0x2d, 0x98, 0xc5,
|
||||||
0x16, 0xcc, 0xe2, 0x5f, 0x35, 0xf0, 0x75, 0x35, 0xa9, 0xa4, 0x96, 0xb8, 0xbb, 0x50, 0x22, 0xfe,
|
0x57, 0x2d, 0xe3, 0xeb, 0x6a, 0x52, 0x49, 0x2d, 0x71, 0x77, 0xa1, 0x44, 0xfc, 0xd3, 0xe6, 0xa2,
|
||||||
0x69, 0x6b, 0x59, 0x54, 0x87, 0x0f, 0xe6, 0x4e, 0xeb, 0x1d, 0xc3, 0x3f, 0x95, 0xd5, 0x20, 0x87,
|
0xa8, 0x0e, 0x1f, 0xcc, 0x9c, 0xd6, 0xdb, 0x86, 0x7f, 0x2a, 0xab, 0x41, 0x0e, 0x83, 0x7a, 0x50,
|
||||||
0x41, 0x7d, 0xa8, 0x51, 0xc2, 0x82, 0x98, 0xda, 0x84, 0xb5, 0xca, 0x73, 0x1d, 0x32, 0x9c, 0xf0,
|
0x8b, 0x08, 0x0d, 0xe2, 0xc8, 0x26, 0xb4, 0x59, 0x9e, 0xe9, 0x90, 0xe1, 0x84, 0x0f, 0x4f, 0x20,
|
||||||
0xe1, 0x29, 0x04, 0xda, 0x84, 0x8a, 0x17, 0xc4, 0x7e, 0xc4, 0x5a, 0x15, 0x21, 0xe0, 0x3b, 0x39,
|
0xd0, 0x26, 0x54, 0xbc, 0x20, 0xf6, 0x19, 0x6d, 0x56, 0x84, 0x80, 0x6f, 0xe7, 0x04, 0xdb, 0xe3,
|
||||||
0xc1, 0xf6, 0x38, 0x13, 0x56, 0xbc, 0x68, 0x0b, 0x56, 0x1c, 0x72, 0xea, 0x72, 0x99, 0x56, 0x04,
|
0x4c, 0x58, 0xf1, 0xa2, 0x2d, 0x58, 0x72, 0xc8, 0xa9, 0xcb, 0x65, 0x5a, 0x12, 0x30, 0xb7, 0xf3,
|
||||||
0xcc, 0x9d, 0xbc, 0xf6, 0x15, 0x5c, 0x38, 0xe1, 0xe6, 0x4a, 0x8f, 0x19, 0xa1, 0xad, 0xaa, 0x54,
|
0xda, 0x57, 0x70, 0xe1, 0x84, 0x9b, 0x2b, 0x3d, 0xa6, 0x24, 0x6a, 0x56, 0xa5, 0xd2, 0xf9, 0x7f,
|
||||||
0x3a, 0xff, 0x46, 0xaf, 0x41, 0xcd, 0x9a, 0x4c, 0x02, 0xdb, 0x74, 0x5c, 0xda, 0xaa, 0x89, 0x89,
|
0xf4, 0x2a, 0xd4, 0xac, 0xf1, 0x38, 0xb0, 0x4d, 0xc7, 0x8d, 0x9a, 0x35, 0x31, 0x51, 0x15, 0x84,
|
||||||
0xaa, 0x20, 0x6c, 0xba, 0x14, 0xbd, 0x0e, 0x75, 0x79, 0x32, 0xcc, 0xd0, 0x8a, 0xc6, 0x2d, 0x10,
|
0x4d, 0x37, 0x42, 0xaf, 0x41, 0x5d, 0x9e, 0x0c, 0x33, 0xb4, 0xd8, 0xa8, 0x09, 0x62, 0x1a, 0x24,
|
||||||
0xd3, 0x20, 0x49, 0x07, 0x56, 0x34, 0x56, 0x0b, 0x08, 0xa5, 0x72, 0x41, 0x3d, 0x5d, 0x40, 0x28,
|
0xe9, 0xc0, 0x62, 0x23, 0xb5, 0x80, 0x44, 0x91, 0x5c, 0x50, 0x4f, 0x17, 0x90, 0x28, 0x12, 0x0b,
|
||||||
0x15, 0x0b, 0xfe, 0x17, 0xd6, 0xc4, 0x31, 0x1f, 0xd1, 0x20, 0x0e, 0x4d, 0x61, 0xf2, 0x86, 0x58,
|
0xbe, 0x05, 0xab, 0xe2, 0x98, 0x0f, 0xa3, 0x20, 0x0e, 0x4d, 0x61, 0xf2, 0x65, 0xb1, 0x68, 0x85,
|
||||||
0xb4, 0xca, 0xc9, 0x5b, 0x9c, 0xda, 0xe7, 0xb6, 0x7f, 0x15, 0xaa, 0x4f, 0x83, 0x23, 0xb9, 0x60,
|
0x93, 0xb7, 0x38, 0xb5, 0xc7, 0x6d, 0xff, 0x0a, 0x54, 0x9f, 0x06, 0x47, 0x72, 0xc1, 0x8a, 0x58,
|
||||||
0x55, 0x2c, 0x58, 0x79, 0x1a, 0x1c, 0x25, 0x53, 0x52, 0x42, 0xd7, 0x69, 0x35, 0xe5, 0x94, 0x18,
|
0xb0, 0xf4, 0x34, 0x38, 0x4a, 0xa6, 0xa4, 0x84, 0xae, 0xd3, 0x6c, 0xc8, 0x29, 0x31, 0xde, 0x71,
|
||||||
0xef, 0x38, 0xed, 0x0f, 0xa0, 0x9a, 0x18, 0xf0, 0x8a, 0x02, 0xf9, 0x46, 0xb6, 0x40, 0xae, 0x65,
|
0x5a, 0x77, 0xa0, 0x9a, 0x18, 0xf0, 0x8a, 0x02, 0xf9, 0x46, 0xb6, 0x40, 0xae, 0x65, 0xab, 0xdd,
|
||||||
0xab, 0xdd, 0xbf, 0x16, 0xa0, 0x96, 0x1a, 0x0c, 0x7d, 0x0e, 0xab, 0xd4, 0x7a, 0x66, 0x4e, 0x2d,
|
0x7f, 0x14, 0xa0, 0x96, 0x1a, 0x0c, 0xf9, 0x70, 0x5d, 0x00, 0x5a, 0x8c, 0x38, 0xe6, 0xc4, 0xfe,
|
||||||
0x2f, 0xc3, 0xeb, 0xfb, 0x79, 0x2d, 0x6f, 0x3d, 0x9b, 0x1a, 0xbf, 0x41, 0x33, 0x23, 0xf4, 0x25,
|
0x32, 0xc8, 0xbe, 0x9f, 0x53, 0xd7, 0x9d, 0x04, 0x41, 0x05, 0x1a, 0xe5, 0x0c, 0x28, 0x45, 0x9e,
|
||||||
0xac, 0x4d, 0x5c, 0x3f, 0x3e, 0xcb, 0x60, 0xcb, 0x7c, 0xf5, 0x7f, 0x39, 0xb1, 0x77, 0x39, 0xf7,
|
0xec, 0xf7, 0x39, 0xac, 0x8e, 0x5d, 0x3f, 0x3e, 0xcb, 0xec, 0x25, 0xb3, 0xd8, 0xb7, 0x73, 0xee,
|
||||||
0x14, 0xbd, 0x39, 0x99, 0x19, 0xeb, 0x7f, 0x2c, 0x40, 0x23, 0xbb, 0x3d, 0x57, 0x82, 0x1d, 0xc6,
|
0xb5, 0xcb, 0xb9, 0x27, 0x7b, 0x34, 0xc6, 0x53, 0x63, 0xfd, 0xab, 0x22, 0xbc, 0x74, 0xb5, 0x38,
|
||||||
0xe2, 0x0f, 0x94, 0x30, 0xff, 0xe4, 0x21, 0xcd, 0x23, 0x5e, 0x40, 0xcf, 0xc5, 0xce, 0x25, 0xac,
|
0xa8, 0x07, 0x25, 0x3b, 0x8c, 0xd5, 0xa7, 0x7d, 0x77, 0xd6, 0x4f, 0xeb, 0x86, 0xf1, 0x64, 0x57,
|
||||||
0x46, 0xdc, 0x17, 0x1c, 0x97, 0x9d, 0x88, 0xb3, 0x55, 0xc2, 0xe2, 0x9b, 0xd3, 0xdc, 0x20, 0x64,
|
0x0e, 0xc4, 0x2b, 0x5f, 0x8f, 0x78, 0x41, 0x74, 0xae, 0xbe, 0xe0, 0xc3, 0x59, 0x21, 0xf7, 0x04,
|
||||||
0xa2, 0xda, 0x2b, 0x61, 0xf1, 0x8d, 0x30, 0x54, 0x55, 0x22, 0xe3, 0x27, 0xa2, 0x34, 0x7f, 0x42,
|
0xf7, 0x04, 0x55, 0xc1, 0x21, 0x0c, 0x55, 0x95, 0x3f, 0xf9, 0x41, 0x2c, 0xcd, 0x9e, 0x87, 0x13,
|
||||||
0x4c, 0x84, 0xc3, 0x29, 0x8e, 0xfe, 0xeb, 0x22, 0xac, 0x5d, 0x98, 0xe5, 0x72, 0x4a, 0x37, 0x4d,
|
0x48, 0x9c, 0xe2, 0xe8, 0x77, 0xe0, 0xe6, 0x95, 0x9f, 0x82, 0xfe, 0x0f, 0xc0, 0x0e, 0x63, 0x53,
|
||||||
0xd2, 0x81, 0x1c, 0x71, 0x99, 0x6c, 0xd7, 0x49, 0x6a, 0x2e, 0xf1, 0x2d, 0x82, 0x49, 0xa8, 0xea,
|
0xdc, 0x93, 0xa4, 0xdd, 0x4b, 0xb8, 0x66, 0x87, 0x71, 0x5f, 0x10, 0xf4, 0xbb, 0xd0, 0x7c, 0x96,
|
||||||
0xa1, 0xa2, 0x1b, 0x72, 0x43, 0x7b, 0x47, 0x6e, 0x24, 0x05, 0x2f, 0x63, 0x39, 0x40, 0x4f, 0xa0,
|
0xbc, 0xfc, 0xf8, 0x48, 0x89, 0x4d, 0xef, 0x48, 0xe8, 0xa0, 0x84, 0xab, 0x92, 0xb0, 0x77, 0xa4,
|
||||||
0x49, 0x09, 0x23, 0xf4, 0x94, 0x38, 0x66, 0x18, 0xd0, 0x28, 0x91, 0x7f, 0x63, 0x3e, 0xf9, 0x0f,
|
0xff, 0xae, 0x08, 0xab, 0x17, 0xc4, 0xe1, 0x29, 0x46, 0x1e, 0xc7, 0x24, 0xed, 0xc9, 0x11, 0x3f,
|
||||||
0x02, 0x1a, 0xe1, 0xd5, 0x04, 0x89, 0x8f, 0x18, 0x7a, 0x0c, 0xab, 0xce, 0xb9, 0x6f, 0x79, 0xae,
|
0x9b, 0xb6, 0xeb, 0x24, 0xb5, 0xa5, 0xf8, 0x2f, 0x82, 0x66, 0xa8, 0xea, 0xbe, 0xa2, 0x1b, 0x72,
|
||||||
0xad, 0x90, 0x2b, 0x0b, 0x23, 0x37, 0x14, 0x90, 0x00, 0xe6, 0xd7, 0xb0, 0xcc, 0x24, 0xff, 0x63,
|
0x87, 0xf6, 0x8e, 0x5c, 0x46, 0x45, 0x39, 0x5e, 0xc6, 0x72, 0x80, 0x9e, 0x40, 0x23, 0x22, 0x94,
|
||||||
0x13, 0xeb, 0x88, 0x4c, 0x94, 0x4e, 0xe4, 0x60, 0xd6, 0xaf, 0xcb, 0xca, 0xaf, 0xf5, 0xdf, 0x15,
|
0x44, 0xa7, 0xc4, 0x31, 0xc3, 0x20, 0x62, 0x89, 0xc2, 0x36, 0x66, 0x53, 0xd8, 0x41, 0x10, 0x31,
|
||||||
0xa1, 0x39, 0xeb, 0x2e, 0xe8, 0xbf, 0x01, 0xec, 0x30, 0x36, 0x43, 0x42, 0xdd, 0xc0, 0x51, 0x4e,
|
0xbc, 0x92, 0x20, 0xf1, 0x11, 0x45, 0x8f, 0x61, 0xc5, 0x39, 0xf7, 0x2d, 0xcf, 0xb5, 0x15, 0x72,
|
||||||
0x51, 0xb3, 0xc3, 0xf8, 0x40, 0x10, 0xf8, 0xd1, 0xe7, 0xd3, 0x5f, 0xc5, 0x41, 0x64, 0x29, 0xef,
|
0x65, 0x6e, 0xe4, 0x65, 0x05, 0x24, 0x80, 0xf9, 0x75, 0x33, 0x33, 0xc9, 0x3f, 0x6c, 0x6c, 0x1d,
|
||||||
0xa8, 0xda, 0x61, 0xfc, 0x2d, 0x3e, 0x4e, 0x78, 0xc5, 0xdd, 0x91, 0x29, 0x2f, 0xe1, 0xcb, 0x07,
|
0x91, 0xb1, 0xd2, 0x89, 0x1c, 0x4c, 0x9f, 0xdf, 0xb2, 0x3a, 0xbf, 0xfa, 0x1f, 0x8b, 0xd0, 0x98,
|
||||||
0x82, 0x80, 0xde, 0x01, 0x24, 0x1d, 0xc9, 0x9c, 0xb8, 0x9e, 0x1b, 0x99, 0x47, 0xe7, 0xfc, 0x92,
|
0x3e, 0x00, 0x89, 0xfd, 0x42, 0x12, 0xb9, 0x81, 0x93, 0xb1, 0xdf, 0x81, 0x20, 0x70, 0x1b, 0xf1,
|
||||||
0x2e, 0x1d, 0x47, 0x93, 0x33, 0xbb, 0x7c, 0xe2, 0x53, 0x4e, 0x47, 0x3a, 0xac, 0x06, 0x81, 0x67,
|
0xe9, 0x2f, 0xe2, 0x80, 0x59, 0x89, 0x8d, 0xec, 0x30, 0xfe, 0x1e, 0x1f, 0x5f, 0xb0, 0x7d, 0xe9,
|
||||||
0x32, 0x3b, 0xa0, 0xc4, 0xb4, 0x9c, 0xa7, 0x22, 0xb6, 0x96, 0x70, 0x3d, 0x08, 0xbc, 0x01, 0xa7,
|
0x82, 0xed, 0xd1, 0xdb, 0x80, 0x94, 0x7d, 0xc7, 0xae, 0xe7, 0x32, 0xf3, 0xe8, 0x9c, 0x11, 0xa9,
|
||||||
0x75, 0x9d, 0xa7, 0x3c, 0x94, 0xd8, 0x61, 0xcc, 0x48, 0x64, 0xf2, 0x9f, 0x56, 0x45, 0x86, 0x12,
|
0xff, 0x12, 0xd6, 0xe4, 0xcc, 0x2e, 0x9f, 0xf8, 0x98, 0xd3, 0x91, 0x0e, 0x2b, 0x41, 0xe0, 0x99,
|
||||||
0x49, 0xea, 0x85, 0x31, 0xcb, 0x2c, 0xf0, 0x88, 0xc7, 0x43, 0x61, 0x66, 0xc1, 0x1e, 0xf1, 0xf8,
|
0xd4, 0x0e, 0x22, 0x62, 0x5a, 0xce, 0x53, 0x91, 0x43, 0x4a, 0xb8, 0x1e, 0x04, 0x5e, 0x9f, 0xd3,
|
||||||
0x2e, 0x8d, 0x03, 0x42, 0x6d, 0xe2, 0x47, 0x43, 0xd7, 0x3e, 0x61, 0x22, 0xcc, 0x15, 0xf0, 0x0c,
|
0x3a, 0xce, 0x53, 0x1e, 0x32, 0xed, 0x30, 0xa6, 0x84, 0x99, 0xfc, 0xa7, 0x59, 0x91, 0x21, 0x53,
|
||||||
0x4d, 0xff, 0x02, 0xca, 0x22, 0xb8, 0xf2, 0x3f, 0x2f, 0x02, 0x93, 0x88, 0x5b, 0x52, 0xbd, 0x55,
|
0x92, 0xba, 0x61, 0x4c, 0x33, 0x0b, 0x3c, 0xe2, 0xf1, 0x90, 0x9f, 0x59, 0xb0, 0x47, 0x3c, 0xbe,
|
||||||
0x4e, 0x10, 0x51, 0xeb, 0x35, 0xa8, 0x8d, 0x03, 0xa6, 0xa2, 0x9e, 0xf4, 0xbc, 0x2a, 0x27, 0x88,
|
0xcb, 0xf2, 0x01, 0x89, 0x6c, 0xe2, 0xb3, 0x81, 0x6b, 0x9f, 0x50, 0x11, 0xce, 0x0b, 0x78, 0x8a,
|
||||||
0xc9, 0x36, 0x54, 0x29, 0xb1, 0x9c, 0xc0, 0x9f, 0x9c, 0x0b, 0xbd, 0x54, 0x71, 0x3a, 0xd6, 0xbf,
|
0xa6, 0x7f, 0x06, 0x65, 0x91, 0x44, 0xf8, 0xc7, 0x8b, 0x00, 0x2c, 0xe2, 0xb3, 0x54, 0x6f, 0x95,
|
||||||
0x82, 0x8a, 0x0c, 0xba, 0x2f, 0x81, 0x7f, 0x07, 0x90, 0x2d, 0xc3, 0x65, 0x48, 0xa8, 0xe7, 0x32,
|
0x13, 0x44, 0x74, 0x7e, 0x15, 0x6a, 0xa3, 0x80, 0xaa, 0xe8, 0x2e, 0x3d, 0xaf, 0xca, 0x09, 0x62,
|
||||||
0xe6, 0x06, 0x3e, 0x4b, 0xde, 0x0a, 0xe4, 0xcc, 0xc1, 0x74, 0x42, 0xff, 0x4b, 0x41, 0x26, 0x5a,
|
0xb2, 0x05, 0xd5, 0x88, 0x58, 0x4e, 0xe0, 0x8f, 0xcf, 0x85, 0x5e, 0xaa, 0x38, 0x1d, 0xeb, 0x5f,
|
||||||
0x79, 0x8b, 0xe3, 0xa5, 0x8a, 0xca, 0x9a, 0x0b, 0x5f, 0x75, 0x15, 0x40, 0x52, 0x6e, 0x12, 0xf5,
|
0x40, 0x45, 0x26, 0x97, 0x17, 0xc0, 0xbf, 0x0d, 0xc8, 0x96, 0x69, 0x21, 0x24, 0x91, 0xe7, 0x52,
|
||||||
0x26, 0x32, 0x6f, 0xb9, 0x49, 0x64, 0xb9, 0x49, 0x78, 0x6d, 0xa3, 0xf2, 0xb9, 0x84, 0x93, 0xe9,
|
0xea, 0x06, 0x3e, 0x4d, 0xde, 0x44, 0xe4, 0xcc, 0xc1, 0x64, 0x42, 0xff, 0x5b, 0x41, 0x16, 0x14,
|
||||||
0xbc, 0xee, 0xa4, 0x75, 0x38, 0xd1, 0xff, 0x59, 0x48, 0x23, 0x42, 0x52, 0x2f, 0xa3, 0x2f, 0xa1,
|
0xf2, 0xb6, 0xca, 0x4b, 0x32, 0x55, 0x1d, 0xcc, 0x7d, 0xa5, 0x57, 0x00, 0x49, 0x59, 0x4d, 0xd4,
|
||||||
0xca, 0x0f, 0x97, 0xe9, 0x59, 0xa1, 0x7a, 0xfd, 0xe9, 0x2d, 0x56, 0x8a, 0x77, 0xf8, 0x59, 0xda,
|
0xdb, 0xcf, 0xac, 0x65, 0x35, 0x91, 0x65, 0x35, 0xe1, 0x35, 0x9c, 0xaa, 0x5b, 0x24, 0x9c, 0x2c,
|
||||||
0xb3, 0x42, 0x99, 0xe8, 0x57, 0x42, 0x39, 0xe2, 0x91, 0xc5, 0x72, 0xa6, 0x91, 0x85, 0x7f, 0xa3,
|
0x5b, 0xea, 0x4e, 0x7a, 0xdf, 0x20, 0xfa, 0xbf, 0x0b, 0x69, 0x44, 0x48, 0xee, 0x05, 0xe8, 0x73,
|
||||||
0x37, 0xa1, 0x69, 0xc5, 0x51, 0x60, 0x5a, 0xce, 0x29, 0xa1, 0x91, 0xcb, 0x88, 0xb2, 0xf0, 0x2a,
|
0xa8, 0xf2, 0xc3, 0x65, 0x7a, 0x56, 0xa8, 0x5e, 0xb9, 0xba, 0xf3, 0x5d, 0x39, 0xda, 0xfc, 0x2c,
|
||||||
0xa7, 0x76, 0x13, 0x62, 0xfb, 0x01, 0x34, 0xb2, 0x98, 0x2f, 0xca, 0x3d, 0xe5, 0x6c, 0xee, 0xf9,
|
0xed, 0x59, 0xa1, 0x2c, 0x68, 0x96, 0x42, 0x39, 0xe2, 0x91, 0xc5, 0x72, 0x26, 0x91, 0x85, 0xff,
|
||||||
0x1e, 0xc0, 0xb4, 0x2c, 0xe4, 0x9e, 0x40, 0xce, 0xdc, 0xc8, 0xb4, 0x03, 0x47, 0x46, 0xbe, 0x32,
|
0x47, 0x6f, 0x40, 0xc3, 0x8a, 0x59, 0x60, 0x5a, 0xce, 0x29, 0x89, 0x98, 0x4b, 0x89, 0xb2, 0xf0,
|
||||||
0xae, 0x72, 0x42, 0x2f, 0x70, 0xc8, 0x85, 0x22, 0xbb, 0x9c, 0x14, 0xd9, 0xfc, 0x6c, 0xf2, 0xe3,
|
0x0a, 0xa7, 0x76, 0x12, 0x62, 0xeb, 0x01, 0x2c, 0x67, 0x31, 0x9f, 0x97, 0x63, 0xcb, 0xd9, 0x1c,
|
||||||
0x74, 0xe2, 0x4e, 0x26, 0xc4, 0x51, 0x12, 0xd6, 0x82, 0xc0, 0x7b, 0x24, 0x08, 0xfa, 0xd7, 0x45,
|
0xfb, 0x23, 0x80, 0x49, 0xf9, 0xcb, 0x3d, 0x81, 0x9c, 0xb9, 0xcc, 0xb4, 0x03, 0x47, 0x46, 0xbe,
|
||||||
0xe9, 0x11, 0xf2, 0x8a, 0x93, 0xab, 0xf4, 0x4a, 0x4d, 0x5d, 0x7a, 0x39, 0x53, 0xdf, 0x07, 0x60,
|
0x32, 0xae, 0x72, 0x42, 0x37, 0x70, 0xc8, 0x85, 0xcb, 0x44, 0x39, 0xb9, 0x4c, 0xf0, 0xb3, 0xc9,
|
||||||
0x91, 0x45, 0x23, 0xe2, 0x98, 0x56, 0xa4, 0x5e, 0x0d, 0xda, 0x97, 0xaa, 0xf4, 0x61, 0xf2, 0x52,
|
0x8f, 0xd3, 0x89, 0x3b, 0x1e, 0x13, 0x47, 0x49, 0x58, 0x0b, 0x02, 0xef, 0x91, 0x20, 0xe8, 0x5f,
|
||||||
0x8b, 0x6b, 0x6a, 0x75, 0x37, 0x42, 0x1f, 0x42, 0xc3, 0x0e, 0xbc, 0x70, 0x42, 0x14, 0x73, 0xf9,
|
0x17, 0xa5, 0x47, 0xc8, 0xab, 0x5c, 0xae, 0x12, 0x33, 0x35, 0x75, 0xe9, 0xc5, 0x4c, 0x7d, 0x1f,
|
||||||
0x85, 0xcc, 0xf5, 0x74, 0x7d, 0x37, 0xca, 0x94, 0xe8, 0x95, 0x97, 0x2d, 0xd1, 0xff, 0x54, 0x90,
|
0x80, 0x32, 0x2b, 0xe2, 0x05, 0x83, 0xc5, 0xd4, 0xeb, 0x48, 0xeb, 0xd2, 0x6d, 0x64, 0x90, 0xbc,
|
||||||
0x37, 0xb5, 0xec, 0x45, 0x11, 0x8d, 0xae, 0x78, 0x8d, 0xdc, 0x5a, 0xf0, 0xd6, 0xf9, 0x4d, 0x4f,
|
0x48, 0xe3, 0x9a, 0x5a, 0xdd, 0x61, 0xe8, 0x7d, 0x58, 0xb6, 0x03, 0x2f, 0x1c, 0x13, 0xc5, 0x5c,
|
||||||
0x91, 0xed, 0x0f, 0xf3, 0xbc, 0xfd, 0x3d, 0xbf, 0xb4, 0xf9, 0x73, 0x09, 0x6a, 0xe9, 0x85, 0xef,
|
0x7e, 0x2e, 0x73, 0x3d, 0x5d, 0xdf, 0x61, 0x99, 0xab, 0x48, 0xe5, 0x45, 0xaf, 0x22, 0x7f, 0x29,
|
||||||
0x92, 0xed, 0xef, 0x41, 0x2d, 0x7d, 0x26, 0x57, 0xa5, 0xc8, 0x37, 0x9a, 0x27, 0x5d, 0x8c, 0x8e,
|
0xc8, 0x1b, 0x69, 0xf6, 0x42, 0x8c, 0x86, 0x57, 0xbc, 0xba, 0x6e, 0xcd, 0x79, 0xbb, 0xfe, 0xa6,
|
||||||
0x01, 0x59, 0xa3, 0x51, 0x5a, 0xc8, 0x98, 0x31, 0xb3, 0x46, 0xc9, 0x15, 0xf9, 0xde, 0x1c, 0x7a,
|
0x27, 0xd7, 0xd6, 0xfb, 0x79, 0xde, 0x38, 0x9f, 0x5d, 0xc2, 0xfd, 0xb5, 0x04, 0xb5, 0xf4, 0x62,
|
||||||
0x48, 0xb2, 0xd3, 0x21, 0xe7, 0xc7, 0x9a, 0x35, 0x1a, 0xcd, 0x50, 0xd0, 0xf7, 0xe1, 0xe6, 0xec,
|
0x7b, 0xc9, 0xf6, 0xf7, 0xa0, 0x96, 0xb6, 0x03, 0x54, 0x69, 0xf2, 0x8d, 0xe6, 0x49, 0x17, 0xa3,
|
||||||
0x1e, 0xe6, 0xd1, 0xb9, 0x19, 0xba, 0x8e, 0x2a, 0xf1, 0xb7, 0xe7, 0xbd, 0xf3, 0x76, 0x66, 0xe0,
|
0x63, 0x40, 0xd6, 0x70, 0x98, 0x96, 0x66, 0x66, 0x4c, 0xad, 0x61, 0xf2, 0x14, 0x70, 0x6f, 0x06,
|
||||||
0x3f, 0x3d, 0x3f, 0x70, 0x1d, 0xa9, 0x73, 0x44, 0x2f, 0x4d, 0xb4, 0x7f, 0x08, 0xaf, 0x3c, 0x67,
|
0x3d, 0x24, 0xd9, 0xe9, 0x90, 0xf3, 0x63, 0xcd, 0x1a, 0x0e, 0xa7, 0x28, 0xe8, 0xc7, 0x70, 0x73,
|
||||||
0xf9, 0x15, 0x36, 0xe8, 0xcf, 0xbe, 0xbf, 0x2e, 0xae, 0x84, 0x8c, 0xf5, 0x7e, 0x5b, 0x90, 0x57,
|
0x7a, 0x0f, 0xf3, 0xe8, 0xdc, 0x0c, 0x5d, 0x47, 0x5d, 0x65, 0xb6, 0x67, 0xbd, 0xdb, 0xb7, 0xa7,
|
||||||
0xf3, 0x59, 0x9d, 0x74, 0xa7, 0x55, 0x5d, 0x7d, 0x63, 0x3d, 0xe7, 0x3e, 0xbd, 0x83, 0x43, 0x09,
|
0xe0, 0x3f, 0x3e, 0x3f, 0x70, 0x1d, 0xa9, 0x73, 0x14, 0x5d, 0x9a, 0x68, 0xfd, 0x14, 0x5e, 0x7e,
|
||||||
0x2f, 0xca, 0xc0, 0xcf, 0x66, 0xca, 0xc0, 0xfc, 0xa5, 0xca, 0x9e, 0x60, 0x92, 0x40, 0x0a, 0x41,
|
0xc6, 0xf2, 0x2b, 0x6c, 0xd0, 0x9b, 0x7e, 0x67, 0x9e, 0x5f, 0x09, 0x19, 0xeb, 0xfd, 0xa1, 0x20,
|
||||||
0xff, 0x43, 0x09, 0xaa, 0x09, 0xba, 0xb8, 0x01, 0x9c, 0xb3, 0x88, 0x78, 0xa6, 0x97, 0x84, 0xb0,
|
0x9f, 0x20, 0xa6, 0x75, 0xd2, 0xc9, 0x56, 0xa7, 0xeb, 0x39, 0xf7, 0xe9, 0x1e, 0x1c, 0x4a, 0x78,
|
||||||
0x02, 0x06, 0x49, 0xda, 0xe3, 0x41, 0xec, 0x35, 0xa8, 0xf1, 0x8b, 0x86, 0x9c, 0x2e, 0x8a, 0xe9,
|
0x51, 0x90, 0x7e, 0x72, 0xa1, 0x20, 0xcd, 0x5b, 0xaa, 0xc8, 0xba, 0x4e, 0x02, 0x29, 0x04, 0xfd,
|
||||||
0x2a, 0x27, 0x88, 0xc9, 0xd7, 0xa1, 0x1e, 0x05, 0x91, 0x35, 0x31, 0x23, 0x91, 0xb1, 0x4b, 0x92,
|
0xcf, 0x25, 0xa8, 0x26, 0xe8, 0xe2, 0xa6, 0x73, 0x4e, 0x19, 0xf1, 0x4c, 0x2f, 0x09, 0x61, 0x05,
|
||||||
0x5b, 0x90, 0x44, 0xbe, 0x46, 0x6f, 0xc3, 0xb5, 0x68, 0x4c, 0x83, 0x28, 0x9a, 0xf0, 0x2a, 0x4e,
|
0x0c, 0x92, 0xb4, 0xc7, 0x83, 0xd8, 0xab, 0x50, 0xe3, 0x17, 0x2a, 0x39, 0x5d, 0x14, 0xd3, 0x55,
|
||||||
0xd4, 0x2d, 0xb2, 0xcc, 0x58, 0xc6, 0x5a, 0x3a, 0x21, 0xeb, 0x19, 0xc6, 0xa3, 0xf7, 0x74, 0x31,
|
0x4e, 0x10, 0x93, 0xaf, 0x41, 0x9d, 0x05, 0xcc, 0x1a, 0x9b, 0x4c, 0x64, 0xec, 0x92, 0xe4, 0x16,
|
||||||
0x77, 0x5d, 0x11, 0x44, 0x96, 0xf1, 0x6a, 0x4a, 0xe5, 0xae, 0x8d, 0x5a, 0xb0, 0x12, 0xca, 0x9a,
|
0x24, 0x91, 0xaf, 0xd1, 0x5b, 0x70, 0x8d, 0x8d, 0xa2, 0x80, 0xb1, 0x31, 0xaf, 0xe2, 0x44, 0xdd,
|
||||||
0x40, 0xc4, 0x8a, 0x02, 0x4e, 0x86, 0xc8, 0x84, 0x35, 0x8f, 0x58, 0x2c, 0xa6, 0xc4, 0x31, 0x8f,
|
0x22, 0xcb, 0x8c, 0x45, 0xac, 0xa5, 0x13, 0xb2, 0x9e, 0xa1, 0x3c, 0x7a, 0x4f, 0x16, 0x73, 0xd7,
|
||||||
0x5d, 0x32, 0x71, 0xe4, 0x8d, 0xab, 0x99, 0xbb, 0xe6, 0x4d, 0xd4, 0xd2, 0x79, 0x28, 0xb8, 0x71,
|
0x15, 0x41, 0x64, 0x11, 0xaf, 0xa4, 0x54, 0xee, 0xda, 0xa8, 0x09, 0x4b, 0xa1, 0xac, 0x09, 0x44,
|
||||||
0x33, 0x81, 0x93, 0x63, 0x5e, 0x1f, 0xc8, 0x2f, 0xb4, 0x06, 0xf5, 0xc1, 0x93, 0xc1, 0xd0, 0xd8,
|
0xac, 0x28, 0xe0, 0x64, 0x88, 0x4c, 0x58, 0xf5, 0x88, 0x45, 0xe3, 0x88, 0x38, 0xe6, 0xb1, 0x4b,
|
||||||
0x33, 0xf7, 0xf6, 0x37, 0x0d, 0xf5, 0xc4, 0x3e, 0x30, 0xb0, 0x1c, 0x16, 0xf8, 0xfc, 0x70, 0x7f,
|
0xc6, 0x8e, 0xbc, 0x59, 0x36, 0x72, 0x17, 0xd9, 0x89, 0x5a, 0xda, 0x0f, 0x05, 0x37, 0x6e, 0x24,
|
||||||
0xd8, 0xdd, 0x35, 0x87, 0x3b, 0xbd, 0x47, 0x03, 0xad, 0x88, 0x6e, 0xc2, 0xb5, 0xe1, 0x36, 0xde,
|
0x70, 0x72, 0xcc, 0xeb, 0x03, 0xf9, 0x0f, 0xad, 0x42, 0xbd, 0xff, 0xa4, 0x3f, 0x30, 0xf6, 0xcc,
|
||||||
0x1f, 0x0e, 0x77, 0x8d, 0x4d, 0xf3, 0xc0, 0xc0, 0x3b, 0xfb, 0x9b, 0x03, 0xad, 0x84, 0x10, 0x34,
|
0xbd, 0xfd, 0x4d, 0x43, 0xb5, 0x12, 0xfa, 0x06, 0x96, 0xc3, 0x02, 0x9f, 0x1f, 0xec, 0x0f, 0x3a,
|
||||||
0xa7, 0xe4, 0xe1, 0xce, 0x9e, 0xa1, 0x2d, 0xa3, 0x3a, 0xac, 0x1c, 0x18, 0xb8, 0x67, 0xf4, 0x87,
|
0xbb, 0xe6, 0x60, 0xa7, 0xfb, 0xa8, 0xaf, 0x15, 0xd1, 0x4d, 0xb8, 0x36, 0xd8, 0xc6, 0xfb, 0x83,
|
||||||
0x5a, 0x59, 0xff, 0x5b, 0x11, 0xea, 0x19, 0x2b, 0x72, 0x47, 0xa6, 0x4c, 0xde, 0x71, 0x96, 0x31,
|
0xc1, 0xae, 0xb1, 0x69, 0x1e, 0x18, 0x78, 0x67, 0x7f, 0xb3, 0xaf, 0x95, 0x10, 0x82, 0xc6, 0x84,
|
||||||
0xff, 0xe4, 0xc1, 0xc4, 0xb6, 0xec, 0xb1, 0xb4, 0xce, 0x32, 0x96, 0x03, 0x6e, 0x37, 0xcf, 0x3a,
|
0x3c, 0xd8, 0xd9, 0x33, 0xb4, 0x45, 0x54, 0x87, 0xa5, 0x03, 0x03, 0x77, 0x8d, 0xde, 0x40, 0x2b,
|
||||||
0xcb, 0x9c, 0xf3, 0x65, 0x5c, 0xf5, 0xac, 0x33, 0x09, 0xf2, 0x06, 0x34, 0x4e, 0x08, 0xf5, 0xc9,
|
0xeb, 0x7f, 0x2f, 0x42, 0x3d, 0x63, 0x45, 0xee, 0xc8, 0x11, 0x95, 0xd5, 0xfc, 0x22, 0xe6, 0x7f,
|
||||||
0x44, 0xcd, 0x4b, 0x8b, 0xd4, 0x25, 0x4d, 0x2e, 0xb9, 0x0d, 0x9a, 0x5a, 0x32, 0x85, 0x91, 0xe6,
|
0x79, 0x30, 0xb1, 0x2d, 0x7b, 0x24, 0xad, 0xb3, 0x88, 0xe5, 0x40, 0x54, 0xf0, 0xd6, 0x59, 0xe6,
|
||||||
0x68, 0x4a, 0xfa, 0x5e, 0x02, 0x76, 0x74, 0x59, 0xeb, 0x15, 0xa1, 0xf5, 0xfb, 0xf3, 0x3b, 0xe9,
|
0x9c, 0x2f, 0xe2, 0xaa, 0x67, 0x9d, 0x49, 0x90, 0xd7, 0x61, 0xf9, 0x84, 0x44, 0x3e, 0x19, 0xab,
|
||||||
0xf3, 0x14, 0x3f, 0x48, 0x15, 0xbf, 0x02, 0x25, 0x9c, 0xbc, 0x36, 0xf7, 0xba, 0xbd, 0x6d, 0xae,
|
0x79, 0x69, 0x91, 0xba, 0xa4, 0xc9, 0x25, 0x6b, 0xa0, 0xa9, 0x25, 0x13, 0x18, 0x69, 0x8e, 0x86,
|
||||||
0xec, 0x55, 0xa8, 0xed, 0x75, 0x3f, 0x37, 0x0f, 0x07, 0xe2, 0xed, 0x02, 0x69, 0xd0, 0x78, 0x64,
|
0xa4, 0xef, 0x25, 0x60, 0x47, 0x97, 0xb5, 0x5e, 0x11, 0x5a, 0xbf, 0x3f, 0xbb, 0x93, 0x3e, 0x4b,
|
||||||
0xe0, 0xbe, 0xb1, 0xab, 0x28, 0x25, 0x74, 0x03, 0x34, 0x45, 0x99, 0xae, 0x5b, 0xd6, 0x7f, 0x5f,
|
0xf1, 0xfd, 0x54, 0xf1, 0x4b, 0x50, 0xc2, 0xc9, 0xab, 0x7a, 0xb7, 0xd3, 0xdd, 0xe6, 0xca, 0x5e,
|
||||||
0x84, 0x35, 0x19, 0xd7, 0xd3, 0xe7, 0xb4, 0xe7, 0xbf, 0x6b, 0x2d, 0x1e, 0x7a, 0x5b, 0xb0, 0xe2,
|
0x81, 0xda, 0x5e, 0xe7, 0x53, 0xf3, 0xb0, 0x2f, 0xde, 0x68, 0x90, 0x06, 0xcb, 0x8f, 0x0c, 0xdc,
|
||||||
0x11, 0x96, 0xda, 0xa1, 0x86, 0x93, 0x21, 0x72, 0xa1, 0x6e, 0xf9, 0x7e, 0x10, 0x89, 0x37, 0x19,
|
0x33, 0x76, 0x15, 0xa5, 0x84, 0x6e, 0x80, 0xa6, 0x28, 0x93, 0x75, 0x8b, 0xfa, 0x9f, 0x8a, 0xb0,
|
||||||
0xa6, 0x42, 0xe4, 0xd6, 0x5c, 0xaf, 0x3f, 0xa9, 0xe4, 0x9d, 0xee, 0x14, 0x49, 0x46, 0xc8, 0x2c,
|
0x2a, 0xe3, 0x7a, 0xfa, 0x6c, 0xf8, 0xec, 0xf7, 0xbb, 0xf9, 0x43, 0x6f, 0x13, 0x96, 0x3c, 0x42,
|
||||||
0x76, 0xfb, 0x23, 0xd0, 0x2e, 0x2e, 0x98, 0x27, 0x2f, 0xbd, 0xf5, 0xde, 0x34, 0x2d, 0x11, 0xee,
|
0x53, 0x3b, 0xd4, 0x70, 0x32, 0x44, 0x2e, 0xd4, 0x2d, 0xdf, 0x0f, 0x98, 0x78, 0x7b, 0xa2, 0x2a,
|
||||||
0xa0, 0x87, 0xfd, 0x47, 0xfd, 0xfd, 0xc7, 0x7d, 0x6d, 0x89, 0x0f, 0xf0, 0x61, 0xbf, 0xbf, 0xd3,
|
0x44, 0x6e, 0xcd, 0xf4, 0xca, 0x95, 0x4a, 0xde, 0xee, 0x4c, 0x90, 0x64, 0x84, 0xcc, 0x62, 0xb7,
|
||||||
0xdf, 0xd2, 0x0a, 0x08, 0xa0, 0x62, 0x7c, 0xbe, 0x33, 0x34, 0x36, 0xb5, 0xe2, 0xc6, 0xdf, 0x57,
|
0x3e, 0x00, 0xed, 0xe2, 0x82, 0x59, 0xf2, 0xd2, 0x9b, 0xef, 0x4e, 0xd2, 0x12, 0xe1, 0x0e, 0x7a,
|
||||||
0xa1, 0x22, 0x85, 0x44, 0xbf, 0x52, 0x29, 0x39, 0xdb, 0x26, 0x45, 0x1f, 0xcd, 0x5d, 0xda, 0xce,
|
0xd8, 0x7b, 0xd4, 0xdb, 0x7f, 0xdc, 0xd3, 0x16, 0xf8, 0x00, 0x1f, 0xf6, 0x7a, 0x3b, 0xbd, 0x2d,
|
||||||
0xb4, 0x5e, 0xdb, 0x1f, 0x2f, 0xcc, 0xaf, 0x9e, 0x35, 0x97, 0xd0, 0xcf, 0x0b, 0xd0, 0x98, 0x79,
|
0xad, 0x80, 0x00, 0x2a, 0xc6, 0xa7, 0x3b, 0x03, 0x63, 0x53, 0x2b, 0x6e, 0xfc, 0x73, 0x05, 0x2a,
|
||||||
0xc7, 0xcb, 0xfb, 0x04, 0x75, 0x45, 0x57, 0xb6, 0xfd, 0xff, 0x0b, 0xf1, 0xa6, 0xb2, 0xfc, 0xac,
|
0x52, 0x48, 0xf4, 0x95, 0x4a, 0xc9, 0xd9, 0x76, 0x30, 0xfa, 0x60, 0xe6, 0xd2, 0x76, 0xaa, 0xc5,
|
||||||
0x00, 0xf5, 0x4c, 0x3f, 0x12, 0xdd, 0x5f, 0xa4, 0x87, 0x29, 0x25, 0x79, 0xb0, 0x78, 0xfb, 0x53,
|
0xdc, 0xfa, 0x70, 0x6e, 0x7e, 0xf5, 0x7c, 0xbb, 0x80, 0x7e, 0x5d, 0x80, 0xe5, 0xa9, 0xf7, 0xca,
|
||||||
0x5f, 0x7a, 0xb7, 0x80, 0x7e, 0x5a, 0x80, 0x7a, 0xa6, 0x33, 0x97, 0x5b, 0x94, 0xcb, 0x7d, 0xc4,
|
0xbc, 0x4f, 0x6d, 0x57, 0x74, 0x9f, 0x5b, 0xdf, 0x99, 0x8b, 0x37, 0x95, 0xe5, 0x57, 0x05, 0xa8,
|
||||||
0xdc, 0xa2, 0x5c, 0xd5, 0x08, 0x5c, 0x42, 0x3f, 0x2a, 0x40, 0x2d, 0xed, 0xb2, 0xa1, 0xbb, 0xf3,
|
0x67, 0xfa, 0xae, 0xe8, 0xfe, 0x3c, 0xbd, 0x5a, 0x29, 0xc9, 0x83, 0xf9, 0xdb, 0xbc, 0xfa, 0xc2,
|
||||||
0xf7, 0xe5, 0xa4, 0x10, 0xf7, 0x16, 0x6d, 0xe8, 0xe9, 0x4b, 0xe8, 0x07, 0x50, 0x4d, 0x5a, 0x52,
|
0x3b, 0x05, 0xf4, 0xcb, 0x02, 0xd4, 0x33, 0x1d, 0xc8, 0xdc, 0xa2, 0x5c, 0xee, 0x97, 0xe6, 0x16,
|
||||||
0x28, 0x6f, 0x1a, 0xb9, 0xd0, 0xef, 0x6a, 0xdf, 0x9d, 0x9b, 0x2f, 0xbb, 0x7d, 0xd2, 0x27, 0xca,
|
0xe5, 0xaa, 0x86, 0xe7, 0x02, 0xfa, 0x59, 0x01, 0x6a, 0x69, 0x37, 0x11, 0xdd, 0x9d, 0xbd, 0xff,
|
||||||
0xbd, 0xfd, 0x85, 0x8e, 0x56, 0xfb, 0xee, 0xdc, 0x7c, 0xe9, 0xf6, 0xdc, 0x13, 0x32, 0xed, 0xa4,
|
0x28, 0x85, 0xb8, 0x37, 0x6f, 0xe3, 0x52, 0x5f, 0x40, 0x3f, 0x81, 0x6a, 0xd2, 0x7a, 0x43, 0x79,
|
||||||
0xdc, 0x9e, 0x70, 0xb9, 0x8f, 0x95, 0xdb, 0x13, 0xae, 0xea, 0x5e, 0x49, 0x41, 0x32, 0x0d, 0xa9,
|
0xd3, 0xc8, 0x85, 0xbe, 0x5e, 0xeb, 0xee, 0xcc, 0x7c, 0xd9, 0xed, 0x93, 0x7e, 0x58, 0xee, 0xed,
|
||||||
0xdc, 0x82, 0x5c, 0x6e, 0x7a, 0xe5, 0x16, 0xe4, 0x8a, 0xfe, 0x97, 0x72, 0xc9, 0x69, 0x81, 0x7e,
|
0x2f, 0x74, 0xee, 0x5a, 0x77, 0x67, 0xe6, 0x4b, 0xb7, 0xe7, 0x9e, 0x90, 0x69, 0x9b, 0xe5, 0xf6,
|
||||||
0x77, 0xee, 0x1e, 0xce, 0x9c, 0x2e, 0x79, 0xa9, 0x8b, 0xa4, 0x2f, 0xa1, 0x1f, 0xab, 0x27, 0x03,
|
0x84, 0xcb, 0xfd, 0xba, 0xdc, 0x9e, 0x70, 0x55, 0x97, 0x4e, 0x0a, 0x92, 0x69, 0xbc, 0xe5, 0x16,
|
||||||
0xd9, 0x00, 0x42, 0xf3, 0x40, 0xcd, 0xf4, 0x8c, 0xda, 0x1f, 0x2c, 0x96, 0x6a, 0x44, 0x8c, 0xf8,
|
0xe4, 0x72, 0x73, 0x2f, 0xb7, 0x20, 0x57, 0xf4, 0xf9, 0x94, 0x4b, 0x4e, 0x0a, 0xf4, 0xbb, 0x33,
|
||||||
0x49, 0x01, 0x60, 0xda, 0x2a, 0xca, 0x2d, 0xc4, 0xa5, 0x1e, 0x55, 0xfb, 0xfe, 0x02, 0x9c, 0xd9,
|
0xf7, 0xaa, 0x66, 0x74, 0xc9, 0x4b, 0xdd, 0x32, 0x7d, 0x01, 0xfd, 0x5c, 0x3d, 0x19, 0xc8, 0x46,
|
||||||
0xe3, 0x91, 0x74, 0x87, 0x72, 0x1f, 0x8f, 0x0b, 0xad, 0xac, 0xdc, 0xc7, 0xe3, 0x62, 0x1b, 0x4a,
|
0x17, 0x9a, 0x05, 0x6a, 0xaa, 0x37, 0xd6, 0xba, 0x33, 0x5f, 0xaa, 0x11, 0x31, 0xe2, 0x17, 0x05,
|
||||||
0x5f, 0xfa, 0x74, 0xe5, 0xdb, 0x65, 0x99, 0xfb, 0x2b, 0xe2, 0xe7, 0xfd, 0x7f, 0x07, 0x00, 0x00,
|
0x80, 0x49, 0x4b, 0x2c, 0xb7, 0x10, 0x97, 0x7a, 0x71, 0xad, 0xfb, 0x73, 0x70, 0x66, 0x8f, 0x47,
|
||||||
0xff, 0xff, 0xf3, 0x57, 0x35, 0x86, 0x41, 0x25, 0x00, 0x00,
|
0xd2, 0x05, 0xcb, 0x7d, 0x3c, 0x2e, 0xb4, 0xec, 0x72, 0x1f, 0x8f, 0x8b, 0xed, 0x36, 0x7d, 0xe1,
|
||||||
|
0xe3, 0xa5, 0xef, 0x97, 0x65, 0xee, 0xaf, 0x88, 0x9f, 0xf7, 0xfe, 0x1b, 0x00, 0x00, 0xff, 0xff,
|
||||||
|
0xdc, 0x12, 0xd9, 0x00, 0x29, 0x26, 0x00, 0x00,
|
||||||
}
|
}
|
||||||
|
|
|
@ -345,20 +345,27 @@ message TaskConfig {
|
||||||
|
|
||||||
message Resources {
|
message Resources {
|
||||||
|
|
||||||
// RawResources are the resources set for the task
|
// AllocatedResources are the resources set for the task
|
||||||
RawResources raw_resources = 1;
|
AllocatedTaskResources allocated_resources = 1;
|
||||||
|
|
||||||
// LinuxResources are the computed values to set for specific Linux features
|
// LinuxResources are the computed values to set for specific Linux features
|
||||||
LinuxResources linux_resources = 2;
|
LinuxResources linux_resources = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
message RawResources {
|
message AllocatedTaskResources {
|
||||||
int64 cpu = 1;
|
AllocatedCpuResources cpu = 1;
|
||||||
int64 memory = 2;
|
AllocatedMemoryResources memory = 2;
|
||||||
int64 disk = 3;
|
|
||||||
repeated NetworkResource networks = 5;
|
repeated NetworkResource networks = 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
message AllocatedCpuResources {
|
||||||
|
int64 cpu_shares = 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
message AllocatedMemoryResources {
|
||||||
|
int64 memory_mb = 2;
|
||||||
|
}
|
||||||
|
|
||||||
message NetworkResource {
|
message NetworkResource {
|
||||||
string device = 1;
|
string device = 1;
|
||||||
string cidr = 2;
|
string cidr = 2;
|
||||||
|
|
|
@ -110,10 +110,14 @@ func (h *DriverHarness) MkAllocDir(t *drivers.TaskConfig, enableLogs bool) func(
|
||||||
Name: t.Name,
|
Name: t.Name,
|
||||||
Env: t.Env,
|
Env: t.Env,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Create the mock allocation
|
||||||
|
alloc := mock.Alloc()
|
||||||
if t.Resources != nil {
|
if t.Resources != nil {
|
||||||
task.Resources = t.Resources.NomadResources
|
alloc.AllocatedResources.Tasks[task.Name] = t.Resources.NomadResources
|
||||||
}
|
}
|
||||||
taskBuilder := taskenv.NewBuilder(mock.Node(), mock.Alloc(), task, "global")
|
|
||||||
|
taskBuilder := taskenv.NewBuilder(mock.Node(), alloc, task, "global")
|
||||||
utils.SetEnvvars(taskBuilder, fsi, taskDir, config.DefaultConfig())
|
utils.SetEnvvars(taskBuilder, fsi, taskDir, config.DefaultConfig())
|
||||||
|
|
||||||
taskEnv := taskBuilder.Build()
|
taskEnv := taskBuilder.Build()
|
||||||
|
|
|
@ -96,14 +96,18 @@ func ResourcesFromProto(pb *proto.Resources) *Resources {
|
||||||
return &r
|
return &r
|
||||||
}
|
}
|
||||||
|
|
||||||
if pb.RawResources != nil {
|
if pb.AllocatedResources != nil {
|
||||||
r.NomadResources = &structs.Resources{
|
r.NomadResources = &structs.AllocatedTaskResources{}
|
||||||
CPU: int(pb.RawResources.Cpu),
|
|
||||||
MemoryMB: int(pb.RawResources.Memory),
|
if pb.AllocatedResources.Cpu != nil {
|
||||||
DiskMB: int(pb.RawResources.Disk),
|
r.NomadResources.Cpu.CpuShares = pb.AllocatedResources.Cpu.CpuShares
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, network := range pb.RawResources.Networks {
|
if pb.AllocatedResources.Memory != nil {
|
||||||
|
r.NomadResources.Memory.MemoryMB = pb.AllocatedResources.Memory.MemoryMb
|
||||||
|
}
|
||||||
|
|
||||||
|
for _, network := range pb.AllocatedResources.Networks {
|
||||||
var n structs.NetworkResource
|
var n structs.NetworkResource
|
||||||
n.Device = network.Device
|
n.Device = network.Device
|
||||||
n.IP = network.Ip
|
n.IP = network.Ip
|
||||||
|
@ -145,12 +149,16 @@ func ResourcesToProto(r *Resources) *proto.Resources {
|
||||||
if r == nil {
|
if r == nil {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
var pb proto.Resources
|
var pb proto.Resources
|
||||||
if r.NomadResources != nil {
|
if r.NomadResources != nil {
|
||||||
pb.RawResources = &proto.RawResources{
|
pb.AllocatedResources = &proto.AllocatedTaskResources{
|
||||||
Cpu: int64(r.NomadResources.CPU),
|
Cpu: &proto.AllocatedCpuResources{
|
||||||
Memory: int64(r.NomadResources.MemoryMB),
|
CpuShares: r.NomadResources.Cpu.CpuShares,
|
||||||
Disk: int64(r.NomadResources.DiskMB),
|
},
|
||||||
|
Memory: &proto.AllocatedMemoryResources{
|
||||||
|
MemoryMb: r.NomadResources.Memory.MemoryMB,
|
||||||
|
},
|
||||||
Networks: make([]*proto.NetworkResource, len(r.NomadResources.Networks)),
|
Networks: make([]*proto.NetworkResource, len(r.NomadResources.Networks)),
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -173,7 +181,7 @@ func ResourcesToProto(r *Resources) *proto.Resources {
|
||||||
Value: int32(port.Value),
|
Value: int32(port.Value),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
pb.RawResources.Networks[i] = &n
|
pb.AllocatedResources.Networks[i] = &n
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue