Skip to content

Commit

Permalink
Merge pull request #8930 from justinsb/enabled_to_pointer
Browse files Browse the repository at this point in the history
Change NodeLocalDNS Enabled to *bool
  • Loading branch information
k8s-ci-robot committed Apr 17, 2020
2 parents ea3e974 + f3a40cf commit 982496c
Show file tree
Hide file tree
Showing 9 changed files with 28 additions and 17 deletions.
3 changes: 1 addition & 2 deletions k8s/crds/kops.k8s.io_clusters.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1616,8 +1616,7 @@ spec:
node-local-dns addon
properties:
enabled:
description: Disable indicates we do not wish to run the node-local-dns
addon
description: Enabled activates the node-local-dns addon
type: boolean
localIP:
description: Local listen IP address. It can be any IP in
Expand Down
4 changes: 2 additions & 2 deletions pkg/apis/kops/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -406,8 +406,8 @@ type KubeDNSConfig struct {

// NodeLocalDNSConfig are options of the node-local-dns
type NodeLocalDNSConfig struct {
// Disable indicates we do not wish to run the node-local-dns addon
Enabled bool `json:"enabled,omitempty"`
// Enabled activates the node-local-dns addon
Enabled *bool `json:"enabled,omitempty"`
// Local listen IP address. It can be any IP in the 169.254.20.0/16 space or any other IP address that can be guaranteed to not collide with any existing IP.
LocalIP string `json:"localIP,omitempty"`
}
Expand Down
4 changes: 2 additions & 2 deletions pkg/apis/kops/v1alpha2/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -404,8 +404,8 @@ type KubeDNSConfig struct {

// NodeLocalDNSConfig are options of the node-local-dns
type NodeLocalDNSConfig struct {
// Disable indicates we do not wish to run the node-local-dns addon
Enabled bool `json:"enabled,omitempty"`
// Enabled activates the node-local-dns addon
Enabled *bool `json:"enabled,omitempty"`
// Local listen IP address. It can be any IP in the 169.254.20.0/16 space or any other IP address that can be guaranteed to not collide with any existing IP.
LocalIP string `json:"localIP,omitempty"`
}
Expand Down
7 changes: 6 additions & 1 deletion pkg/apis/kops/v1alpha2/zz_generated.deepcopy.go

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

2 changes: 1 addition & 1 deletion pkg/apis/kops/validation/legacy.go
Original file line number Diff line number Diff line change
Expand Up @@ -287,7 +287,7 @@ func ValidateCluster(c *kops.Cluster, strict bool) field.ErrorList {
}

// @ check that NodeLocalDNS addon is configured correctly
if c.Spec.KubeDNS.NodeLocalDNS != nil && c.Spec.KubeDNS.NodeLocalDNS.Enabled {
if c.Spec.KubeDNS.NodeLocalDNS != nil && fi.BoolValue(c.Spec.KubeDNS.NodeLocalDNS.Enabled) {
if c.Spec.KubeDNS.Provider != "CoreDNS" {
allErrs = append(allErrs, field.Forbidden(fieldSpec.Child("kubeDNS", "provider"), "KubeDNS provider must be set to CoreDNS if NodeLocalDNS addon is enabled"))
}
Expand Down
9 changes: 5 additions & 4 deletions pkg/apis/kops/validation/validation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ import (
"k8s.io/apimachinery/pkg/util/validation"
"k8s.io/apimachinery/pkg/util/validation/field"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/upup/pkg/fi"
)

func Test_Validate_DNS(t *testing.T) {
Expand Down Expand Up @@ -548,7 +549,7 @@ func Test_Validate_NodeLocalDNS(t *testing.T) {
KubeDNS: &kops.KubeDNSConfig{
Provider: "CoreDNS",
NodeLocalDNS: &kops.NodeLocalDNSConfig{
Enabled: true,
Enabled: fi.Bool(true),
},
},
},
Expand All @@ -565,7 +566,7 @@ func Test_Validate_NodeLocalDNS(t *testing.T) {
KubeDNS: &kops.KubeDNSConfig{
Provider: "CoreDNS",
NodeLocalDNS: &kops.NodeLocalDNSConfig{
Enabled: true,
Enabled: fi.Bool(true),
},
},
},
Expand All @@ -582,7 +583,7 @@ func Test_Validate_NodeLocalDNS(t *testing.T) {
KubeDNS: &kops.KubeDNSConfig{
Provider: "CoreDNS",
NodeLocalDNS: &kops.NodeLocalDNSConfig{
Enabled: true,
Enabled: fi.Bool(true),
},
},
Networking: &kops.NetworkingSpec{
Expand All @@ -602,7 +603,7 @@ func Test_Validate_NodeLocalDNS(t *testing.T) {
KubeDNS: &kops.KubeDNSConfig{
Provider: "CoreDNS",
NodeLocalDNS: &kops.NodeLocalDNSConfig{
Enabled: true,
Enabled: fi.Bool(true),
LocalIP: "169.254.20.10",
},
},
Expand Down
7 changes: 6 additions & 1 deletion pkg/apis/kops/zz_generated.deepcopy.go

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

5 changes: 3 additions & 2 deletions pkg/model/components/kubedns.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ package components
import (
"k8s.io/apimachinery/pkg/api/resource"
"k8s.io/kops/pkg/apis/kops"
"k8s.io/kops/upup/pkg/fi"
"k8s.io/kops/upup/pkg/fi/loader"
)

Expand Down Expand Up @@ -77,8 +78,8 @@ func (b *KubeDnsOptionsBuilder) BuildOptions(o interface{}) error {
NodeLocalDNS := clusterSpec.KubeDNS.NodeLocalDNS
if NodeLocalDNS == nil {
NodeLocalDNS = &kops.NodeLocalDNSConfig{}
NodeLocalDNS.Enabled = false
} else if NodeLocalDNS.Enabled && NodeLocalDNS.LocalIP == "" {
NodeLocalDNS.Enabled = fi.Bool(false)
} else if fi.BoolValue(NodeLocalDNS.Enabled) && NodeLocalDNS.LocalIP == "" {
NodeLocalDNS.LocalIP = "169.254.20.10"
}

Expand Down
4 changes: 2 additions & 2 deletions upup/pkg/fi/cloudup/bootstrapchannelbuilder.go
Original file line number Diff line number Diff line change
Expand Up @@ -451,9 +451,9 @@ func (b *BootstrapChannelBuilder) buildAddons() *channelsapi.Addons {
}
}

// @check the node-local-dns has not been disabled
// @check if the node-local-dns is enabled
NodeLocalDNS := b.cluster.Spec.KubeDNS.NodeLocalDNS
if kubeDNS.Provider == "CoreDNS" && NodeLocalDNS != nil && NodeLocalDNS.Enabled {
if kubeDNS.Provider == "CoreDNS" && NodeLocalDNS != nil && fi.BoolValue(NodeLocalDNS.Enabled) {
{
key := "nodelocaldns.addons.k8s.io"
version := "1.18.0"
Expand Down

0 comments on commit 982496c

Please sign in to comment.