Loading go-apps/meep-mg-manager/server/mg-manager.go +2 −7 Original line number Diff line number Diff line Loading @@ -35,13 +35,8 @@ import ( "github.com/gorilla/mux" ) const moduleCtrlEngine string = "ctrl-engine" const moduleMgManager string = "mg-manager" const typeActive string = "active" const typeLb string = "lb" const channelCtrlActive string = moduleCtrlEngine + "-" + typeActive const channelMgManagerLb string = moduleMgManager + "-" + typeLb const redisAddr string = "meep-redis-master:6379" const DEFAULT_LB_RULES_DB = 0 Loading Loading @@ -200,8 +195,8 @@ func eventHandler(channel string, payload string) { switch channel { // MEEP Ctrl Engine active scenario update Channel case channelCtrlActive: log.Debug("Event received on channel: ", channelCtrlActive) case mod.ActiveScenarioEvents: log.Debug("Event received on channel: ", mod.ActiveScenarioEvents) processActiveScenarioUpdate() default: Loading go-apps/meep-mon-engine/db.godeleted 100755 → 0 +0 −116 Original line number Diff line number Diff line /* * Copyright (c) 2019 InterDigital Communications, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package main import ( log "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger" "github.com/go-redis/redis" ) var dbClient *redis.Client var dbClientStarted = false // DBConnect - Establish connection to DB func DBConnect() error { if !dbClientStarted { err := openDB() if err != nil { return err } } return nil } func openDB() error { db := redis.NewClient(&redis.Options{ Addr: "meep-redis-master:6379", Password: "", // no password set DB: 0, // use default DB }) pong, err := db.Ping().Result() if pong == "" { log.Info("pong is null") return err } if err != nil { log.Info("Redis DB not accessible") return err } dbClientStarted = true dbClient = db log.Info("Redis DB opened and well!") return nil } // DBFlush - Empty DB func DBFlush(module string) error { var cursor uint64 var err error log.Debug("DBFlush module: ", module) // Find all module keys // Process in chunks of 50 matching entries to optimize processing speed & memory keyMatchStr := module + ":*" for { var keys []string keys, cursor, err = dbClient.Scan(cursor, keyMatchStr, 50).Result() if err != nil { log.Debug("ERROR: ", err) break } // Delete all matching entries if len(keys) > 0 { _, err = dbClient.Del(keys...).Result() if err != nil { log.Debug("Failed to retrieve entry fields") break } } // Stop searching if cursor is back at beginning if cursor == 0 { break } } return nil } // DBSetEntry - Update existing entry or create new entry if it does not exist func DBSetEntry(key string, fields map[string]interface{}) error { // Update existing entry or create new entry if it does not exist _, err := dbClient.HMSet(key, fields).Result() if err != nil { return err } return nil } // DBRemoveEntry - Remove existing entries func DBRemoveEntry(keys ...string) error { _, err := dbClient.Del(keys...).Result() if err != nil { return err } return nil } go-apps/meep-mon-engine/go.mod +5 −4 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ go 1.12 require ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger v0.0.0 github.com/go-redis/redis v6.15.2+incompatible github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis v0.0.0 github.com/gogo/protobuf v1.2.1 // indirect github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect github.com/google/btree v1.0.0 // indirect Loading @@ -15,8 +15,6 @@ require ( github.com/json-iterator/go v1.1.6 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.1 // indirect github.com/onsi/ginkgo v1.8.0 // indirect github.com/onsi/gomega v1.5.0 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/spf13/pflag v1.0.3 // indirect golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect Loading @@ -31,4 +29,7 @@ require ( sigs.k8s.io/yaml v1.1.0 // indirect ) replace github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger => ../../go-packages/meep-logger replace ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger => ../../go-packages/meep-logger github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis => ../../go-packages/meep-redis ) go-apps/meep-mon-engine/go.sum +8 −4 Original line number Diff line number Diff line cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/KromDaniel/jonson v0.0.0-20180630143114-d2f9c3c389db h1:Zkf5kwhxdW0xV7WM/crqIcOP5LCFGnAmumWSFAewJ74= github.com/KromDaniel/jonson v0.0.0-20180630143114-d2f9c3c389db/go.mod h1:RU+6d0CNIRSp6yo1mXLIIrnFa/3LHhvcDVLVJyovptM= github.com/KromDaniel/rejonson v0.0.0-20180822072824-00b5bcf2b351 h1:1u1XrfCBnY+GijnyU6O1k4odp5TnqZQTsp5v7+n/E4Y= github.com/KromDaniel/rejonson v0.0.0-20180822072824-00b5bcf2b351/go.mod h1:HxwfbuElTuGf+/uKZfjJrCnv0BmmpkPJDI7gBwj1KkM= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= Loading Loading @@ -34,10 +38,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= Loading go-apps/meep-mon-engine/mon-engine.go +10 −7 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import ( "time" log "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger" redis "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" Loading Loading @@ -59,19 +60,22 @@ type MonEngineInfo struct { StartTime string } var rc *redis.Connector var redisDBAddr = "meep-redis-master:6379" // Init - Mon Engine initialization func Init() (err error) { // Connect to Redis DB err = DBConnect() rc, err = redis.NewConnector(redisDBAddr, 0) if err != nil { log.Error("Failed connection to Active DB. Error: ", err) log.Error("Failed connection to Redis: ", err) return err } log.Info("Connected to Active DB") log.Info("Connected to Mon Engine DB") // Empty DB DBFlush(moduleMonEngine) _ = rc.DBFlush(moduleMonEngine) return nil } Loading Loading @@ -126,7 +130,6 @@ func printfMonEngineInfo(monEngineInfo MonEngineInfo, reason int) { "NbPodRestart : ", monEngineInfo.NbPodRestart, "LogicalState : ", monEngineInfo.LogicalState, "StartTime : ", monEngineInfo.StartTime) } func processEvent(obj interface{}, reason int) { Loading Loading @@ -253,7 +256,7 @@ func addOrUpdateEntryInDB(monEngineInfo MonEngineInfo) { key := moduleMonEngine + ":MO-" + monEngineInfo.MeepOrigin + ":MS-" + monEngineInfo.MeepScenario + ":MA-" + monEngineInfo.MeepApp + ":" + monEngineInfo.PodName // Set rule information in DB _ = DBSetEntry(key, fields) _ = rc.SetEntry(key, fields) } func deleteEntryInDB(monEngineInfo MonEngineInfo) { Loading @@ -262,7 +265,7 @@ func deleteEntryInDB(monEngineInfo MonEngineInfo) { key := moduleMonEngine + ":MO-" + monEngineInfo.MeepOrigin + ":MS-" + monEngineInfo.MeepScenario + ":MA-" + monEngineInfo.MeepApp + ":" + monEngineInfo.PodName // Set rule information in DB _ = DBRemoveEntry(key) _ = rc.DelEntry(key) } func k8sConnect() (err error) { Loading Loading
go-apps/meep-mg-manager/server/mg-manager.go +2 −7 Original line number Diff line number Diff line Loading @@ -35,13 +35,8 @@ import ( "github.com/gorilla/mux" ) const moduleCtrlEngine string = "ctrl-engine" const moduleMgManager string = "mg-manager" const typeActive string = "active" const typeLb string = "lb" const channelCtrlActive string = moduleCtrlEngine + "-" + typeActive const channelMgManagerLb string = moduleMgManager + "-" + typeLb const redisAddr string = "meep-redis-master:6379" const DEFAULT_LB_RULES_DB = 0 Loading Loading @@ -200,8 +195,8 @@ func eventHandler(channel string, payload string) { switch channel { // MEEP Ctrl Engine active scenario update Channel case channelCtrlActive: log.Debug("Event received on channel: ", channelCtrlActive) case mod.ActiveScenarioEvents: log.Debug("Event received on channel: ", mod.ActiveScenarioEvents) processActiveScenarioUpdate() default: Loading
go-apps/meep-mon-engine/db.godeleted 100755 → 0 +0 −116 Original line number Diff line number Diff line /* * Copyright (c) 2019 InterDigital Communications, Inc * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ package main import ( log "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger" "github.com/go-redis/redis" ) var dbClient *redis.Client var dbClientStarted = false // DBConnect - Establish connection to DB func DBConnect() error { if !dbClientStarted { err := openDB() if err != nil { return err } } return nil } func openDB() error { db := redis.NewClient(&redis.Options{ Addr: "meep-redis-master:6379", Password: "", // no password set DB: 0, // use default DB }) pong, err := db.Ping().Result() if pong == "" { log.Info("pong is null") return err } if err != nil { log.Info("Redis DB not accessible") return err } dbClientStarted = true dbClient = db log.Info("Redis DB opened and well!") return nil } // DBFlush - Empty DB func DBFlush(module string) error { var cursor uint64 var err error log.Debug("DBFlush module: ", module) // Find all module keys // Process in chunks of 50 matching entries to optimize processing speed & memory keyMatchStr := module + ":*" for { var keys []string keys, cursor, err = dbClient.Scan(cursor, keyMatchStr, 50).Result() if err != nil { log.Debug("ERROR: ", err) break } // Delete all matching entries if len(keys) > 0 { _, err = dbClient.Del(keys...).Result() if err != nil { log.Debug("Failed to retrieve entry fields") break } } // Stop searching if cursor is back at beginning if cursor == 0 { break } } return nil } // DBSetEntry - Update existing entry or create new entry if it does not exist func DBSetEntry(key string, fields map[string]interface{}) error { // Update existing entry or create new entry if it does not exist _, err := dbClient.HMSet(key, fields).Result() if err != nil { return err } return nil } // DBRemoveEntry - Remove existing entries func DBRemoveEntry(keys ...string) error { _, err := dbClient.Del(keys...).Result() if err != nil { return err } return nil }
go-apps/meep-mon-engine/go.mod +5 −4 Original line number Diff line number Diff line Loading @@ -4,7 +4,7 @@ go 1.12 require ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger v0.0.0 github.com/go-redis/redis v6.15.2+incompatible github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis v0.0.0 github.com/gogo/protobuf v1.2.1 // indirect github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef // indirect github.com/google/btree v1.0.0 // indirect Loading @@ -15,8 +15,6 @@ require ( github.com/json-iterator/go v1.1.6 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.1 // indirect github.com/onsi/ginkgo v1.8.0 // indirect github.com/onsi/gomega v1.5.0 // indirect github.com/peterbourgon/diskv v2.0.1+incompatible // indirect github.com/spf13/pflag v1.0.3 // indirect golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a // indirect Loading @@ -31,4 +29,7 @@ require ( sigs.k8s.io/yaml v1.1.0 // indirect ) replace github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger => ../../go-packages/meep-logger replace ( github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger => ../../go-packages/meep-logger github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis => ../../go-packages/meep-redis )
go-apps/meep-mon-engine/go.sum +8 −4 Original line number Diff line number Diff line cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= github.com/KromDaniel/jonson v0.0.0-20180630143114-d2f9c3c389db h1:Zkf5kwhxdW0xV7WM/crqIcOP5LCFGnAmumWSFAewJ74= github.com/KromDaniel/jonson v0.0.0-20180630143114-d2f9c3c389db/go.mod h1:RU+6d0CNIRSp6yo1mXLIIrnFa/3LHhvcDVLVJyovptM= github.com/KromDaniel/rejonson v0.0.0-20180822072824-00b5bcf2b351 h1:1u1XrfCBnY+GijnyU6O1k4odp5TnqZQTsp5v7+n/E4Y= github.com/KromDaniel/rejonson v0.0.0-20180822072824-00b5bcf2b351/go.mod h1:HxwfbuElTuGf+/uKZfjJrCnv0BmmpkPJDI7gBwj1KkM= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/fsnotify/fsnotify v1.4.7 h1:IXs+QLmnXW2CcXuY+8Mzv/fWEsPGWxqefPtCP5CnV9I= Loading Loading @@ -34,10 +38,10 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.1 h1:9f412s+6RmYXLWZSEzVVgPGK7C2PphHj5RJrvfx9AWI= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.8.0 h1:VkHVNpR4iVnU8XQR6DBm8BqYjN7CRzw+xKUbVVbbW9w= github.com/onsi/ginkgo v1.8.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.5.0 h1:izbySO9zDPmjJ8rDjLvkA2zJHIo+HkYXHnf7eN7SSyo= github.com/onsi/gomega v1.5.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/ginkgo v1.10.1 h1:q/mM8GF/n0shIN8SaAZ0V+jnLPzen6WIVZdiwrRlMlo= github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/gomega v1.7.0 h1:XPnZz8VVBHjVsy1vzJmRwIcSwiUO+JFfrv/xGiigmME= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/peterbourgon/diskv v2.0.1+incompatible h1:UBdAOUP5p4RWqPBg048CAvpKN+vxiaj6gdUUzhl4XmI= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= Loading
go-apps/meep-mon-engine/mon-engine.go +10 −7 Original line number Diff line number Diff line Loading @@ -21,6 +21,7 @@ import ( "time" log "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-logger" redis "github.com/InterDigitalInc/AdvantEDGE/go-packages/meep-redis" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" Loading Loading @@ -59,19 +60,22 @@ type MonEngineInfo struct { StartTime string } var rc *redis.Connector var redisDBAddr = "meep-redis-master:6379" // Init - Mon Engine initialization func Init() (err error) { // Connect to Redis DB err = DBConnect() rc, err = redis.NewConnector(redisDBAddr, 0) if err != nil { log.Error("Failed connection to Active DB. Error: ", err) log.Error("Failed connection to Redis: ", err) return err } log.Info("Connected to Active DB") log.Info("Connected to Mon Engine DB") // Empty DB DBFlush(moduleMonEngine) _ = rc.DBFlush(moduleMonEngine) return nil } Loading Loading @@ -126,7 +130,6 @@ func printfMonEngineInfo(monEngineInfo MonEngineInfo, reason int) { "NbPodRestart : ", monEngineInfo.NbPodRestart, "LogicalState : ", monEngineInfo.LogicalState, "StartTime : ", monEngineInfo.StartTime) } func processEvent(obj interface{}, reason int) { Loading Loading @@ -253,7 +256,7 @@ func addOrUpdateEntryInDB(monEngineInfo MonEngineInfo) { key := moduleMonEngine + ":MO-" + monEngineInfo.MeepOrigin + ":MS-" + monEngineInfo.MeepScenario + ":MA-" + monEngineInfo.MeepApp + ":" + monEngineInfo.PodName // Set rule information in DB _ = DBSetEntry(key, fields) _ = rc.SetEntry(key, fields) } func deleteEntryInDB(monEngineInfo MonEngineInfo) { Loading @@ -262,7 +265,7 @@ func deleteEntryInDB(monEngineInfo MonEngineInfo) { key := moduleMonEngine + ":MO-" + monEngineInfo.MeepOrigin + ":MS-" + monEngineInfo.MeepScenario + ":MA-" + monEngineInfo.MeepApp + ":" + monEngineInfo.PodName // Set rule information in DB _ = DBRemoveEntry(key) _ = rc.DelEntry(key) } func k8sConnect() (err error) { Loading