Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 5 additions & 2 deletions cns/configuration/cns_config.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@
"MSISettings": {
"ResourceID": ""
},
"PopulateHomeAzCacheRetryIntervalSecs": 15,
"MellanoxMonitorIntervalSecs": 30
"MellanoxMonitorIntervalSecs": 30,
"AZRSettings": {
"EnableAZR": false,
"PopulateHomeAzCacheRetryIntervalSecs": 60
}
}
65 changes: 37 additions & 28 deletions cns/configuration/configuration.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,30 +20,30 @@ const (
)

type CNSConfig struct {
ChannelMode string
EnablePprof bool
EnableSubnetScarcity bool
InitializeFromCNI bool
ManagedSettings ManagedSettings
MetricsBindAddress string
SyncHostNCTimeoutMs int
SyncHostNCVersionIntervalMs int
TLSCertificatePath string
TLSEndpoint string
TLSPort string
TLSSubjectName string
TelemetrySettings TelemetrySettings
UseHTTPS bool
WireserverIP string
KeyVaultSettings KeyVaultSettings
MSISettings MSISettings
ProgramSNATIPTables bool
ManageEndpointState bool
CNIConflistScenario string
EnableCNIConflistGeneration bool
CNIConflistFilepath string
PopulateHomeAzCacheRetryIntervalSecs int
MellanoxMonitorIntervalSecs int
ChannelMode string
EnablePprof bool
EnableSubnetScarcity bool
InitializeFromCNI bool
ManagedSettings ManagedSettings
MetricsBindAddress string
SyncHostNCTimeoutMs int
SyncHostNCVersionIntervalMs int
TLSCertificatePath string
TLSEndpoint string
TLSPort string
TLSSubjectName string
TelemetrySettings TelemetrySettings
UseHTTPS bool
WireserverIP string
KeyVaultSettings KeyVaultSettings
MSISettings MSISettings
ProgramSNATIPTables bool
ManageEndpointState bool
CNIConflistScenario string
EnableCNIConflistGeneration bool
CNIConflistFilepath string
MellanoxMonitorIntervalSecs int
AZRSettings AZRSettings
}

type TelemetrySettings struct {
Expand Down Expand Up @@ -80,6 +80,11 @@ type ManagedSettings struct {
NodeSyncIntervalInSeconds int
}

type AZRSettings struct {
EnableAZR bool
PopulateHomeAzCacheRetryIntervalSecs int
}

type MSISettings struct {
ResourceID string
}
Expand Down Expand Up @@ -165,6 +170,13 @@ func setManagedSettingDefaults(managedSettings *ManagedSettings) {
}
}

func setAZRSettingsDefaults(azrSettings *AZRSettings) {
if azrSettings.PopulateHomeAzCacheRetryIntervalSecs == 0 {
// set the default PopulateHomeAzCache retry interval to 60 seconds
azrSettings.PopulateHomeAzCacheRetryIntervalSecs = 60
}
}

