[VOL-3695]: Support to create some of the OLT device events over the Device Management Interface
1. Following events and its corresponding recovered event creation is supported :
EVENT_FAN_FAILURE
EVENT_PSU_FAILURE
EVENT_HW_DEVICE_TEMPERATURE_ABOVE_CRITICAL
2. Following DMI Native Events Management Service APIs are implemented:
ListEvents
UpdateEventsConfiguration
3. Updated docs/source/DMI_Server_README.md
Change-Id: Ibc48302b61fd52a2f83bd888731f611eaf6c4c37
diff --git a/internal/bbsim/dmiserver/dmi_kafka_producer.go b/internal/bbsim/dmiserver/dmi_kafka_producer.go
index 9ee0172..8955dfa 100755
--- a/internal/bbsim/dmiserver/dmi_kafka_producer.go
+++ b/internal/bbsim/dmiserver/dmi_kafka_producer.go
@@ -26,7 +26,7 @@
log "github.com/sirupsen/logrus"
)
-var metricsProducer sarama.AsyncProducer
+var producer sarama.AsyncProducer
// InitializeDMKafkaPublishers initializes metrics kafka publisher
func InitializeDMKafkaPublishers(NewAsyncProducer func([]string, *sarama.Config) (sarama.AsyncProducer, error), oltID int, msgBusEndPoint string) error {
@@ -37,9 +37,9 @@
config.Producer.Retry.Max = 5
config.Metadata.Retry.Max = 10
config.Metadata.Retry.Backoff = 10 * time.Second
- config.ClientID = "BBSim-OLT-Metrics-" + strconv.Itoa(oltID)
+ config.ClientID = "BBSim-OLT-DMIServer-" + strconv.Itoa(oltID)
- metricsProducer, err = NewAsyncProducer([]string{msgBusEndPoint}, config)
+ producer, err = NewAsyncProducer([]string{msgBusEndPoint}, config)
return err
}
@@ -49,16 +49,16 @@
loop:
for {
select {
- case metric := <-ch:
- log.Tracef("Writing to kafka topic(%s): %v", topic, metric)
- jsonMet, err := json.Marshal(metric)
+ case data := <-ch:
+ log.Tracef("Writing to kafka topic(%s): %v", topic, data)
+ jsonData, err := json.Marshal(data)
if err != nil {
- log.Errorf("Failed to get json metric %v", err)
+ log.Errorf("Failed to get json %v", err)
continue
}
- metricsProducer.Input() <- &sarama.ProducerMessage{
+ producer.Input() <- &sarama.ProducerMessage{
Topic: topic,
- Value: sarama.ByteEncoder(jsonMet),
+ Value: sarama.ByteEncoder(jsonData),
}
case <-ctx.Done():
log.Infof("Stopping DM Kafka Publisher for topic %s", topic)