From 15201f6ca11b23e827efd2167aa4037b6527822b Mon Sep 17 00:00:00 2001 From: Akhilesh Sarda Date: Tue, 25 Jun 2024 15:02:05 -0400 Subject: [PATCH] Add ACI CNI 6042 variables --- cluster/defaults.go | 20 ++++++++++++++++++++ cluster/network.go | 15 +++++++++++++++ types/rke_types.go | 5 +++++ 3 files changed, 40 insertions(+) diff --git a/cluster/defaults.go b/cluster/defaults.go index fd454e3b..dc801b02 100644 --- a/cluster/defaults.go +++ b/cluster/defaults.go @@ -141,6 +141,11 @@ const ( DefaultAciApicConnectionRetryLimit = "5" DefaultAciTaintNotReadyNode = "false" DefaultAciDropLogDisableEvents = "false" + DefaultAciOpflexStartupEnabled = "false" + DefaultAciOpflexStartupPolicyDuration = "60" + DefaultAciOpflexStartupResolveAftConn = "false" + DefaultAciOpflexSwitchSyncDelay = "5" + DefaultAciOpflexSwitchSyncDynamic = "10" KubeAPIArgAdmissionControlConfigFile = "admission-control-config-file" DefaultKubeAPIArgAdmissionControlConfigFileValue = "/etc/kubernetes/admission.yaml" @@ -844,6 +849,11 @@ func (c *Cluster) setClusterNetworkDefaults() { AciUseSystemNodePriorityClass: DefaultAciUseSystemNodePriorityClass, AciContainersMemoryRequest: DefaultAciAciContainersMemoryRequest, AciContainersMemoryLimit: DefaultAciAciContainersMemoryLimit, + AciOpflexStartupEnabled: DefaultAciOpflexStartupEnabled, + AciOpflexStartupPolicyDuration: DefaultAciOpflexStartupPolicyDuration, + AciOpflexStartupResolveAftConn: DefaultAciOpflexStartupResolveAftConn, + AciOpflexSwitchSyncDelay: DefaultAciOpflexSwitchSyncDelay, + AciOpflexSwitchSyncDynamic: DefaultAciOpflexSwitchSyncDynamic, } } if c.Network.CalicoNetworkProvider != nil { @@ -925,6 +935,11 @@ func (c *Cluster) setClusterNetworkDefaults() { setDefaultIfEmpty(&c.Network.AciNetworkProvider.ApicConnectionRetryLimit, DefaultAciApicConnectionRetryLimit) setDefaultIfEmpty(&c.Network.AciNetworkProvider.TaintNotReadyNode, DefaultAciTaintNotReadyNode) setDefaultIfEmpty(&c.Network.AciNetworkProvider.DropLogDisableEvents, DefaultAciDropLogDisableEvents) + setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexStartupEnabled, DefaultAciOpflexStartupEnabled) + setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexStartupPolicyDuration, DefaultAciOpflexStartupPolicyDuration) + setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexStartupResolveAftConn, DefaultAciOpflexStartupResolveAftConn) + setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexSwitchSyncDelay, DefaultAciOpflexSwitchSyncDelay) + setDefaultIfEmpty(&c.Network.AciNetworkProvider.OpflexSwitchSyncDynamic, DefaultAciOpflexSwitchSyncDynamic) networkPluginConfigDefaultsMap[AciOVSMemoryLimit] = c.Network.AciNetworkProvider.OVSMemoryLimit networkPluginConfigDefaultsMap[AciOVSMemoryRequest] = c.Network.AciNetworkProvider.OVSMemoryRequest networkPluginConfigDefaultsMap[AciImagePullPolicy] = c.Network.AciNetworkProvider.ImagePullPolicy @@ -1031,6 +1046,11 @@ func (c *Cluster) setClusterNetworkDefaults() { networkPluginConfigDefaultsMap[AciApicConnectionRetryLimit] = c.Network.AciNetworkProvider.ApicConnectionRetryLimit networkPluginConfigDefaultsMap[AciTaintNotReadyNode] = c.Network.AciNetworkProvider.TaintNotReadyNode networkPluginConfigDefaultsMap[AciDropLogDisableEvents] = c.Network.AciNetworkProvider.DropLogDisableEvents + networkPluginConfigDefaultsMap[AciOpflexStartupEnabled] = c.Network.AciNetworkProvider.OpflexStartupEnabled + networkPluginConfigDefaultsMap[AciOpflexStartupPolicyDuration] = c.Network.AciNetworkProvider.OpflexStartupPolicyDuration + networkPluginConfigDefaultsMap[AciOpflexStartupResolveAftConn] = c.Network.AciNetworkProvider.OpflexStartupResolveAftConn + networkPluginConfigDefaultsMap[AciOpflexSwitchSyncDelay] = c.Network.AciNetworkProvider.OpflexSwitchSyncDelay + networkPluginConfigDefaultsMap[AciOpflexSwitchSyncDynamic] = c.Network.AciNetworkProvider.OpflexSwitchSyncDynamic } for k, v := range networkPluginConfigDefaultsMap { setDefaultIfEmptyMapValue(c.Network.Options, k, v) diff --git a/cluster/network.go b/cluster/network.go index dab2db6a..4eebb439 100644 --- a/cluster/network.go +++ b/cluster/network.go @@ -181,6 +181,11 @@ const ( AciApicConnectionRetryLimit = "aci_apic_connection_retry_limit" AciTaintNotReadyNode = "aci_taint_not_ready_node" AciDropLogDisableEvents = "aci_drop_log_disable_events" + AciOpflexStartupEnabled = "aci_opflex_startup_enabled" + AciOpflexStartupPolicyDuration = "aci_opflex_startup_policy_duration" + AciOpflexStartupResolveAftConn = "aci_opflex_startup_resolve_aft_conn" + AciOpflexSwitchSyncDelay = "aci_opflex_switch_sync_delay" + AciOpflexSwitchSyncDynamic = "aci_opflex_switch_sync_dynamic" // List of map keys to be used with network templates // EtcdEndpoints is the server address for Etcd, used by calico @@ -356,6 +361,11 @@ const ( ApicConnectionRetryLimit = "ApicConnectionRetryLimit" TaintNotReadyNode = "TaintNotReadyNode" DropLogDisableEvents = "DropLogDisableEvents" + OpflexStartupEnabled = "OpflexStartupEnabled" + OpflexStartupPolicyDuration = "OpflexStartupPolicyDuration" + OpflexStartupResolveAftConn = "OpflexStartupResolveAftConn" + OpflexSwitchSyncDelay = "OpflexSwitchSyncDelay" + OpflexSwitchSyncDynamic = "OpflexSwitchSyncDynamic" ) type IPPool struct { @@ -724,6 +734,11 @@ func (c *Cluster) doAciDeploy(ctx context.Context, data map[string]interface{}) ApicConnectionRetryLimit: c.Network.Options[AciApicConnectionRetryLimit], TaintNotReadyNode: c.Network.Options[AciTaintNotReadyNode], DropLogDisableEvents: c.Network.Options[AciDropLogDisableEvents], + OpflexStartupEnabled: c.Network.Options[AciOpflexStartupEnabled], + OpflexStartupPolicyDuration: c.Network.Options[AciOpflexStartupPolicyDuration], + OpflexStartupResolveAftConn: c.Network.Options[AciOpflexStartupResolveAftConn], + OpflexSwitchSyncDelay: c.Network.Options[AciOpflexSwitchSyncDelay], + OpflexSwitchSyncDynamic: c.Network.Options[AciOpflexSwitchSyncDynamic], NodeSnatRedirectExclude: c.Network.AciNetworkProvider.NodeSnatRedirectExclude, AciCniDeployContainer: c.SystemImages.AciCniDeployContainer, AciHostContainer: c.SystemImages.AciHostContainer, diff --git a/types/rke_types.go b/types/rke_types.go index 09819c98..fe734bf6 100644 --- a/types/rke_types.go +++ b/types/rke_types.go @@ -702,6 +702,11 @@ type AciNetworkProvider struct { ApicConnectionRetryLimit string `yaml:"apic_connection_retry_limit,omitempty" json:"apicConnectionRetryLimit,omitempty"` TaintNotReadyNode string `yaml:"taint_not_ready_node,omitempty" json:"taintNotReadyNode,omitempty"` DropLogDisableEvents string `yaml:"drop_log_disable_events,omitempty" json:"dropLogDisableEvents,omitempty"` + OpflexStartupEnabled string `yaml:"opflex_startup_enabled,omitempty" json:"opflexStartupEnabled,omitempty"` + OpflexStartupPolicyDuration string `yaml:"opflex_startup_policy_duration,omitempty" json:"opflexStartupPolicyDuration,omitempty"` + OpflexStartupResolveAftConn string `yaml:"opflex_startup_resolve_aft_conn,omitempty" json:"opflexStartupResolveAftConn,omitempty"` + OpflexSwitchSyncDelay string `yaml:"opflex_switch_sync_delay,omitempty" json:"opflexSwitchSyncDelay,omitempty"` + OpflexSwitchSyncDynamic string `yaml:"opflex_switch_sync_dynamic,omitempty" json:"opflexSwitchSyncDynamic,omitempty"` } type KubernetesServicesOptions struct {