Refactor: move telemetry config from componentCfg to configs.xml
1. Support to export the metrics to multiple targets
2. Add a set of properties to kafka config (key, topic, etc.)
3. Add distributedStore to manage telemetry configs
4. Add CLI to query stored telemetry configs
5. Add a set of telemetry loaders to import xml definitions
6. Add unit tests for telemetry cfg, xml cfg loader and dist store
7. Add missing javadoc for a set of implementation classes
Change-Id: I39480c9a6ac07357184d2e1094b9c9f4d36fd8b1
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/config/KafkaTelemetryConfig.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/config/KafkaTelemetryConfig.java
index 078433f..80c7737 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/config/KafkaTelemetryConfig.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/config/KafkaTelemetryConfig.java
@@ -20,7 +20,7 @@
/**
* Configuration API of Kafka for publishing openstack telemetry.
*/
-public interface KafkaTelemetryConfig extends TelemetryConfig {
+public interface KafkaTelemetryConfig extends TelemetryConfigProperties {
/**
* Obtains kafka IP address.
@@ -86,6 +86,27 @@
String valueSerializer();
/**
+ * Obtains kafka key.
+ *
+ * @return kafka key
+ */
+ String key();
+
+ /**
+ * Obtains kafka topic.
+ *
+ * @return kafka topic
+ */
+ String topic();
+
+ /**
+ * Obtains kafka message codec.
+ *
+ * @return kafka message codec
+ */
+ String codec();
+
+ /**
* Obtains kafka config maps.
*
* @return kafka config map
@@ -95,7 +116,7 @@
/**
* Builder class of KafkaTelemetryConfig.
*/
- interface Builder extends TelemetryConfig.Builder {
+ interface Builder extends TelemetryConfigProperties.Builder {
/**
* Sets kafka IP address.
@@ -170,6 +191,30 @@
Builder withValueSerializer(String valueSerializer);
/**
+ * Sets kafka key.
+ *
+ * @param key kafka key
+ * @return builder instance
+ */
+ Builder withKey(String key);
+
+ /**
+ * Sets kafka topic.
+ *
+ * @param topic kafka topic
+ * @return builder instance
+ */
+ Builder withTopic(String topic);
+
+ /**
+ * Sets kafka message codec.
+ *
+ * @param codec kafka message codec
+ * @return builder instance
+ */
+ Builder withCodec(String codec);
+
+ /**
* Sets other kafka configuration map.
*
* @param configMap kafka configuration map
@@ -184,4 +229,4 @@
*/
KafkaTelemetryConfig build();
}
-}
+}
\ No newline at end of file