From 5e92e48e39dad0f609f887554199ab075b75f43e Mon Sep 17 00:00:00 2001 From: Thomas Littlejohn Date: Mon, 2 Oct 2023 13:49:23 -0700 Subject: [PATCH] Adding storage specification for Machine Allocation --- go.mod | 7 ++++++- go.sum | 7 ------- maasclient/constants.go | 1 + maasclient/machine.go | 6 ++++++ 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/go.mod b/go.mod index eb5842f..e69c0ca 100644 --- a/go.mod +++ b/go.mod @@ -6,5 +6,10 @@ require ( github.com/google/uuid v1.2.0 github.com/pkg/errors v0.9.1 github.com/stretchr/testify v1.7.0 - k8s.io/utils v0.0.0-20210709001253-0e1f9d693477 +) + +require ( + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/pmezard/go-difflib v1.0.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c // indirect ) diff --git a/go.sum b/go.sum index 5490994..fee82fe 100644 --- a/go.sum +++ b/go.sum @@ -1,23 +1,16 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/utils v0.0.0-20210709001253-0e1f9d693477 h1:AuP1OP6ExD2U8pP9w85xHtmgBn/Ob3pngZwWMe12GBQ= -k8s.io/utils v0.0.0-20210709001253-0e1f9d693477/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= diff --git a/maasclient/constants.go b/maasclient/constants.go index 5c8ffc8..60735ff 100644 --- a/maasclient/constants.go +++ b/maasclient/constants.go @@ -33,6 +33,7 @@ const ( CPUCountKey = "cpu_count" MemoryKey = "mem" PoolLabel = "pool" + StorageKey = "storage" OSSystemKey = "osystem" UserDataKey = "user_data" DistroSeriesKey = "distro_series" diff --git a/maasclient/machine.go b/maasclient/machine.go index def750e..e9bc2a7 100644 --- a/maasclient/machine.go +++ b/maasclient/machine.go @@ -79,6 +79,7 @@ type MachineAllocator interface { WithMemory(memory int) MachineAllocator WithTags(tags []string) MachineAllocator WithResourcePool(pool string) MachineAllocator + WithStorage(storageDefinition string) MachineAllocator } type MachineDeployer interface { @@ -144,6 +145,11 @@ func (m *machines) WithResourcePool(pool string) MachineAllocator { return m } +func (m *machines) WithStorage(storageDefinition string) MachineAllocator { + m.params.Set(StorageKey, storageDefinition) + return m +} + func (m *machines) List(ctx context.Context, params Params) ([]Machine, error) { res, err := m.client.Get(ctx, m.apiPath, m.params.Values()) if err != nil {