X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;ds=sidebyside;f=lib%2Fagent%2Fapiv1-config.go;h=543a5e15cbe6503ccba8a9ee64d77628fd820c31;hb=247bb7c2db5f0d48178398599348249bf886ebbc;hp=40f65dfd58659a77de27aef182ed56c05abb9116;hpb=7c7d90a781082c6bd22d12a5e2451ca61a5198af;p=src%2Fxds%2Fxds-agent.git diff --git a/lib/agent/apiv1-config.go b/lib/agent/apiv1-config.go index 40f65df..543a5e1 100644 --- a/lib/agent/apiv1-config.go +++ b/lib/agent/apiv1-config.go @@ -1,13 +1,30 @@ +/* + * Copyright (C) 2017-2018 "IoT.bzh" + * Author Sebastien Douheret + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + package agent import ( "net/http" "sync" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xdsconfig" + common "gerrit.automotivelinux.org/gerrit/src/xds/xds-common.git" "github.com/gin-gonic/gin" - "github.com/iotbzh/xds-agent/lib/xaapiv1" - "github.com/iotbzh/xds-agent/lib/xdsconfig" - common "github.com/iotbzh/xds-common/golib" ) var confMut sync.Mutex @@ -49,8 +66,11 @@ func (s *APIService) setConfig(c *gin.Context) { } } - // Add new XDS Server + // Add new / unconnected XDS Server for _, svr := range cfgArg.Servers { + if svr.Connected && svr.ID != "" { + continue + } cfg := xdsconfig.XDSServerConf{ ID: svr.ID, URL: svr.URL, @@ -62,6 +82,14 @@ func (s *APIService) setConfig(c *gin.Context) { } } + // Update XdsServer config + for _, svrCfg := range cfgArg.Servers { + if err := s.UpdateXdsServer(svrCfg); err != nil { + // willingly ignore error + // s.Log.Debugf("Error while updating XDS Server config: %v", err) + } + } + c.JSON(http.StatusOK, s._getConfig()) }