Inject and report version info
Build system injects version and environment
information similar to voltha-go builds.
Reports version via command line arg or via
"adapters" api call.
Change-Id: Ib21de7faac0d36c86a80c6d2f574c6e052b96459
diff --git a/config/config.go b/config/config.go
index 0a47ef2..17d270b 100644
--- a/config/config.go
+++ b/config/config.go
@@ -26,40 +26,42 @@
// Open OLT default constants
const (
- EtcdStoreName = "etcd"
- defaultInstanceid = "openOlt001"
- defaultKafkaadapterhost = "127.0.0.1"
- defaultKafkaadapterport = 9092
- defaultKafkaclusterhost = "127.0.0.1"
- defaultKafkaclusterport = 9094
- defaultKvstoretype = EtcdStoreName
- defaultKvstoretimeout = 5 //in seconds
- defaultKvstorehost = "127.0.0.1"
- defaultKvstoreport = 2379 // Consul = 8500; Etcd = 2379
- defaultLoglevel = 0
- defaultBanner = false
- defaultTopic = "openolt"
- defaultCoretopic = "rwcore"
- defaultOnunumber = 1
+ EtcdStoreName = "etcd"
+ defaultInstanceid = "openOlt001"
+ defaultKafkaadapterhost = "127.0.0.1"
+ defaultKafkaadapterport = 9092
+ defaultKafkaclusterhost = "127.0.0.1"
+ defaultKafkaclusterport = 9094
+ defaultKvstoretype = EtcdStoreName
+ defaultKvstoretimeout = 5 //in seconds
+ defaultKvstorehost = "127.0.0.1"
+ defaultKvstoreport = 2379 // Consul = 8500; Etcd = 2379
+ defaultLoglevel = 0
+ defaultBanner = false
+ defaultDisplayVersionOnly = false
+ defaultTopic = "openolt"
+ defaultCoretopic = "rwcore"
+ defaultOnunumber = 1
)
// AdapterFlags represents the set of configurations used by the read-write adaptercore service
type AdapterFlags struct {
// Command line parameters
- InstanceID string
- KafkaAdapterHost string
- KafkaAdapterPort int
- KafkaClusterHost string
- KafkaClusterPort int
- KVStoreType string
- KVStoreTimeout int // in seconds
- KVStoreHost string
- KVStorePort int
- Topic string
- CoreTopic string
- LogLevel int
- OnuNumber int
- Banner bool
+ InstanceID string
+ KafkaAdapterHost string
+ KafkaAdapterPort int
+ KafkaClusterHost string
+ KafkaClusterPort int
+ KVStoreType string
+ KVStoreTimeout int // in seconds
+ KVStoreHost string
+ KVStorePort int
+ Topic string
+ CoreTopic string
+ LogLevel int
+ OnuNumber int
+ Banner bool
+ DisplayVersionOnly bool
}
func init() {
@@ -69,20 +71,21 @@
// NewAdapterFlags returns a new RWCore config
func NewAdapterFlags() *AdapterFlags {
var adapterFlags = AdapterFlags{ // Default values
- InstanceID: defaultInstanceid,
- KafkaAdapterHost: defaultKafkaadapterhost,
- KafkaAdapterPort: defaultKafkaadapterport,
- KafkaClusterHost: defaultKafkaclusterhost,
- KafkaClusterPort: defaultKafkaclusterport,
- KVStoreType: defaultKvstoretype,
- KVStoreTimeout: defaultKvstoretimeout,
- KVStoreHost: defaultKvstorehost,
- KVStorePort: defaultKvstoreport,
- Topic: defaultTopic,
- CoreTopic: defaultCoretopic,
- LogLevel: defaultLoglevel,
- OnuNumber: defaultOnunumber,
- Banner: defaultBanner,
+ InstanceID: defaultInstanceid,
+ KafkaAdapterHost: defaultKafkaadapterhost,
+ KafkaAdapterPort: defaultKafkaadapterport,
+ KafkaClusterHost: defaultKafkaclusterhost,
+ KafkaClusterPort: defaultKafkaclusterport,
+ KVStoreType: defaultKvstoretype,
+ KVStoreTimeout: defaultKvstoretimeout,
+ KVStoreHost: defaultKvstorehost,
+ KVStorePort: defaultKvstoreport,
+ Topic: defaultTopic,
+ CoreTopic: defaultCoretopic,
+ LogLevel: defaultLoglevel,
+ OnuNumber: defaultOnunumber,
+ Banner: defaultBanner,
+ DisplayVersionOnly: defaultDisplayVersionOnly,
}
return &adapterFlags
}
@@ -127,7 +130,10 @@
flag.IntVar(&(so.OnuNumber), "onu_number", defaultOnunumber, help)
help = fmt.Sprintf("Show startup banner log lines")
- flag.BoolVar(&so.Banner, "banner", defaultBanner, help)
+ flag.BoolVar(&(so.Banner), "banner", defaultBanner, help)
+
+ help = fmt.Sprintf("Show version information and exit")
+ flag.BoolVar(&(so.DisplayVersionOnly), "version", defaultDisplayVersionOnly, help)
flag.Parse()