X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=cmd%2Fappmgr%2Fhelm.go;fp=cmd%2Fappmgr%2Fhelm.go;h=8651ff049c304b65690f06a63e77f09ccd3683c8;hb=b6e413571bf3f44d4cd076815334449831d84e28;hp=5a5c28afc3362f788da57eb84e99283f80362a88;hpb=7959da388d083b15468b266f980ff12906fbc11c;p=ric-plt%2Fappmgr.git diff --git a/cmd/appmgr/helm.go b/cmd/appmgr/helm.go index 5a5c28a..8651ff0 100755 --- a/cmd/appmgr/helm.go +++ b/cmd/appmgr/helm.go @@ -273,6 +273,16 @@ func (h *Helm) GetAddress(out string) (ip, port string) { return } +func (h *Helm) GetEndpointInfo(name string) (ip string, port int) { + args := fmt.Sprintf(" get endpoints -o=jsonpath='{.subsets[*].addresses[*].ip}' %s -n %s", name, h.cm.GetNamespace("")) + out, err := KubectlExec(args) + if err != nil { + return + } + + return string(out), 4560 +} + func (h *Helm) GetNames(out string) (names []string, err error) { re := regexp.MustCompile(`Name: .*`) result := re.FindAllStringSubmatch(out, -1) @@ -290,7 +300,11 @@ func (h *Helm) GetNames(out string) (names []string, err error) { } func (h *Helm) FillInstanceData(name string, out string, xapp *Xapp, msgs MessageTypes) { - ip, port := h.GetAddress(out) + ip, port := h.GetEndpointInfo(name) + if ip == "" { + Logger.Info("Endpoint IP address not found, using CluserIP") + ip, _ = h.GetAddress(out) + } var tmp string r := regexp.MustCompile(`.*(?s)(Running|Pending|Succeeded|Failed|Unknown).*?\r?\n\r?\n`) @@ -307,7 +321,7 @@ func (h *Helm) FillInstanceData(name string, out string, xapp *Xapp, msgs Messag fmt.Sscanf(v[0], "%s %s %s", &x.Name, &tmp, &x.Status) x.Status = strings.ToLower(x.Status) x.Ip = ip - x.Port, _ = strconv.Atoi(strings.Split(port, "/")[0]) + x.Port = port x.TxMessages = msgs.TxMessages x.RxMessages = msgs.RxMessages xapp.Instances = append(xapp.Instances, x)