Skip to content

Commit

Permalink
Set/Unset/Get labels on unowned nodegroups (#3168)
Browse files Browse the repository at this point in the history
* Set/Unset/Get labels on unowned nodegroups

Co-authored-by: Jake Klein <jakelarsj@gmail.com>
  • Loading branch information
Callisto13 and aclevername committed Feb 1, 2021
1 parent 69e7def commit 99ed69d
Show file tree
Hide file tree
Showing 21 changed files with 786 additions and 71 deletions.
1 change: 1 addition & 0 deletions Makefile
Expand Up @@ -168,6 +168,7 @@ generate-always: pkg/addons/default/assets/aws-node.yaml ## Generate code (requi
# mocks
go generate ./pkg/eks
go generate ./pkg/drain
go generate ./pkg/actions/...

.PHONY: generate-all
generate-all: generate-always $(conditionally_generated_files) ## Re-generate all the automatically-generated source files
Expand Down
1 change: 1 addition & 0 deletions go.mod
Expand Up @@ -32,6 +32,7 @@ require (
github.com/kubicorn/kubicorn v0.0.0-20180829191017-06f6bce92acc
github.com/lithammer/dedent v1.1.0
github.com/maxbrunsfeld/counterfeiter/v6 v6.3.0
github.com/miekg/coredns v0.0.0-20161111164017-20e25559d5ea
github.com/onsi/ginkgo v1.14.2
github.com/onsi/gomega v1.10.4
github.com/pelletier/go-toml v1.8.1
Expand Down
3 changes: 3 additions & 0 deletions go.sum
Expand Up @@ -203,6 +203,7 @@ github.com/aws/aws-sdk-go v1.35.10/go.mod h1:tlPOdRjfxPBpNIwqDj61rmsnA85v9jc0Ps9
github.com/aws/aws-sdk-go v1.36.1/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.36.31 h1:BMVngapDGAfLBVEVzaSIw3fmJdWx7jOvhLCXgRXbXQI=
github.com/aws/aws-sdk-go v1.36.31/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
github.com/aws/aws-sdk-go v1.36.33 h1:ASmYIgWuPW1p01Xxch3ygaptshrEe7Vt+CirmwIqMtI=
github.com/awslabs/goformation/v4 v4.15.5 h1:q3lm7oj4yqqJ76ZcaFThUACT3MQLD6yBcJRKuZ6g87w=
github.com/awslabs/goformation/v4 v4.15.5/go.mod h1:wB5lKZf1J0MYH1Lt4B9w3opqz0uIjP7MMCAcib3QkwA=
github.com/aybabtme/rgbterm v0.0.0-20170906152045-cc83f3b3ce59/go.mod h1:q/89r3U2H7sSsE2t6Kca0lfwTK8JdoNGS/yzM/4iH5I=
Expand Down Expand Up @@ -943,9 +944,11 @@ github.com/mbilski/exhaustivestruct v1.1.0 h1:4ykwscnAFeHJruT+EY3M3vdeP8uXMh0VV2
github.com/mbilski/exhaustivestruct v1.1.0/go.mod h1:OeTBVxQWoEmB2J2JCHmXWPJ0aksxSUOUy+nvtVEfzXc=
github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE=
github.com/mholt/certmagic v0.6.2-0.20190624175158-6a42ef9fe8c2/go.mod h1:g4cOPxcjV0oFq3qwpjSA30LReKD8AoIfwAY9VvG35NY=
github.com/miekg/coredns v0.0.0-20161111164017-20e25559d5ea h1:ClxQqQsf07a0/3NsMYizr/dMxQoeSpNWDge0v3iHEcU=
github.com/miekg/coredns v0.0.0-20161111164017-20e25559d5ea/go.mod h1:ulj34RFTnjlzXt4MMq5AcKBIiXNiru0D2fe3enowwU4=
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.3/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/miekg/dns v1.1.4 h1:rCMZsU2ScVSYcAsOXgmC6+AKOK+6pmQTOcw03nfwYV0=
github.com/miekg/dns v1.1.4/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
github.com/mindprince/gonvml v0.0.0-20190828220739-9ebdce4bb989/go.mod h1:2eu9pRWp8mo84xCg6KswZ+USQHjwgRhNp06sozOdsTY=
github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4=
Expand Down
10 changes: 10 additions & 0 deletions integration/tests/params.go
Expand Up @@ -33,6 +33,8 @@ type Params struct {
EksctlUpgradeCmd runner.Cmd
EksctlUpdateCmd runner.Cmd
EksctlGetCmd runner.Cmd
EksctlSetLabelsCmd runner.Cmd
EksctlUnsetLabelsCmd runner.Cmd
EksctlDeleteCmd runner.Cmd
EksctlDeleteClusterCmd runner.Cmd
EksctlDrainNodeGroupCmd runner.Cmd
Expand Down Expand Up @@ -77,6 +79,14 @@ func (p *Params) GenerateCommands() {
WithArgs("get").
WithTimeout(1 * time.Minute)

p.EksctlSetLabelsCmd = p.EksctlCmd.
WithArgs("set", "labels").
WithTimeout(1 * time.Minute)

p.EksctlUnsetLabelsCmd = p.EksctlCmd.
WithArgs("unset", "labels").
WithTimeout(1 * time.Minute)

p.EksctlDeleteCmd = p.EksctlCmd.
WithArgs("delete").
WithTimeout(15 * time.Minute)
Expand Down
34 changes: 34 additions & 0 deletions integration/tests/unowned_cluster/unowned_cluster_test.go
Expand Up @@ -90,6 +90,38 @@ var _ = Describe("(Integration) [non-eksctl cluster & nodegroup support]", func(
ContainElement(ContainSubstring("ng-2")),
))

By("Setting labels on a nodegroup")
cmd = params.EksctlSetLabelsCmd.
WithArgs(
"--cluster", clusterName,
"--nodegroup", ng1,
"--labels", "key=value",
"--verbose", "2",
)
Expect(cmd).To(RunSuccessfully())

By("Getting labels for a nodegroup")
cmd = params.EksctlGetCmd.
WithArgs(
"labels",
"--cluster", clusterName,
"--nodegroup", ng1,
"--verbose", "2",
)
Expect(cmd).To(RunSuccessfullyWithOutputStringLines(
ContainElement(ContainSubstring("key=value")),
))

By("Unsetting labels on a nodegroup")
cmd = params.EksctlUnsetLabelsCmd.
WithArgs(
"--cluster", clusterName,
"--nodegroup", ng1,
"--labels", "key",
"--verbose", "2",
)
Expect(cmd).To(RunSuccessfully())

By("Enabling OIDC")
cmd = params.EksctlUtilsCmd.
WithArgs(
Expand All @@ -99,6 +131,7 @@ var _ = Describe("(Integration) [non-eksctl cluster & nodegroup support]", func(
"--verbose", "2",
)
Expect(cmd).To(RunSuccessfully())

By("Creating an IAMServiceAccount")
cmd = params.EksctlCreateCmd.
WithArgs(
Expand All @@ -112,6 +145,7 @@ var _ = Describe("(Integration) [non-eksctl cluster & nodegroup support]", func(
"--verbose", "2",
)
Expect(cmd).To(RunSuccessfully())

By("Getting IAMServiceAccounts")
cmd = params.EksctlGetCmd.
WithArgs(
Expand Down
28 changes: 16 additions & 12 deletions pkg/actions/addon/fakes/fake_stack_manager.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 5 additions & 0 deletions pkg/actions/label/export_test.go
@@ -0,0 +1,5 @@
package label

func (m *Manager) SetService(service Service) {
m.service = service
}

0 comments on commit 99ed69d

Please sign in to comment.