Skip to content

Commit 494eaae

Browse files
authored
Merge pull request #27 from citrix/v0.9.8-beta-2
Citrix xDS-Adaptor v0.9.8-beta-2
2 parents 04073e5 + c49a759 commit 494eaae

File tree

9 files changed

+114
-78
lines changed

9 files changed

+114
-78
lines changed

adsclient/ads_client.go

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -84,8 +84,8 @@ type apiRequest struct {
8484
nonce string
8585
resources map[string]interface{}
8686
/*
87-
ldsURL -> [filterChaninName]
88-
rdsURL -> lds Name, filterChainName, serviceType
87+
ldsURL -> [csVsName]
88+
rdsURL -> lds Name, CsVsName, serviceType
8989
cdsURL -> serviceType
9090
edsURL -> cds Name
9191
*/
@@ -181,7 +181,7 @@ func cdsHandler(client *AdsClient, m *discovery.DiscoveryResponse) {
181181
edsName := ""
182182
if _, ok := client.apiRequests[cdsURL].resources[cdsResource.Name]; ok {
183183
edsName = client.cdsAddHandler(client.nsConfigAdaptor, cdsResource, client.apiRequests[cdsURL].resources[cdsResource.Name])
184-
} else {
184+
} else if multiClusterIngress {
185185
edsName = client.cdsAddHandler(client.nsConfigAdaptor, cdsResource, "HTTP")
186186
}
187187
if edsName != "" {
@@ -229,8 +229,8 @@ func ldsHandler(client *AdsClient, m *discovery.DiscoveryResponse) {
229229
client.apiRequests[cdsURL].resources[cdsConfigName] = dependentResources["serviceType"]
230230
}
231231
}
232-
if dependentResources["filterChainName"].(string) != "" {
233-
ldsResources[ldsResource.Name] = append(ldsResources[ldsResource.Name].([]string), dependentResources["filterChainName"].(string))
232+
if dependentResources["csVsName"].(string) != "" {
233+
ldsResources[ldsResource.Name] = append(ldsResources[ldsResource.Name].([]string), dependentResources["csVsName"].(string))
234234
}
235235
}
236236
}
@@ -461,7 +461,9 @@ func (client *AdsClient) StartClient() {
461461
rdsURL: &apiRequest{typeURL: rdsURL, handler: rdsHandler, resources: make(map[string]interface{})},
462462
}
463463
client.writeADSRequest(client.apiRequests[ldsURL])
464-
client.writeADSRequest(client.apiRequests[cdsURL])
464+
if multiClusterIngress {
465+
client.writeADSRequest(client.apiRequests[cdsURL])
466+
}
465467
client.readADSResponse()
466468
client.stopClientConnection(true)
467469
}

