[VOL-1429] This commit adds a flag to bypass the transaction processing
in single core instance. It also removes the hardcoded KV store
path prefix and put it as part of the config. Adding the ability for
a calling function to change the transaction timeout.
Change-Id: I8570b44b34db99b46410dafd58c6c5b86ea97b41
diff --git a/rw_core/config/config.go b/rw_core/config/config.go
index f7ac794..fc819a1 100644
--- a/rw_core/config/config.go
+++ b/rw_core/config/config.go
@@ -26,33 +26,35 @@
const (
ConsulStoreName = "consul"
EtcdStoreName = "etcd"
- default_InstanceID = "rwcore001"
- default_GrpcPort = 50057
- default_GrpcHost = ""
- default_KafkaAdapterHost = "127.0.0.1"
- default_KafkaAdapterPort = 9092
- default_KafkaClusterHost = "127.0.0.1"
- default_KafkaClusterPort = 9094
- default_KVStoreType = EtcdStoreName
- default_KVStoreTimeout = 5 //in seconds
- default_KVStoreHost = "127.0.0.1"
- default_KVStorePort = 2379 // Consul = 8500; Etcd = 2379
- default_KVTxnKeyDelTime = 60
- default_LogLevel = 0
- default_Banner = false
- default_CoreTopic = "rwcore"
- default_RWCoreEndpoint = "rwcore"
- default_RWCoreKey = "pki/voltha.key"
- default_RWCoreCert = "pki/voltha.crt"
- default_RWCoreCA = "pki/voltha-CA.pem"
- default_Affinity_Router_Topic = "affinityRouter"
+ default_InstanceID = "rwcore001"
+ default_GrpcPort = 50057
+ default_GrpcHost = ""
+ default_KafkaAdapterHost = "127.0.0.1"
+ default_KafkaAdapterPort = 9092
+ default_KafkaClusterHost = "127.0.0.1"
+ default_KafkaClusterPort = 9094
+ default_KVStoreType = EtcdStoreName
+ default_KVStoreTimeout = 5 //in seconds
+ default_KVStoreHost = "127.0.0.1"
+ default_KVStorePort = 2379 // Consul = 8500; Etcd = 2379
+ default_KVTxnKeyDelTime = 60
+ default_KVStoreDataPrefix = "service/voltha"
+ default_LogLevel = 0
+ default_Banner = false
+ default_CoreTopic = "rwcore"
+ default_RWCoreEndpoint = "rwcore"
+ default_RWCoreKey = "pki/voltha.key"
+ default_RWCoreCert = "pki/voltha.crt"
+ default_RWCoreCA = "pki/voltha-CA.pem"
+ default_AffinityRouterTopic = "affinityRouter"
+ default_InCompetingMode = true
)
// RWCoreFlags represents the set of configurations used by the read-write core service
type RWCoreFlags struct {
// Command line parameters
- InstanceID string
- RWCoreEndpoint string
+ InstanceID string
+ RWCoreEndpoint string
GrpcHost string
GrpcPort int
KafkaAdapterHost string
@@ -64,6 +66,7 @@
KVStoreHost string
KVStorePort int
KVTxnKeyDelTime int
+ KVStoreDataPrefix string
CoreTopic string
LogLevel int
Banner bool
@@ -71,6 +74,7 @@
RWCoreCert string
RWCoreCA string
AffinityRouterTopic string
+ InCompetingMode bool
}
func init() {
@@ -87,11 +91,12 @@
KafkaAdapterHost: default_KafkaAdapterHost,
KafkaAdapterPort: default_KafkaAdapterPort,
KafkaClusterHost: default_KafkaClusterHost,
- KafkaClusterPort: default_KafkaClusterPort,
- KVStoreType: default_KVStoreType,
+ KafkaClusterPort: default_KafkaClusterPort,
+ KVStoreType: default_KVStoreType,
KVStoreTimeout: default_KVStoreTimeout,
KVStoreHost: default_KVStoreHost,
KVStorePort: default_KVStorePort,
+ KVStoreDataPrefix: default_KVStoreDataPrefix,
KVTxnKeyDelTime: default_KVTxnKeyDelTime,
CoreTopic: default_CoreTopic,
LogLevel: default_LogLevel,
@@ -99,7 +104,8 @@
RWCoreKey: default_RWCoreKey,
RWCoreCert: default_RWCoreCert,
RWCoreCA: default_RWCoreCA,
- AffinityRouterTopic: default_Affinity_Router_Topic,
+ AffinityRouterTopic: default_AffinityRouterTopic,
+ InCompetingMode: default_InCompetingMode,
}
return &rwCoreFlag
}
@@ -134,7 +140,10 @@
flag.StringVar(&(cf.CoreTopic), "rw_core_topic", default_CoreTopic, help)
help = fmt.Sprintf("Affinity Router topic")
- flag.StringVar(&(cf.AffinityRouterTopic), "affinity_router_topic", default_Affinity_Router_Topic, help)
+ flag.StringVar(&(cf.AffinityRouterTopic), "affinity_router_topic", default_AffinityRouterTopic, help)
+
+ help = fmt.Sprintf("In competing Mode - two cores competing to handle a transaction ")
+ flag.BoolVar(&cf.InCompetingMode, "in_competing_mode", default_InCompetingMode, help)
help = fmt.Sprintf("KV store type")
flag.StringVar(&(cf.KVStoreType), "kv_store_type", default_KVStoreType, help)
@@ -151,6 +160,9 @@
help = fmt.Sprintf("The time to wait before deleting a completed transaction key")
flag.IntVar(&(cf.KVTxnKeyDelTime), "kv_txn_delete_time", default_KVTxnKeyDelTime, help)
+ help = fmt.Sprintf("KV store data prefix")
+ flag.StringVar(&(cf.KVStoreDataPrefix), "kv_store_data_prefix", default_KVStoreDataPrefix, help)
+
help = fmt.Sprintf("Log level")
flag.IntVar(&(cf.LogLevel), "log_level", default_LogLevel, help)