VOL-1674 - add version reporting information
Change-Id: Ie6cc244c66077467d371ffb3506ea0f4e817c197
diff --git a/arouterd/arouterd.go b/arouterd/arouterd.go
index f5f2453..47445ac 100644
--- a/arouterd/arouterd.go
+++ b/arouterd/arouterd.go
@@ -18,9 +18,11 @@
import (
"errors"
+ "flag"
"fmt"
"math"
"os"
+ "path"
"regexp"
"strconv"
"time"
@@ -28,6 +30,7 @@
"github.com/golang/protobuf/ptypes"
"github.com/golang/protobuf/ptypes/empty"
"github.com/opencord/voltha-go/common/log"
+ "github.com/opencord/voltha-go/common/version"
"github.com/opencord/voltha-go/kafka"
pb "github.com/opencord/voltha-protos/go/afrouter"
cmn "github.com/opencord/voltha-protos/go/common"
@@ -55,6 +58,10 @@
dn bool
}
+type Configuration struct {
+ DisplayVersionOnly *bool
+}
+
var (
podNamespace = getStrEnv("POD_NAMESPACE", "voltha")
podGrpcPort = uint64(getIntEnv("POD_GRPC_PORT", 0, math.MaxUint16, 50057))
@@ -784,6 +791,22 @@
var err error
var conn *grpc.ClientConn
+ config := &Configuration{}
+ cmdParse := flag.NewFlagSet(path.Base(os.Args[0]), flag.ContinueOnError)
+ config.DisplayVersionOnly = cmdParse.Bool("version", false, "Print version information and exit")
+
+ err = cmdParse.Parse(os.Args[1:])
+ if err != nil {
+ fmt.Printf("Error: %v\n", err)
+ os.Exit(1)
+ }
+
+ if *config.DisplayVersionOnly {
+ fmt.Println("VOLTHA API Server (afrouterd)")
+ fmt.Println(version.VersionInfo.String(" "))
+ return
+ }
+
// Set up the regular expression to identify the voltha cores
rwCoreFltr := regexp.MustCompile(`rw-core[0-9]-`)
roCoreFltr := regexp.MustCompile(`ro-core-`)