diff --git a/Dockerfile b/Dockerfile index 6d1c574152e4c4083600d2e9b2e060f9645481c3..3a36d1573d78c7c85e03bd087746a058170e66ba 100644 --- a/Dockerfile +++ b/Dockerfile @@ -9,7 +9,7 @@ COPY . . RUN GOOS=linux go build -o gnmi-target ./main.go FROM alpine:latest -RUN apk add --no-cache git iproute2 iptables dumb-init coreutils +RUN apk add --no-cache git iproute2 iptables dumb-init coreutils bash COPY --from=builder /build/gnmi-target /usr/bin/gnmi-target EXPOSE 7030 ENTRYPOINT ["dumb-init", "--"] diff --git a/os_clients/ubuntu/ubuntu.go b/os_clients/ubuntu/ubuntu.go index 264db2a9d633d4e59ec0332b704e1ccd2add2b04..b70609519e150639a176d877649cc1948aefb79a 100644 --- a/os_clients/ubuntu/ubuntu.go +++ b/os_clients/ubuntu/ubuntu.go @@ -15,25 +15,11 @@ import ( ) type OsclientUbuntu struct { - gt *gnmitargetygot.Gnmitarget - root string -} - -func getHostPrefix() (string, error) { - path := "/host" - _, err := os.Stat(path) - if err == nil { - return "/host", nil - } - if os.IsNotExist(err) { - return "", nil - } - return "", err + gt *gnmitargetygot.Gnmitarget } func NewOsclientUbuntu() *OsclientUbuntu { client := new(OsclientUbuntu) - client.root, _ = getHostPrefix() return client } @@ -95,10 +81,15 @@ func (ou *OsclientUbuntu) getSystemInformationen(gt *gnmitargetygot.Gnmitarget) // Create Config system.Hostname = ygot.String(name) + system.CurrentDatetime = ygot.String(time.Now().Format(time.RFC3339)) + o, _ := os.Stat("/proc/") + system.BootTime = ygot.Uint64(uint64(o.ModTime().UTC().UnixNano())) // Create Clock system.Clock = system.GetOrCreateClock() - zonename, _ := exec.Command("realpath", "--relative-to", ou.root+"/usr/share/zoneinfo", "/etc/localtime").Output() + output, _ := exec.Command("realpath", "--relative-to=/usr/share/zoneinfo", "/etc/localtime").Output() + ss := strings.Split(string(output), " ") + zonename := ss[len(ss)-1] system.Clock.TimezoneName = ygot.String(strings.TrimSuffix(string(zonename), "\n")) //validate struct