From 38e0baedab9da4516cdc97b526392cbc2c7da67e Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Thu, 15 Feb 2018 11:12:32 +0100 Subject: Fixed storage of Global and XDS Server configuration. Signed-off-by: Sebastien Douheret --- lib/agent/apiv1-config.go | 8 ++++++++ lib/agent/apiv1.go | 16 ++++++++++++++++ 2 files changed, 24 insertions(+) (limited to 'lib') diff --git a/lib/agent/apiv1-config.go b/lib/agent/apiv1-config.go index 54d3525..b24dc21 100644 --- a/lib/agent/apiv1-config.go +++ b/lib/agent/apiv1-config.go @@ -82,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()) } diff --git a/lib/agent/apiv1.go b/lib/agent/apiv1.go index c5f4d22..1921f98 100644 --- a/lib/agent/apiv1.go +++ b/lib/agent/apiv1.go @@ -21,6 +21,7 @@ import ( "fmt" "strconv" + "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent/lib/xaapiv1" "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent/lib/xdsconfig" "gerrit.automotivelinux.org/gerrit/src/xds/xds-server.git/lib/xsapiv1" "github.com/gin-gonic/gin" @@ -163,3 +164,18 @@ func (s *APIService) DelXdsServer(id string) error { s.xdsServers[id].Close() return nil } +} + +// UpdateXdsServer Update XDS Server configuration settings +func (s *APIService) UpdateXdsServer(cfg xaapiv1.ServerCfg) error { + if _, exist := s.xdsServers[cfg.ID]; !exist { + return fmt.Errorf("Unknown Server ID %s", cfg.ID) + } + + svr := s.xdsServers[cfg.ID] + + // Update only some configurable fields + svr.ConnRetry = cfg.ConnRetry + + return nil +} -- cgit 1.2.3-korg