From 8c3c618b63f18fce38adaed8000c673a5d2a205d Mon Sep 17 00:00:00 2001 From: kinarashah Date: Fri, 23 Oct 2020 20:50:55 -0700 Subject: [PATCH] set default ingress network mode for both rancher and rke Problem: Setting defaults for ingress in parse logic works only for rke standalone but not when rancher calls rke using ClusterUp. Solution: Setting them during the cluster defaults logic --- cluster/cluster.go | 18 ------------------ cluster/defaults.go | 13 +++++++++++++ 2 files changed, 13 insertions(+), 18 deletions(-) diff --git a/cluster/cluster.go b/cluster/cluster.go index 685616e1..24866997 100644 --- a/cluster/cluster.go +++ b/cluster/cluster.go @@ -514,9 +514,6 @@ func parseIngressConfig(clusterFile string, rkeConfig *v3.RancherKubernetesEngin if err := parseIngressExtraVolumeMounts(ingressMap, rkeConfig); err != nil { return err } - if err := parseIngressDefaults(ingressMap, rkeConfig); err != nil { - return err - } return nil } @@ -601,21 +598,6 @@ func parseIngressExtraVolumeMounts(ingressMap map[string]interface{}, rkeConfig return nil } -func parseIngressDefaults(ingressMap map[string]interface{}, rkeConfig *v3.RancherKubernetesEngineConfig) error { - // Setting up default behaviour so as to not catch out - // existing users who use new version of RKE - if _, ok := ingressMap["network_mode"]; !ok { - rkeConfig.Ingress.NetworkMode = DefaultNetworkMode - } - if _, ok := ingressMap["http_port"]; !ok { - rkeConfig.Ingress.HTTPPort = DefaultHTTPPort - } - if _, ok := ingressMap["https_port"]; !ok { - rkeConfig.Ingress.HTTPSPort = DefaultHTTPSPort - } - return nil -} - func parseNodeDrainInput(clusterFile string, rkeConfig *v3.RancherKubernetesEngineConfig) error { // setting some defaults here because for these fields there's no way of differentiating between user provided null value vs golang setting it to null during unmarshal if rkeConfig.UpgradeStrategy == nil || rkeConfig.UpgradeStrategy.DrainInput == nil { diff --git a/cluster/defaults.go b/cluster/defaults.go index 3e96bd49..54bf5e5c 100644 --- a/cluster/defaults.go +++ b/cluster/defaults.go @@ -633,6 +633,19 @@ func (c *Cluster) setAddonsDefaults() { if c.Monitoring.Replicas == nil { c.Monitoring.Replicas = &DefaultMonitoringAddonReplicas } + + if c.Ingress.NetworkMode == "" { + c.Ingress.NetworkMode = DefaultNetworkMode + } + + if c.Ingress.HTTPPort == 0 { + c.Ingress.HTTPPort = DefaultHTTPPort + } + + if c.Ingress.HTTPSPort == 0 { + c.Ingress.HTTPSPort = DefaultHTTPSPort + } + } func setDaemonsetAddonDefaults(updateStrategy *v3.DaemonSetUpdateStrategy) *v3.DaemonSetUpdateStrategy {