adsclient/ads_client_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,9 @@ func Test_StartClient(t *testing.T) {
9696

9797
func Test_http_clusters(t *testing.T) {
9898
t.Log("http clusters test start")
99+
multiClusterIngress = true // To get all clusters from xds-server
100+
multiClusterPolExprStr = ".global"
101+
multiClusterListenPort = 15443
99102
env.ClearNetscalerConfig()
100103
grpcServer, err := env.NewGrpcADSServer(0)
101104
if err != nil {

adsclient/ads_handler.go

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,7 @@ func clusterDel(nsConfig *configAdaptor, clusterName string) {
310310
}
311311
nsConfig.delConfig(&confBl)
312312
}
313+
313314
func getAuthConfig(nsConfig *configAdaptor, listenerName string, httpFilters []*envoyFilterHttp.HttpFilter) *nsconfigengine.AuthSpec {
314315
for _, httpFilter := range httpFilters {
315316
switch httpFilter.GetName() {
@@ -409,7 +410,8 @@ func getFrontEndTLSConfig(nsConfig *configAdaptor, csObj *nsconfigengine.CSApi,
409410
}
410411
}
411412

412-
func getListenerFilterChainConfig(nsConfig *configAdaptor, csObjMap map[string]interface{}, listener *xdsListener.Listener, filterChain *xdsListener.FilterChain) (map[string]interface{}, error) {
413+
// constructVserverInfoFromListenerFC returns vserverName, vserverIP, vserverPort and filterChainName
414+
func constructVserverInfoFromListenerFC(nsConfig *configAdaptor, filterChain *xdsListener.FilterChain, listener *xdsListener.Listener) (string, string, uint32, string) {
413415
entityName := nsconfigengine.GetNSCompatibleName(listener.GetName())
414416
vserverAddress := listener.GetAddress().GetSocketAddress().GetAddress()
415417
vserverPort := listener.GetAddress().GetSocketAddress().GetPortValue()
@@ -421,12 +423,18 @@ func getListenerFilterChainConfig(nsConfig *configAdaptor, csObjMap map[string]i
421423
}
422424
if vserverAddress == "0.0.0.0" {
423425
vserverAddress = "*"
424-
if nsConfig.vserverIP != "" {
426+
if nsConfig.vserverIP != "" { // Gateway mode. Never a case in sidecar deployment
425427
vserverAddress = nsConfig.vserverIP
428+
entityName = nsconfigengine.GetPrefixForGateway(vserverAddress) + entityName
426429
}
427430
} else if vserverAddress == localHostIP {
428431
vserverAddress = nsConfig.localHostVIP
429432
}
433+
return entityName, vserverAddress, vserverPort, filterChainName
434+
}
435+
436+
func getListenerFilterChainConfig(nsConfig *configAdaptor, csObjMap map[string]interface{}, listener *xdsListener.Listener, filterChain *xdsListener.FilterChain) (map[string]interface{}, error) {
437+
entityName, vserverAddress, vserverPort, _ := constructVserverInfoFromListenerFC(nsConfig, filterChain, listener)
430438
vserverType, serviceType, err := getListenerFilterType(nsConfig, filterChain, listener)
431439
if err != nil {
432440
log.Printf("[TRACE] Listener's filter type not supported. %s", err.Error())
@@ -442,7 +450,7 @@ func getListenerFilterChainConfig(nsConfig *configAdaptor, csObjMap map[string]i
442450
csObj.AllowACL = true
443451
csObj.AnalyticsProfileNames = nsConfig.analyticsProfiles
444452
}
445-
csObjMap[csObjMapKey] = map[string]interface{}{"csObj": csObj, "rdsNames": nil, "cdsNames": nil, "serviceType": serviceType, "filterChainName": filterChainName, "listenerName": listener.GetName()}
453+
csObjMap[csObjMapKey] = map[string]interface{}{"csObj": csObj, "rdsNames": nil, "cdsNames": nil, "serviceType": serviceType, "csVsName": entityName, "listenerName": listener.GetName()}
446454
csObjMap[csObjMapKey].(map[string]interface{})["cdsNames"] = make([]string, 0)
447455
csObjMap[csObjMapKey].(map[string]interface{})["rdsNames"] = make([]string, 0)
448456
}
@@ -684,7 +692,7 @@ func listenerAdd(nsConfig *configAdaptor, listener *xdsListener.Listener) []map[
684692
nsConfig.addConfig(&confBl)
685693
}
686694
if routeConfig := httpCM.GetRouteConfig(); routeConfig != nil {
687-
cdsMap := routeUpdate(nsConfig, []*xdsRoute.RouteConfiguration{routeConfig}, map[string]interface{}{"listenerName": listener.GetName(), "filterChainName": filterChain.GetName(), "serviceType": csObjMap["serviceType"].(string)})
695+
cdsMap := routeUpdate(nsConfig, []*xdsRoute.RouteConfiguration{routeConfig}, map[string]interface{}{"csVsName": csObj.Name, "listenerName": listener.GetName(), "filterChainName": filterChain.GetName(), "serviceType": csObjMap["serviceType"].(string)})
688696
csObjMap["cdsNames"] = append(csObjMap["cdsNames"].([]string), cdsMap["cdsNames"].([]string)...)
689697
}
690698
if rds := httpCM.GetRds(); rds != nil {
@@ -721,12 +729,11 @@ func listenerAdd(nsConfig *configAdaptor, listener *xdsListener.Listener) []map[
721729
return csObjList
722730
}
723731

724-
func listenerDel(nsConfig *configAdaptor, listenerName string, filterChainNames []string) {
725-
log.Printf("[TRACE] listenerDel: %s filterChains(%v)", listenerName, filterChainNames)
732+
func listenerDel(nsConfig *configAdaptor, listenerName string, csVsNames []string) {
733+
log.Printf("[TRACE] listenerDel: %s csVsNames(%v)", listenerName, csVsNames)
726734
csObjs := make([]*nsconfigengine.CSApi, 0)
727-
csObjs = append(csObjs, &nsconfigengine.CSApi{Name: nsconfigengine.GetNSCompatibleName(listenerName)})
728-
for _, filterChainName := range filterChainNames {
729-
csObjs = append(csObjs, &nsconfigengine.CSApi{Name: nsconfigengine.GetNSCompatibleName(listenerName) + "_" + nsconfigengine.GetNSCompatibleName(filterChainName)})
735+
for _, csVsName := range csVsNames {
736+
csObjs = append(csObjs, &nsconfigengine.CSApi{Name: csVsName})
730737
}
731738
confBl := configBlock{
732739
configType: ldsDel,
@@ -888,15 +895,10 @@ func getFault(typedPerFilterConfig map[string]*any.Any) nsconfigengine.Fault {
888895
func routeUpdate(nsConfig *configAdaptor, routes []*xdsRoute.RouteConfiguration, data interface{}) map[string]interface{} {
889896
inputMap := data.(map[string]interface{})
890897
log.Printf("[TRACE] routeUpdate: %v", routes)
898+
log.Printf("[TRACE] In routeUpdate: inputMap=%v", inputMap)
891899
clusterNames := make([]string, 0)
892900
serviceType := inputMap["serviceType"].(string)
893-
listenerName := inputMap["listenerName"].(string)
894-
filterChainName := inputMap["filterChainName"].(string)
895-
entityName := nsconfigengine.GetNSCompatibleName(listenerName)
896-
if filterChainName != "" {
897-
entityName = entityName + "_" + nsconfigengine.GetNSCompatibleName(filterChainName)
898-
}
899-
901+
entityName := inputMap["csVsName"].(string)
900902
csBindings := nsconfigengine.NewCSBindingsAPI(entityName)
901903
confBl := configBlock{
902904
configType: rdsAdd,
@@ -920,7 +922,6 @@ func routeUpdate(nsConfig *configAdaptor, routes []*xdsRoute.RouteConfiguration,
920922
log.Printf("[DEBUG] vroute.GetRoute()=%+v", vroute.GetRoute())
921923
binding.RwPolicy.PrefixRewrite = vroute.GetRoute().GetPrefixRewrite()
922924
binding.RwPolicy.HostRewrite = vroute.GetRoute().GetHostRewriteLiteral() //TODO: confirm GetHostRewriteHeader()
923-
//for _, reqAddHeader := range vroute.GetRoute().GetRequestHeadersToAdd() OLD - 1.1.2
924925
for _, reqAddHeader := range vroute.GetRequestHeadersToAdd() {
925926
binding.RwPolicy.AddHeaders = append(binding.RwPolicy.AddHeaders, nsconfigengine.RwHeader{Key: reqAddHeader.GetHeader().GetKey(), Value: reqAddHeader.GetHeader().GetValue()})
926927
}

adsclient/ads_handler_test.go

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ func verifyObject(nsConfAdaptor *configAdaptor, configType discoveryType, resour
113113
if configType == ldsAdd && len(receivedResponse.([]map[string]interface{})) > 1 {
114114
listenerAddRet := receivedResponse.([]map[string]interface{})
115115
sort.Slice(listenerAddRet[:], func(i, j int) bool {
116-
return listenerAddRet[i]["filterChainName"].(string) < listenerAddRet[j]["filterChainName"].(string)
116+
return listenerAddRet[i]["csVsName"].(string) < listenerAddRet[j]["csVsName"].(string)
117117
})
118118
receivedResponse = listenerAddRet
119119
}
@@ -294,7 +294,7 @@ func Test_listenerAdd(t *testing.T) {
294294
t.Errorf("MakeHttpListener failed with %v", err)
295295
}
296296
csObj := []*nsconfigengine.CSApi{&nsconfigengine.CSApi{Name: "l1", IP: "10.0.0.0", Port: 80, VserverType: "HTTP", AllowACL: false}}
297-
err = verifyObject(nsConfAdaptor, ldsAdd, "l1", csObj, []map[string]interface{}{{"rdsNames": []string{"r1"}, "cdsNames": []string{}, "listenerName": "l1", "filterChainName": "", "serviceType": "HTTP"}}, listenerAdd(nsConfAdaptor, lds))
297+
err = verifyObject(nsConfAdaptor, ldsAdd, "l1", csObj, []map[string]interface{}{{"rdsNames": []string{"r1"}, "cdsNames": []string{}, "listenerName": "l1", "csVsName": "l1", "serviceType": "HTTP"}}, listenerAdd(nsConfAdaptor, lds))
298298
if err != nil {
299299
t.Errorf("Verification failed - %v", err)
300300
}
@@ -305,7 +305,7 @@ func Test_listenerAdd(t *testing.T) {
305305
t.Errorf("MakeTcpListener failed with %v", err)
306306
}
307307
csObj = []*nsconfigengine.CSApi{&nsconfigengine.CSApi{Name: "l2", IP: "20.0.0.0", Port: 25, VserverType: "TCP", AllowACL: false, DefaultLbVserverName: "cl1"}}
308-
err = verifyObject(nsConfAdaptor, ldsAdd, "l2", csObj, []map[string]interface{}{{"rdsNames": []string{}, "cdsNames": []string{"cl1"}, "listenerName": "l2", "filterChainName": "", "serviceType": "TCP"}}, listenerAdd(nsConfAdaptor, lds))
308+
err = verifyObject(nsConfAdaptor, ldsAdd, "l2", csObj, []map[string]interface{}{{"rdsNames": []string{}, "cdsNames": []string{"cl1"}, "listenerName": "l2", "csVsName": "l2", "serviceType": "TCP"}}, listenerAdd(nsConfAdaptor, lds))
309309
if err != nil {
310310
t.Errorf("Verification failed - %v", err)
311311
}
@@ -315,7 +315,7 @@ func Test_listenerAdd(t *testing.T) {
315315
t.Errorf("MakeHttpsListener failed with %v", err)
316316
}
317317
csObj = []*nsconfigengine.CSApi{&nsconfigengine.CSApi{Name: "l3s", IP: "30.2.0.1", Port: 443, VserverType: "SSL", AllowACL: false, FrontendTLS: []nsconfigengine.SSLSpec{{SNICert: false, CertFilename: nsCertName, PrivateKeyFilename: nsKeyName, RootCertFilename: nsCertName + "_ic1"}}}}
318-
err = verifyObject(nsConfAdaptor, ldsAdd, "l3s", csObj, []map[string]interface{}{{"rdsNames": []string{"r1"}, "cdsNames": []string{}, "listenerName": "l3s", "filterChainName": "", "serviceType": "HTTP"}}, listenerAdd(nsConfAdaptor, lds))
318+
err = verifyObject(nsConfAdaptor, ldsAdd, "l3s", csObj, []map[string]interface{}{{"rdsNames": []string{"r1"}, "cdsNames": []string{}, "listenerName": "l3s", "csVsName": "l3s", "serviceType": "HTTP"}}, listenerAdd(nsConfAdaptor, lds))
319319
if err != nil {
320320
t.Errorf("Verification failed - %v", err)
321321
}
@@ -326,7 +326,7 @@ func Test_listenerAdd(t *testing.T) {
326326
t.Errorf("MakeHttpsListener failed with %v", err)
327327
}
328328
csObj = []*nsconfigengine.CSApi{&nsconfigengine.CSApi{Name: "l2s", IP: "30.0.0.1", Port: 443, VserverType: "SSL", AllowACL: false, FrontendTLS: []nsconfigengine.SSLSpec{{SNICert: false, CertFilename: nsCertFileName, PrivateKeyFilename: nsKeyFileName}}}}
329-
err = verifyObject(nsConfAdaptor, ldsAdd, "l2s", csObj, []map[string]interface{}{{"rdsNames": []string{"r1"}, "cdsNames": []string{}, "listenerName": "l2s", "filterChainName": "", "serviceType": "HTTP"}}, listenerAdd(nsConfAdaptor, lds))
329+
err = verifyObject(nsConfAdaptor, ldsAdd, "l2s", csObj, []map[string]interface{}{{"rdsNames": []string{"r1"}, "cdsNames": []string{}, "listenerName": "l2s", "csVsName": "l2s", "serviceType": "HTTP"}}, listenerAdd(nsConfAdaptor, lds))
330330
if err != nil {
331331
t.Errorf("Verification failed - %v", err)
332332
}
@@ -358,9 +358,9 @@ func Test_listenerAdd(t *testing.T) {
358358
{Name: "lm1_f3", IP: "1.1.1.1", Port: 1010, VserverType: "TCP", AllowACL: false, DefaultLbVserverName: "c3"},
359359
}
360360
listenerAddRetMapExp := []map[string]interface{}{
361-
{"rdsNames": []string{}, "cdsNames": []string{"c1"}, "listenerName": "lm1", "filterChainName": "f1", "serviceType": "HTTP"},
362-
{"rdsNames": []string{"r2"}, "cdsNames": []string{}, "listenerName": "lm1", "filterChainName": "f2", "serviceType": "HTTP"},
363-
{"rdsNames": []string{}, "cdsNames": []string{"c3"}, "listenerName": "lm1", "filterChainName": "f3", "serviceType": "TCP"},
361+
{"rdsNames": []string{}, "cdsNames": []string{"c1"}, "listenerName": "lm1", "csVsName": "lm1_f1", "serviceType": "HTTP"},
362+
{"rdsNames": []string{"r2"}, "cdsNames": []string{}, "listenerName": "lm1", "csVsName": "lm1_f2", "serviceType": "HTTP"},
363+
{"rdsNames": []string{}, "cdsNames": []string{"c3"}, "listenerName": "lm1", "csVsName": "lm1_f3", "serviceType": "TCP"},
364364
}
365365
err = verifyObject(nsConfAdaptor, ldsAdd, "lm1_f1", csObjExpLm1F1, listenerAddRetMapExp, listenerAdd(nsConfAdaptor, lds))
366366
if err != nil {
@@ -383,14 +383,14 @@ func Test_listenerDel(t *testing.T) {
383383
nsConfAdaptor := getNsConfAdaptor()
384384
t.Logf("HTTP listener delete")
385385
csObj := []*nsconfigengine.CSApi{&nsconfigengine.CSApi{Name: "l3"}}
386-
listenerDel(nsConfAdaptor, "l3", []string{})
386+
listenerDel(nsConfAdaptor, "l3", []string{"l3"})
387387
err := verifyObject(nsConfAdaptor, ldsDel, "l3", csObj, nil, nil)
388388
if err != nil {
389389
t.Errorf("Verification failed - %v", err)
390390
}
391391
t.Logf("HTTP listener filterchains delete")
392392
csObj = []*nsconfigengine.CSApi{{Name: "lm3"}, {Name: "lm3_fc1"}, {Name: "lm3_fc2"}}
393-
listenerDel(nsConfAdaptor, "lm3", []string{"fc1", "fc2"})
393+
listenerDel(nsConfAdaptor, "lm3", []string{"lm3", "lm3_fc1", "lm3_fc2"})
394394
err = verifyObject(nsConfAdaptor, ldsDel, "lm3", csObj, nil, nil)
395395
if err != nil {
396396
t.Errorf("Verification failed - %v", err)
@@ -403,7 +403,7 @@ func Test_routeUpdate(t *testing.T) {
403403
csBindings := nsconfigengine.NewCSBindingsAPI("cs1")
404404
csBindings.Bindings = []nsconfigengine.CSBinding{{Rule: nsconfigengine.RouteMatch{Domains: []string{"*"}, Prefix: "/"}, CsPolicy: nsconfigengine.CsPolicy{Canary: []nsconfigengine.Canary{{LbVserverName: "cl1", LbVserverType: "HTTP", Weight: 100}}}}}
405405
rds := env.MakeRoute("rt1", []env.RouteInfo{{Domain: "*", ClusterName: "cl1"}})
406-
err := verifyObject(nsConfAdaptor, rdsAdd, "cs1", csBindings, map[string]interface{}{"cdsNames": []string{"cl1"}, "serviceType": "HTTP"}, routeUpdate(nsConfAdaptor, []*route.RouteConfiguration{rds}, map[string]interface{}{"listenerName": "cs1", "filterChainName": "", "serviceType": "HTTP"}))
406+
err := verifyObject(nsConfAdaptor, rdsAdd, "cs1", csBindings, map[string]interface{}{"cdsNames": []string{"cl1"}, "serviceType": "HTTP"}, routeUpdate(nsConfAdaptor, []*route.RouteConfiguration{rds}, map[string]interface{}{"listenerName": "cs1", "csVsName": "cs1", "serviceType": "HTTP"}))
407407
if err != nil {
408408
t.Errorf("Verification failed - %v", err)
409409
}

adsclient/watcher.go

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -145,24 +145,14 @@ func (w *Watcher) addDir(certPath, keyPath string) (string, string, string, erro
145145
}
146146
}
147147
nsconfigengine.UploadCertData(w.nsConfig.client, certData, nsCertFileName, keyData, nsKeyFileName)
148-
//nsconfigengine.AddCertKey(w.nsConfig.client, nsCertFileName, nsKeyFileName)
149148
log.Println("[DEBUG] Added Key FIle", keyFile)
150149
w.dirNames[dirName]["certFile"] = certFile
151150
w.dirNames[dirName]["keyFile"] = keyFile
152151
w.dirNames[dirName]["nsCertFileName"] = nsCertFileName
153152
w.dirNames[dirName]["nsKeyFileName"] = nsKeyFileName
154153
w.dirNames[dirName]["nsRootCertFile"] = ""
155-
if totalCerts > 1 {
154+
if multiClusterIngress && totalCerts > 1 {
156155
w.dirNames[dirName]["nsRootCertFile"] = nsCertFileName + "_ic" + strconv.Itoa(totalCerts-1)
157-
/*certChain, err := nsconfigengine.GetCertChain(w.nsConfig.client, nsCertFileName)
158-
if err != nil {
159-
log.Println("[ERROR] Failed getting CertChain", nsCertFileName, err)
160-
return w.dirNames[dirName]["nsCertFileName"], w.dirNames[dirName]["nsKeyFileName"], w.dirNames[dirName]["nsRootCertFile"], err
161-
}
162-
if len(certChain) >= 1 {
163-
log.Println("[DEBUG] rootCertFile", certChain[len(certChain)-1])
164-
w.dirNames[dirName]["nsRootCertFile"] = certChain[len(certChain)-1]
165-
}*/
166156
}
167157
}
168158
} else {
@@ -183,7 +173,6 @@ func (w *Watcher) addDir(certPath, keyPath string) (string, string, string, erro
183173
w.dirNames[dirName]["nsRootCertFile"] = nsRootFileName
184174
log.Println("[DEBUG] nsRootfileName", nsRootFileName)
185175
nsconfigengine.UploadCertData(w.nsConfig.client, certData, nsRootFileName, keyData, "")
186-
//nsconfigengine.AddCertKey(w.nsConfig.client, nsRootFileName, "")
187176
if err != nil {
188177
log.Println("[ERROR] RootCertKey addition Failed ", nsRootFileName, err)
189178
return "", "", "", err
@@ -212,8 +201,7 @@ func (w *Watcher) Run() {
212201
if (event.Op&fsnotify.Remove == fsnotify.Remove) || (event.Op&fsnotify.Write == fsnotify.Write) {
213202
log.Println("[DEBUG] Folder got Updated", event.Name)
214203
// strings.Contains(event.Name, "..") this is for mounted certificates
215-
//strings.Contains(event.Name, ClientCertFile) for CSR generated
216-
//if !strings.Contains(event.Name, "..") && !strings.Contains(event.Name, ClientCertFile) {
204+
//strings.Contains(event.Name, ClientCertChainFile) for CSR generated
217205
if !strings.Contains(event.Name, "..") && !strings.Contains(event.Name, ClientCertChainFile) {
218206
log.Println("[DEBUG] File not considered for update", event.Name)
219207
} else {
@@ -233,7 +221,7 @@ func (w *Watcher) Run() {
233221
if nsconfigengine.IsCertKeyPresent(w.nsConfig.client, nsCertFileName, nsKeyFileName) == false {
234222
log.Println("[DEBUG] nsfileName", nsCertFileName, nsKeyFileName)
235223
nsconfigengine.UploadCertData(w.nsConfig.client, certData, nsCertFileName, keyData, nsKeyFileName)
236-
rootFileName, err := nsconfigengine.UpdateBindings(w.nsConfig.client, w.dirNames[uploadFilePath]["nsCertFileName"], w.dirNames[uploadFilePath]["nsCertFileName"], nsCertFileName, nsKeyFileName)
224+
rootFileName, err := nsconfigengine.UpdateBindings(w.nsConfig.client, w.dirNames[uploadFilePath]["nsCertFileName"], w.dirNames[uploadFilePath]["nsCertFileName"], nsCertFileName, nsKeyFileName, multiClusterIngress)
237225
if err == nil {
238226
w.dirNames[uploadFilePath]["nsCertFileName"] = nsCertFileName
239227
w.dirNames[uploadFilePath]["nsKeyFileName"] = nsKeyFileName
@@ -249,11 +237,11 @@ func (w *Watcher) Run() {
249237
certData, _, err := getCertKeyData(certFile, "")
250238
if err == nil {
251239
nsRootFileName := nsconfigengine.GetNSCompatibleNameHash(string([]byte(certData)), 55)
252-
log.Println("[DEBUG] nsRootiFileName", nsRootFileName)
240+
log.Println("[DEBUG] nsRootFileName", nsRootFileName)
253241
log.Println("[DEBUG] upload certFile Path", certFile)
254242
var keyData []byte
255243
nsconfigengine.UploadCertData(w.nsConfig.client, certData, nsRootFileName, keyData, "")
256-
nsconfigengine.AddCertKey(w.nsConfig.client, nsRootFileName, "")
244+
nsconfigengine.AddCertKey(w.nsConfig.client, nsRootFileName, "", false)
257245
nsconfigengine.UpdateRootCABindings(w.nsConfig.client, w.dirNames[uploadFilePath]["nsRootFileName"], nsRootFileName)
258246
nsconfigengine.DeleteCertKey(w.nsConfig.client, w.dirNames[uploadFilePath]["nsRootFileName"])
259247
w.dirNames[uploadFilePath]["nsRootFileName"] = nsRootFileName

0 commit comments

Comments
 (0)