func setKeyVaultSettingsDefaults(kvs *KeyVaultSettings) {
if kvs.RefreshIntervalInHrs == 0 {
kvs.RefreshIntervalInHrs = 12 //nolint:gomnd // default times
Expand All @@ -176,6 +188,7 @@ func SetCNSConfigDefaults(config *CNSConfig) {
setTelemetrySettingDefaults(&config.TelemetrySettings)
setManagedSettingDefaults(&config.ManagedSettings)
setKeyVaultSettingsDefaults(&config.KeyVaultSettings)
setAZRSettingsDefaults(&config.AZRSettings)

if config.ChannelMode == "" {
config.ChannelMode = cns.Direct
Expand All @@ -189,10 +202,6 @@ func SetCNSConfigDefaults(config *CNSConfig) {
if config.SyncHostNCTimeoutMs == 0 {
config.SyncHostNCTimeoutMs = 500 //nolint:gomnd // default times
}
if config.PopulateHomeAzCacheRetryIntervalSecs == 0 {
// set the default PopulateHomeAzCache retry interval to 30 seconds
config.PopulateHomeAzCacheRetryIntervalSecs = 30
}
if config.WireserverIP == "" {
config.WireserverIP = "168.63.129.16"
}
Expand Down
22 changes: 17 additions & 5 deletions cns/configuration/configuration_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ func TestReadConfigFromFile(t *testing.T) {
TelemetryBatchIntervalInSecs: 15,
TelemetryBatchSizeBytes: 16384,
},
AZRSettings: AZRSettings{
EnableAZR: true,
PopulateHomeAzCacheRetryIntervalSecs: 60,
},
UseHTTPS: true,
WireserverIP: "168.63.129.16",
},
Expand Down Expand Up @@ -206,8 +210,10 @@ func TestSetCNSConfigDefaults(t *testing.T) {
KeyVaultSettings: KeyVaultSettings{
RefreshIntervalInHrs: 12,
},
PopulateHomeAzCacheRetryIntervalSecs: 30,
WireserverIP: "168.63.129.16",
AZRSettings: AZRSettings{
PopulateHomeAzCacheRetryIntervalSecs: 60,
},
WireserverIP: "168.63.129.16",
},
},
{
Expand All @@ -230,7 +236,10 @@ func TestSetCNSConfigDefaults(t *testing.T) {
KeyVaultSettings: KeyVaultSettings{
RefreshIntervalInHrs: 3,
},
PopulateHomeAzCacheRetryIntervalSecs: 10,
AZRSettings: AZRSettings{
EnableAZR: true,
PopulateHomeAzCacheRetryIntervalSecs: 10,
},
},
want: CNSConfig{
ChannelMode: "Other",
Expand All @@ -250,8 +259,11 @@ func TestSetCNSConfigDefaults(t *testing.T) {
KeyVaultSettings: KeyVaultSettings{
RefreshIntervalInHrs: 3,
},
PopulateHomeAzCacheRetryIntervalSecs: 10,
WireserverIP: "168.63.129.16",
AZRSettings: AZRSettings{
EnableAZR: true,
PopulateHomeAzCacheRetryIntervalSecs: 10,
},
WireserverIP: "168.63.129.16",
},
},
}
Expand Down
6 changes: 5 additions & 1 deletion cns/configuration/testdata/good.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,5 +30,9 @@
"TelemetryBatchSizeBytes": 16384
},
"UseHTTPS": true,
"WireserverIP": "168.63.129.16"
"WireserverIP": "168.63.129.16",
"AZRSettings": {
"EnableAZR": true,
"PopulateHomeAzCacheRetryIntervalSecs": 60
}
}
14 changes: 9 additions & 5 deletions cns/service/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -567,9 +567,11 @@ func main() {
return
}

homeAzMonitor := restserver.NewHomeAzMonitor(nmaClient, time.Duration(cnsconfig.PopulateHomeAzCacheRetryIntervalSecs)*time.Second)
logger.Printf("start the goroutine for refreshing homeAz")
homeAzMonitor.Start()
homeAzMonitor := restserver.NewHomeAzMonitor(nmaClient, time.Duration(cnsconfig.AZRSettings.PopulateHomeAzCacheRetryIntervalSecs)*time.Second)
if cnsconfig.AZRSettings.EnableAZR {
logger.Printf("start the goroutine for refreshing homeAz")
homeAzMonitor.Start()
}

if cnsconfig.ChannelMode == cns.Managed {
config.ChannelMode = cns.Managed
Expand Down Expand Up @@ -903,8 +905,10 @@ func main() {
}
}

logger.Printf("end the goroutine for refreshing homeAz")
homeAzMonitor.Stop()
if cnsconfig.AZRSettings.EnableAZR {
logger.Printf("end the goroutine for refreshing homeAz")
homeAzMonitor.Stop()
}

logger.Printf("stop cns service")
// Cleanup.
Expand Down