diff options
author | an4828 <nekrassov@att.com> | 2017-08-21 11:05:08 -0400 |
---|---|---|
committer | Lusheng Ji <lji@research.att.com> | 2017-08-24 00:56:45 +0000 |
commit | e86be39dc5ff812b73398e0720aa3fbf0c48213c (patch) | |
tree | fe3198f180128163490c14c66a1d6074760b220b /dcae-analytics-cdap-plugins/src | |
parent | ff6a13c7ce03ec95fba9d0b4f04b74d0bfeb6a47 (diff) |
Initial TCA commit into DCAEGEN2
Change-Id: I5f7f8af2a00419854cafc34b79277df60d1af095
Issue-ID: DCAEGEN2-53
Signed-off-by: an4828 <nekrassov@att.com>
Diffstat (limited to 'dcae-analytics-cdap-plugins/src')
57 files changed, 18424 insertions, 0 deletions
diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java new file mode 100644 index 0000000..c89f424 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormat.java @@ -0,0 +1,94 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import org.apache.hadoop.conf.Configuration; +import org.apache.hadoop.io.NullWritable; +import org.apache.hadoop.mapreduce.JobContext; +import org.apache.hadoop.mapreduce.OutputCommitter; +import org.apache.hadoop.mapreduce.OutputFormat; +import org.apache.hadoop.mapreduce.RecordWriter; +import org.apache.hadoop.mapreduce.TaskAttemptContext; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.DMaaPSinkConfigMapper; +import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory; +import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig; +import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher; + +import java.io.IOException; + +/** + * DMaaP MR Output format used by DMaaP MR Sink Plugin to create a MR Publisher and pass to custom {@link + * DMaaPMRRecordWriter} + * <p> + * @author Rajiv Singla . Creation Date: 1/27/2017. + */ +public class DMaaPMROutputFormat extends OutputFormat<String, NullWritable> { + + @Override + public RecordWriter<String, NullWritable> getRecordWriter(TaskAttemptContext context) throws IOException, + InterruptedException { + final Configuration configuration = context.getConfiguration(); + final DMaaPMRPublisherConfig publisherConfig = DMaaPSinkConfigMapper.map(configuration); + final DMaaPMRPublisher publisher = DMaaPMRFactory.create().createPublisher(publisherConfig); + return new DMaaPMRRecordWriter(publisher); + } + + @Override + public void checkOutputSpecs(JobContext context) throws IOException, InterruptedException { + // do nothing + } + + @Override + public OutputCommitter getOutputCommitter(TaskAttemptContext context) throws IOException, InterruptedException { + return new NoOpOutputCommitter(); + } + + /** + * A dummy implementation for {@link OutputCommitter} that does nothing. + */ + protected static class NoOpOutputCommitter extends OutputCommitter { + + @Override + public void setupJob(JobContext jobContext) throws IOException { + // no op + } + + @Override + public void setupTask(TaskAttemptContext taskContext) throws IOException { + // no op + } + + @Override + public boolean needsTaskCommit(TaskAttemptContext taskContext) throws IOException { + return false; + } + + @Override + public void commitTask(TaskAttemptContext taskContext) throws IOException { + // no op + } + + @Override + public void abortTask(TaskAttemptContext taskContext) throws IOException { + // no op + } + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java new file mode 100644 index 0000000..a78d42f --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProvider.java @@ -0,0 +1,116 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import co.cask.cdap.api.data.batch.OutputFormatProvider; +import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants; + +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * DMaaP MR Output Format Provider used to create Batch Sink Plugin + * <p> + * @author Rajiv Singla . Creation Date: 1/27/2017. + */ +public class DMaaPMROutputFormatProvider implements OutputFormatProvider { + + private final Map<String, String> sinkConfig; + + + public DMaaPMROutputFormatProvider(DMaaPMRSinkPluginConfig sinkPluginConfig) { + + // initialize Sink Config - with DMaaP MR Publisher config values + sinkConfig = new LinkedHashMap<>(); + + // Required fields for sink config + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.HOST_NAME, sinkPluginConfig.getHostName()); + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.TOPIC_NAME, sinkPluginConfig.getTopicName()); + + final Integer configPortNumber = sinkPluginConfig.getPortNumber(); + if (configPortNumber != null) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER, configPortNumber.toString()); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER, + AnalyticsConstants.DEFAULT_PORT_NUMBER.toString()); + } + + final String configProtocol = sinkPluginConfig.getProtocol(); + if (ValidationUtils.isPresent(configProtocol)) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PROTOCOL, configProtocol); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.PROTOCOL, AnalyticsConstants.DEFAULT_PROTOCOL); + } + + + final String configUserName = sinkPluginConfig.getUserName(); + if (ValidationUtils.isPresent(configUserName)) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_NAME, configUserName); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_NAME, AnalyticsConstants.DEFAULT_USER_NAME); + } + + final String configUserPass = sinkPluginConfig.getUserPassword(); + if (ValidationUtils.isPresent(configUserPass)) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_PASS, configUserPass); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.USER_PASS, AnalyticsConstants.DEFAULT_USER_PASSWORD); + } + + final String configContentType = sinkPluginConfig.getContentType(); + if (ValidationUtils.isPresent(configContentType)) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE, configContentType); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE, AnalyticsConstants.DEFAULT_CONTENT_TYPE); + } + + + final Integer configMaxBatchSize = sinkPluginConfig.getMaxBatchSize(); + if (configMaxBatchSize != null) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE, configMaxBatchSize.toString()); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE, + String.valueOf(AnalyticsConstants.DEFAULT_PUBLISHER_MAX_BATCH_SIZE)); + } + + final Integer configMaxRecoveryQueueSize = sinkPluginConfig.getMaxRecoveryQueueSize(); + if (configMaxRecoveryQueueSize != null) { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE, configMaxRecoveryQueueSize.toString()); + } else { + sinkConfig.put(DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE, + String.valueOf(AnalyticsConstants.DEFAULT_PUBLISHER_MAX_RECOVERY_QUEUE_SIZE)); + } + + } + + @Override + public String getOutputFormatClassName() { + return DMaaPMROutputFormat.class.getName(); + } + + @Override + public Map<String, String> getOutputFormatConfiguration() { + return sinkConfig; + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java new file mode 100644 index 0000000..ec0aded --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriter.java @@ -0,0 +1,58 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import org.apache.hadoop.io.NullWritable; +import org.apache.hadoop.mapreduce.RecordWriter; +import org.apache.hadoop.mapreduce.TaskAttemptContext; +import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.Arrays; + +/** + * A simple implementation of {@link RecordWriter} which writes messages to DMaaP MR topic + * <p> + * @author Rajiv Singla . Creation Date: 1/27/2017. + */ +public class DMaaPMRRecordWriter extends RecordWriter<String, NullWritable> { + + private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRRecordWriter.class); + + private final DMaaPMRPublisher dMaaPMRPublisher; + + public DMaaPMRRecordWriter(DMaaPMRPublisher dMaaPMRPublisher) { + this.dMaaPMRPublisher = dMaaPMRPublisher; + } + + @Override + public void write(String message, NullWritable value) throws IOException, InterruptedException { + LOG.debug("Writing message to DMaaP MR Topic: {}", message); + dMaaPMRPublisher.publish(Arrays.asList(message)); + } + + @Override + public void close(TaskAttemptContext context) throws IOException, InterruptedException { + dMaaPMRPublisher.flush(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java new file mode 100644 index 0000000..32ec251 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSink.java @@ -0,0 +1,90 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Name; +import co.cask.cdap.api.annotation.Plugin; +import co.cask.cdap.api.data.batch.Output; +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.api.dataset.lib.KeyValue; +import co.cask.cdap.etl.api.Emitter; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.batch.BatchSink; +import co.cask.cdap.etl.api.batch.BatchSinkContext; +import org.apache.hadoop.io.NullWritable; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.DMaaPMRSinkPluginConfigValidator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Rajiv Singla . Creation Date: 1/26/2017. + */ +@Plugin(type = BatchSink.PLUGIN_TYPE) +@Name("DMaaPMRSink") +@Description("A batch sink Plugin that publishes messages to DMaaP MR Topic.") +public class DMaaPMRSink extends BatchSink<StructuredRecord, String, NullWritable> { + + private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSink.class); + + private final DMaaPMRSinkPluginConfig pluginConfig; + + public DMaaPMRSink(final DMaaPMRSinkPluginConfig pluginConfig) { + LOG.debug("Creating DMaaP MR Sink Plugin with plugin Config: {}", pluginConfig); + this.pluginConfig = pluginConfig; + } + + @Override + public void configurePipeline(final PipelineConfigurer pipelineConfigurer) { + super.configurePipeline(pipelineConfigurer); + ValidationUtils.validateSettings(pluginConfig, new DMaaPMRSinkPluginConfigValidator()); + // validates that input schema contains the field provided in Sink Message Column Name property + final Schema inputSchema = pipelineConfigurer.getStageConfigurer().getInputSchema(); + CDAPPluginUtils.validateSchemaContainsFields(inputSchema, pluginConfig.getMessageColumnName()); + } + + + @Override + public void prepareRun(BatchSinkContext context) throws Exception { + context.addOutput(Output.of(pluginConfig.getReferenceName(), new DMaaPMROutputFormatProvider(pluginConfig))); + } + + @Override + public void transform(StructuredRecord structuredRecord, + Emitter<KeyValue<String, NullWritable>> emitter) throws Exception { + // get incoming message from structured record + final String incomingMessage = structuredRecord.get(pluginConfig.getMessageColumnName()); + + // if incoming messages does not have message column name log warning as it should not happen + if (incomingMessage == null) { + LOG.warn("Column Name: {}, contains no message.Skipped for DMaaP MR Publishing....", + pluginConfig.getMessageColumnName()); + } else { + + // emit the messages as key + emitter.emit(new KeyValue<String, NullWritable>(incomingMessage, null)); + } + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java new file mode 100644 index 0000000..677b764 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/common/PluginSchema.java @@ -0,0 +1,37 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.common; + +/** + * Contract interface for all DCAE Analytics Plugin Schemas + * + * @author Rajiv Singla . Creation Date: 1/25/2017. + */ +public interface PluginSchema { + + /** + * Provides column name that will be used in Schema Definition + * + * @return Column name that will be used in Schema Definition + */ + String getSchemaColumnName(); + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java new file mode 100644 index 0000000..b85dc7d --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/BaseDMaaPMRPluginConfig.java @@ -0,0 +1,159 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; +import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig; + +import javax.annotation.Nullable; + +/** + * Base class for all DMaaP MR Configs + * <p> + * @author Rajiv Singla . Creation Date: 1/17/2017. + */ +public abstract class BaseDMaaPMRPluginConfig extends CDAPBasePluginConfig { + + @Description("DMaaP Message Router HostName") + @Macro + protected String hostName; + + @Description("DMaaP Message Router Host Port number. Defaults to Port 80") + @Nullable + @Macro + protected Integer portNumber; + + @Description("DMaaP Message Router Topic Name") + @Macro + protected String topicName; + + @Description("DMaaP Message Router HTTP Protocol e.g. HTTP or HTTPS. Defaults to HTTPS") + @Nullable + @Macro + protected String protocol; + + @Description("DMaaP Message Router User Name used for AAF Authentication. Defaults to no authentication") + @Nullable + @Macro + protected String userName; + + @Description("DMaaP Message Router User Password used for AAF Authentication. Defaults to no authentication") + @Nullable + @Macro + protected String userPassword; + + @Description("DMaaP Message Router Content Type. Defaults to 'application/json'") + @Nullable + @Macro + protected String contentType; + + + public BaseDMaaPMRPluginConfig(final String referenceName, final String hostName, final String topicName) { + this.referenceName = referenceName; + this.hostName = hostName; + this.topicName = topicName; + } + + /** + * Host Name for DMaaP MR Publisher or Subscriber + * + * @return host name + */ + public String getHostName() { + return hostName; + } + + /** + * Port Number for DMaaP MR Publisher or Subscriber + * + * @return port number + */ + @Nullable + public Integer getPortNumber() { + return portNumber; + } + + /** + * DMaaP MR Topic Name for Subscriber or Publisher + * + * @return topic name + */ + public String getTopicName() { + return topicName; + } + + + /** + * DMaaP MR HTTP or HTTPS protocol + * + * @return http or https protocol + */ + @Nullable + public String getProtocol() { + return protocol; + } + + /** + * User name used for DMaaP MR AAF Authentication + * + * @return User name for DMaaP MR AAF Authentication + */ + @Nullable + public String getUserName() { + return userName; + } + + /** + * User password used for DMaaP MR AAF Authentication + * + * @return User password used for DMaaP MR AAF Authentication + */ + @Nullable + public String getUserPassword() { + return userPassword; + } + + /** + * Content type used for DMaaP MR Topic e.g. 'application/json' + * + * @return content type for DMaaP MR Topic + */ + @Nullable + public String getContentType() { + return contentType; + } + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("referenceName", referenceName) + .add("hostName", hostName) + .add("portNumber", portNumber) + .add("topicName", topicName) + .add("protocol", protocol) + .add("userName", userName) + .add("userPassword", "xxxx") + .add("contentType", contentType) + .toString(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java new file mode 100644 index 0000000..7de7532 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfig.java @@ -0,0 +1,101 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; + +import javax.annotation.Nullable; + +/** + * DMaaP MR Publisher Config + * <p> + * @author Rajiv Singla . Creation Date: 1/17/2017. + */ +public class DMaaPMRSinkPluginConfig extends BaseDMaaPMRPluginConfig { + + private static final long serialVersionUID = 1L; + + @Description("Column name of input schema which contains the message that needs to be written to DMaaP MR Topic") + @Macro + protected String messageColumnName; + + @Description("DMaaP MR Publisher Max Batch Size. Defaults to no Batch") + @Nullable + @Macro + protected Integer maxBatchSize; + + @Description("DMaaP MR Publisher Recovery Queue Size. Default to 1000K messages which can be buffered in memory " + + "in case DMaaP MR Publisher is temporarily unavailable") + @Nullable + @Macro + protected Integer maxRecoveryQueueSize; + + // Required No Arg constructor + public DMaaPMRSinkPluginConfig() { + this(null, null, null, null); + } + + public DMaaPMRSinkPluginConfig(String referenceName, String hostName, String topicName, String messageColumnName) { + super(referenceName, hostName, topicName); + this.messageColumnName = messageColumnName; + } + + /** + * Column name of incoming Schema field that contains the message that needs to published to DMaaP MR Topic + * + * @return Column name of incoming schema which contains message that needs to published to DMaaP MR Topic + */ + public String getMessageColumnName() { + return messageColumnName; + } + + /** + * DMaaP MR Publisher Max Batch Size. + * + * @return DMaaP MR Publisher Max Batch Size + */ + @Nullable + public Integer getMaxBatchSize() { + return maxBatchSize; + } + + /** + * DMaaP MR Publisher Max Recovery Queue Size + * + * @return DMaaP MR Publisher Max Recovery Queue Size + */ + @Nullable + public Integer getMaxRecoveryQueueSize() { + return maxRecoveryQueueSize; + } + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("super", super.toString()) + .add("messageColumnName", messageColumnName) + .add("maxBatchSize", maxBatchSize) + .add("maxRecoveryQueueSize", maxRecoveryQueueSize) + .toString(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java new file mode 100644 index 0000000..a91da35 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfig.java @@ -0,0 +1,134 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; + +import javax.annotation.Nullable; + +/** + * DMaaP MR Subscriber Config + * <p> + * @author Rajiv Singla . Creation Date: 1/17/2017. + */ +public class DMaaPMRSourcePluginConfig extends BaseDMaaPMRPluginConfig { + + private static final long serialVersionUID = 1L; + + @Description("DMaaP MR Polling Interval in MS") + @Macro + protected Integer pollingInterval; + + @Description("DMaaP Message Router Subscriber Consumer ID. Defaults to some randomly created userID") + @Nullable + @Macro + protected String consumerId; + + @Description("DMaaP Message Router Subscriber Consumer Group. Defaults to some randomly created user Group") + @Nullable + @Macro + protected String consumerGroup; + + @Description("DMaaP Message Router Subscriber Timeout in MS. Defaults to no timeout") + @Nullable + @Macro + protected Integer timeoutMS; + + @Description("DMaaP Message Router Subscriber Message Limit. Defaults to no message limit") + @Nullable + @Macro + protected Integer messageLimit; + + // Required No Arg constructor + public DMaaPMRSourcePluginConfig() { + this(null, null, null, 0); + } + + public DMaaPMRSourcePluginConfig(String referenceName, String hostName, String topicName, Integer pollingInterval) { + super(referenceName, hostName, topicName); + this.pollingInterval = pollingInterval; + } + + /** + * DMaaP MR Subscriber Polling interval + * + * @return DMaaP MR Subscriber Polling interval + */ + public Integer getPollingInterval() { + return pollingInterval; + } + + /** + * DMaaP MR Subscriber Consumer ID + * + * @return DMaaP MR Subscriber Consumer ID + */ + @Nullable + public String getConsumerId() { + return consumerId; + } + + /** + * DMaaP MR Subscriber Consumer Group + * + * @return DMaaP MR Subscriber Consumer Group + */ + @Nullable + public String getConsumerGroup() { + return consumerGroup; + } + + /** + * DMaaP MR Subscriber Timeout in MS + * + * @return DMaaP MR Subscriber Timeout in MS + */ + @Nullable + public Integer getTimeoutMS() { + return timeoutMS; + } + + /** + * DMaaP MR Subscriber message limit + * + * @return DMaaP MR Subscriber Message limit + */ + @Nullable + public Integer getMessageLimit() { + return messageLimit; + } + + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("super", super.toString()) + .add("pollingInterval", pollingInterval) + .add("consumerId", consumerId) + .add("consumerGroup", consumerGroup) + .add("timeoutMS", timeoutMS) + .add("messageLimit", messageLimit) + .toString(); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java new file mode 100644 index 0000000..8bb768f --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/JsonPathFilterPluginConfig.java @@ -0,0 +1,125 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import co.cask.cdap.api.annotation.Name; +import com.google.common.base.Objects; +import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig; + +/** + * Configuration for Json Path Filter Plugin + * + * @author Rajiv Singla . Creation Date: 3/2/2017. + */ +public class JsonPathFilterPluginConfig extends CDAPBasePluginConfig { + + private static final long serialVersionUID = 1L; + + @Name("incomingJsonFieldName") + @Description("Input schema field name that contain JSON used for filtering") + @Macro + protected String incomingJsonFieldName; + + + @Name("outputSchemaFieldName") + @Description("Name of the nullable boolean schema field name that will contain result of the filter matching") + @Macro + protected String outputSchemaFieldName; + + + @Name("jsonFilterMappings") + @Macro + @Description("Filters incoming JSON based on given filter mappings - in terms of JSON path and expected values." + + "Right hand side contains JSON path. Left hand side contains semicolon (';') separated expected values " + + "for that JSON Path. If all provided JSON Path mappings and corresponding values matches - " + + "output schema field will be marked as true") + protected String jsonFilterMappings; + + + @Name("schema") + @Description("Output Schema") + protected String schema; + + + public JsonPathFilterPluginConfig(final String referenceName, final String incomingJsonFieldName, + final String outputSchemaFieldName, final String jsonFilterMappings, + final String schema) { + this.referenceName = referenceName; + this.incomingJsonFieldName = incomingJsonFieldName; + this.outputSchemaFieldName = outputSchemaFieldName; + this.jsonFilterMappings = jsonFilterMappings; + this.schema = schema; + } + + /** + * Provides incoming plugin schema field name which contains json used to apply filter + * + * @return name of incoming schema field containing JSON to be filtered + */ + public String getIncomingJsonFieldName() { + return incomingJsonFieldName; + } + + /** + * Provides plugin output schema filed name that will contain result of filter application + * It must be nullable and boolean type + * + * @return name of outgoing schema filed name that will contain filtering result + */ + public String getOutputSchemaFieldName() { + return outputSchemaFieldName; + } + + /** + * Provides JSON filter mappings. LHS contains JSON path value and RHS contains expected + * values separated by semicolon + * + * + * @return String for JSON filter mappings + */ + public String getJsonFilterMappings() { + return jsonFilterMappings; + } + + /** + * Output Schema + * + * @return output schema string + */ + public String getSchema() { + return schema; + } + + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("referenceName", referenceName) + .add("incomingJsonFieldName", incomingJsonFieldName) + .add("outputSchemaFieldName", outputSchemaFieldName) + .add("jsonFilterMappings", jsonFilterMappings) + .add("schema", schema) + .toString(); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java new file mode 100644 index 0000000..d9c2b7a --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/SimpleTCAPluginConfig.java @@ -0,0 +1,154 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Macro; +import com.google.common.base.Objects; +import org.openecomp.dcae.apod.analytics.cdap.common.settings.CDAPBasePluginConfig; + +import javax.annotation.Nullable; + +/** + * Simple TCA Plugin Configuration + * <p> + * @author Rajiv Singla . Creation Date: 2/13/2017. + */ +public class SimpleTCAPluginConfig extends CDAPBasePluginConfig { + + private static final long serialVersionUID = 1L; + + @Description("Field name containing VES Message") + @Macro + protected String vesMessageFieldName; + + @Description("Policy JSON that need to be applied to VES Message") + @Macro + protected String policyJson; + + @Description("Name of the output field that will contain the alert") + @Macro + protected String alertFieldName; + + @Description("Name of the output field that will contain message type: INAPPLICABLE, COMPLIANT, NON_COMPLIANT") + @Macro + protected String messageTypeFieldName; + + @Description("Specifies the output schema") + protected String schema; + + @Description("Enables") + @Nullable + @Macro + protected Boolean enableAlertCEFFormat; + + + /** + * Creates an instance of TCA Plugin Configs + * + * @param vesMessageFieldName Ves message field name from incoming plugin schema + * @param policyJson TCA Policy Json String + * @param alertFieldName Alert field name that will be added in TCA plugin output schema + * @param messageTypeFieldName Message type field name that will be added in TCA plugin output schema + * @param schema TCA Plugin output schema + * @param enableAlertCEFFormat enables alert message to be formatted in VES format + */ + public SimpleTCAPluginConfig(final String vesMessageFieldName, final String policyJson, + final String alertFieldName, final String messageTypeFieldName, + final String schema, final Boolean enableAlertCEFFormat) { + this.vesMessageFieldName = vesMessageFieldName; + this.policyJson = policyJson; + this.alertFieldName = alertFieldName; + this.messageTypeFieldName = messageTypeFieldName; + this.schema = schema; + this.enableAlertCEFFormat = enableAlertCEFFormat; + } + + /** + * Name of the field containing VES Message + * + * @return VES Message field name + */ + public String getVesMessageFieldName() { + return vesMessageFieldName; + } + + /** + * Policy Json String + * + * @return Policy Json String + */ + public String getPolicyJson() { + return policyJson; + } + + + /** + * Alert Field name in outgoing schema + * + * @return alert field name in outgoing schema + */ + public String getAlertFieldName() { + return alertFieldName; + } + + /** + * Returns output schema string + * + * @return output schema string + */ + public String getSchema() { + return schema; + } + + /** + * Return TCA message type - INAPPLICABLE, COMPLIANT, NON_COMPLIANT + * + * @return tca message type + */ + public String getMessageTypeFieldName() { + return messageTypeFieldName; + } + + + /** + * Returns if Alert output in Common Event format + * + * @return true if alert output is in common event format + */ + @Nullable + public Boolean getEnableAlertCEFFormat() { + return enableAlertCEFFormat; + } + + @Override + public String toString() { + return Objects.toStringHelper(this) + .add("referenceName", referenceName) + .add("vesMessageFieldName", vesMessageFieldName) + .add("policyJson", policyJson) + .add("alertFieldName", alertFieldName) + .add("messageTypeFieldName", messageTypeFieldName) + .add("schema", schema) + .add("enableAlertCEFFormat", true) + .toString(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java new file mode 100644 index 0000000..5874d0a --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchema.java @@ -0,0 +1,59 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap; + +import co.cask.cdap.api.data.schema.Schema; +import org.openecomp.dcae.apod.analytics.cdap.plugins.common.PluginSchema; + +/** + * Output Schema for DMaaP MR Source Plugin + * + * @author Rajiv Singla . Creation Date: 1/25/2017. + */ +public enum DMaaPSourceOutputSchema implements PluginSchema { + + TIMESTAMP("ts"), + RESPONSE_CODE("responseCode"), + RESPONSE_MESSAGE("responseMessage"), + FETCHED_MESSAGE("message"); + + private String schemaColumnName; + + DMaaPSourceOutputSchema(String schemaColumnName) { + this.schemaColumnName = schemaColumnName; + } + + @Override + public String getSchemaColumnName() { + return schemaColumnName; + } + + public static Schema getSchema() { + return Schema.recordOf( + "DMaaPMRSourcePluginResponse", + Schema.Field.of(TIMESTAMP.getSchemaColumnName(), Schema.of(Schema.Type.LONG)), + Schema.Field.of(RESPONSE_CODE.getSchemaColumnName(), Schema.of(Schema.Type.INT)), + Schema.Field.of(RESPONSE_MESSAGE.getSchemaColumnName(), Schema.of(Schema.Type.STRING)), + Schema.Field.of(FETCHED_MESSAGE.getSchemaColumnName(), Schema.of(Schema.Type.STRING)) + ); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java new file mode 100644 index 0000000..b915ade --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPlugin.java @@ -0,0 +1,175 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Name; +import co.cask.cdap.api.annotation.Plugin; +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.format.StructuredRecord.Builder; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.StageMetrics; +import co.cask.cdap.etl.api.batch.SparkCompute; +import co.cask.cdap.etl.api.batch.SparkExecutionPluginContext; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; +import org.apache.spark.api.java.JavaRDD; +import org.apache.spark.api.java.function.Function; +import org.openecomp.dcae.apod.analytics.cdap.common.CDAPMetricsConstants; +import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCACalculatorMessageType; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.SimpleTCAPluginConfigValidator; +import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.MetricsPerFunctionalRole; +import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.TCAPolicy; +import org.openecomp.dcae.apod.analytics.model.domain.policy.tca.Threshold; +import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFJsonProcessor; +import org.openecomp.dcae.apod.analytics.tca.processor.TCACEFProcessorContext; +import org.openecomp.dcae.apod.analytics.tca.utils.TCAUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * @author Rajiv Singla . Creation Date: 2/13/2017. + */ + +@Plugin(type = SparkCompute.PLUGIN_TYPE) +@Name("SimpleTCAPlugin") +@Description("Used to create TCA (Threshold Crossing Alert) based on given Policy") +@SuppressFBWarnings("SE_INNER_CLASS") +public class SimpleTCAPlugin extends SparkCompute<StructuredRecord, StructuredRecord> { + + private static final Logger LOG = LoggerFactory.getLogger(SimpleTCAPlugin.class); + private static final long serialVersionUID = 1L; + + private final SimpleTCAPluginConfig pluginConfig; + + /** + * Create an instance of Simple TCA Plugin with give Simple TCA Plugin Config + * + * @param pluginConfig Simple TCA Plugin Config + */ + public SimpleTCAPlugin(SimpleTCAPluginConfig pluginConfig) { + this.pluginConfig = pluginConfig; + LOG.info("Creating instance of Simple TCA Plugin with plugin config: {}", pluginConfig); + } + + @Override + public void configurePipeline(PipelineConfigurer pipelineConfigurer) { + super.configurePipeline(pipelineConfigurer); + ValidationUtils.validateSettings(pluginConfig, new SimpleTCAPluginConfigValidator()); + final Schema inputSchema = pipelineConfigurer.getStageConfigurer().getInputSchema(); + CDAPPluginUtils.validateSchemaContainsFields(inputSchema, pluginConfig.getVesMessageFieldName()); + CDAPPluginUtils.setOutputSchema(pipelineConfigurer, pluginConfig.getSchema()); + } + + @Override + public JavaRDD<StructuredRecord> transform(final SparkExecutionPluginContext context, + final JavaRDD<StructuredRecord> input) throws Exception { + final StageMetrics metrics = context.getMetrics(); + + LOG.debug("Invoking Spark Transform for Simple TCA Plugin"); + return input.map(new Function<StructuredRecord, StructuredRecord>() { + + @Override + public StructuredRecord call(StructuredRecord inputStructuredRecord) throws Exception { + TCACalculatorMessageType calculatorMessageType; + String alertMessage = null; + + // Get input structured record + final String cefMessage = inputStructuredRecord.get(pluginConfig.getVesMessageFieldName()); + + // Get TCA Policy + final TCAPolicy tcaPolicy = CDAPPluginUtils.readValue(pluginConfig.getPolicyJson(), TCAPolicy.class); + + // create initial processor context + final TCACEFProcessorContext initialProcessorContext = + new TCACEFProcessorContext(cefMessage, tcaPolicy); + + final TCACEFJsonProcessor jsonProcessor = new TCACEFJsonProcessor(); + final TCACEFProcessorContext jsonProcessorContext = + jsonProcessor.processMessage(initialProcessorContext); + + if (jsonProcessorContext.getCEFEventListener() != null) { + + LOG.debug("Json to CEF parsing successful. Parsed object {}", + jsonProcessorContext.getCEFEventListener()); + + // compute violations + final TCACEFProcessorContext processorContextWithViolations = + TCAUtils.computeThresholdViolations(jsonProcessorContext); + + // if violation are found then create alert message + if (processorContextWithViolations.canProcessingContinue()) { + + alertMessage = TCAUtils.createTCAAlertString(processorContextWithViolations, + pluginConfig.getReferenceName(), pluginConfig.getEnableAlertCEFFormat()); + calculatorMessageType = TCACalculatorMessageType.NON_COMPLIANT; + + LOG.debug("VES Threshold Violation Detected.An alert message is be generated: {}", + alertMessage); + + final MetricsPerFunctionalRole metricsPerFunctionalRole = + processorContextWithViolations.getMetricsPerFunctionalRole(); + if (metricsPerFunctionalRole != null + && metricsPerFunctionalRole.getThresholds() != null + && metricsPerFunctionalRole.getThresholds().get(0) != null) { + final Threshold violatedThreshold = metricsPerFunctionalRole.getThresholds().get(0); + LOG.debug("CEF Message: {}, Violated Threshold: {}", cefMessage, violatedThreshold); + } + + metrics.count(CDAPMetricsConstants.TCA_VES_NON_COMPLIANT_MESSAGES_METRIC, 1); + + } else { + LOG.debug("No Threshold Violation Detected. No alert will be generated."); + calculatorMessageType = TCACalculatorMessageType.COMPLIANT; + metrics.count(CDAPMetricsConstants.TCA_VES_COMPLIANT_MESSAGES_METRIC, 1); + } + + } else { + LOG.info("Unable to parse provided json message to CEF format. Invalid message: {}", cefMessage); + calculatorMessageType = TCACalculatorMessageType.INAPPLICABLE; + } + + LOG.debug("Calculator message type: {} for message: {}", calculatorMessageType, cefMessage); + + final Schema outputSchema = Schema.parseJson(pluginConfig.getSchema()); + + // create new output record builder and copy any input record values to output record builder + final Builder outputRecordBuilder = + CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputStructuredRecord); + + // add alert field + final Builder outputRecordBuilderWithAlertField = + CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(outputRecordBuilder, + outputSchema, pluginConfig.getAlertFieldName(), alertMessage); + + // add message field type + final Builder outRecordBuilderWithMessageTypeField = + CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(outputRecordBuilderWithAlertField, + outputSchema, pluginConfig.getMessageTypeFieldName(), calculatorMessageType.toString()); + + return outRecordBuilderWithMessageTypeField.build(); + } + }); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java new file mode 100644 index 0000000..aac7fa6 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiver.java @@ -0,0 +1,118 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.metrics.Metrics; +import com.google.common.base.Optional; +import org.apache.spark.storage.StorageLevel; +import org.apache.spark.streaming.receiver.Receiver; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.DMaaPMRUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.DMaaPSourceConfigMapper; +import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException; +import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory; +import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.List; +import java.util.concurrent.TimeUnit; + +/** + * DMaaP MR Receiver which calls DMaaP MR Topic and stores structured records + * <p> + * @author Rajiv Singla . Creation Date: 1/19/2017. + */ +public class DMaaPMRReceiver extends Receiver<StructuredRecord> { + + private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRReceiver.class); + private static final long serialVersionUID = 1L; + + private final DMaaPMRSourcePluginConfig pluginConfig; + private final Metrics metrics; + + public DMaaPMRReceiver(final StorageLevel storageLevel, final DMaaPMRSourcePluginConfig pluginConfig, + final Metrics metrics) { + super(storageLevel); + this.pluginConfig = pluginConfig; + this.metrics = metrics; + LOG.debug("Created DMaaP MR Receiver instance with plugin Config: {}", pluginConfig); + } + + @Override + public void onStart() { + + // create DMaaP MR Subscriber + final DMaaPMRSubscriber subscriber = + DMaaPMRFactory.create().createSubscriber(DMaaPSourceConfigMapper.map(pluginConfig)); + + // Start a new thread with indefinite loop until receiver is stopped + new Thread() { + @Override + public void run() { + while (!isStopped()) { + storeStructuredRecords(subscriber); + try { + final Integer pollingInterval = pluginConfig.getPollingInterval(); + LOG.debug("DMaaP MR Receiver sleeping for polling interval: {}", pollingInterval); + TimeUnit.MILLISECONDS.sleep(pollingInterval); + } catch (InterruptedException e) { + final String errorMessage = String.format( + "Interrupted Exception while DMaaP MR Receiver sleeping polling interval: %s", e); + throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e); + } + } + } + }.start(); + + } + + @Override + public void onStop() { + LOG.debug("Stopping DMaaP MR Receiver with plugin config: {}", pluginConfig); + } + + /** + * Fetches records from DMaaP MR Subscriber and store them as structured records + * + * @param subscriber DMaaP MR Subscriber Instance + */ + public void storeStructuredRecords(final DMaaPMRSubscriber subscriber) { + + LOG.debug("DMaaP MR Receiver start fetching messages from DMaaP MR Topic"); + + // Fetch messages from DMaaP MR Topic + final Optional<List<String>> subscriberMessagesOptional = + DMaaPMRUtils.getSubscriberMessages(subscriber, metrics); + + // store records + if (subscriberMessagesOptional.isPresent()) { + final List<String> messages = subscriberMessagesOptional.get(); + for (final String message : messages) { + store(CDAPPluginUtils.createDMaaPMRResponseStructuredRecord(message)); + } + LOG.debug("Stored DMaaP Subscriber messages as Structured Records. Message count {}", messages.size()); + } + } + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java new file mode 100644 index 0000000..a9ecfea --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSource.java @@ -0,0 +1,70 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Name; +import co.cask.cdap.api.annotation.Plugin; +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.streaming.StreamingContext; +import co.cask.cdap.etl.api.streaming.StreamingSource; +import org.apache.spark.storage.StorageLevel; +import org.apache.spark.streaming.api.java.JavaDStream; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap.DMaaPSourceOutputSchema; +import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.DMaaPMRSourcePluginConfigValidator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * DMaaP MR Source Plugin which polls DMaaP MR topic at frequent intervals + * <p> + * @author Rajiv Singla . Creation Date: 1/18/2017. + */ +@Plugin(type = StreamingSource.PLUGIN_TYPE) +@Name("DMaaPMRSource") +@Description("Fetches DMaaP MR Messages at regular intervals") +public class DMaaPMRSource extends StreamingSource<StructuredRecord> { + + private static final Logger LOG = LoggerFactory.getLogger(DMaaPMRSource.class); + private static final long serialVersionUID = 1L; + + private final DMaaPMRSourcePluginConfig pluginConfig; + + public DMaaPMRSource(final DMaaPMRSourcePluginConfig pluginConfig) { + LOG.debug("Creating DMaaP MR Source plugin with plugin Config: {}", pluginConfig); + this.pluginConfig = pluginConfig; + } + + @Override + public void configurePipeline(PipelineConfigurer pipelineConfigurer) { + ValidationUtils.validateSettings(pluginConfig, new DMaaPMRSourcePluginConfigValidator()); + pipelineConfigurer.getStageConfigurer().setOutputSchema(DMaaPSourceOutputSchema.getSchema()); + } + + @Override + public JavaDStream<StructuredRecord> getStream(final StreamingContext streamingContext) throws Exception { + return streamingContext.getSparkStreamingContext().receiverStream( + new DMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), pluginConfig, streamingContext.getMetrics())); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java new file mode 100644 index 0000000..a318406 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiver.java @@ -0,0 +1,132 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import com.fasterxml.jackson.core.type.TypeReference; +import org.apache.spark.storage.StorageLevel; +import org.apache.spark.streaming.receiver.Receiver; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.DMaaPSourceConfigMapper; +import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException; +import org.openecomp.dcae.apod.analytics.dmaap.DMaaPMRFactory; +import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber; +import org.openecomp.dcae.apod.analytics.model.domain.cef.EventListener; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.FileNotFoundException; +import java.io.IOException; +import java.io.InputStream; +import java.util.List; +import java.util.concurrent.TimeUnit; + +import static org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils.readValue; +import static org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils.writeValueAsString; + +/** + * DMaaP MR Receiver which calls DMaaP MR Topic and stores structured records + * <p> + * @author Rajiv Singla . Creation Date: 1/19/2017. + */ +public class MockDMaaPMRReceiver extends Receiver<StructuredRecord> { + + private static final Logger LOG = LoggerFactory.getLogger(MockDMaaPMRReceiver.class); + private static final long serialVersionUID = 1L; + + private static final String MOCK_MESSAGE_FILE_LOCATION = "ves_mock_messages.json"; + private static final TypeReference<List<EventListener>> EVENT_LISTENER_TYPE_REFERENCE = + new TypeReference<List<EventListener>>() { + }; + + private final DMaaPMRSourcePluginConfig pluginConfig; + + public MockDMaaPMRReceiver(final StorageLevel storageLevel, final DMaaPMRSourcePluginConfig pluginConfig) { + super(storageLevel); + this.pluginConfig = pluginConfig; + LOG.debug("Created DMaaP MR Receiver instance with plugin Config: {}", pluginConfig); + } + + @Override + public void onStart() { + + // create DMaaP MR Subscriber + final DMaaPMRSubscriber subscriber = + DMaaPMRFactory.create().createSubscriber(DMaaPSourceConfigMapper.map(pluginConfig)); + storeStructuredRecords(subscriber); + + } + + @Override + public void onStop() { + LOG.debug("Stopping DMaaP MR Receiver with plugin config: {}", pluginConfig); + } + + /** + * Fetches records from DMaaP MR Subscriber and store them as structured records + * + * @param subscriber DMaaP MR Subscriber Instance + */ + public void storeStructuredRecords(final DMaaPMRSubscriber subscriber) { + + LOG.debug("DMaaP MR Receiver start fetching messages from DMaaP MR Topic"); + + try (InputStream resourceAsStream = + Thread.currentThread().getContextClassLoader().getResourceAsStream(MOCK_MESSAGE_FILE_LOCATION)) { + + if (resourceAsStream == null) { + LOG.error("Unable to find file at location: {}", MOCK_MESSAGE_FILE_LOCATION); + throw new DCAEAnalyticsRuntimeException("Unable to find file", LOG, new FileNotFoundException()); + } + + List<EventListener> eventListeners = readValue(resourceAsStream, EVENT_LISTENER_TYPE_REFERENCE); + + final int totalMessageCount = eventListeners.size(); + LOG.debug("Mock message count to be written to cdap stream: ()", totalMessageCount); + + int i = 1; + for (EventListener eventListener : eventListeners) { + if (isStopped()) { + return; + } + final String eventListenerString = writeValueAsString(eventListener); + LOG.debug("=======>> Writing message to cdap stream no: {} of {}", i, totalMessageCount); + store(CDAPPluginUtils.createDMaaPMRResponseStructuredRecord(eventListenerString)); + i++; + try { + TimeUnit.MILLISECONDS.sleep(pluginConfig.getPollingInterval()); + } catch (InterruptedException e) { + LOG.error("Error while sleeping"); + throw new DCAEAnalyticsRuntimeException("Error while sleeping", LOG, e); + } + + } + + LOG.debug("Finished writing mock messages to CDAP Stream"); + + } catch (IOException e) { + LOG.error("Error while parsing json file"); + throw new DCAEAnalyticsRuntimeException("Error while parsing mock json file", LOG, e); + } + } + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java new file mode 100644 index 0000000..e0be12f --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSource.java @@ -0,0 +1,73 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Name; +import co.cask.cdap.api.annotation.Plugin; +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.streaming.StreamingContext; +import co.cask.cdap.etl.api.streaming.StreamingSource; +import org.apache.spark.storage.StorageLevel; +import org.apache.spark.streaming.api.java.JavaDStream; +import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * A mock implementation of DMaaP MR Receiver which sends mock ves messages + * <p> + * @author Rajiv Singla . Creation Date: 2/15/2017. + */ +@Plugin(type = StreamingSource.PLUGIN_TYPE) +@Name("MockDMaaPMRSource") +@Description("Fetches DMaaP MR Messages at regular intervals") +public class MockDMaaPMRSource extends StreamingSource<StructuredRecord> { + + private static final Logger LOG = LoggerFactory.getLogger(MockDMaaPMRSource.class); + private static final long serialVersionUID = 1L; + + private final DMaaPMRSourcePluginConfig pluginConfig; + + public MockDMaaPMRSource(final DMaaPMRSourcePluginConfig pluginConfig) { + LOG.debug("Creating DMaaP MR Source plugin with plugin Config: {}", pluginConfig); + this.pluginConfig = pluginConfig; + } + + @Override + public void configurePipeline(PipelineConfigurer pipelineConfigurer) { + final Integer pollingInterval = pluginConfig.getPollingInterval(); + if (pollingInterval == null) { + final String errorMessage = "Polling Interval field must be present"; + throw new CDAPSettingsException(errorMessage, LOG, new IllegalArgumentException(errorMessage)); + } else { + LOG.info("Mock Message will be send every ms: {}", pollingInterval); + } + } + + @Override + public JavaDStream<StructuredRecord> getStream(final StreamingContext streamingContext) throws Exception { + return streamingContext.getSparkStreamingContext().receiverStream( + new MockDMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), pluginConfig)); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java new file mode 100644 index 0000000..ae0d00a --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilter.java @@ -0,0 +1,134 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.transform.filter; + +import co.cask.cdap.api.annotation.Description; +import co.cask.cdap.api.annotation.Name; +import co.cask.cdap.api.annotation.Plugin; +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.Emitter; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.Transform; +import co.cask.cdap.etl.api.TransformContext; +import com.google.common.base.Splitter; +import com.google.common.collect.Maps; +import com.google.common.collect.Sets; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.JsonPathFilterPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.validator.JsonPathFilterPluginConfigValidator; +import org.openecomp.dcae.apod.analytics.common.service.filter.JsonMessageFilterProcessorContext; +import org.openecomp.dcae.apod.analytics.common.utils.MessageProcessorUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; +import java.util.Set; + +/** + * Json Path filter Plugin filters incoming schema field based of given json path expected values + * <p> + * @author Rajiv Singla . Creation Date: 3/2/2017. + */ + +@Plugin(type = Transform.PLUGIN_TYPE) +@Name("JsonPathFilter") +@Description("Filters incoming schema field based of given json path expected values") +public class JsonPathFilter extends Transform<StructuredRecord, StructuredRecord> { + + private static final Logger LOG = LoggerFactory.getLogger(JsonPathFilter.class); + + private final JsonPathFilterPluginConfig pluginConfig; + private final Map<String, Set<String>> jsonFilterPathMappings; + + public JsonPathFilter(final JsonPathFilterPluginConfig pluginConfig) { + this.pluginConfig = pluginConfig; + jsonFilterPathMappings = Maps.newHashMap(); + LOG.info("Created instance of Json Path Filter Plugin with plugin config: {}", pluginConfig); + } + + + @Override + public void initialize(final TransformContext context) throws Exception { + super.initialize(context); + populateJsonFilterMapping(); + } + + @Override + public void configurePipeline(final PipelineConfigurer pipelineConfigurer) { + super.configurePipeline(pipelineConfigurer); + ValidationUtils.validateSettings(pluginConfig, new JsonPathFilterPluginConfigValidator()); + final Schema inputSchema = pipelineConfigurer.getStageConfigurer().getInputSchema(); + CDAPPluginUtils.validateSchemaContainsFields(inputSchema, pluginConfig.getIncomingJsonFieldName()); + populateJsonFilterMapping(); + CDAPPluginUtils.setOutputSchema(pipelineConfigurer, pluginConfig.getSchema()); + } + + @Override + public void transform(final StructuredRecord inputStructuredRecord, final Emitter<StructuredRecord> emitter) + throws Exception { + + // get input json message + final String jsonMessage = inputStructuredRecord.get(pluginConfig.getIncomingJsonFieldName()); + + // process Json Filter Mappings + final JsonMessageFilterProcessorContext jsonMessageFilterProcessorContext = + MessageProcessorUtils.processJsonFilterMappings(jsonMessage, jsonFilterPathMappings); + + // create new output record builder and copy any input Structured record values to output record builder + final Schema outputSchema = Schema.parseJson(pluginConfig.getSchema()); + final StructuredRecord.Builder outputRecordBuilder = + CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputStructuredRecord); + + // add json filter matched field + final StructuredRecord.Builder outputRecordBuilderWithMatchedField = + CDAPPluginUtils.addFieldValueToStructuredRecordBuilder(outputRecordBuilder, + outputSchema, pluginConfig.getOutputSchemaFieldName(), + jsonMessageFilterProcessorContext.getMatched()); + + // emit structured record with filtering matched field + final StructuredRecord outputStructuredRecord = outputRecordBuilderWithMatchedField.build(); + + LOG.debug("Incoming Json Message: {}.Json Path Filter Output Matched Field: {}", jsonMessage, + outputStructuredRecord.get(pluginConfig.getOutputSchemaFieldName())); + + emitter.emit(outputStructuredRecord); + + } + + /** + * Populates Json Filter Mapping + */ + private void populateJsonFilterMapping() { + final Map<String, String> fieldMappings = + CDAPPluginUtils.extractFieldMappings(pluginConfig.getJsonFilterMappings()); + if (fieldMappings.isEmpty()) { + throw new IllegalArgumentException("No Field Mapping found. Invalid Filter mapping configuration"); + } + final Splitter semiColonSplitter = Splitter.on(";"); + for (Map.Entry<String, String> fieldMappingEntry : fieldMappings.entrySet()) { + jsonFilterPathMappings.put(fieldMappingEntry.getKey(), + Sets.newLinkedHashSet(semiColonSplitter.split(fieldMappingEntry.getValue()))); + } + LOG.info("Input Json Filter Mappings: {}", jsonFilterPathMappings); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java new file mode 100644 index 0000000..af191c5 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtils.java @@ -0,0 +1,295 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.utils; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.PipelineConfigurer; +import com.google.common.base.Function; +import com.google.common.base.Splitter; +import com.google.common.collect.Lists; +import com.google.common.collect.Maps; +import org.apache.commons.lang3.StringUtils; +import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap.DMaaPSourceOutputSchema; +import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException; +import org.openecomp.dcae.apod.analytics.model.util.AnalyticsModelJsonUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.IOException; +import java.util.Arrays; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; + +import javax.annotation.Nonnull; +import javax.annotation.Nullable; + +/** + * @author Rajiv Singla . Creation Date: 1/26/2017. + */ +public abstract class CDAPPluginUtils extends AnalyticsModelJsonUtils { + + private static final Logger LOG = LoggerFactory.getLogger(CDAPPluginUtils.class); + + public static final Function<Schema, Schema.Type> SCHEMA_TO_TYPE_FUNCTION = new Function<Schema, Schema.Type>() { + @Override + public Schema.Type apply(@Nonnull Schema schema) { + return schema.getType(); + } + }; + + + + private CDAPPluginUtils() { + // private constructor + } + + /** + * Validates if CDAP Schema contains expected fields + * + * @param schema schema that need to be validated + * @param expectedFields fields that are expected to be in the schema + */ + + public static void validateSchemaContainsFields(@Nullable final Schema schema, final String... expectedFields) { + + LOG.debug("Validating schema:{} contains expected fields:{}", schema, Arrays.toString(expectedFields)); + + if (schema == null) { + // If input schema is null then no validation possible + LOG.warn("Input Schema is null. No validation possible"); + } else { + // Check if expected fields are indeed present in the schema + for (String expectedField : expectedFields) { + final Schema.Field schemaField = schema.getField(expectedField); + if (schemaField == null) { + final String errorMessage = String.format( + "Unable to find expected field: %s, in schema: %s", expectedField, schema); + throw new CDAPSettingsException(errorMessage, LOG, new IllegalArgumentException(errorMessage)); + } + } + LOG.debug("Successfully validated schema:{}, contains expected fields:{}", schema, + Arrays.toString(expectedFields)); + } + } + + + /** + * Creates a new Structured Record containing DMaaP MR fetched message + * + * @param message DMaaP MR fetch message + * + * @return Structured record containing DMaaP MR Message + */ + public static StructuredRecord createDMaaPMRResponseStructuredRecord(final String message) { + StructuredRecord.Builder recordBuilder = StructuredRecord.builder(DMaaPSourceOutputSchema.getSchema()); + recordBuilder + .set(DMaaPSourceOutputSchema.TIMESTAMP.getSchemaColumnName(), System.nanoTime()) + .set(DMaaPSourceOutputSchema.RESPONSE_CODE.getSchemaColumnName(), 200) + .set(DMaaPSourceOutputSchema.RESPONSE_MESSAGE.getSchemaColumnName(), "OK") + .set(DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName(), message); + return recordBuilder.build(); + } + + + /** + * Creates output {@link StructuredRecord.Builder} which has copied values from input {@link StructuredRecord} + * + * @param outputSchema output Schema + * @param inputStructuredRecord input Structured Record + * + * @return output Structured Record builder with pre populated values from input structured record + */ + public static StructuredRecord.Builder createOutputStructuredRecordBuilder( + @Nonnull final Schema outputSchema, + @Nonnull final StructuredRecord inputStructuredRecord) { + + // Get input structured Record Schema + final Schema inputSchema = inputStructuredRecord.getSchema(); + // Create new instance of output Structured Record Builder from output Schema + final StructuredRecord.Builder outputStructuredRecordBuilder = StructuredRecord.builder(outputSchema); + + // iterate over input fields and if output schema has field with same name copy the value to out record builder + for (Schema.Field inputField : inputSchema.getFields()) { + final String inputFieldName = inputField.getName(); + if (outputSchema.getField(inputFieldName) != null) { + outputStructuredRecordBuilder.set(inputFieldName, inputStructuredRecord.get(inputFieldName)); + } + } + + return outputStructuredRecordBuilder; + } + + + /** + * Adds Field value to {@link StructuredRecord.Builder} if schema contains that field Name + * + * @param structuredRecordBuilder structured record builder + * @param structuredRecordSchema schema for structured record builder + * @param fieldName field name + * @param fieldValue field value + * + * @return structured record builder with populated field name and value if schema contains field name + */ + public static StructuredRecord.Builder addFieldValueToStructuredRecordBuilder( + @Nonnull final StructuredRecord.Builder structuredRecordBuilder, + @Nonnull final Schema structuredRecordSchema, + @Nonnull final String fieldName, + final Object fieldValue) { + + // check if schema contains field Name + if (structuredRecordSchema.getField(fieldName) != null) { + structuredRecordBuilder.set(fieldName, fieldValue); + } else { + LOG.info("Unable to populate value for field Name: {} with field value: {}. " + + "Schema Fields: {} does not contain field name: {}", + fieldName, fieldValue, structuredRecordSchema.getFields(), fieldName); + } + + return structuredRecordBuilder; + } + + + /** + * Validates that given schema String has fieldName of expected type. If field does not exist in given schema + * then validation will pass with warning. If field does exist in given schema then this validation will return + * true if field type is same as expected type else false + * + * @param schemaString CDAP Plugin output or input schema string + * @param fieldName field name + * @param expectedFieldType expected schema field type + * + * @return true if field type matches expected field type else false. If field does not exist in + * give schema validation will pass but will generate a warning message + */ + public static boolean validateSchemaFieldType(@Nonnull final String schemaString, + @Nonnull final String fieldName, + @Nonnull final Schema.Type expectedFieldType) { + + try { + // parse given schema String + final Schema outputSchema = Schema.parseJson(schemaString); + final Schema.Field schemaField = outputSchema.getField(fieldName); + + // if given schema does contain field then validated fieldName type + if (schemaField != null) { + + final List<Schema> schemas = new LinkedList<>(); + + // if it is a union type then grab all union schemas + if (outputSchema.getField(fieldName).getSchema().getType() == Schema.Type.UNION) { + final List<Schema> unionFieldSchemas = + outputSchema.getField(fieldName).getSchema().getUnionSchemas(); + schemas.addAll(unionFieldSchemas); + } else { + // if not union type the just get the field schema + final Schema fieldSchema = outputSchema.getField(fieldName).getSchema(); + schemas.add(fieldSchema); + } + + // get all schema types + final List<Schema.Type> fieldTypes = + Lists.transform(schemas, CDAPPluginUtils.SCHEMA_TO_TYPE_FUNCTION); + + // if all schema types does not contain expected field type then return false + if (!fieldTypes.contains(expectedFieldType)) { + LOG.error("Validation failed for fieldName: {} is NOT of expected Type: {} in schema: {}", + fieldName, expectedFieldType, outputSchema); + return false; + } + + // field type validation passed + LOG.debug("Successfully validated fieldName: {} is of expected Type: {}", + fieldName, expectedFieldType); + + return true; + + } else { + + // if field does not exist then the validation will pass but will generate warning message + LOG.warn("Validation of field type not possible. Field name: {} does not exist in schema: {}", + fieldName, outputSchema); + return true; + } + + } catch (IOException e) { + final String errorMessage = + String.format("Unable to parse schema: %s for field type validation. " + + "Field Name: %s, Expected Field Type: %s Exception: %s", + schemaString, fieldName, expectedFieldType, e); + throw new DCAEAnalyticsRuntimeException(errorMessage, LOG, e); + } + + } + + + /** + * Parses provided schema String as Schema object and set it as output Schema format + * + * @param pipelineConfigurer plugin pipeline configurer + * @param schemaString schema String to be set as output schema + */ + public static void setOutputSchema(final PipelineConfigurer pipelineConfigurer, final String schemaString) { + try { + final Schema outputSchema = Schema.parseJson(schemaString); + pipelineConfigurer.getStageConfigurer().setOutputSchema(outputSchema); + } catch (IOException e) { + final String errorMessage = String.format( + "Schema specified is not a valid JSON. Schema String: %s, Exception: %s", schemaString, e); + throw new CDAPSettingsException(errorMessage, LOG, new IllegalArgumentException(errorMessage)); + } + } + + + /** + * Parses incoming plugin config mapping to key value map. If any of the key value map is blank an Illegal Argument + * exception will be thrown + * + * @param mappingFieldString field Mapping String + * + * @return map containing mapping key values + */ + public static Map<String, String> extractFieldMappings(final String mappingFieldString) { + final Map<String, String> fieldMappings = Maps.newHashMap(); + if (StringUtils.isNotBlank(mappingFieldString)) { + final Splitter commaSplitter = Splitter.on(","); + for (String fieldMapping : commaSplitter.split(mappingFieldString)) { + final String[] keyValueMappings = fieldMapping.split(":"); + if (keyValueMappings.length != 2 || + StringUtils.isBlank(keyValueMappings[0]) || + StringUtils.isBlank(keyValueMappings[1])) { + final String errorMessage = "Field Mapping key or value is Blank. All field mappings must " + + "be present in mappings: " + mappingFieldString; + throw new DCAEAnalyticsRuntimeException( + errorMessage, LOG, new IllegalArgumentException(errorMessage)); + } + fieldMappings.put(keyValueMappings[0].trim(), keyValueMappings[1].trim()); + } + } + return fieldMappings; + } + + + + +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java new file mode 100644 index 0000000..ebe7d49 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapper.java @@ -0,0 +1,112 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.utils; + +import com.google.common.base.Function; +import org.apache.hadoop.conf.Configuration; +import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields; +import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig; + +import javax.annotation.Nonnull; + +import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty; +import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isPresent; + +/** + * Function that converts {@link Configuration} to {@link DMaaPMRPublisherConfig} + * <p> + * @author Rajiv Singla . Creation Date: 1/26/2017. + */ +public class DMaaPSinkConfigMapper implements Function<Configuration, DMaaPMRPublisherConfig> { + + /** + * Static method to map {@link Configuration} to {@link DMaaPMRPublisherConfig} + * + * @param sinkPluginConfig DMaaP Sink Plugin Config + * + * @return DMaaP MR Publisher Config + */ + public static DMaaPMRPublisherConfig map(final Configuration sinkPluginConfig) { + return new DMaaPSinkConfigMapper().apply(sinkPluginConfig); + } + + /** + * Converts {@link Configuration} to {@link DMaaPMRPublisherConfig} + * + * @param configuration Hadoop Configuration containing DMaaP MR Sink field values + * + * @return DMaaP MR Publisher Config + */ + @Nonnull + @Override + public DMaaPMRPublisherConfig apply(@Nonnull Configuration configuration) { + + // Create a new publisher settings builder + final String hostName = configuration.get(DMaaPMRSinkHadoopConfigFields.HOST_NAME); + final String topicName = configuration.get(DMaaPMRSinkHadoopConfigFields.TOPIC_NAME); + + if (isEmpty(hostName) || isEmpty(topicName)) { + throw new IllegalStateException("DMaaP MR Sink Host Name and Topic Name must be present"); + } + + final DMaaPMRPublisherConfig.Builder publisherConfigBuilder = + new DMaaPMRPublisherConfig.Builder(hostName, topicName); + + // Setup up any optional publisher parameters if they are present + final String portNumber = configuration.get(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER); + if (portNumber != null) { + publisherConfigBuilder.setPortNumber(Integer.parseInt(portNumber)); + } + + final String protocol = configuration.get(DMaaPMRSinkHadoopConfigFields.PROTOCOL); + if (isPresent(protocol)) { + publisherConfigBuilder.setProtocol(protocol); + } + + final String userName = configuration.get(DMaaPMRSinkHadoopConfigFields.USER_NAME); + if (isPresent(userName)) { + publisherConfigBuilder.setUserName(userName); + } + + final String userPassword = configuration.get(DMaaPMRSinkHadoopConfigFields.USER_PASS); + if (isPresent(userPassword)) { + publisherConfigBuilder.setUserPassword(userPassword); + } + + final String contentType = configuration.get(DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE); + if (isPresent(contentType)) { + publisherConfigBuilder.setContentType(contentType); + } + + final String maxBatchSize = configuration.get(DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE); + if (maxBatchSize != null) { + publisherConfigBuilder.setMaxBatchSize(Integer.parseInt(maxBatchSize)); + } + + final String maxRecoveryQueueSize = configuration.get(DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE); + if (maxRecoveryQueueSize != null) { + publisherConfigBuilder.setMaxRecoveryQueueSize(Integer.parseInt(maxRecoveryQueueSize)); + } + + return publisherConfigBuilder.build(); + + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java new file mode 100644 index 0000000..8717632 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapper.java @@ -0,0 +1,118 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.utils; + +import com.google.common.base.Function; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig; + +import javax.annotation.Nonnull; + +import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isEmpty; +import static org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils.isPresent; + +/** + * Function that converts {@link DMaaPMRSourcePluginConfig} to {@link DMaaPMRSubscriberConfig} + * <p> + * @author Rajiv Singla . Creation Date: 1/18/2017. + */ +public class DMaaPSourceConfigMapper implements Function<DMaaPMRSourcePluginConfig, DMaaPMRSubscriberConfig> { + + /** + * Static factory method to map {@link DMaaPMRSourcePluginConfig} to {@link DMaaPMRSubscriberConfig} + * + * @param pluginConfig DMaaP MR Souce Plugin Config + * + * @return DMaaP MR Subscriber Config + */ + public static DMaaPMRSubscriberConfig map(final DMaaPMRSourcePluginConfig pluginConfig) { + return new DMaaPSourceConfigMapper().apply(pluginConfig); + } + + /** + * Converts {@link DMaaPMRSourcePluginConfig} to {@link DMaaPMRSubscriberConfig} object + * + * @param sourcePluginConfig DMaaP MR Source Plugin Config + * + * @return DMaaP MR Subscriber Config + */ + @Nonnull + @Override + public DMaaPMRSubscriberConfig apply(@Nonnull DMaaPMRSourcePluginConfig sourcePluginConfig) { + + // Create a new subscriber settings builder + final String hostName = sourcePluginConfig.getHostName(); + final String topicName = sourcePluginConfig.getTopicName(); + if (isEmpty(hostName) || isEmpty(topicName)) { + throw new IllegalStateException("DMaaP MR Source Host Name and Topic Name must be present"); + } + final DMaaPMRSubscriberConfig.Builder subscriberConfigBuilder = new DMaaPMRSubscriberConfig.Builder( + hostName, topicName); + + // Setup up any optional subscriber parameters if they are present + final Integer subscriberHostPortNumber = sourcePluginConfig.getPortNumber(); + if (subscriberHostPortNumber != null) { + subscriberConfigBuilder.setPortNumber(subscriberHostPortNumber); + } + + final String subscriberProtocol = sourcePluginConfig.getProtocol(); + if (isPresent(subscriberProtocol)) { + subscriberConfigBuilder.setProtocol(subscriberProtocol); + } + + final String subscriberUserName = sourcePluginConfig.getUserName(); + if (isPresent(subscriberUserName)) { + subscriberConfigBuilder.setUserName(subscriberUserName); + } + + final String subscriberUserPassword = sourcePluginConfig.getUserPassword(); + if (isPresent(subscriberUserPassword)) { + subscriberConfigBuilder.setUserPassword(subscriberUserPassword); + } + + final String subscriberContentType = sourcePluginConfig.getContentType(); + if (isPresent(subscriberContentType)) { + subscriberConfigBuilder.setContentType(subscriberContentType); + } + + final String subscriberConsumerId = sourcePluginConfig.getConsumerId(); + if (isPresent(subscriberConsumerId)) { + subscriberConfigBuilder.setConsumerId(subscriberConsumerId); + } + + final String subscriberConsumerGroup = sourcePluginConfig.getConsumerGroup(); + if (isPresent(subscriberConsumerGroup)) { + subscriberConfigBuilder.setConsumerGroup(subscriberConsumerGroup); + } + + final Integer subscriberTimeoutMS = sourcePluginConfig.getTimeoutMS(); + if (subscriberTimeoutMS != null) { + subscriberConfigBuilder.setTimeoutMS(subscriberTimeoutMS); + } + final Integer subscriberMessageLimit = sourcePluginConfig.getMessageLimit(); + if (subscriberMessageLimit != null) { + subscriberConfigBuilder.setMessageLimit(subscriberMessageLimit); + } + + // return Subscriber config + return subscriberConfigBuilder.build(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java new file mode 100644 index 0000000..e24f940 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/BaseDMaaPMRPluginConfigValidator.java @@ -0,0 +1,72 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.BaseDMaaPMRPluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +/** + * Validates plugin config values which are common in DMaaP MR Configs - {@link BaseDMaaPMRPluginConfig} + * <p> + * @author Rajiv Singla . Creation Date: 1/23/2017. + * + * @param <T> {@link BaseDMaaPMRPluginConfig} Sub classes + */ +public abstract class BaseDMaaPMRPluginConfigValidator<T extends BaseDMaaPMRPluginConfig> implements + CDAPAppSettingsValidator<T, GenericValidationResponse<T>> { + + private static final long serialVersionUID = 1L; + + /** + * Validates the {@link BaseDMaaPMRPluginConfig} parameters + * + * @param baseDMaaPMRPluginConfig DMaaP MR Plugin Config + * + * @return Validation Response containing validation errors if any + */ + @Override + public GenericValidationResponse<T> validateAppSettings(final T baseDMaaPMRPluginConfig) { + + final GenericValidationResponse<T> validationResponse = new GenericValidationResponse<>(); + + if (ValidationUtils.isEmpty(baseDMaaPMRPluginConfig.getHostName())) { + validationResponse.addErrorMessage( + "hostName", + "DMaaPMRPluginConfig - hostname field is undefined: " + baseDMaaPMRPluginConfig); + } + + if (baseDMaaPMRPluginConfig.getPortNumber() == null) { + validationResponse.addErrorMessage( + "port Number", + "DMaaPMRPluginConfig - host port number field is undefined: " + baseDMaaPMRPluginConfig); + } + + if (ValidationUtils.isEmpty(baseDMaaPMRPluginConfig.getTopicName())) { + validationResponse.addErrorMessage( + "topic Name", + "DMaaPMRSourcePluginConfig - topic name field is undefined: " + baseDMaaPMRPluginConfig); + } + + return validationResponse; + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java new file mode 100644 index 0000000..b01f0b4 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidator.java @@ -0,0 +1,58 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +/** + * Validates plugin config values in {@link DMaaPMRSinkPluginConfig} + * <p> + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMRSinkPluginConfigValidator extends BaseDMaaPMRPluginConfigValidator<DMaaPMRSinkPluginConfig> { + + private static final long serialVersionUID = 1L; + + /** + * Validates plugin config values in {@link DMaaPMRSinkPluginConfig} + * + * @param sinkPluginConfig Sink Plugin Config + * + * @return Validation response containing validation errors if any + */ + @Override + public GenericValidationResponse<DMaaPMRSinkPluginConfig> validateAppSettings( + final DMaaPMRSinkPluginConfig sinkPluginConfig) { + + // validate settings in BaseDMaaPMRPluginConfig + final GenericValidationResponse<DMaaPMRSinkPluginConfig> validationResponse = + super.validateAppSettings(sinkPluginConfig); + + if (ValidationUtils.isEmpty(sinkPluginConfig.getMessageColumnName())) { + validationResponse.addErrorMessage("messageColumn Name", + "DMaaPMRSinkPluginConfig - message column name field is undefined: " + sinkPluginConfig); + } + + return validationResponse; + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java new file mode 100644 index 0000000..56a658c --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidator.java @@ -0,0 +1,58 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +/** + * Validates plugin config values in {@link DMaaPMRSourcePluginConfig} + * <p> + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMRSourcePluginConfigValidator extends BaseDMaaPMRPluginConfigValidator<DMaaPMRSourcePluginConfig> { + + private static final long serialVersionUID = 1L; + + /** + * Validates plugin config values in {@link DMaaPMRSourcePluginConfig} + * + * @param sourcePluginConfig Source Plugin Config + * + * @return Validation response containing validation errors if any + */ + @Override + public GenericValidationResponse<DMaaPMRSourcePluginConfig> validateAppSettings( + final DMaaPMRSourcePluginConfig sourcePluginConfig) { + + // validate settings in BaseDMaaPMRPluginConfig + final GenericValidationResponse<DMaaPMRSourcePluginConfig> validationResponse = + super.validateAppSettings(sourcePluginConfig); + + if (sourcePluginConfig.getPollingInterval() == null) { + validationResponse.addErrorMessage( + "port Number", + "DMaaPMRSourcePluginConfig - polling interval is undefined: " + sourcePluginConfig); + } + + return validationResponse; + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java new file mode 100644 index 0000000..ff2f18b --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidator.java @@ -0,0 +1,83 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import co.cask.cdap.api.data.schema.Schema; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.JsonPathFilterPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +/** + * Validator to validate {@link JsonPathFilterPluginConfig} + * <p> + * @author Rajiv Singla . Creation Date: 3/2/2017. + */ +public class JsonPathFilterPluginConfigValidator implements CDAPAppSettingsValidator<JsonPathFilterPluginConfig, + GenericValidationResponse<JsonPathFilterPluginConfig>> { + + private static final long serialVersionUID = 1L; + + @Override + public GenericValidationResponse<JsonPathFilterPluginConfig> validateAppSettings( + final JsonPathFilterPluginConfig jsonPathFilterPluginConfig) { + + final GenericValidationResponse<JsonPathFilterPluginConfig> validationResponse = + new GenericValidationResponse<>(); + + final String jsonFilterMappings = jsonPathFilterPluginConfig.getJsonFilterMappings(); + if (ValidationUtils.isEmpty(jsonFilterMappings)) { + + validationResponse.addErrorMessage("JsonFilterMappings", "Json Filter Mappings must be present"); + } + + + final String matchedField = jsonPathFilterPluginConfig.getOutputSchemaFieldName(); + final String outputSchemaJson = jsonPathFilterPluginConfig.getSchema(); + + if (ValidationUtils.isEmpty(outputSchemaJson)) { + + validationResponse.addErrorMessage("output schema", "Output schema is not present"); + + } else { + + // validate matched output field type is boolean + if (matchedField != null && + !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, matchedField, Schema.Type.BOOLEAN)) { + validationResponse.addErrorMessage("OutputSchemaFieldName", + String.format( + "OutputSchemaFieldName: %s must be marked as boolean type", matchedField)); + } + + // validate matched output field type is nullable + if (matchedField != null && + !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, matchedField, Schema.Type.NULL)) { + validationResponse.addErrorMessage("OutputSchemaFieldName", + String.format( + "OutputSchemaFieldName: %s must be marked as nullable type", matchedField)); + } + + } + + return validationResponse; + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java new file mode 100644 index 0000000..e0942ff --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidator.java @@ -0,0 +1,91 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import co.cask.cdap.api.data.schema.Schema; +import org.openecomp.dcae.apod.analytics.cdap.common.utils.ValidationUtils; +import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.utils.CDAPPluginUtils; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +/** + * Validator that validate {@link SimpleTCAPluginConfig} + * <p> + * @author Rajiv Singla . Creation Date: 2/21/2017. + */ +public class SimpleTCAPluginConfigValidator implements CDAPAppSettingsValidator<SimpleTCAPluginConfig, + GenericValidationResponse<SimpleTCAPluginConfig>> { + + private static final long serialVersionUID = 1L; + + @Override + public GenericValidationResponse<SimpleTCAPluginConfig> validateAppSettings( + final SimpleTCAPluginConfig tcaPluginConfig) { + + final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse = new GenericValidationResponse<>(); + + if (ValidationUtils.isEmpty(tcaPluginConfig.getVesMessageFieldName())) { + validationResponse.addErrorMessage("vesMessageFieldName", + "Missing VES Message Field Name from plugin incoming schema"); + } + + if (ValidationUtils.isEmpty(tcaPluginConfig.getPolicyJson())) { + validationResponse.addErrorMessage("policyJson", + "Missing tca Policy Json"); + } + + final String alertFieldValue = tcaPluginConfig.getAlertFieldName(); + final String alertFieldName = "alertFieldName"; + if (ValidationUtils.isEmpty(alertFieldValue)) { + validationResponse.addErrorMessage(alertFieldName, + "Missing alert Field Name that will be placed in plugin outgoing schema"); + } + + if (ValidationUtils.isEmpty(tcaPluginConfig.getMessageTypeFieldName())) { + validationResponse.addErrorMessage("messageTypeField", + "Missing message Type Field Name that will be placed in plugin outgoing schema"); + } + + + final String outputSchemaJson = tcaPluginConfig.getSchema(); + if (ValidationUtils.isEmpty(outputSchemaJson)) { + validationResponse.addErrorMessage("output schema", "Output schema is not present"); + } else { + // validate output schema - alert field name is of type string + if (alertFieldValue != null && + !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, alertFieldValue, Schema.Type.STRING)) { + validationResponse.addErrorMessage(alertFieldName, + String.format( + "Alert Field Name: %s must be String type", alertFieldValue)); + } + // validate output schema - alert field name is nullable + if (alertFieldValue != null && + !CDAPPluginUtils.validateSchemaFieldType(outputSchemaJson, alertFieldValue, Schema.Type.NULL)) { + validationResponse.addErrorMessage(alertFieldName, + String.format( + "Alert Field Name: %s must be marked as nullable type", alertFieldValue)); + } + } + + return validationResponse; + } +} diff --git a/dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json b/dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json new file mode 100644 index 0000000..bc7a924 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/main/resources/ves_mock_messages.json @@ -0,0 +1,12952 @@ +[ + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6086, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 93, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070210290442, + "eventId": "375", + "lastEpochMicrosec": 1477070220290442, + "priority": "Normal", + "sequence": 375, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5403, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4530, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070260383311, + "eventId": "380", + "lastEpochMicrosec": 1477070270383311, + "priority": "Normal", + "sequence": 380, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3972, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5316, + "packetsIn": 56, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070290441950, + "eventId": "383", + "lastEpochMicrosec": 1477070300441950, + "priority": "Normal", + "sequence": 383, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4761, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5528, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070380597960, + "eventId": "392", + "lastEpochMicrosec": 1477070390597960, + "priority": "Normal", + "sequence": 392, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5828, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5222, + "packetsIn": 89, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070390615151, + "eventId": "393", + "lastEpochMicrosec": 1477070400615151, + "priority": "Normal", + "sequence": 393, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3834, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4334, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070701189940, + "eventId": "424", + "lastEpochMicrosec": 1477070711189940, + "priority": "Normal", + "sequence": 424, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3892, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4400, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070851466814, + "eventId": "439", + "lastEpochMicrosec": 1477070861466814, + "priority": "Normal", + "sequence": 439, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5948, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5215, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070931613946, + "eventId": "447", + "lastEpochMicrosec": 1477070941613946, + "priority": "Normal", + "sequence": 447, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4324, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5436, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070971689950, + "eventId": "451", + "lastEpochMicrosec": 1477070981689950, + "priority": "Normal", + "sequence": 451, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5918, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 5668, + "packetsIn": 91, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070991724150, + "eventId": "453", + "lastEpochMicrosec": 1477071001724150, + "priority": "Normal", + "sequence": 453, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4200, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5192, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071081905713, + "eventId": "462", + "lastEpochMicrosec": 1477071091905713, + "priority": "Normal", + "sequence": 462, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4490, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 36, + "bytesOut": 5920, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071262221510, + "eventId": "480", + "lastEpochMicrosec": 1477071272221510, + "priority": "Normal", + "sequence": 480, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 25940, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 157, + "bytesOut": 27474, + "packetsIn": 303, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071412476618, + "eventId": "495", + "lastEpochMicrosec": 1477071422476618, + "priority": "Normal", + "sequence": 495, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7160, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5418, + "packetsIn": 112, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071532712315, + "eventId": "507", + "lastEpochMicrosec": 1477071542712315, + "priority": "Normal", + "sequence": 507, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5563, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4192, + "packetsIn": 81, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071582806156, + "eventId": "512", + "lastEpochMicrosec": 1477071592806156, + "priority": "Normal", + "sequence": 512, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4988, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5218, + "packetsIn": 77, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071592825964, + "eventId": "513", + "lastEpochMicrosec": 1477071602825964, + "priority": "Normal", + "sequence": 513, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 9123, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 53, + "bytesOut": 8412, + "packetsIn": 127, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071642920935, + "eventId": "518", + "lastEpochMicrosec": 1477071652920935, + "priority": "Normal", + "sequence": 518, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 18442, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 112, + "bytesOut": 19404, + "packetsIn": 218, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071733101176, + "eventId": "527", + "lastEpochMicrosec": 1477071743101176, + "priority": "Normal", + "sequence": 527, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5216, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5130, + "packetsIn": 80, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071743125902, + "eventId": "528", + "lastEpochMicrosec": 1477071753125902, + "priority": "Normal", + "sequence": 528, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5870, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 36, + "bytesOut": 6716, + "packetsIn": 91, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071903446337, + "eventId": "544", + "lastEpochMicrosec": 1477071913446337, + "priority": "Normal", + "sequence": 544, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 35138, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 220, + "bytesOut": 47818, + "packetsIn": 407, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071953549981, + "eventId": "549", + "lastEpochMicrosec": 1477071963549981, + "priority": "Normal", + "sequence": 549, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 63510, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 398, + "bytesOut": 71038, + "packetsIn": 703, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071963565170, + "eventId": "550", + "lastEpochMicrosec": 1477071973565170, + "priority": "Normal", + "sequence": 550, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4250, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5060, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072103847337, + "eventId": "564", + "lastEpochMicrosec": 1477072113847337, + "priority": "Normal", + "sequence": 564, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3344, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4138, + "packetsIn": 49, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072163977616, + "eventId": "570", + "lastEpochMicrosec": 1477072173977616, + "priority": "Normal", + "sequence": 570, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4190, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5032, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072194037594, + "eventId": "573", + "lastEpochMicrosec": 1477072204037594, + "priority": "Normal", + "sequence": 573, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4102, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5418, + "packetsIn": 54, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072234105966, + "eventId": "577", + "lastEpochMicrosec": 1477072244105966, + "priority": "Normal", + "sequence": 577, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4040, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5410, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072284197410, + "eventId": "582", + "lastEpochMicrosec": 1477072294197410, + "priority": "Normal", + "sequence": 582, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4348, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5556, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072294217952, + "eventId": "583", + "lastEpochMicrosec": 1477072304217952, + "priority": "Normal", + "sequence": 583, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4820, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5402, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072354321794, + "eventId": "589", + "lastEpochMicrosec": 1477072364321794, + "priority": "Normal", + "sequence": 589, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5006, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 73, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072454499759, + "eventId": "599", + "lastEpochMicrosec": 1477072464499759, + "priority": "Normal", + "sequence": 599, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4964, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 5834, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072494602015, + "eventId": "603", + "lastEpochMicrosec": 1477072504602015, + "priority": "Normal", + "sequence": 603, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5330, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7420, + "packetsIn": 80, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072634866475, + "eventId": "617", + "lastEpochMicrosec": 1477072644866475, + "priority": "Normal", + "sequence": 617, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5330, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7420, + "packetsIn": 80, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072745069203, + "eventId": "628", + "lastEpochMicrosec": 1477072755069203, + "priority": "Normal", + "sequence": 628, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 263112, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 1165, + "bytesOut": 337182, + "packetsIn": 2570, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072805174346, + "eventId": "634", + "lastEpochMicrosec": 1477072815174346, + "priority": "Normal", + "sequence": 634, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 11212, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4232, + "packetsIn": 176, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072835250994, + "eventId": "637", + "lastEpochMicrosec": 1477072845250994, + "priority": "Normal", + "sequence": 637, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6375, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5516, + "packetsIn": 94, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072845276414, + "eventId": "638", + "lastEpochMicrosec": 1477072855276414, + "priority": "Normal", + "sequence": 638, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3492, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5252, + "packetsIn": 50, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072995553968, + "eventId": "653", + "lastEpochMicrosec": 1477073005553968, + "priority": "Normal", + "sequence": 653, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4256, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5407, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073095741898, + "eventId": "663", + "lastEpochMicrosec": 1477073105741898, + "priority": "Normal", + "sequence": 663, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4280, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4866, + "packetsIn": 56, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073195929121, + "eventId": "673", + "lastEpochMicrosec": 1477073205929121, + "priority": "Normal", + "sequence": 673, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4076, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5126, + "packetsIn": 61, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073286097936, + "eventId": "682", + "lastEpochMicrosec": 1477073296097936, + "priority": "Normal", + "sequence": 682, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5054, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6600, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073366234417, + "eventId": "690", + "lastEpochMicrosec": 1477073376234417, + "priority": "Normal", + "sequence": 690, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5186, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7220, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073426339606, + "eventId": "696", + "lastEpochMicrosec": 1477073436339606, + "priority": "Normal", + "sequence": 696, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4568, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 39, + "bytesOut": 6606, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073556577962, + "eventId": "709", + "lastEpochMicrosec": 1477073566577962, + "priority": "Normal", + "sequence": 709, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4472, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5630, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073606669965, + "eventId": "714", + "lastEpochMicrosec": 1477073616669965, + "priority": "Normal", + "sequence": 714, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3554, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5192, + "packetsIn": 52, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073666794004, + "eventId": "720", + "lastEpochMicrosec": 1477073676794004, + "priority": "Normal", + "sequence": 720, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4682, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6540, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070300458069, + "eventId": "384", + "lastEpochMicrosec": 1477070310458069, + "priority": "Normal", + "sequence": 384, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4470, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 43, + "bytesOut": 7250, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070350545310, + "eventId": "389", + "lastEpochMicrosec": 1477070360545310, + "priority": "Normal", + "sequence": 389, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5864, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 45, + "bytesOut": 7318, + "packetsIn": 88, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070450716636, + "eventId": "399", + "lastEpochMicrosec": 1477070460716636, + "priority": "Normal", + "sequence": 399, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3558, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5362, + "packetsIn": 51, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070470756168, + "eventId": "401", + "lastEpochMicrosec": 1477070480756168, + "priority": "Normal", + "sequence": 401, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5022, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 45, + "bytesOut": 7382, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070530883239, + "eventId": "407", + "lastEpochMicrosec": 1477070540883239, + "priority": "Normal", + "sequence": 407, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4816, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5344, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070611026436, + "eventId": "415", + "lastEpochMicrosec": 1477070621026436, + "priority": "Normal", + "sequence": 415, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 8898, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 63, + "bytesOut": 9201, + "packetsIn": 113, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070831428780, + "eventId": "437", + "lastEpochMicrosec": 1477070841428780, + "priority": "Normal", + "sequence": 437, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3836, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4162, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070941633936, + "eventId": "448", + "lastEpochMicrosec": 1477070951633936, + "priority": "Normal", + "sequence": 448, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3248, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 4546, + "packetsIn": 47, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071071883807, + "eventId": "461", + "lastEpochMicrosec": 1477071081883807, + "priority": "Normal", + "sequence": 461, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5006, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5286, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071172066272, + "eventId": "471", + "lastEpochMicrosec": 1477071182066272, + "priority": "Normal", + "sequence": 471, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5438, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 6084, + "packetsIn": 83, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071182086282, + "eventId": "472", + "lastEpochMicrosec": 1477071192086282, + "priority": "Normal", + "sequence": 472, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 14114, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 92, + "bytesOut": 16060, + "packetsIn": 172, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071382426114, + "eventId": "492", + "lastEpochMicrosec": 1477071392426114, + "priority": "Normal", + "sequence": 492, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5617, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5427, + "packetsIn": 86, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071542733962, + "eventId": "508", + "lastEpochMicrosec": 1477071552733962, + "priority": "Normal", + "sequence": 508, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4448, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 4538, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071682993575, + "eventId": "522", + "lastEpochMicrosec": 1477071692993575, + "priority": "Normal", + "sequence": 522, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6113, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5298, + "packetsIn": 87, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071703031027, + "eventId": "524", + "lastEpochMicrosec": 1477071713031027, + "priority": "Normal", + "sequence": 524, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5542, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5434, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071813273088, + "eventId": "535", + "lastEpochMicrosec": 1477071823273088, + "priority": "Normal", + "sequence": 535, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 34574, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 214, + "bytesOut": 47040, + "packetsIn": 395, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072023686281, + "eventId": "556", + "lastEpochMicrosec": 1477072033686281, + "priority": "Normal", + "sequence": 556, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 2798, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4028, + "packetsIn": 40, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072093829958, + "eventId": "563", + "lastEpochMicrosec": 1477072103829958, + "priority": "Normal", + "sequence": 563, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3446, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5536, + "packetsIn": 50, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072153957985, + "eventId": "569", + "lastEpochMicrosec": 1477072163957985, + "priority": "Normal", + "sequence": 569, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4190, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 36, + "bytesOut": 6760, + "packetsIn": 62, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072204053021, + "eventId": "574", + "lastEpochMicrosec": 1477072214053021, + "priority": "Normal", + "sequence": 574, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5939, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4522, + "packetsIn": 85, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072244123508, + "eventId": "578", + "lastEpochMicrosec": 1477072254123508, + "priority": "Normal", + "sequence": 578, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4022, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4584, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072464518421, + "eventId": "600", + "lastEpochMicrosec": 1477072474518421, + "priority": "Normal", + "sequence": 600, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3692, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 21, + "bytesOut": 3918, + "packetsIn": 47, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072654900903, + "eventId": "619", + "lastEpochMicrosec": 1477072664900903, + "priority": "Normal", + "sequence": 619, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5006, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5728, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072704996775, + "eventId": "624", + "lastEpochMicrosec": 1477072714996775, + "priority": "Normal", + "sequence": 624, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3836, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 5036, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072925428340, + "eventId": "646", + "lastEpochMicrosec": 1477072935428340, + "priority": "Normal", + "sequence": 646, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4040, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5382, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072985535172, + "eventId": "652", + "lastEpochMicrosec": 1477072995535172, + "priority": "Normal", + "sequence": 652, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4694, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5316, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073075701224, + "eventId": "661", + "lastEpochMicrosec": 1477073085701224, + "priority": "Normal", + "sequence": 661, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5066, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7120, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073105759457, + "eventId": "664", + "lastEpochMicrosec": 1477073115759457, + "priority": "Normal", + "sequence": 664, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5510, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7421, + "packetsIn": 83, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073155858608, + "eventId": "669", + "lastEpochMicrosec": 1477073165858608, + "priority": "Normal", + "sequence": 669, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4146, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5214, + "packetsIn": 61, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073416320492, + "eventId": "695", + "lastEpochMicrosec": 1477073426320492, + "priority": "Normal", + "sequence": 695, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5610, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 44, + "bytesOut": 7392, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073436360527, + "eventId": "697", + "lastEpochMicrosec": 1477073446360527, + "priority": "Normal", + "sequence": 697, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6777, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5276, + "packetsIn": 101, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073506489807, + "eventId": "704", + "lastEpochMicrosec": 1477073516489807, + "priority": "Normal", + "sequence": 704, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4898, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 6005, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073516505974, + "eventId": "705", + "lastEpochMicrosec": 1477073526505974, + "priority": "Normal", + "sequence": 705, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3902, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5120, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073656765261, + "eventId": "719", + "lastEpochMicrosec": 1477073666765261, + "priority": "Normal", + "sequence": 719, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7185, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 37, + "bytesOut": 6488, + "packetsIn": 108, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073686831588, + "eventId": "722", + "lastEpochMicrosec": 1477073696831588, + "priority": "Normal", + "sequence": 722, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4778, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5084, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070240346627, + "eventId": "378", + "lastEpochMicrosec": 1477070250346627, + "priority": "Normal", + "sequence": 378, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5318, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4864, + "packetsIn": 82, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070270398947, + "eventId": "381", + "lastEpochMicrosec": 1477070280398947, + "priority": "Normal", + "sequence": 381, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5079, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5266, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070440700538, + "eventId": "398", + "lastEpochMicrosec": 1477070450700538, + "priority": "Normal", + "sequence": 398, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3866, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 3980, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070601009676, + "eventId": "414", + "lastEpochMicrosec": 1477070611009676, + "priority": "Normal", + "sequence": 414, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 10154, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 43, + "bytesOut": 7884, + "packetsIn": 99, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070751281687, + "eventId": "429", + "lastEpochMicrosec": 1477070761281687, + "priority": "Normal", + "sequence": 429, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7970, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5427, + "packetsIn": 128, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070781332864, + "eventId": "432", + "lastEpochMicrosec": 1477070791332864, + "priority": "Normal", + "sequence": 432, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6052, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7480, + "packetsIn": 82, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070891536182, + "eventId": "443", + "lastEpochMicrosec": 1477070901536182, + "priority": "Normal", + "sequence": 443, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5080, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 44, + "bytesOut": 7288, + "packetsIn": 69, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071031806592, + "eventId": "457", + "lastEpochMicrosec": 1477071041806592, + "priority": "Normal", + "sequence": 457, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4777, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4122, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071041825555, + "eventId": "458", + "lastEpochMicrosec": 1477071051825555, + "priority": "Normal", + "sequence": 458, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4736, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4302, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071111957977, + "eventId": "465", + "lastEpochMicrosec": 1477071121957977, + "priority": "Normal", + "sequence": 465, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6283, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 5272, + "packetsIn": 89, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071162050981, + "eventId": "470", + "lastEpochMicrosec": 1477071172050981, + "priority": "Normal", + "sequence": 470, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5010, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 43, + "bytesOut": 7250, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071192103048, + "eventId": "473", + "lastEpochMicrosec": 1477071202103048, + "priority": "Normal", + "sequence": 473, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3360, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5112, + "packetsIn": 48, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071252204852, + "eventId": "479", + "lastEpochMicrosec": 1477071262204852, + "priority": "Normal", + "sequence": 479, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3912, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5324, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071312304729, + "eventId": "485", + "lastEpochMicrosec": 1477071322304729, + "priority": "Normal", + "sequence": 485, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4568, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5294, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071352377904, + "eventId": "489", + "lastEpochMicrosec": 1477071362377904, + "priority": "Normal", + "sequence": 489, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 26549, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 158, + "bytesOut": 28258, + "packetsIn": 311, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071402460522, + "eventId": "494", + "lastEpochMicrosec": 1477071412460522, + "priority": "Normal", + "sequence": 494, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5329, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4270, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071462573938, + "eventId": "500", + "lastEpochMicrosec": 1477071472573938, + "priority": "Normal", + "sequence": 500, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6232, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7420, + "packetsIn": 86, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071572787941, + "eventId": "511", + "lastEpochMicrosec": 1477071582787941, + "priority": "Normal", + "sequence": 511, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4532, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 20, + "bytesOut": 3809, + "packetsIn": 69, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071662956095, + "eventId": "520", + "lastEpochMicrosec": 1477071672956095, + "priority": "Normal", + "sequence": 520, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4520, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5490, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071672977950, + "eventId": "521", + "lastEpochMicrosec": 1477071682977950, + "priority": "Normal", + "sequence": 521, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5002, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 4734, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071693013688, + "eventId": "523", + "lastEpochMicrosec": 1477071703013688, + "priority": "Normal", + "sequence": 523, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5516, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 5023, + "packetsIn": 85, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071893429573, + "eventId": "543", + "lastEpochMicrosec": 1477071903429573, + "priority": "Normal", + "sequence": 543, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 18644, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 120, + "bytesOut": 20884, + "packetsIn": 230, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071923478914, + "eventId": "546", + "lastEpochMicrosec": 1477071933478914, + "priority": "Normal", + "sequence": 546, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4914, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5640, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071983602387, + "eventId": "552", + "lastEpochMicrosec": 1477071993602387, + "priority": "Normal", + "sequence": 552, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 8506, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 60, + "bytesOut": 11100, + "packetsIn": 110, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071993632316, + "eventId": "553", + "lastEpochMicrosec": 1477072003632316, + "priority": "Normal", + "sequence": 553, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 17750, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 120, + "bytesOut": 25832, + "packetsIn": 215, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072043723108, + "eventId": "558", + "lastEpochMicrosec": 1477072053723108, + "priority": "Normal", + "sequence": 558, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4592, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5504, + "packetsIn": 69, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072143938037, + "eventId": "568", + "lastEpochMicrosec": 1477072153938037, + "priority": "Normal", + "sequence": 568, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 8125, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 55, + "bytesOut": 8060, + "packetsIn": 119, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072364341906, + "eventId": "590", + "lastEpochMicrosec": 1477072374341906, + "priority": "Normal", + "sequence": 590, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4136, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5851, + "packetsIn": 62, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072374359351, + "eventId": "591", + "lastEpochMicrosec": 1477072384359351, + "priority": "Normal", + "sequence": 591, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4388, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5206, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072474537911, + "eventId": "601", + "lastEpochMicrosec": 1477072484537911, + "priority": "Normal", + "sequence": 601, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5228, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6932, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072534679739, + "eventId": "607", + "lastEpochMicrosec": 1477072544679739, + "priority": "Normal", + "sequence": 607, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3836, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5018, + "packetsIn": 55, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072574755001, + "eventId": "611", + "lastEpochMicrosec": 1477072584755001, + "priority": "Normal", + "sequence": 611, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6919, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5628, + "packetsIn": 104, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072725036569, + "eventId": "626", + "lastEpochMicrosec": 1477072735036569, + "priority": "Normal", + "sequence": 626, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4442, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6892, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072855292945, + "eventId": "639", + "lastEpochMicrosec": 1477072865292945, + "priority": "Normal", + "sequence": 639, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6909, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 6802, + "packetsIn": 102, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072905381152, + "eventId": "644", + "lastEpochMicrosec": 1477072915381152, + "priority": "Normal", + "sequence": 644, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4826, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072945465009, + "eventId": "648", + "lastEpochMicrosec": 1477072955465009, + "priority": "Normal", + "sequence": 648, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3636, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4160, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073115777000, + "eventId": "665", + "lastEpochMicrosec": 1477073125777000, + "priority": "Normal", + "sequence": 665, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4098, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5354, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073235998974, + "eventId": "677", + "lastEpochMicrosec": 1477073245998974, + "priority": "Normal", + "sequence": 677, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4508, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5166, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073246017901, + "eventId": "678", + "lastEpochMicrosec": 1477073256017901, + "priority": "Normal", + "sequence": 678, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4026, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5358, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073296117387, + "eventId": "683", + "lastEpochMicrosec": 1477073306117387, + "priority": "Normal", + "sequence": 683, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3938, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4168, + "packetsIn": 49, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073376250039, + "eventId": "691", + "lastEpochMicrosec": 1477073386250039, + "priority": "Normal", + "sequence": 691, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4514, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5324, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073586625284, + "eventId": "712", + "lastEpochMicrosec": 1477073596625284, + "priority": "Normal", + "sequence": 712, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5193, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 5748, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070200274642, + "eventId": "374", + "lastEpochMicrosec": 1477070210274642, + "priority": "Normal", + "sequence": 374, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4208, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 4874, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070220308044, + "eventId": "376", + "lastEpochMicrosec": 1477070230308044, + "priority": "Normal", + "sequence": 376, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4102, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5346, + "packetsIn": 55, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070490793952, + "eventId": "403", + "lastEpochMicrosec": 1477070500793952, + "priority": "Normal", + "sequence": 403, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3278, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4036, + "packetsIn": 48, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070540900880, + "eventId": "408", + "lastEpochMicrosec": 1477070550900880, + "priority": "Normal", + "sequence": 408, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4094, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5333, + "packetsIn": 61, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070580972300, + "eventId": "412", + "lastEpochMicrosec": 1477070590972300, + "priority": "Normal", + "sequence": 412, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6261, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5472, + "packetsIn": 93, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070621041944, + "eventId": "416", + "lastEpochMicrosec": 1477070631041944, + "priority": "Normal", + "sequence": 416, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4462, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5302, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070671133935, + "eventId": "421", + "lastEpochMicrosec": 1477070681133935, + "priority": "Normal", + "sequence": 421, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3518, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4028, + "packetsIn": 52, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070721225970, + "eventId": "426", + "lastEpochMicrosec": 1477070731225970, + "priority": "Normal", + "sequence": 426, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7454, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 50, + "bytesOut": 7435, + "packetsIn": 100, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070771317040, + "eventId": "431", + "lastEpochMicrosec": 1477070781317040, + "priority": "Normal", + "sequence": 431, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 46408, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 282, + "bytesOut": 41467, + "packetsIn": 531, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070811385505, + "eventId": "435", + "lastEpochMicrosec": 1477070821385505, + "priority": "Normal", + "sequence": 435, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4444, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 4436, + "packetsIn": 61, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071091925961, + "eventId": "463", + "lastEpochMicrosec": 1477071101925961, + "priority": "Normal", + "sequence": 463, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5120, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 4898, + "packetsIn": 77, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071362393895, + "eventId": "490", + "lastEpochMicrosec": 1477071372393895, + "priority": "Normal", + "sequence": 490, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4314, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4326, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071372410540, + "eventId": "491", + "lastEpochMicrosec": 1477071382410540, + "priority": "Normal", + "sequence": 491, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5072, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5518, + "packetsIn": 77, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071422497943, + "eventId": "496", + "lastEpochMicrosec": 1477071432497943, + "priority": "Normal", + "sequence": 496, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4868, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5286, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071602842823, + "eventId": "514", + "lastEpochMicrosec": 1477071612842823, + "priority": "Normal", + "sequence": 514, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5534, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5324, + "packetsIn": 85, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071863369947, + "eventId": "540", + "lastEpochMicrosec": 1477071873369947, + "priority": "Normal", + "sequence": 540, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4594, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4074, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071873389953, + "eventId": "541", + "lastEpochMicrosec": 1477071883389953, + "priority": "Normal", + "sequence": 541, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 9377, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7894, + "packetsIn": 130, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071883407370, + "eventId": "542", + "lastEpochMicrosec": 1477071893407370, + "priority": "Normal", + "sequence": 542, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5864, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 45, + "bytesOut": 7318, + "packetsIn": 88, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071913462011, + "eventId": "545", + "lastEpochMicrosec": 1477071923462011, + "priority": "Normal", + "sequence": 545, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 27350, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 164, + "bytesOut": 35804, + "packetsIn": 324, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072013669950, + "eventId": "555", + "lastEpochMicrosec": 1477072023669950, + "priority": "Normal", + "sequence": 555, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5981, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 4364, + "packetsIn": 86, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072304235475, + "eventId": "584", + "lastEpochMicrosec": 1477072314235475, + "priority": "Normal", + "sequence": 584, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 203574, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4122, + "packetsIn": 308, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072554718395, + "eventId": "609", + "lastEpochMicrosec": 1477072564718395, + "priority": "Normal", + "sequence": 609, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4142, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5495, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072564737954, + "eventId": "610", + "lastEpochMicrosec": 1477072574737954, + "priority": "Normal", + "sequence": 610, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4172, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4066, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072684959633, + "eventId": "622", + "lastEpochMicrosec": 1477072694959633, + "priority": "Normal", + "sequence": 622, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4682, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 36, + "bytesOut": 6100, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072694977636, + "eventId": "623", + "lastEpochMicrosec": 1477072704977636, + "priority": "Normal", + "sequence": 623, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5024, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 5999, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072735051857, + "eventId": "627", + "lastEpochMicrosec": 1477072745051857, + "priority": "Normal", + "sequence": 627, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6750, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7198, + "packetsIn": 98, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072785141695, + "eventId": "632", + "lastEpochMicrosec": 1477072795141695, + "priority": "Normal", + "sequence": 632, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 38530, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 249, + "bytesOut": 54426, + "packetsIn": 436, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072795156085, + "eventId": "633", + "lastEpochMicrosec": 1477072805156085, + "priority": "Normal", + "sequence": 633, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4616, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 37, + "bytesOut": 6826, + "packetsIn": 69, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072885342781, + "eventId": "642", + "lastEpochMicrosec": 1477072895342781, + "priority": "Normal", + "sequence": 642, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4934, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5316, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072895361934, + "eventId": "643", + "lastEpochMicrosec": 1477072905361934, + "priority": "Normal", + "sequence": 643, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4362, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 6786, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072935447654, + "eventId": "647", + "lastEpochMicrosec": 1477072945447654, + "priority": "Normal", + "sequence": 647, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4562, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5136, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073065678387, + "eventId": "660", + "lastEpochMicrosec": 1477073075678387, + "priority": "Normal", + "sequence": 660, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7173, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 45, + "bytesOut": 7368, + "packetsIn": 106, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073085719086, + "eventId": "662", + "lastEpochMicrosec": 1477073095719086, + "priority": "Normal", + "sequence": 662, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4826, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 44, + "bytesOut": 7120, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073185910566, + "eventId": "672", + "lastEpochMicrosec": 1477073195910566, + "priority": "Normal", + "sequence": 672, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4502, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5304, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073336185348, + "eventId": "687", + "lastEpochMicrosec": 1477073346185348, + "priority": "Normal", + "sequence": 687, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4448, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5558, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073346200536, + "eventId": "688", + "lastEpochMicrosec": 1477073356200536, + "priority": "Normal", + "sequence": 688, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7053, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 45, + "bytesOut": 7368, + "packetsIn": 105, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073446375491, + "eventId": "698", + "lastEpochMicrosec": 1477073456375491, + "priority": "Normal", + "sequence": 698, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3966, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5214, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073596641959, + "eventId": "713", + "lastEpochMicrosec": 1477073606641959, + "priority": "Normal", + "sequence": 713, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4318, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 4634, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070250365937, + "eventId": "379", + "lastEpochMicrosec": 1477070260365937, + "priority": "Normal", + "sequence": 379, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3746, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5536, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070340529599, + "eventId": "388", + "lastEpochMicrosec": 1477070350529599, + "priority": "Normal", + "sequence": 388, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7322, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 48, + "bytesOut": 7616, + "packetsIn": 113, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070510835835, + "eventId": "405", + "lastEpochMicrosec": 1477070520835835, + "priority": "Normal", + "sequence": 405, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4442, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6469, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070520864347, + "eventId": "406", + "lastEpochMicrosec": 1477070530864347, + "priority": "Normal", + "sequence": 406, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3638, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4044, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070651095730, + "eventId": "419", + "lastEpochMicrosec": 1477070661095730, + "priority": "Normal", + "sequence": 419, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3416, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5090, + "packetsIn": 48, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070711206504, + "eventId": "425", + "lastEpochMicrosec": 1477070721206504, + "priority": "Normal", + "sequence": 425, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5908, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6213, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070791351649, + "eventId": "433", + "lastEpochMicrosec": 1477070801351649, + "priority": "Normal", + "sequence": 433, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 10199, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 68, + "bytesOut": 11842, + "packetsIn": 135, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070801369956, + "eventId": "434", + "lastEpochMicrosec": 1477070811369956, + "priority": "Normal", + "sequence": 434, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 26090, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 164, + "bytesOut": 33153, + "packetsIn": 300, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070841450160, + "eventId": "438", + "lastEpochMicrosec": 1477070851450160, + "priority": "Normal", + "sequence": 438, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6205, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 5794, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070981705399, + "eventId": "452", + "lastEpochMicrosec": 1477070991705399, + "priority": "Normal", + "sequence": 452, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3980, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5410, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071061865954, + "eventId": "460", + "lastEpochMicrosec": 1477071071865954, + "priority": "Normal", + "sequence": 460, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 31224, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 197, + "bytesOut": 34890, + "packetsIn": 357, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071121977934, + "eventId": "466", + "lastEpochMicrosec": 1477071131977934, + "priority": "Normal", + "sequence": 466, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 25732, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 162, + "bytesOut": 31700, + "packetsIn": 302, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071131999094, + "eventId": "467", + "lastEpochMicrosec": 1477071141999094, + "priority": "Normal", + "sequence": 467, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 169618, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7186, + "packetsIn": 289, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071212141392, + "eventId": "475", + "lastEpochMicrosec": 1477071222141392, + "priority": "Normal", + "sequence": 475, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7477, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7465, + "packetsIn": 110, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071222158382, + "eventId": "476", + "lastEpochMicrosec": 1477071232158382, + "priority": "Normal", + "sequence": 476, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5908, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 83, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071272238317, + "eventId": "481", + "lastEpochMicrosec": 1477071282238317, + "priority": "Normal", + "sequence": 481, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4504, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5074, + "packetsIn": 61, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071332342318, + "eventId": "487", + "lastEpochMicrosec": 1477071342342318, + "priority": "Normal", + "sequence": 487, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6139, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 4836, + "packetsIn": 89, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071342361964, + "eventId": "488", + "lastEpochMicrosec": 1477071352361964, + "priority": "Normal", + "sequence": 488, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 22038, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 143, + "bytesOut": 25109, + "packetsIn": 257, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071392443903, + "eventId": "493", + "lastEpochMicrosec": 1477071402443903, + "priority": "Normal", + "sequence": 493, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 28990, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 185, + "bytesOut": 34734, + "packetsIn": 342, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071442534871, + "eventId": "498", + "lastEpochMicrosec": 1477071452534871, + "priority": "Normal", + "sequence": 498, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 19000, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 111, + "bytesOut": 18886, + "packetsIn": 232, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071723077968, + "eventId": "526", + "lastEpochMicrosec": 1477071733077968, + "priority": "Normal", + "sequence": 526, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 22554, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 150, + "bytesOut": 27120, + "packetsIn": 270, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071783210923, + "eventId": "532", + "lastEpochMicrosec": 1477071793210923, + "priority": "Normal", + "sequence": 532, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 31406, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 192, + "bytesOut": 40382, + "packetsIn": 369, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071973585969, + "eventId": "551", + "lastEpochMicrosec": 1477071983585969, + "priority": "Normal", + "sequence": 551, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 28415, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 168, + "bytesOut": 36888, + "packetsIn": 330, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072003648795, + "eventId": "554", + "lastEpochMicrosec": 1477072013648795, + "priority": "Normal", + "sequence": 554, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4736, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5027, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072073789969, + "eventId": "561", + "lastEpochMicrosec": 1477072083789969, + "priority": "Normal", + "sequence": 561, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5332, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4082, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072184014433, + "eventId": "572", + "lastEpochMicrosec": 1477072194014433, + "priority": "Normal", + "sequence": 572, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3752, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5666, + "packetsIn": 55, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072214069942, + "eventId": "575", + "lastEpochMicrosec": 1477072224069942, + "priority": "Normal", + "sequence": 575, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4046, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7120, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072274176817, + "eventId": "581", + "lastEpochMicrosec": 1477072284176817, + "priority": "Normal", + "sequence": 581, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4208, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5166, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072444481666, + "eventId": "598", + "lastEpochMicrosec": 1477072454481666, + "priority": "Normal", + "sequence": 598, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6649, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6038, + "packetsIn": 97, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072484565977, + "eventId": "602", + "lastEpochMicrosec": 1477072494565977, + "priority": "Normal", + "sequence": 602, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3848, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 4822, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072514639844, + "eventId": "605", + "lastEpochMicrosec": 1477072524639844, + "priority": "Normal", + "sequence": 605, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6367, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 4624, + "packetsIn": 93, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072544701945, + "eventId": "608", + "lastEpochMicrosec": 1477072554701945, + "priority": "Normal", + "sequence": 608, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6553, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5362, + "packetsIn": 98, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072604809380, + "eventId": "614", + "lastEpochMicrosec": 1477072614809380, + "priority": "Normal", + "sequence": 614, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4628, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5412, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072614829190, + "eventId": "615", + "lastEpochMicrosec": 1477072624829190, + "priority": "Normal", + "sequence": 615, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4352, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5630, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072644885943, + "eventId": "618", + "lastEpochMicrosec": 1477072654885943, + "priority": "Normal", + "sequence": 618, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5036, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 47, + "bytesOut": 7514, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072755088807, + "eventId": "629", + "lastEpochMicrosec": 1477072765088807, + "priority": "Normal", + "sequence": 629, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4370, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4351, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072915408472, + "eventId": "645", + "lastEpochMicrosec": 1477072925408472, + "priority": "Normal", + "sequence": 645, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4304, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4254, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072955481939, + "eventId": "649", + "lastEpochMicrosec": 1477072965481939, + "priority": "Normal", + "sequence": 649, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4388, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5150, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073005573900, + "eventId": "654", + "lastEpochMicrosec": 1477073015573900, + "priority": "Normal", + "sequence": 654, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5906, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7148, + "packetsIn": 82, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073015590437, + "eventId": "655", + "lastEpochMicrosec": 1477073025590437, + "priority": "Normal", + "sequence": 655, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3764, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4122, + "packetsIn": 56, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073045647448, + "eventId": "658", + "lastEpochMicrosec": 1477073055647448, + "priority": "Normal", + "sequence": 658, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4706, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7220, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073125796934, + "eventId": "666", + "lastEpochMicrosec": 1477073135796934, + "priority": "Normal", + "sequence": 666, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7132, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 43, + "bytesOut": 7250, + "packetsIn": 103, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073135815158, + "eventId": "667", + "lastEpochMicrosec": 1477073145815158, + "priority": "Normal", + "sequence": 667, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7143, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 50, + "bytesOut": 7727, + "packetsIn": 104, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073145841670, + "eventId": "668", + "lastEpochMicrosec": 1477073155841670, + "priority": "Normal", + "sequence": 668, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6135, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5426, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073266054311, + "eventId": "680", + "lastEpochMicrosec": 1477073276054311, + "priority": "Normal", + "sequence": 680, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4052, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5498, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073466418004, + "eventId": "700", + "lastEpochMicrosec": 1477073476418004, + "priority": "Normal", + "sequence": 700, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3732, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5244, + "packetsIn": 54, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073476437957, + "eventId": "701", + "lastEpochMicrosec": 1477073486437957, + "priority": "Normal", + "sequence": 701, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4688, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5222, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073526524510, + "eventId": "706", + "lastEpochMicrosec": 1477073536524510, + "priority": "Normal", + "sequence": 706, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7963, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 49, + "bytesOut": 7608, + "packetsIn": 118, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073566594681, + "eventId": "710", + "lastEpochMicrosec": 1477073576594681, + "priority": "Normal", + "sequence": 710, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5168, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5214, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073616685940, + "eventId": "715", + "lastEpochMicrosec": 1477073626685940, + "priority": "Normal", + "sequence": 715, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6483, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 5586, + "packetsIn": 95, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073626701958, + "eventId": "716", + "lastEpochMicrosec": 1477073636701958, + "priority": "Normal", + "sequence": 716, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3660, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4712, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070230330088, + "eventId": "377", + "lastEpochMicrosec": 1477070240330088, + "priority": "Normal", + "sequence": 377, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4069, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5506, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070360563689, + "eventId": "390", + "lastEpochMicrosec": 1477070370563689, + "priority": "Normal", + "sequence": 390, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4280, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5418, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070460736142, + "eventId": "400", + "lastEpochMicrosec": 1477070470736142, + "priority": "Normal", + "sequence": 400, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4562, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6892, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070480772828, + "eventId": "402", + "lastEpochMicrosec": 1477070490772828, + "priority": "Normal", + "sequence": 402, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5129, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5396, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070500813728, + "eventId": "404", + "lastEpochMicrosec": 1477070510813728, + "priority": "Normal", + "sequence": 404, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4456, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5380, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070550916395, + "eventId": "409", + "lastEpochMicrosec": 1477070560916395, + "priority": "Normal", + "sequence": 409, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3738, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 4750, + "packetsIn": 54, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070590993953, + "eventId": "413", + "lastEpochMicrosec": 1477070600993953, + "priority": "Normal", + "sequence": 413, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5954, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5380, + "packetsIn": 94, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070631061957, + "eventId": "417", + "lastEpochMicrosec": 1477070641061957, + "priority": "Normal", + "sequence": 417, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4416, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4020, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070641079999, + "eventId": "418", + "lastEpochMicrosec": 1477070651079999, + "priority": "Normal", + "sequence": 418, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4911, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 4342, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070681153946, + "eventId": "422", + "lastEpochMicrosec": 1477070691153946, + "priority": "Normal", + "sequence": 422, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5228, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5294, + "packetsIn": 80, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070691170336, + "eventId": "423", + "lastEpochMicrosec": 1477070701170336, + "priority": "Normal", + "sequence": 423, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 137612, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 776, + "bytesOut": 136724, + "packetsIn": 1458, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070821405142, + "eventId": "436", + "lastEpochMicrosec": 1477070831405142, + "priority": "Normal", + "sequence": 436, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6724, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 48, + "bytesOut": 8288, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071021788719, + "eventId": "456", + "lastEpochMicrosec": 1477071031788719, + "priority": "Normal", + "sequence": 456, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5216, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5098, + "packetsIn": 80, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071051846152, + "eventId": "459", + "lastEpochMicrosec": 1477071061846152, + "priority": "Normal", + "sequence": 459, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5965, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 5686, + "packetsIn": 84, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071101941618, + "eventId": "464", + "lastEpochMicrosec": 1477071111941618, + "priority": "Normal", + "sequence": 464, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4334, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5232, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071142014557, + "eventId": "468", + "lastEpochMicrosec": 1477071152014557, + "priority": "Normal", + "sequence": 468, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3976, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5360, + "packetsIn": 54, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071152034019, + "eventId": "469", + "lastEpochMicrosec": 1477071162034019, + "priority": "Normal", + "sequence": 469, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 41028, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5214, + "packetsIn": 121, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071202120024, + "eventId": "474", + "lastEpochMicrosec": 1477071212120024, + "priority": "Normal", + "sequence": 474, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5066, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7157, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071242189163, + "eventId": "478", + "lastEpochMicrosec": 1477071252189163, + "priority": "Normal", + "sequence": 478, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5528, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5302, + "packetsIn": 83, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071472593939, + "eventId": "501", + "lastEpochMicrosec": 1477071482593939, + "priority": "Normal", + "sequence": 501, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4190, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 4160, + "packetsIn": 63, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071492634731, + "eventId": "503", + "lastEpochMicrosec": 1477071502634731, + "priority": "Normal", + "sequence": 503, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5918, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 34, + "bytesOut": 6588, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071502654137, + "eventId": "504", + "lastEpochMicrosec": 1477071512654137, + "priority": "Normal", + "sequence": 504, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4270, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 19, + "bytesOut": 3650, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071632900848, + "eventId": "517", + "lastEpochMicrosec": 1477071642900848, + "priority": "Normal", + "sequence": 517, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7250, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 47, + "bytesOut": 7539, + "packetsIn": 112, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071652936794, + "eventId": "519", + "lastEpochMicrosec": 1477071662936794, + "priority": "Normal", + "sequence": 519, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 20894, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 127, + "bytesOut": 23654, + "packetsIn": 256, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071713058031, + "eventId": "525", + "lastEpochMicrosec": 1477071723058031, + "priority": "Normal", + "sequence": 525, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7297, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7430, + "packetsIn": 107, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071763172262, + "eventId": "530", + "lastEpochMicrosec": 1477071773172262, + "priority": "Normal", + "sequence": 530, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5472, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5427, + "packetsIn": 83, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071773193658, + "eventId": "531", + "lastEpochMicrosec": 1477071783193658, + "priority": "Normal", + "sequence": 531, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4784, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4386, + "packetsIn": 73, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071803251128, + "eventId": "534", + "lastEpochMicrosec": 1477071813251128, + "priority": "Normal", + "sequence": 534, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 33146, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 202, + "bytesOut": 45220, + "packetsIn": 373, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071933509978, + "eventId": "547", + "lastEpochMicrosec": 1477071943509978, + "priority": "Normal", + "sequence": 547, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3640, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4128, + "packetsIn": 47, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072113869917, + "eventId": "565", + "lastEpochMicrosec": 1477072123869917, + "priority": "Normal", + "sequence": 565, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4928, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5412, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072133905970, + "eventId": "567", + "lastEpochMicrosec": 1477072143905970, + "priority": "Normal", + "sequence": 567, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4286, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5436, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072314253035, + "eventId": "585", + "lastEpochMicrosec": 1477072324253035, + "priority": "Normal", + "sequence": 585, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4568, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5602, + "packetsIn": 69, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072384378243, + "eventId": "592", + "lastEpochMicrosec": 1477072394378243, + "priority": "Normal", + "sequence": 592, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3854, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 4772, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072404411223, + "eventId": "594", + "lastEpochMicrosec": 1477072414411223, + "priority": "Normal", + "sequence": 594, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3740, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 21, + "bytesOut": 3862, + "packetsIn": 50, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072414424973, + "eventId": "595", + "lastEpochMicrosec": 1477072424424973, + "priority": "Normal", + "sequence": 595, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6259, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5072, + "packetsIn": 89, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072424442934, + "eventId": "596", + "lastEpochMicrosec": 1477072434442934, + "priority": "Normal", + "sequence": 596, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5576, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7404, + "packetsIn": 84, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072624849269, + "eventId": "616", + "lastEpochMicrosec": 1477072634849269, + "priority": "Normal", + "sequence": 616, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5172, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 4998, + "packetsIn": 78, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072674941938, + "eventId": "621", + "lastEpochMicrosec": 1477072684941938, + "priority": "Normal", + "sequence": 621, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4256, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4294, + "packetsIn": 56, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072715018487, + "eventId": "625", + "lastEpochMicrosec": 1477072725018487, + "priority": "Normal", + "sequence": 625, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3932, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5526, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072825213947, + "eventId": "636", + "lastEpochMicrosec": 1477072835213947, + "priority": "Normal", + "sequence": 636, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3956, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 6318, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072865310238, + "eventId": "640", + "lastEpochMicrosec": 1477072875310238, + "priority": "Normal", + "sequence": 640, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4080, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 4388, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072875328458, + "eventId": "641", + "lastEpochMicrosec": 1477072885328458, + "priority": "Normal", + "sequence": 641, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6081, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5528, + "packetsIn": 89, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072965498915, + "eventId": "650", + "lastEpochMicrosec": 1477072975498915, + "priority": "Normal", + "sequence": 650, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6141, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5528, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073025609941, + "eventId": "656", + "lastEpochMicrosec": 1477073035609941, + "priority": "Normal", + "sequence": 656, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4446, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 39, + "bytesOut": 6986, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073175893195, + "eventId": "671", + "lastEpochMicrosec": 1477073185893195, + "priority": "Normal", + "sequence": 671, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4232, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4066, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073225981156, + "eventId": "676", + "lastEpochMicrosec": 1477073235981156, + "priority": "Normal", + "sequence": 676, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5739, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4138, + "packetsIn": 84, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073326167021, + "eventId": "686", + "lastEpochMicrosec": 1477073336167021, + "priority": "Normal", + "sequence": 686, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4104, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4020, + "packetsIn": 61, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073356218618, + "eventId": "689", + "lastEpochMicrosec": 1477073366218618, + "priority": "Normal", + "sequence": 689, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4886, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7121, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073456394852, + "eventId": "699", + "lastEpochMicrosec": 1477073466394852, + "priority": "Normal", + "sequence": 699, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4034, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 4808, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073486456069, + "eventId": "702", + "lastEpochMicrosec": 1477073496456069, + "priority": "Normal", + "sequence": 702, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4706, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5765, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073576611503, + "eventId": "711", + "lastEpochMicrosec": 1477073586611503, + "priority": "Normal", + "sequence": 711, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6046, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 40, + "bytesOut": 9108, + "packetsIn": 90, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073636730319, + "eventId": "717", + "lastEpochMicrosec": 1477073646730319, + "priority": "Normal", + "sequence": 717, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4450, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5230, + "packetsIn": 62, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070310474544, + "eventId": "385", + "lastEpochMicrosec": 1477070320474544, + "priority": "Normal", + "sequence": 385, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5703, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 40, + "bytesOut": 6658, + "packetsIn": 82, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070320490200, + "eventId": "386", + "lastEpochMicrosec": 1477070330490200, + "priority": "Normal", + "sequence": 386, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4384, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5096, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070370579195, + "eventId": "391", + "lastEpochMicrosec": 1477070380579195, + "priority": "Normal", + "sequence": 391, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3986, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5544, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070400631290, + "eventId": "394", + "lastEpochMicrosec": 1477070410631290, + "priority": "Normal", + "sequence": 394, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4428, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 4364, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070410646466, + "eventId": "395", + "lastEpochMicrosec": 1477070420646466, + "priority": "Normal", + "sequence": 395, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3776, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 4562, + "packetsIn": 56, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070661113931, + "eventId": "420", + "lastEpochMicrosec": 1477070671113931, + "priority": "Normal", + "sequence": 420, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5482, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5446, + "packetsIn": 77, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070731245952, + "eventId": "427", + "lastEpochMicrosec": 1477070741245952, + "priority": "Normal", + "sequence": 427, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 12391, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 78, + "bytesOut": 10049, + "packetsIn": 124, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070761301949, + "eventId": "430", + "lastEpochMicrosec": 1477070771301949, + "priority": "Normal", + "sequence": 430, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 19997, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 132, + "bytesOut": 23502, + "packetsIn": 240, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070861482944, + "eventId": "440", + "lastEpochMicrosec": 1477070871482944, + "priority": "Normal", + "sequence": 440, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 19924, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 116, + "bytesOut": 19236, + "packetsIn": 243, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070871499185, + "eventId": "441", + "lastEpochMicrosec": 1477070881499185, + "priority": "Normal", + "sequence": 441, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4394, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 40, + "bytesOut": 7024, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070901553877, + "eventId": "444", + "lastEpochMicrosec": 1477070911553877, + "priority": "Normal", + "sequence": 444, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3402, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4950, + "packetsIn": 51, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070951649582, + "eventId": "449", + "lastEpochMicrosec": 1477070961649582, + "priority": "Normal", + "sequence": 449, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3650, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5024, + "packetsIn": 52, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070961673097, + "eventId": "450", + "lastEpochMicrosec": 1477070971673097, + "priority": "Normal", + "sequence": 450, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4681, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 45, + "bytesOut": 7354, + "packetsIn": 69, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071001744811, + "eventId": "454", + "lastEpochMicrosec": 1477071011744811, + "priority": "Normal", + "sequence": 454, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4536, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5168, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071011760312, + "eventId": "455", + "lastEpochMicrosec": 1477071021760312, + "priority": "Normal", + "sequence": 455, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6458, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 36, + "bytesOut": 6017, + "packetsIn": 100, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071232173922, + "eventId": "477", + "lastEpochMicrosec": 1477071242173922, + "priority": "Normal", + "sequence": 477, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6871, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 36, + "bytesOut": 6766, + "packetsIn": 101, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071282252737, + "eventId": "482", + "lastEpochMicrosec": 1477071292252737, + "priority": "Normal", + "sequence": 482, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3884, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4248, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071322325958, + "eventId": "486", + "lastEpochMicrosec": 1477071332325958, + "priority": "Normal", + "sequence": 486, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 34518, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 192, + "bytesOut": 34192, + "packetsIn": 384, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071432517955, + "eventId": "497", + "lastEpochMicrosec": 1477071442517955, + "priority": "Normal", + "sequence": 497, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4916, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4318, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071512671652, + "eventId": "505", + "lastEpochMicrosec": 1477071522671652, + "priority": "Normal", + "sequence": 505, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6259, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5600, + "packetsIn": 91, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071522697277, + "eventId": "506", + "lastEpochMicrosec": 1477071532697277, + "priority": "Normal", + "sequence": 506, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5240, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5426, + "packetsIn": 80, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071552753988, + "eventId": "509", + "lastEpochMicrosec": 1477071562753988, + "priority": "Normal", + "sequence": 509, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5060, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5434, + "packetsIn": 79, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071612865423, + "eventId": "515", + "lastEpochMicrosec": 1477071622865423, + "priority": "Normal", + "sequence": 515, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3974, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4660, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071793233631, + "eventId": "533", + "lastEpochMicrosec": 1477071803233631, + "priority": "Normal", + "sequence": 533, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6859, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 43, + "bytesOut": 6912, + "packetsIn": 100, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071823290532, + "eventId": "536", + "lastEpochMicrosec": 1477071833290532, + "priority": "Normal", + "sequence": 536, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4982, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 26, + "bytesOut": 5081, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071833308226, + "eventId": "537", + "lastEpochMicrosec": 1477071843308226, + "priority": "Normal", + "sequence": 537, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4974, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4426, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071843328660, + "eventId": "538", + "lastEpochMicrosec": 1477071853328660, + "priority": "Normal", + "sequence": 538, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 13226, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 89, + "bytesOut": 18924, + "packetsIn": 153, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072053741964, + "eventId": "559", + "lastEpochMicrosec": 1477072063741964, + "priority": "Normal", + "sequence": 559, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 8673, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 53, + "bytesOut": 9805, + "packetsIn": 117, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072063763247, + "eventId": "560", + "lastEpochMicrosec": 1477072073763247, + "priority": "Normal", + "sequence": 560, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4676, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 37, + "bytesOut": 6446, + "packetsIn": 70, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072224086825, + "eventId": "576", + "lastEpochMicrosec": 1477072234086825, + "priority": "Normal", + "sequence": 576, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4262, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5318, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072254141660, + "eventId": "579", + "lastEpochMicrosec": 1477072264141660, + "priority": "Normal", + "sequence": 579, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4946, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072344303482, + "eventId": "588", + "lastEpochMicrosec": 1477072354303482, + "priority": "Normal", + "sequence": 588, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3800, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5398, + "packetsIn": 56, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072584773904, + "eventId": "612", + "lastEpochMicrosec": 1477072594773904, + "priority": "Normal", + "sequence": 612, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5264, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 6018, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072594792760, + "eventId": "613", + "lastEpochMicrosec": 1477072604792760, + "priority": "Normal", + "sequence": 613, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4604, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5722, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072775124558, + "eventId": "631", + "lastEpochMicrosec": 1477072785124558, + "priority": "Normal", + "sequence": 631, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4280, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5410, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072975517941, + "eventId": "651", + "lastEpochMicrosec": 1477072985517941, + "priority": "Normal", + "sequence": 651, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4316, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 27, + "bytesOut": 5018, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073035627391, + "eventId": "657", + "lastEpochMicrosec": 1477073045627391, + "priority": "Normal", + "sequence": 657, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4915, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 4836, + "packetsIn": 74, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073276077930, + "eventId": "681", + "lastEpochMicrosec": 1477073286077930, + "priority": "Normal", + "sequence": 681, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4244, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4914, + "packetsIn": 64, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073396285928, + "eventId": "693", + "lastEpochMicrosec": 1477073406285928, + "priority": "Normal", + "sequence": 693, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4982, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6892, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073406303927, + "eventId": "694", + "lastEpochMicrosec": 1477073416303927, + "priority": "Normal", + "sequence": 694, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5000, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5378, + "packetsIn": 68, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073496473912, + "eventId": "703", + "lastEpochMicrosec": 1477073506473912, + "priority": "Normal", + "sequence": 703, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4406, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073546558533, + "eventId": "708", + "lastEpochMicrosec": 1477073556558533, + "priority": "Normal", + "sequence": 708, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3608, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5230, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073646749551, + "eventId": "718", + "lastEpochMicrosec": 1477073656749551, + "priority": "Normal", + "sequence": 718, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4352, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 4946, + "packetsIn": 57, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073676813943, + "eventId": "721", + "lastEpochMicrosec": 1477073686813943, + "priority": "Normal", + "sequence": 721, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4864, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5148, + "packetsIn": 67, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070190253108, + "eventId": "373", + "lastEpochMicrosec": 1477070200253108, + "priority": "Normal", + "sequence": 373, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4328, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5286, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070280421939, + "eventId": "382", + "lastEpochMicrosec": 1477070290421939, + "priority": "Normal", + "sequence": 382, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6206, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 32, + "bytesOut": 5512, + "packetsIn": 96, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070330509980, + "eventId": "387", + "lastEpochMicrosec": 1477070340509980, + "priority": "Normal", + "sequence": 387, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3518, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 22, + "bytesOut": 4028, + "packetsIn": 53, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070420665950, + "eventId": "396", + "lastEpochMicrosec": 1477070430665950, + "priority": "Normal", + "sequence": 396, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4360, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4812, + "packetsIn": 59, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070430683794, + "eventId": "397", + "lastEpochMicrosec": 1477070440683794, + "priority": "Normal", + "sequence": 397, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5301, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 33, + "bytesOut": 5536, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070560936376, + "eventId": "410", + "lastEpochMicrosec": 1477070570936376, + "priority": "Normal", + "sequence": 410, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6866, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 106, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070570954302, + "eventId": "411", + "lastEpochMicrosec": 1477070580954302, + "priority": "Normal", + "sequence": 411, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6681, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 41, + "bytesOut": 6568, + "packetsIn": 96, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070741264005, + "eventId": "428", + "lastEpochMicrosec": 1477070751264005, + "priority": "Normal", + "sequence": 428, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 34880, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 217, + "bytesOut": 36350, + "packetsIn": 398, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070881514499, + "eventId": "442", + "lastEpochMicrosec": 1477070891514499, + "priority": "Normal", + "sequence": 442, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4762, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 4934, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070911574857, + "eventId": "445", + "lastEpochMicrosec": 1477070921574857, + "priority": "Normal", + "sequence": 445, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 7057, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 46, + "bytesOut": 7462, + "packetsIn": 105, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070921593735, + "eventId": "446", + "lastEpochMicrosec": 1477070931593735, + "priority": "Normal", + "sequence": 446, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6740, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 41, + "bytesOut": 6775, + "packetsIn": 104, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071292270837, + "eventId": "483", + "lastEpochMicrosec": 1477071302270837, + "priority": "Normal", + "sequence": 483, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4934, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5325, + "packetsIn": 75, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071302289972, + "eventId": "484", + "lastEpochMicrosec": 1477071312289972, + "priority": "Normal", + "sequence": 484, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6216, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 39, + "bytesOut": 6786, + "packetsIn": 81, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071452551360, + "eventId": "499", + "lastEpochMicrosec": 1477071462551360, + "priority": "Normal", + "sequence": 499, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6218, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 44, + "bytesOut": 7316, + "packetsIn": 95, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071482617903, + "eventId": "502", + "lastEpochMicrosec": 1477071492617903, + "priority": "Normal", + "sequence": 502, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5634, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 37, + "bytesOut": 6446, + "packetsIn": 87, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071562771042, + "eventId": "510", + "lastEpochMicrosec": 1477071572771042, + "priority": "Normal", + "sequence": 510, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6354, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 47, + "bytesOut": 7514, + "packetsIn": 96, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071622883746, + "eventId": "516", + "lastEpochMicrosec": 1477071632883746, + "priority": "Normal", + "sequence": 516, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 20684, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 138, + "bytesOut": 23872, + "packetsIn": 242, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071753155902, + "eventId": "529", + "lastEpochMicrosec": 1477071763155902, + "priority": "Normal", + "sequence": 529, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4442, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 38, + "bytesOut": 6956, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071853349474, + "eventId": "539", + "lastEpochMicrosec": 1477071863349474, + "priority": "Normal", + "sequence": 539, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 66655, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 401, + "bytesOut": 64534, + "packetsIn": 755, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477071943529023, + "eventId": "548", + "lastEpochMicrosec": 1477071953529023, + "priority": "Normal", + "sequence": 548, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 29098, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 186, + "bytesOut": 40028, + "packetsIn": 338, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072033705953, + "eventId": "557", + "lastEpochMicrosec": 1477072043705953, + "priority": "Normal", + "sequence": 557, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3560, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 4758, + "packetsIn": 52, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072083807753, + "eventId": "562", + "lastEpochMicrosec": 1477072093807753, + "priority": "Normal", + "sequence": 562, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5753, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5248, + "packetsIn": 82, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072123885526, + "eventId": "566", + "lastEpochMicrosec": 1477072133885526, + "priority": "Normal", + "sequence": 566, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4102, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5462, + "packetsIn": 54, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072173997938, + "eventId": "571", + "lastEpochMicrosec": 1477072183997938, + "priority": "Normal", + "sequence": 571, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 5054, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 39, + "bytesOut": 6906, + "packetsIn": 76, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072264158607, + "eventId": "580", + "lastEpochMicrosec": 1477072274158607, + "priority": "Normal", + "sequence": 580, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3884, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4058, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072324268097, + "eventId": "586", + "lastEpochMicrosec": 1477072334268097, + "priority": "Normal", + "sequence": 586, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3182, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4808, + "packetsIn": 46, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072334288872, + "eventId": "587", + "lastEpochMicrosec": 1477072344288872, + "priority": "Normal", + "sequence": 587, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4034, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5316, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072394394368, + "eventId": "593", + "lastEpochMicrosec": 1477072404394368, + "priority": "Normal", + "sequence": 593, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3872, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 23, + "bytesOut": 4074, + "packetsIn": 58, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072434461951, + "eventId": "597", + "lastEpochMicrosec": 1477072444461951, + "priority": "Normal", + "sequence": 597, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4028, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 29, + "bytesOut": 5214, + "packetsIn": 60, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072504621951, + "eventId": "604", + "lastEpochMicrosec": 1477072514621951, + "priority": "Normal", + "sequence": 604, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4130, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 25, + "bytesOut": 4350, + "packetsIn": 62, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072524657943, + "eventId": "606", + "lastEpochMicrosec": 1477072534657943, + "priority": "Normal", + "sequence": 606, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6691, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 35, + "bytesOut": 5804, + "packetsIn": 98, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072664921950, + "eventId": "620", + "lastEpochMicrosec": 1477072674921950, + "priority": "Normal", + "sequence": 620, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4640, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5426, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072765105949, + "eventId": "630", + "lastEpochMicrosec": 1477072775105949, + "priority": "Normal", + "sequence": 630, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 38076, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 238, + "bytesOut": 52028, + "packetsIn": 425, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477072815193944, + "eventId": "635", + "lastEpochMicrosec": 1477072825193944, + "priority": "Normal", + "sequence": 635, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4806, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 39, + "bytesOut": 6986, + "packetsIn": 72, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073055662629, + "eventId": "659", + "lastEpochMicrosec": 1477073065662629, + "priority": "Normal", + "sequence": 659, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3470, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4240, + "packetsIn": 51, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073165876528, + "eventId": "670", + "lastEpochMicrosec": 1477073175876528, + "priority": "Normal", + "sequence": 670, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6615, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 30, + "bytesOut": 5086, + "packetsIn": 98, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073205948758, + "eventId": "674", + "lastEpochMicrosec": 1477073215948758, + "priority": "Normal", + "sequence": 674, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4682, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 5600, + "packetsIn": 71, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073215965142, + "eventId": "675", + "lastEpochMicrosec": 1477073225965142, + "priority": "Normal", + "sequence": 675, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4178, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 24, + "bytesOut": 4152, + "packetsIn": 55, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073256037943, + "eventId": "679", + "lastEpochMicrosec": 1477073266037943, + "priority": "Normal", + "sequence": 679, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4406, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 65, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073306133613, + "eventId": "684", + "lastEpochMicrosec": 1477073316133613, + "priority": "Normal", + "sequence": 684, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 3974, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4644, + "packetsIn": 51, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073316150514, + "eventId": "685", + "lastEpochMicrosec": 1477073326150514, + "priority": "Normal", + "sequence": 685, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6375, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 28, + "bytesOut": 4538, + "packetsIn": 94, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073386268859, + "eventId": "692", + "lastEpochMicrosec": 1477073396268859, + "priority": "Normal", + "sequence": 692, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + }, + { + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 4458, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 31, + "bytesOut": 5418, + "packetsIn": 66, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477073536542160, + "eventId": "707", + "lastEpochMicrosec": 1477073546542160, + "priority": "Normal", + "sequence": 707, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } + } +] diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java new file mode 100644 index 0000000..34f70f1 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/BaseAnalyticsCDAPPluginsUnitTest.java @@ -0,0 +1,238 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins; + +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.StageMetrics; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.common.base.Suppliers; +import org.apache.hadoop.conf.Configuration; +import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.TestJsonPathFilterPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.TestSimpleTCAPluginConfig; +import org.openecomp.dcae.apod.analytics.model.util.json.AnalyticsModelObjectMapperSupplier; +import org.openecomp.dcae.apod.analytics.test.BaseDCAEAnalyticsUnitTest; + +import java.io.IOException; +import java.io.Serializable; +import java.util.LinkedHashMap; +import java.util.Map; + +/** + * @author Rajiv Singla . Creation Date: 1/23/2017. + */ +public abstract class BaseAnalyticsCDAPPluginsUnitTest extends BaseDCAEAnalyticsUnitTest { + + protected static final ObjectMapper ANALYTICS_MODEL_OBJECT_MAPPER = + Suppliers.memoize(new AnalyticsModelObjectMapperSupplier()).get(); + + protected static final String TCA_POLICY_JSON_FILE_LOCATION = "data/json/policy/tca_policy.json"; + protected static final String CEF_MESSAGE_JSON_FILE_LOCATION = "data/json/cef/cef_message.json"; + protected static final String CEF_NON_COMPLIANT_MESSAGE_JSON_FILE_LOCATION = + "data/json/cef/non_compliant_cef_message.json"; + + + protected static final String DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME = "testDMaaPMRSource"; + protected static final String DMAAP_MR_SOURCE_PLUGIN_HOST_NAME = "dcae-msrt-mtl1-ftl.homer.com"; + protected static final Integer DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER = 3905; + protected static final String DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME = "com.dcae.dmaap.FTL.DcaeTestVESSub"; + protected static final Integer DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL = 1000; + protected static final String DMAAP_MR_SOURCE_PLUGIN_PROTOCOL = "https"; + protected static final String DMAAP_MR_SOURCE_PLUGIN_USERNAME = "username"; + protected static final String DMAAP_MR_SOURCE_PLUGIN_PASSWORD = "password"; + protected static final String DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE = "application/json"; + protected static final String DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP = "G1"; + protected static final String DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID = "C1"; + protected static final Integer DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT = 100; + protected static final Integer DMAAP_MR_SOURCE_PLUGIN_TIMEOUT = 10000; + + + protected static final String DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME = "testDMaaPMRSINK"; + protected static final String DMAAP_MR_SINK_PLUGIN_HOST_NAME = "dcae-msrt-mtl1-ftl.homer.com"; + protected static final Integer DMAAP_MR_SINK_PLUGIN_PORT_NUMBER = 3905; + protected static final String DMAAP_MR_SINK_PLUGIN_TOPIC_NAME = "com.dcae.dmaap.FTL.DcaeTestVESPub"; + protected static final String DMAAP_MR_SINK_PLUGIN_PROTOCOL = "https"; + protected static final String DMAAP_MR_SINK_PLUGIN_USERNAME = "username"; + protected static final String DMAAP_MR_SINK_PLUGIN_PASSWORD = "password"; + protected static final String DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE = "application/json"; + protected static final String DMAAP_MR_SINK_MESSAGE_COLUMN_NAME = "message"; + protected static final Integer DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE = 10; + protected static final Integer DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE = 100; + + protected static final String VES_MESSAGE_FIELD_NAME = "message"; + protected static final String TCA_PLUGIN_ALERT_FIELD_NAME = "alert"; + protected static final String TCA_PLUGIN_MESSAGE_TYPE_FIELD_NAME = "tcaMessageType"; + + + protected static final String JSON_PATH_FILTER_PLUGIN_REFERENCE_NAME = "JsonPathFilter"; + protected static final String JSON_PATH_FILTER_PLUGIN_INCOMING_JSON_FIELD_NAME = "message"; + protected static final String JSON_PATH_FILTER_PLUGIN_OUTPUT_SCHEMA_FILED_NAME = "filterMatched"; + protected static final String JSON_PATH_FILTER_PLUGIN_JSON_FILTER_MAPPINGS = + "$.event.commonEventHeader.domain:measurementsForVfScaling," + + "$.event.commonEventHeader.functionalRole:vLoadBalancer;vFirewall"; + protected static final String JSON_PATH_FILTER_PLUGIN_JSON_FILTER_OUTPUT_SCHEMA = + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\",\"fields\":" + + "[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"filterMatched\",\"type\":[\"boolean\",\"null\"]}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}" + + "]" + + "}"; + + protected static class MockStageMetrics implements StageMetrics, Serializable { + + @Override + public void count(String metricName, int delta) { + LOG.debug("Mocking metric count, MetricName: {}, Delta: {}", metricName, delta); + } + + @Override + public void gauge(String metricName, long value) { + LOG.debug("Mocking metric guage, MetricName: {}, Value: {}", metricName, value); + } + + @Override + public void pipelineCount(String metricName, int delta) { + LOG.debug("Mocking metric pipelineCount, MetricName: {}, Delta: {}", metricName, delta); + } + + @Override + public void pipelineGauge(String metricName, long value) { + LOG.debug("Mocking metric guage, pipelineGauge: {}, Value: {}", metricName, value); + } + } + + protected static TestDMaaPMRSourcePluginConfig getTestDMaaPMRSourcePluginConfig() { + final TestDMaaPMRSourcePluginConfig sourcePluginConfig = new TestDMaaPMRSourcePluginConfig(); + sourcePluginConfig.setReferenceName(DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME); + sourcePluginConfig.setHostName(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME); + sourcePluginConfig.setPortNumber(DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER); + sourcePluginConfig.setTopicName(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME); + sourcePluginConfig.setPollingInterval(DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL); + sourcePluginConfig.setProtocol(DMAAP_MR_SOURCE_PLUGIN_PROTOCOL); + sourcePluginConfig.setUserName(DMAAP_MR_SOURCE_PLUGIN_USERNAME); + sourcePluginConfig.setUserPassword(DMAAP_MR_SOURCE_PLUGIN_PASSWORD); + sourcePluginConfig.setContentType(DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE); + sourcePluginConfig.setConsumerGroup(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP); + sourcePluginConfig.setConsumerId(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID); + sourcePluginConfig.setMessageLimit(DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT); + sourcePluginConfig.setTimeoutMS(DMAAP_MR_SOURCE_PLUGIN_TIMEOUT); + return sourcePluginConfig; + } + + protected static TestDMaaPMRSinkPluginConfig getTestDMaaPMRSinkPluginConfig() { + final TestDMaaPMRSinkPluginConfig sinkPluginConfig = new TestDMaaPMRSinkPluginConfig(); + sinkPluginConfig.setReferenceName(DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME); + sinkPluginConfig.setHostName(DMAAP_MR_SINK_PLUGIN_HOST_NAME); + sinkPluginConfig.setPortNumber(DMAAP_MR_SINK_PLUGIN_PORT_NUMBER); + sinkPluginConfig.setTopicName(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME); + sinkPluginConfig.setProtocol(DMAAP_MR_SINK_PLUGIN_PROTOCOL); + sinkPluginConfig.setUserName(DMAAP_MR_SINK_PLUGIN_USERNAME); + sinkPluginConfig.setUserPassword(DMAAP_MR_SINK_PLUGIN_PASSWORD); + sinkPluginConfig.setContentType(DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE); + sinkPluginConfig.setMessageColumnName(DMAAP_MR_SINK_MESSAGE_COLUMN_NAME); + sinkPluginConfig.setMaxBatchSize(DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE); + sinkPluginConfig.setMaxRecoveryQueueSize(DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE); + return sinkPluginConfig; + } + + + protected static Configuration getTestConfiguration() { + final Configuration configuration = new Configuration(); + final Map<String, String> sinkConfigurationMap = createSinkConfigurationMap(); + for (Map.Entry<String, String> property : sinkConfigurationMap.entrySet()) { + configuration.set(property.getKey(), property.getValue()); + } + return configuration; + } + + protected static Map<String, String> createSinkConfigurationMap() { + + Map<String, String> sinkConfig = new LinkedHashMap<>(); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.HOST_NAME, DMAAP_MR_SINK_PLUGIN_HOST_NAME); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.TOPIC_NAME, DMAAP_MR_SINK_PLUGIN_TOPIC_NAME); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.PORT_NUMBER, + DMAAP_MR_SINK_PLUGIN_PORT_NUMBER.toString()); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.PROTOCOL, DMAAP_MR_SINK_PLUGIN_PROTOCOL); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.USER_NAME, DMAAP_MR_SINK_PLUGIN_USERNAME); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.USER_PASS, DMAAP_MR_SINK_PLUGIN_PASSWORD); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.CONTENT_TYPE, + DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.MAX_BATCH_SIZE, + DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE.toString()); + sinkConfig.put(CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields.MAX_RECOVER_QUEUE_SIZE, + DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE.toString()); + return sinkConfig; + } + + protected static Schema getDMaaPMRSinkTestSchema() { + return Schema.recordOf( + "DMaaPMRSinkTestSchema", + Schema.Field.of("message", Schema.of(Schema.Type.STRING)), + Schema.Field.of("field1", Schema.of(Schema.Type.STRING)) + ); + } + + + protected static TestSimpleTCAPluginConfig getTestSimpleTCAPluginConfig() { + final String policyJson; + try { + policyJson = fromStream(TCA_POLICY_JSON_FILE_LOCATION); + } catch (IOException e) { + throw new RuntimeException("Error while parsing policy", e); + } + return new TestSimpleTCAPluginConfig(VES_MESSAGE_FIELD_NAME, policyJson, TCA_PLUGIN_ALERT_FIELD_NAME, + TCA_PLUGIN_MESSAGE_TYPE_FIELD_NAME, getSimpleTCAPluginInputSchema().toString(), false); + } + + protected static Schema getSimpleTCAPluginInputSchema() { + return Schema.recordOf( + "TestSimpleTCAPluginInputSchema", + Schema.Field.of("message", Schema.of(Schema.Type.STRING)), + Schema.Field.of("inputField1", Schema.nullableOf(Schema.of(Schema.Type.STRING))), + Schema.Field.of("inputField2", Schema.nullableOf(Schema.of(Schema.Type.STRING))) + ); + } + + protected static Schema getJsonFilterPluginInputSchema() { + return Schema.recordOf( + "TestJsonFilterInputSchema", + Schema.Field.of("ts", Schema.of(Schema.Type.LONG)), + Schema.Field.of("responseCode", Schema.of(Schema.Type.INT)), + Schema.Field.of("responseMessage", Schema.of(Schema.Type.STRING)), + Schema.Field.of("message", Schema.of(Schema.Type.STRING)) + ); + } + + protected static TestJsonPathFilterPluginConfig getJsonPathFilterPluginConfig() { + return new TestJsonPathFilterPluginConfig(JSON_PATH_FILTER_PLUGIN_REFERENCE_NAME, + JSON_PATH_FILTER_PLUGIN_INCOMING_JSON_FIELD_NAME, + JSON_PATH_FILTER_PLUGIN_OUTPUT_SCHEMA_FILED_NAME, + JSON_PATH_FILTER_PLUGIN_JSON_FILTER_MAPPINGS, + JSON_PATH_FILTER_PLUGIN_JSON_FILTER_OUTPUT_SCHEMA); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java new file mode 100644 index 0000000..71ce4d8 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatProviderTest.java @@ -0,0 +1,77 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.common.CDAPPluginConstants.DMaaPMRSinkHadoopConfigFields; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.common.AnalyticsConstants; + +import java.util.Map; + +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMROutputFormatProviderTest extends BaseAnalyticsCDAPPluginsUnitTest { + + + @Test + public void testDMaaPMROutputFormatProviderWhenConfigIsMissingNonRequiredValues() throws Exception { + final TestDMaaPMRSinkPluginConfig sinkPluginConfig = new TestDMaaPMRSinkPluginConfig(); + sinkPluginConfig.setHostName(DMAAP_MR_SINK_PLUGIN_HOST_NAME); + sinkPluginConfig.setTopicName(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME); + final DMaaPMROutputFormatProvider dMaaPMROutputFormatProvider = + new DMaaPMROutputFormatProvider(sinkPluginConfig); + final Map<String, String> outputFormatConfiguration = + dMaaPMROutputFormatProvider.getOutputFormatConfiguration(); + final String hostName = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.HOST_NAME); + assertTrue(hostName.equals(DMAAP_MR_SINK_PLUGIN_HOST_NAME)); + final String topicName = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.TOPIC_NAME); + assertTrue(topicName.equals(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME)); + final String portNumber = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.PORT_NUMBER); + assertTrue(portNumber.equals(AnalyticsConstants.DEFAULT_PORT_NUMBER.toString())); + final String protocol = outputFormatConfiguration.get(DMaaPMRSinkHadoopConfigFields.PROTOCOL); + assertTrue(protocol.equals(AnalyticsConstants.DEFAULT_PROTOCOL)); + } + + @Test + public void testGetOutputFormatClassName() throws Exception { + final DMaaPMROutputFormatProvider dMaaPMROutputFormatProvider = + new DMaaPMROutputFormatProvider(getTestDMaaPMRSinkPluginConfig()); + final String outputFormatClassName = dMaaPMROutputFormatProvider.getOutputFormatClassName(); + assertTrue(outputFormatClassName.equals(DMaaPMROutputFormat.class.getName())); + } + + @Test + public void testGetOutputFormatConfiguration() throws Exception { + final TestDMaaPMRSinkPluginConfig testDMaaPMRSinkPluginConfig = getTestDMaaPMRSinkPluginConfig(); + final DMaaPMROutputFormatProvider dMaaPMROutputFormatProvider = + new DMaaPMROutputFormatProvider(testDMaaPMRSinkPluginConfig); + final Map<String, String> outputFormatConfiguration = + dMaaPMROutputFormatProvider.getOutputFormatConfiguration(); + assertTrue(outputFormatConfiguration.size() == 9); + + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java new file mode 100644 index 0000000..f20e94e --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMROutputFormatTest.java @@ -0,0 +1,75 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import org.apache.hadoop.io.NullWritable; +import org.apache.hadoop.mapreduce.JobContext; +import org.apache.hadoop.mapreduce.OutputCommitter; +import org.apache.hadoop.mapreduce.RecordWriter; +import org.apache.hadoop.mapreduce.TaskAttemptContext; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMROutputFormatTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private DMaaPMROutputFormat dMaaPMROutputFormat; + + @Before + public void before() { + dMaaPMROutputFormat = new DMaaPMROutputFormat(); + } + + @Test + public void testGetRecordWriter() throws Exception { + final TaskAttemptContext taskAttemptContext = Mockito.mock(TaskAttemptContext.class); + when(taskAttemptContext.getConfiguration()).thenReturn(getTestConfiguration()); + final RecordWriter<String, NullWritable> recordWriter = dMaaPMROutputFormat.getRecordWriter(taskAttemptContext); + assertNotNull(recordWriter); + final JobContext jobContext = Mockito.mock(JobContext.class); + dMaaPMROutputFormat.checkOutputSpecs(jobContext); + } + + @Test + public void testGetOutputCommitter() throws Exception { + final TaskAttemptContext taskAttemptContext = Mockito.mock(TaskAttemptContext.class); + final OutputCommitter outputCommitter = dMaaPMROutputFormat.getOutputCommitter(taskAttemptContext); + assertTrue(outputCommitter.getClass().equals(DMaaPMROutputFormat.NoOpOutputCommitter.class)); + final JobContext jobContext = Mockito.mock(JobContext.class); + outputCommitter.setupJob(jobContext); + outputCommitter.setupTask(taskAttemptContext); + assertFalse(outputCommitter.needsTaskCommit(taskAttemptContext)); + outputCommitter.commitJob(jobContext); + outputCommitter.commitTask(taskAttemptContext); + outputCommitter.abortTask(taskAttemptContext); + + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java new file mode 100644 index 0000000..f65d815 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRRecordWriterTest.java @@ -0,0 +1,62 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import org.apache.hadoop.mapreduce.TaskAttemptContext; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.dmaap.service.publisher.DMaaPMRPublisher; + +import java.util.Arrays; + +import static org.mockito.Mockito.times; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMRRecordWriterTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private DMaaPMRPublisher publisher; + private DMaaPMRRecordWriter dMaaPMRRecordWriter; + + @Before + public void before() { + publisher = Mockito.mock(DMaaPMRPublisher.class); + dMaaPMRRecordWriter = new DMaaPMRRecordWriter(publisher); + } + + @Test + public void testWrite() throws Exception { + final String testMessage = "test Message"; + dMaaPMRRecordWriter.write(testMessage, null); + Mockito.verify(publisher, times(1)).publish(Arrays.asList(testMessage)); + } + + @Test + public void testClose() throws Exception { + final TaskAttemptContext taskAttemptContext = Mockito.mock(TaskAttemptContext.class); + dMaaPMRRecordWriter.close(taskAttemptContext); + Mockito.verify(publisher, times(1)).flush(); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java new file mode 100644 index 0000000..48e746f --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/batch/sink/dmaap/DMaaPMRSinkTest.java @@ -0,0 +1,94 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.batch.sink.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.Emitter; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.StageConfigurer; +import co.cask.cdap.etl.api.batch.BatchSinkContext; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.ArgumentMatchers.eq; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMRSinkTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private DMaaPMRSink dMaaPMRSink; + + @Before + public void before() { + dMaaPMRSink = new DMaaPMRSink(getTestDMaaPMRSinkPluginConfig()); + } + + @Test + public void testConfigurePipeline() throws Exception { + final PipelineConfigurer pipelineConfigurer = Mockito.mock(PipelineConfigurer.class); + final StageConfigurer stageConfigurer = Mockito.mock(StageConfigurer.class); + when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer); + when(stageConfigurer.getInputSchema()).thenReturn(getDMaaPMRSinkTestSchema()); + dMaaPMRSink.configurePipeline(pipelineConfigurer); + verify(stageConfigurer, times(1)).getInputSchema(); + } + + @Test(expected = CDAPSettingsException.class) + public void testConfigurePipelineWithInvalidSchema() throws Exception { + final PipelineConfigurer pipelineConfigurer = Mockito.mock(PipelineConfigurer.class); + final StageConfigurer stageConfigurer = Mockito.mock(StageConfigurer.class); + when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer); + when(stageConfigurer.getInputSchema()).thenReturn(Schema.recordOf( + "DMaaPMRSinkInvalidSchema", + Schema.Field.of("message1", Schema.of(Schema.Type.STRING)), + Schema.Field.of("field1", Schema.of(Schema.Type.STRING)) + )); + dMaaPMRSink.configurePipeline(pipelineConfigurer); + } + + @Test + public void testPrepareRun() throws Exception { + final BatchSinkContext batchSinkContext = Mockito.mock(BatchSinkContext.class); + dMaaPMRSink.prepareRun(batchSinkContext); + } + + @Test + public void testTransform() throws Exception { + final StructuredRecord structuredRecord = Mockito.mock(StructuredRecord.class); + final Emitter emitter = Mockito.mock(Emitter.class); + final String incomingTestMessage = "test message"; + when(structuredRecord.get( + eq(getTestDMaaPMRSinkPluginConfig().getMessageColumnName()))).thenReturn(incomingTestMessage); + doNothing().when(emitter).emit(any()); + dMaaPMRSink.transform(structuredRecord, emitter); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java new file mode 100644 index 0000000..d147c28 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSinkPluginConfigTest.java @@ -0,0 +1,80 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 1/23/2017. + */ +public class DMaaPMRSinkPluginConfigTest extends BaseAnalyticsCDAPPluginsUnitTest { + + @Test + public void testDMaaPMRSinkPluginConfigDefaults() throws Exception { + final DMaaPMRSinkPluginConfig sinkPluginConfig = new DMaaPMRSinkPluginConfig + (DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME, DMAAP_MR_SINK_PLUGIN_HOST_NAME, + DMAAP_MR_SINK_PLUGIN_TOPIC_NAME, DMAAP_MR_SINK_MESSAGE_COLUMN_NAME); + + assertThat(sinkPluginConfig.getReferenceName(), is(DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME)); + assertThat(sinkPluginConfig.getHostName(), is(DMAAP_MR_SINK_PLUGIN_HOST_NAME)); + assertThat(sinkPluginConfig.getTopicName(), is(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME)); + assertThat(sinkPluginConfig.getMessageColumnName(), is(DMAAP_MR_SINK_MESSAGE_COLUMN_NAME)); + assertNull(sinkPluginConfig.getPortNumber()); + assertNull(sinkPluginConfig.getProtocol()); + assertNull(sinkPluginConfig.getUserName()); + assertNull(sinkPluginConfig.getUserPassword()); + assertNull(sinkPluginConfig.getContentType()); + assertNull(sinkPluginConfig.getMaxBatchSize()); + assertNull(sinkPluginConfig.getMaxRecoveryQueueSize()); + } + + @Test + public void testDMaaPMRSinkPluginConfigCustom() throws Exception { + final DMaaPMRSinkPluginConfig sinkPluginConfig = getTestDMaaPMRSinkPluginConfig(); + assertThat(sinkPluginConfig.getReferenceName(), is(DMAAP_MR_SINK_PLUGIN_REFERENCE_NAME)); + assertThat(sinkPluginConfig.getHostName(), is(DMAAP_MR_SINK_PLUGIN_HOST_NAME)); + assertThat(sinkPluginConfig.getTopicName(), is(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME)); + assertThat(sinkPluginConfig.getPortNumber(), is(DMAAP_MR_SINK_PLUGIN_PORT_NUMBER)); + assertThat(sinkPluginConfig.getProtocol(), is(DMAAP_MR_SINK_PLUGIN_PROTOCOL)); + assertThat(sinkPluginConfig.getUserName(), is(DMAAP_MR_SINK_PLUGIN_USERNAME)); + assertThat(sinkPluginConfig.getUserPassword(), is(DMAAP_MR_SINK_PLUGIN_PASSWORD)); + assertThat(sinkPluginConfig.getContentType(), is(DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE)); + assertThat(sinkPluginConfig.getMessageColumnName(), is(DMAAP_MR_SINK_MESSAGE_COLUMN_NAME)); + assertThat(sinkPluginConfig.getMaxBatchSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE)); + assertThat(sinkPluginConfig.getMaxRecoveryQueueSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE)); + } + + @Test + public void testValidToString() throws Exception { + final TestDMaaPMRSinkPluginConfig sinkPluginConfig = getTestDMaaPMRSinkPluginConfig(); + assertNotNull(sinkPluginConfig.toString()); + assertTrue(sinkPluginConfig.toString().contains(DMAAP_MR_SINK_PLUGIN_HOST_NAME)); + } + + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java new file mode 100644 index 0000000..a84ecda --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/DMaaPMRSourcePluginConfigTest.java @@ -0,0 +1,84 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; + + +/** + * @author Rajiv Singla . Creation Date: 1/23/2017. + */ +public class DMaaPMRSourcePluginConfigTest extends BaseAnalyticsCDAPPluginsUnitTest { + + @Test + public void testDMaaPMRSourcePluginConfigDefaults() throws Exception { + final DMaaPMRSourcePluginConfig sourcePluginConfig = new DMaaPMRSourcePluginConfig + (DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME, DMAAP_MR_SOURCE_PLUGIN_HOST_NAME, + DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME, DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL); + + assertThat(sourcePluginConfig.getReferenceName(), is(DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME)); + assertThat(sourcePluginConfig.getHostName(), is(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME)); + assertThat(sourcePluginConfig.getTopicName(), is(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME)); + assertThat(sourcePluginConfig.getPollingInterval(), is(DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL)); + assertNull(sourcePluginConfig.getPortNumber()); + assertNull(sourcePluginConfig.getProtocol()); + assertNull(sourcePluginConfig.getUserName()); + assertNull(sourcePluginConfig.getUserPassword()); + assertNull(sourcePluginConfig.getContentType()); + assertNull(sourcePluginConfig.getConsumerGroup()); + assertNull(sourcePluginConfig.getConsumerId()); + assertNull(sourcePluginConfig.getMessageLimit()); + assertNull(sourcePluginConfig.getTimeoutMS()); + } + + @Test + public void testDMaaPMRSourcePluginConfigCustom() throws Exception { + final TestDMaaPMRSourcePluginConfig sourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + assertThat(sourcePluginConfig.getReferenceName(), is(DMAAP_MR_SOURCE_PLUGIN_REFERENCE_NAME)); + assertThat(sourcePluginConfig.getHostName(), is(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME)); + assertThat(sourcePluginConfig.getTopicName(), is(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME)); + assertThat(sourcePluginConfig.getPollingInterval(), is(DMAAP_MR_SOURCE_PLUGIN_POLLING_INTERVAL)); + assertThat(sourcePluginConfig.getPortNumber(), is(DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER)); + assertThat(sourcePluginConfig.getProtocol(), is(DMAAP_MR_SOURCE_PLUGIN_PROTOCOL)); + assertThat(sourcePluginConfig.getUserName(), is(DMAAP_MR_SOURCE_PLUGIN_USERNAME)); + assertThat(sourcePluginConfig.getUserPassword(), is(DMAAP_MR_SOURCE_PLUGIN_PASSWORD)); + assertThat(sourcePluginConfig.getContentType(), is(DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE)); + assertThat(sourcePluginConfig.getConsumerGroup(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP)); + assertThat(sourcePluginConfig.getConsumerId(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID)); + assertThat(sourcePluginConfig.getMessageLimit(), is(DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT)); + assertThat(sourcePluginConfig.getTimeoutMS(), is(DMAAP_MR_SOURCE_PLUGIN_TIMEOUT)); + } + + @Test + public void testValidToString() throws Exception { + final TestDMaaPMRSourcePluginConfig sourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + assertNotNull(sourcePluginConfig.toString()); + assertTrue(sourcePluginConfig.toString().contains(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME)); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java new file mode 100644 index 0000000..e9c82e7 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSinkPluginConfig.java @@ -0,0 +1,76 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import javax.annotation.Nullable; + +/** + * Test {@link DMaaPMRSinkPluginConfig} for testing purposes only + * <p> + * @author Rajiv Singla . Creation Date: 1/23/2017. + */ +public class TestDMaaPMRSinkPluginConfig extends DMaaPMRSinkPluginConfig { + + public void setReferenceName(String referenceName) { + this.referenceName = referenceName; + } + + public void setHostName(String hostName) { + this.hostName = hostName; + } + + public void setPortNumber(@Nullable Integer portNumber) { + this.portNumber = portNumber; + } + + public void setTopicName(String topicName) { + this.topicName = topicName; + } + + public void setProtocol(@Nullable String protocol) { + this.protocol = protocol; + } + + public void setUserName(@Nullable String userName) { + this.userName = userName; + } + + public void setUserPassword(@Nullable String userPassword) { + this.userPassword = userPassword; + } + + public void setContentType(@Nullable String contentType) { + this.contentType = contentType; + } + + public void setMaxBatchSize(@Nullable Integer maxBatchSize) { + this.maxBatchSize = maxBatchSize; + } + + public void setMaxRecoveryQueueSize(@Nullable Integer maxRecoveryQueueSize) { + this.maxRecoveryQueueSize = maxRecoveryQueueSize; + } + + public void setMessageColumnName(String messageColumnName) { + this.messageColumnName = messageColumnName; + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java new file mode 100644 index 0000000..35bf740 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/dmaap/TestDMaaPMRSourcePluginConfig.java @@ -0,0 +1,84 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap; + +import javax.annotation.Nullable; + +/** + * Test {@link DMaaPMRSourcePluginConfig} for testing purposes only + * <p> + * @author Rajiv Singla . Creation Date: 1/23/2017. + */ +public class TestDMaaPMRSourcePluginConfig extends DMaaPMRSourcePluginConfig { + + public void setReferenceName(String referenceName) { + this.referenceName = referenceName; + } + + public void setHostName(String hostName) { + this.hostName = hostName; + } + + public void setPortNumber(@Nullable Integer portNumber) { + this.portNumber = portNumber; + } + + public void setTopicName(String topicName) { + this.topicName = topicName; + } + + public void setPollingInterval(Integer pollingInterval) { + this.pollingInterval = pollingInterval; + } + + public void setProtocol(@Nullable String protocol) { + this.protocol = protocol; + } + + public void setUserName(@Nullable String userName) { + this.userName = userName; + } + + public void setUserPassword(@Nullable String userPassword) { + this.userPassword = userPassword; + } + + public void setContentType(@Nullable String contentType) { + this.contentType = contentType; + } + + public void setConsumerId(@Nullable String consumerId) { + this.consumerId = consumerId; + } + + public void setConsumerGroup(@Nullable String consumerGroup) { + this.consumerGroup = consumerGroup; + } + + public void setTimeoutMS(@Nullable Integer timeoutMS) { + this.timeoutMS = timeoutMS; + } + + public void setMessageLimit(@Nullable Integer messageLimit) { + this.messageLimit = messageLimit; + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java new file mode 100644 index 0000000..d0b51db --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/filter/TestJsonPathFilterPluginConfig.java @@ -0,0 +1,50 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter; + +/** + * @author Rajiv Singla . Creation Date: 3/3/2017. + */ +public class TestJsonPathFilterPluginConfig extends JsonPathFilterPluginConfig { + + public TestJsonPathFilterPluginConfig(final String referenceName, final String incomingJsonFieldName, + final String outputSchemaFieldName, final String jsonFilterMappings, + final String schema) { + super(referenceName, incomingJsonFieldName, outputSchemaFieldName, jsonFilterMappings, schema); + } + + + public void setIncomingJsonFieldName(String incomingJsonFieldName) { + this.incomingJsonFieldName = incomingJsonFieldName; + } + + public void setOutputSchemaFieldName(String outputSchemaFieldName) { + this.outputSchemaFieldName = outputSchemaFieldName; + } + + public void setJsonFilterMappings(String jsonFilterMappings) { + this.jsonFilterMappings = jsonFilterMappings; + } + + public void setSchema(String schema) { + this.schema = schema; + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java new file mode 100644 index 0000000..592c2e2 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/config/tca/TestSimpleTCAPluginConfig.java @@ -0,0 +1,56 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca; + +/** + * @author Rajiv Singla . Creation Date: 2/17/2017. + */ +public class TestSimpleTCAPluginConfig extends SimpleTCAPluginConfig { + + public TestSimpleTCAPluginConfig(String vesMessageFieldName, String policyJson, String alertFieldName, + String messageTypeFieldName, String schema, Boolean enableAlertCEFFormat) { + super(vesMessageFieldName, policyJson, alertFieldName, messageTypeFieldName, schema, enableAlertCEFFormat); + } + + public void setVesMessageFieldName(String vesMessageFieldName) { + this.vesMessageFieldName = vesMessageFieldName; + } + + public void setPolicyJson(String policyJson) { + this.policyJson = policyJson; + } + + public void setAlertFieldName(String alertFieldName) { + this.alertFieldName = alertFieldName; + } + + public void setMessageTypeFieldName(String messageTypeFieldName) { + this.messageTypeFieldName = messageTypeFieldName; + } + + public void setSchema(String schema) { + this.schema = schema; + } + + public void setEnableAlertCEFFormat(Boolean enableAlertCEFFormat) { + this.enableAlertCEFFormat = enableAlertCEFFormat; + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java new file mode 100644 index 0000000..5872bcf --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/domain/schema/dmaap/DMaaPSourceOutputSchemaTest.java @@ -0,0 +1,63 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap; + +import co.cask.cdap.api.data.schema.Schema; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; + +import java.util.LinkedList; +import java.util.List; + +import static org.hamcrest.CoreMatchers.hasItems; +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertThat; + +/** + * @author Rajiv Singla . Creation Date: 1/25/2017. + */ +public class DMaaPSourceOutputSchemaTest extends BaseAnalyticsCDAPPluginsUnitTest { + + + @Test + public void testGetSchemaColumnName() throws Exception { + assertThat(DMaaPSourceOutputSchema.TIMESTAMP.getSchemaColumnName(), is("ts")); + assertThat(DMaaPSourceOutputSchema.RESPONSE_CODE.getSchemaColumnName(), is("responseCode")); + assertThat(DMaaPSourceOutputSchema.RESPONSE_MESSAGE.getSchemaColumnName(), is("responseMessage")); + assertThat(DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName(), is("message")); + } + + @Test + public void testGetSchema() throws Exception { + final Schema schema = DMaaPSourceOutputSchema.getSchema(); + final List<Schema.Field> fields = schema.getFields(); + final List<String> fieldNames = new LinkedList<>(); + for (Schema.Field field : fields) { + fieldNames.add(field.getName()); + } + assertThat(fieldNames, hasItems( + DMaaPSourceOutputSchema.TIMESTAMP.getSchemaColumnName(), + DMaaPSourceOutputSchema.RESPONSE_CODE.getSchemaColumnName(), + DMaaPSourceOutputSchema.RESPONSE_MESSAGE.getSchemaColumnName(), + DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName())); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java new file mode 100644 index 0000000..73c2533 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/it/SimpleTCAPluginCDAPIT.java @@ -0,0 +1,228 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.it; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.api.dataset.table.Table; +import co.cask.cdap.api.plugin.PluginClass; +import co.cask.cdap.api.plugin.PluginPropertyField; +import co.cask.cdap.common.utils.Tasks; +import co.cask.cdap.datapipeline.DataPipelineApp; +import co.cask.cdap.datapipeline.SmartWorkflow; +import co.cask.cdap.etl.api.batch.SparkCompute; +import co.cask.cdap.etl.mock.batch.MockSink; +import co.cask.cdap.etl.mock.batch.MockSource; +import co.cask.cdap.etl.mock.test.HydratorTestBase; +import co.cask.cdap.etl.proto.v2.ETLBatchConfig; +import co.cask.cdap.etl.proto.v2.ETLPlugin; +import co.cask.cdap.etl.proto.v2.ETLStage; +import co.cask.cdap.proto.artifact.AppRequest; +import co.cask.cdap.proto.artifact.ArtifactSummary; +import co.cask.cdap.proto.id.ApplicationId; +import co.cask.cdap.proto.id.ArtifactId; +import co.cask.cdap.proto.id.NamespaceId; +import co.cask.cdap.test.ApplicationManager; +import co.cask.cdap.test.DataSetManager; +import co.cask.cdap.test.WorkflowManager; +import com.google.common.base.Joiner; +import com.google.common.collect.ImmutableMap; +import com.google.common.collect.ImmutableSet; +import com.google.common.collect.Sets; +import org.junit.AfterClass; +import org.junit.BeforeClass; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCACalculatorMessageType; +import org.openecomp.dcae.apod.analytics.cdap.common.validation.CDAPAppSettingsValidator; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca.SimpleTCAPlugin; +import org.openecomp.dcae.apod.analytics.common.validation.DCAEValidator; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.net.URI; +import java.nio.charset.Charset; +import java.nio.file.Files; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.concurrent.Callable; +import java.util.concurrent.TimeUnit; + +/** + * Integration Test which used CDAP Hydrator Test Base to Test Simple TCA Plugin + * + * @author Rajiv Singla . Creation Date: 2/17/2017. + */ +public class SimpleTCAPluginCDAPIT extends HydratorTestBase { + + private static final Logger LOG = LoggerFactory.getLogger(SimpleTCAPluginCDAPIT.class); + + private static final String CDAP_PLUGIN_VERSION = "3.0-SNAPSHOT"; + private static final String CDAP_PLUGIN_ARTIFACT_NAME = "dcae-analytics-cdap-plugins"; + + protected static final ArtifactId DATAPIPELINE_ARTIFACT_ID = NamespaceId.DEFAULT.artifact("data-pipeline", + "4.0.0"); + protected static final ArtifactSummary DATAPIPELINE_ARTIFACT = new ArtifactSummary("data-pipeline", "4.0.0"); + + private static Schema sourceSchema = Schema.recordOf("CEFMessageSourceSchema", + Schema.Field.of("message", Schema.of(Schema.Type.STRING)) + ); + + final Schema outputSchema = Schema.recordOf( + "outputSchema", + Schema.Field.of("message", Schema.of(Schema.Type.STRING)), + Schema.Field.of("alert", Schema.nullableOf(Schema.of(Schema.Type.STRING))), + Schema.Field.of("tcaMessageType", Schema.of(Schema.Type.STRING)) + ); + + @BeforeClass + public static void setupTest() throws Exception { + + setupBatchArtifacts(DATAPIPELINE_ARTIFACT_ID, DataPipelineApp.class); + + + // Enable the below code if you want to run the test in Intelli IDEA editor + // addPluginArtifact(NamespaceId.DEFAULT.artifact("spark-plugins", "1.0.0"), DATAPIPELINE_ARTIFACT_ID, + // SimpleTCAPlugin.class, SimpleTCAPluginConfig.class); + + // Enable the below code if you want to run the test via command line + ArtifactId dcaeAnalyticsCdapPluginsArtifact = NamespaceId.DEFAULT.artifact( + CDAP_PLUGIN_ARTIFACT_NAME, CDAP_PLUGIN_VERSION); + + addPluginArtifact(dcaeAnalyticsCdapPluginsArtifact, DATAPIPELINE_ARTIFACT_ID, + ImmutableSet.of(getSimpleTCAPluginClass()), SimpleTCAPlugin.class, SimpleTCAPluginConfig.class, + CDAPAppSettingsValidator.class, DCAEValidator.class); + } + + private static PluginClass getSimpleTCAPluginClass() { + final HashMap<String, PluginPropertyField> properties = new HashMap<>(); + properties.put("vesMessageFieldName", new PluginPropertyField("vesMessageFieldName", "", + "string", false, false)); + properties.put("referenceName", new PluginPropertyField("referenceName", "", + "string", false, false)); + properties.put("policyJson", new PluginPropertyField("policyJson", "", "string", false, false)); + properties.put("alertFieldName", new PluginPropertyField("alertFieldName", "", "string", false, false)); + properties.put("messageTypeFieldName", new PluginPropertyField( + "messageTypeFieldName", "", "string", false, false)); + properties.put("enableAlertCEFFormat", new PluginPropertyField( + "enableAlertCEFFormat", "", "string", false, false)); + properties.put("schema", new PluginPropertyField( + "schema", "", "string", false, false)); + + return new PluginClass("sparkcompute", "SimpleTCAPlugin", "", SimpleTCAPlugin.class.getName(), + "pluginConfig", properties); + } + + + @AfterClass + public static void cleanup() { + } + + @Test + public void testTransform() throws Exception { + + LOG.info("Starting Test Transform"); + + final String policyString = getFileContentAsString("/data/json/policy/tca_policy.json"); + final String cefMessage = getFileContentAsString("/data/json/cef/cef_message.json"); + + final Map<String, String> tcaProperties = new ImmutableMap.Builder<String, String>() + .put("vesMessageFieldName", "message") + .put("referenceName", "SimpleTcaPlugin") + .put("policyJson", policyString) + .put("alertFieldName", "alert") + .put("messageTypeFieldName", "tcaMessageType") + .put("enableAlertCEFFormat", "true") + .put("schema", outputSchema.toString()) + .build(); + + final ETLPlugin mockSourcePlugin = MockSource.getPlugin("messages", sourceSchema); + final ETLPlugin tcaPlugin = + new ETLPlugin("SimpleTCAPlugin", SparkCompute.PLUGIN_TYPE, tcaProperties, null); + final ETLPlugin mockSink = MockSink.getPlugin("tcaOutput"); + + final ETLBatchConfig etlBatchConfig = ETLBatchConfig.builder("* * * * *") + .addStage(new ETLStage("source", mockSourcePlugin)) + .addStage(new ETLStage("simpleTCAPlugin", tcaPlugin)) + .addStage(new ETLStage("sink", mockSink)) + .addConnection("source", "simpleTCAPlugin") + .addConnection("simpleTCAPlugin", "sink") + .build(); + + AppRequest<ETLBatchConfig> appRequest = new AppRequest<>(DATAPIPELINE_ARTIFACT, etlBatchConfig); + ApplicationId appId = NamespaceId.DEFAULT.app("TestSimpleTCAPlugin"); + ApplicationManager appManager = deployApplication(appId.toId(), appRequest); + + List<StructuredRecord> sourceMessages = new ArrayList<>(); + StructuredRecord.Builder builder = StructuredRecord.builder(sourceSchema); + builder.set("message", cefMessage); + sourceMessages.add(builder.build()); + + // write records to source + DataSetManager<Table> inputManager = getDataset(NamespaceId.DEFAULT.dataset("messages")); + MockSource.writeInput(inputManager, sourceMessages); + + // manually trigger the pipeline + WorkflowManager workflowManager = appManager.getWorkflowManager(SmartWorkflow.NAME); + workflowManager.start(); + workflowManager.waitForFinish(5, TimeUnit.MINUTES); + + final DataSetManager<Table> outputManager = getDataset("tcaOutput"); + + Tasks.waitFor( + TCACalculatorMessageType.COMPLIANT.name(), + new Callable<String>() { + @Override + public String call() throws Exception { + outputManager.flush(); + List<String> tcaOutputMessageType = new LinkedList<>(); + for (StructuredRecord outputRecord : MockSink.readOutput(outputManager)) { + tcaOutputMessageType.add(outputRecord.get("tcaMessageType").toString()); + final List<Schema.Field> fields = outputRecord.getSchema().getFields(); + LOG.debug("====>> Printing output Structured Record Contents: {}", outputRecord); + for (Schema.Field field : fields) { + LOG.debug("Field Name: {} - Field Type: {} ---> Field Value: {}", + field.getName(), field.getSchema().getType(), + outputRecord.get(field.getName())); + } + + } + return tcaOutputMessageType.get(0); + } + }, + 4, + TimeUnit.MINUTES); + + } + + private static final String getFileContentAsString(final String fileLocation) throws Exception { + final URI tcaPolicyURI = + SimpleTCAPluginCDAPIT.class.getResource(fileLocation).toURI(); + List<String> lines = Files.readAllLines(Paths.get(tcaPolicyURI), Charset.defaultCharset()); + return Joiner.on("").join(lines); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java new file mode 100644 index 0000000..0a8bd42 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/sparkcompute/tca/SimpleTCAPluginTest.java @@ -0,0 +1,119 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.sparkcompute.tca; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.StageConfigurer; +import co.cask.cdap.etl.api.batch.SparkExecutionPluginContext; +import org.apache.spark.api.java.JavaRDD; +import org.apache.spark.api.java.JavaSparkContext; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.common.persistance.tca.TCACalculatorMessageType; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.TestSimpleTCAPluginConfig; + +import java.util.LinkedList; +import java.util.List; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; +import static org.junit.Assert.assertTrue; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 2/17/2017. + */ +public class SimpleTCAPluginTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private SimpleTCAPlugin simpleTCAPlugin; + + @Before + public void before() { + final TestSimpleTCAPluginConfig testSimpleTCAPluginConfig = getTestSimpleTCAPluginConfig(); + Schema outputSchema = Schema.recordOf( + "TestSimpleTCAPluginInputSchema", + Schema.Field.of("message", Schema.of(Schema.Type.STRING)), + Schema.Field.of("alert", Schema.nullableOf(Schema.of(Schema.Type.STRING))), + Schema.Field.of("tcaMessageType", Schema.of(Schema.Type.STRING)) + ); + testSimpleTCAPluginConfig.setSchema(outputSchema.toString()); + simpleTCAPlugin = new SimpleTCAPlugin(testSimpleTCAPluginConfig); + } + + @Test + public void testConfigurePipeline() throws Exception { + final PipelineConfigurer pipelineConfigurer = mock(PipelineConfigurer.class); + final StageConfigurer stageConfigurer = mock(StageConfigurer.class); + when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer); + when(stageConfigurer.getInputSchema()).thenReturn(getSimpleTCAPluginInputSchema()); + simpleTCAPlugin.configurePipeline(pipelineConfigurer); + verify(stageConfigurer, times(1)).getInputSchema(); + } + + @Test + public void testTransform() throws Exception { + + JavaSparkContext javaSparkContext = new JavaSparkContext("local", "test"); + + Schema sourceSchema = Schema.recordOf("CEFMessageSourceSchema", + Schema.Field.of("message", Schema.of(Schema.Type.STRING)) + ); + + // Inapplicable Message Structured Record + final StructuredRecord inapplicableSR = + StructuredRecord.builder(sourceSchema).set("message", "test").build(); + // compliant + final StructuredRecord compliantSR = + StructuredRecord.builder(sourceSchema).set("message", + fromStream(CEF_MESSAGE_JSON_FILE_LOCATION)).build(); + // non compliant + final String nonCompliantCEF = fromStream(CEF_NON_COMPLIANT_MESSAGE_JSON_FILE_LOCATION); + final StructuredRecord nonCompliantSR = + StructuredRecord.builder(sourceSchema).set("message", nonCompliantCEF).build(); + + final List<StructuredRecord> records = new LinkedList<>(); + records.add(inapplicableSR); + records.add(compliantSR); + records.add(nonCompliantSR); + + final JavaRDD<StructuredRecord> input = + javaSparkContext.parallelize(records); + final SparkExecutionPluginContext context = Mockito.mock(SparkExecutionPluginContext.class); + final MockStageMetrics stageMetrics = Mockito.mock(MockStageMetrics.class); + when(context.getMetrics()).thenReturn(stageMetrics); + final List<StructuredRecord> outputRecord = simpleTCAPlugin.transform(context, input).collect(); + assertNotNull(outputRecord); + assertThat(outputRecord.size(), is(3)); + + assertTrue(outputRecord.get(0).get("tcaMessageType").equals(TCACalculatorMessageType.INAPPLICABLE.toString())); + assertTrue(outputRecord.get(1).get("tcaMessageType").equals(TCACalculatorMessageType.COMPLIANT.toString())); + assertTrue(outputRecord.get(2).get("tcaMessageType").equals(TCACalculatorMessageType.NON_COMPLIANT.toString())); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java new file mode 100644 index 0000000..036244d --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRReceiverTest.java @@ -0,0 +1,75 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import com.google.common.collect.ImmutableList; +import org.apache.spark.storage.StorageLevel; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException; +import org.openecomp.dcae.apod.analytics.dmaap.domain.response.DMaaPMRSubscriberResponse; +import org.openecomp.dcae.apod.analytics.dmaap.service.subscriber.DMaaPMRSubscriber; + +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 1/24/2017. + */ +public class DMaaPMRReceiverTest extends BaseAnalyticsCDAPPluginsUnitTest { + + + @Test + public void testStoreStructuredRecords() throws Exception { + + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + final TestDMaaPMRReceiver dMaaPMRReceiver = + new TestDMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), testDMaaPMRSourcePluginConfig); + + final DMaaPMRSubscriber dMaaPMRSubscriber = Mockito.mock(DMaaPMRSubscriber.class); + final DMaaPMRSubscriberResponse subscriberResponse = Mockito.mock(DMaaPMRSubscriberResponse.class); + when(dMaaPMRSubscriber.fetchMessages()).thenReturn(subscriberResponse); + when(subscriberResponse.getFetchedMessages()).thenReturn(ImmutableList.of("Test Message")); + when(subscriberResponse.getResponseCode()).thenReturn(200); + when(subscriberResponse.getResponseMessage()).thenReturn("OK"); + dMaaPMRReceiver.storeStructuredRecords(dMaaPMRSubscriber); + verify(dMaaPMRSubscriber, times(1)).fetchMessages(); + verify(subscriberResponse, times(1)).getFetchedMessages(); + } + + @Test + public void testStoreStructuredRecordsWhenSubscriberThrowsException() throws Exception { + + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + final TestDMaaPMRReceiver dMaaPMRReceiver = + new TestDMaaPMRReceiver(StorageLevel.MEMORY_ONLY(), testDMaaPMRSourcePluginConfig); + + final DMaaPMRSubscriber dMaaPMRSubscriber = Mockito.mock(DMaaPMRSubscriber.class); + final DMaaPMRSubscriberResponse subscriberResponse = Mockito.mock(DMaaPMRSubscriberResponse.class); + when(dMaaPMRSubscriber.fetchMessages()).thenThrow(DCAEAnalyticsRuntimeException.class); + dMaaPMRReceiver.storeStructuredRecords(dMaaPMRSubscriber); + verify(dMaaPMRSubscriber, times(1)).fetchMessages(); + verify(subscriberResponse, times(0)).getFetchedMessages(); + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java new file mode 100644 index 0000000..a86206a --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/DMaaPMRSourceTest.java @@ -0,0 +1,90 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.StageConfigurer; +import co.cask.cdap.etl.api.streaming.StreamingContext; +import org.apache.spark.streaming.api.java.JavaDStream; +import org.apache.spark.streaming.api.java.JavaReceiverInputDStream; +import org.apache.spark.streaming.api.java.JavaStreamingContext; +import org.apache.spark.streaming.receiver.Receiver; +import org.junit.Before; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; + +import static org.junit.Assert.assertNotNull; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 1/24/2017. + */ +public class DMaaPMRSourceTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private PipelineConfigurer pipelineConfigurer; + + @Before + public void before() { + pipelineConfigurer = Mockito.mock(PipelineConfigurer.class); + final StageConfigurer stageConfigurer = Mockito.mock(StageConfigurer.class); + when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer); + doNothing().when(stageConfigurer).setOutputSchema(any(Schema.class)); + } + + @Test + public void testDMaaPMRSourceConfigurePipelineWithValidPluginSettings() throws Exception { + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + final DMaaPMRSource dMaaPMRSource = new DMaaPMRSource(testDMaaPMRSourcePluginConfig); + dMaaPMRSource.configurePipeline(pipelineConfigurer); + assertNotNull(dMaaPMRSource); + } + + @Test(expected = CDAPSettingsException.class) + public void testDMaaPMRSourceConfigurePipelineWithInvalidPluginSettings() throws Exception { + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + // blank out DMaaP MR Source Host + testDMaaPMRSourcePluginConfig.setHostName(null); + final DMaaPMRSource dMaaPMRSource = new DMaaPMRSource(testDMaaPMRSourcePluginConfig); + dMaaPMRSource.configurePipeline(pipelineConfigurer); + } + + + @Test + public void testGetStream() throws Exception { + final StreamingContext streamingContext = Mockito.mock(StreamingContext.class); + final JavaStreamingContext javaStreamingContext = Mockito.mock(JavaStreamingContext.class); + final JavaReceiverInputDStream dMaaPMRReceiver = Mockito.mock(JavaReceiverInputDStream.class); + when(streamingContext.getSparkStreamingContext()).thenReturn(javaStreamingContext); + when(javaStreamingContext.receiverStream(any(Receiver.class))).thenReturn(dMaaPMRReceiver); + + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + final DMaaPMRSource dMaaPMRSource = new DMaaPMRSource(testDMaaPMRSourcePluginConfig); + final JavaDStream<StructuredRecord> stream = dMaaPMRSource.getStream(streamingContext); + assertNotNull(stream); + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java new file mode 100644 index 0000000..183c90d --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRReceiverTest.java @@ -0,0 +1,81 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import org.apache.spark.storage.StorageLevel; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.schema.dmaap.DMaaPSourceOutputSchema; + +import java.util.concurrent.TimeUnit; + +/** + * @author Rajiv Singla . Creation Date: 2/20/2017. + */ +public class MockDMaaPMRReceiverTest extends BaseAnalyticsCDAPPluginsUnitTest { + + protected class TestMockDMaaPMRReceiverTest extends MockDMaaPMRReceiver { + + private boolean canStop = false; + + public TestMockDMaaPMRReceiverTest(StorageLevel storageLevel, DMaaPMRSourcePluginConfig pluginConfig) { + super(storageLevel, pluginConfig); + } + + @Override + public boolean isStopped() { + return canStop; + } + + @Override + public void store(StructuredRecord dataItem) { + LOG.debug("Mocking storing dataItem - {}", + dataItem.get(DMaaPSourceOutputSchema.FETCHED_MESSAGE.getSchemaColumnName())); + } + + public void setCanStop(boolean canStop) { + this.canStop = canStop; + } + } + + @Test + public void testStoreStructuredRecords() throws Exception { + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + testDMaaPMRSourcePluginConfig.setPollingInterval(100); + final TestMockDMaaPMRReceiverTest mockDMaaPMRReceiver = new TestMockDMaaPMRReceiverTest(StorageLevel + .MEMORY_ONLY(), + testDMaaPMRSourcePluginConfig); + new Thread(new Runnable() { + @Override + public void run() { + mockDMaaPMRReceiver.storeStructuredRecords(null); + } + }).start(); + TimeUnit.MILLISECONDS.sleep(1000); + LOG.info("Killing Mock Subscriber after 1 ms"); + mockDMaaPMRReceiver.setCanStop(true); + + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java new file mode 100644 index 0000000..11e09c5 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/MockDMaaPMRSourceTest.java @@ -0,0 +1,73 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.etl.api.streaming.StreamingContext; +import org.apache.spark.streaming.api.java.JavaDStream; +import org.apache.spark.streaming.api.java.JavaReceiverInputDStream; +import org.apache.spark.streaming.api.java.JavaStreamingContext; +import org.apache.spark.streaming.receiver.Receiver; +import org.junit.Test; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.common.exception.CDAPSettingsException; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; + +import static org.junit.Assert.assertNotNull; +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 2/20/2017. + */ +public class MockDMaaPMRSourceTest extends BaseAnalyticsCDAPPluginsUnitTest { + + @Test + public void testGetStream() throws Exception { + final StreamingContext streamingContext = Mockito.mock(StreamingContext.class); + final JavaStreamingContext javaStreamingContext = Mockito.mock(JavaStreamingContext.class); + final JavaReceiverInputDStream dMaaPMRReceiver = Mockito.mock(JavaReceiverInputDStream.class); + when(streamingContext.getSparkStreamingContext()).thenReturn(javaStreamingContext); + when(javaStreamingContext.receiverStream(any(Receiver.class))).thenReturn(dMaaPMRReceiver); + + MockDMaaPMRSource mockDMaaPMRSource = new MockDMaaPMRSource(getTestDMaaPMRSourcePluginConfig()); + final JavaDStream<StructuredRecord> stream = mockDMaaPMRSource.getStream(streamingContext); + assertNotNull(stream); + } + + @Test(expected = CDAPSettingsException.class) + public void testConfigurePipelineWhenPollingIntervalNotPresent() throws Exception { + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + testDMaaPMRSourcePluginConfig.setPollingInterval(null); + final MockDMaaPMRSource mockDMaaPMRSource = new MockDMaaPMRSource(testDMaaPMRSourcePluginConfig); + mockDMaaPMRSource.configurePipeline(null); + } + + @Test + public void testConfigurePipelineWhenPollingIntervalIsPresent() throws Exception { + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + final MockDMaaPMRSource mockDMaaPMRSource = new MockDMaaPMRSource(testDMaaPMRSourcePluginConfig); + mockDMaaPMRSource.configurePipeline(null); + assertNotNull(mockDMaaPMRSource); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java new file mode 100644 index 0000000..1baf29c --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/streaming/dmaap/TestDMaaPMRReceiver.java @@ -0,0 +1,58 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.streaming.dmaap; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.metrics.Metrics; +import org.apache.spark.storage.StorageLevel; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; + +import static org.mockito.ArgumentMatchers.anyInt; +import static org.mockito.ArgumentMatchers.anyString; +import static org.mockito.Mockito.doNothing; + +/** + * Test implementation for {@link DMaaPMRReceiver} + * <p> + * @author Rajiv Singla . Creation Date: 1/24/2017. + */ +public class TestDMaaPMRReceiver extends DMaaPMRReceiver { + + protected static Metrics metrics; + + static { + metrics = Mockito.mock(Metrics.class); + doNothing().when(metrics).count(anyString(), anyInt()); + doNothing().when(metrics).gauge(anyString(), anyInt()); + } + + + public TestDMaaPMRReceiver(StorageLevel storageLevel, DMaaPMRSourcePluginConfig pluginConfig) { + + super(storageLevel, pluginConfig, metrics); + } + + @Override + public void store(StructuredRecord dataItem) { + // do nothing + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java new file mode 100644 index 0000000..f20f753 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/transform/filter/JsonPathFilterTest.java @@ -0,0 +1,84 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.transform.filter; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import co.cask.cdap.etl.api.Emitter; +import co.cask.cdap.etl.api.PipelineConfigurer; +import co.cask.cdap.etl.api.StageConfigurer; +import org.junit.Test; +import org.mockito.ArgumentMatchers; +import org.mockito.Mockito; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; + +import java.util.Date; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.doNothing; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.times; +import static org.mockito.Mockito.verify; +import static org.mockito.Mockito.when; + +/** + * @author Rajiv Singla . Creation Date: 3/3/2017. + */ +public class JsonPathFilterTest extends BaseAnalyticsCDAPPluginsUnitTest { + + + @Test + public void testInitializeWhenFilterMappingIsValid() throws Exception { + final JsonPathFilter jsonPathFilter = new JsonPathFilter(getJsonPathFilterPluginConfig()); + jsonPathFilter.initialize(null); + } + + + @Test + public void configurePipeline() throws Exception { + final JsonPathFilter jsonPathFilter = new JsonPathFilter(getJsonPathFilterPluginConfig()); + final PipelineConfigurer pipelineConfigurer = mock(PipelineConfigurer.class); + final StageConfigurer stageConfigurer = mock(StageConfigurer.class); + when(pipelineConfigurer.getStageConfigurer()).thenReturn(stageConfigurer); + when(stageConfigurer.getInputSchema()).thenReturn(getSimpleTCAPluginInputSchema()); + doNothing().when(stageConfigurer).setOutputSchema(any(Schema.class)); + jsonPathFilter.configurePipeline(pipelineConfigurer); + verify(stageConfigurer, times(1)).setOutputSchema(any(Schema.class)); + } + + @Test + public void testTransform() throws Exception { + final JsonPathFilter jsonPathFilter = new JsonPathFilter(getJsonPathFilterPluginConfig()); + jsonPathFilter.initialize(null); + final StructuredRecord inputSR = StructuredRecord.builder(getJsonFilterPluginInputSchema()) + .set("ts", new Date().getTime()) + .set("responseCode", 200) + .set("responseMessage", "OK") + .set("message", fromStream(CEF_MESSAGE_JSON_FILE_LOCATION)) + .build(); + + final Emitter emitter = Mockito.mock(Emitter.class); + doNothing().when(emitter).emit(ArgumentMatchers.any(StructuredRecord.class)); + jsonPathFilter.transform(inputSR, emitter); + verify(emitter, times(1)).emit(any(StructuredRecord.class)); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java new file mode 100644 index 0000000..1483749 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/CDAPPluginUtilsTest.java @@ -0,0 +1,171 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.utils; + +import co.cask.cdap.api.data.format.StructuredRecord; +import co.cask.cdap.api.data.schema.Schema; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.common.exception.DCAEAnalyticsRuntimeException; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; +import static org.junit.Assert.assertThat; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class CDAPPluginUtilsTest extends BaseAnalyticsCDAPPluginsUnitTest { + + + @Test + public void testValidateSchemaContainsFieldsWhenSchemaIsNotNull() throws Exception { + final Schema dMaaPMRSinkTestSchema = getDMaaPMRSinkTestSchema(); + CDAPPluginUtils.validateSchemaContainsFields(dMaaPMRSinkTestSchema, "message"); + } + + @Test + public void testValidateSchemaContainsFieldsWhenInputSchemaIsNull() throws Exception { + CDAPPluginUtils.validateSchemaContainsFields(null, "message"); + } + + @Test + public void testCreateStructuredRecord() throws Exception { + final StructuredRecord testMessage = CDAPPluginUtils.createDMaaPMRResponseStructuredRecord("testMessage"); + assertNotNull(testMessage); + } + + + @Test + public void testCreateOutputStructuredRecordBuilder() throws Exception { + + final String messageFieldName = "message"; + final String firstInputFieldName = "inputField1"; + final String secondInputFieldName = "inputField2"; + + + final Schema inputSchema = Schema.recordOf( + "inputSchema", + Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)), + Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))), + Schema.Field.of(secondInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) + ); + + final String addedFieldName = "addedField"; + final Schema outputSchema = Schema.recordOf( + "outputSchema", + Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)), + Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))), + Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field + // missing second Input Field + ); + + // input structured record + final String messageFieldValue = "Message String"; + final String firstFieldValue = "Input Field 1"; + final String secondFieldValue = "Input Field 2"; + final StructuredRecord inputSR = StructuredRecord.builder(inputSchema) + .set(messageFieldName, messageFieldValue) + .set(firstInputFieldName, firstFieldValue) + .set(secondInputFieldName, secondFieldValue) + .build(); + + final StructuredRecord.Builder outputStructuredRecordBuilder = + CDAPPluginUtils.createOutputStructuredRecordBuilder(outputSchema, inputSR); + + final String addedFieldValue = "Added Field Value"; + final StructuredRecord outputSR = outputStructuredRecordBuilder + .set(addedFieldName, addedFieldValue) + .build(); + + assertThat("Added Field field value copied correctly", + outputSR.get(addedFieldName).toString(), is(addedFieldValue)); + + assertThat("Output SR has message field copied correctly", + outputSR.get(messageFieldName).toString(), is(messageFieldValue)); + + assertThat("First Field value copied correctly", + outputSR.get(firstInputFieldName).toString(), is(firstFieldValue)); + + assertNull("Second Field value is null as output schema does not have the field", + outputSR.get(secondInputFieldName)); + + } + + + @Test + public void testAddFieldValueToStructuredRecordBuilder() throws Exception { + + final String messageFieldName = "message"; + final String firstInputFieldName = "inputField1"; + final String addedFieldName = "addedField"; + final String firstFieldValue = "Input Field 1"; + final String addedFieldValue = "Added Field Value"; + final Schema outputSchema = Schema.recordOf( + "outputSchema", + Schema.Field.of(messageFieldName, Schema.of(Schema.Type.STRING)), + Schema.Field.of(firstInputFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))), + Schema.Field.of(addedFieldName, Schema.nullableOf(Schema.of(Schema.Type.STRING))) // added field + ); + + final StructuredRecord.Builder outputSRBuilder = StructuredRecord.builder(outputSchema) + .set(messageFieldName, "Some message") + .set(firstInputFieldName, firstFieldValue); + + final StructuredRecord.Builder addedFieldSRBuilder = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder( + outputSRBuilder, outputSchema, addedFieldName, addedFieldValue); + + // Try adding field to output Structured record that is not in output schema + final String nonExistentFieldName = "fieldNotInOutputSchema"; + final String nonExistentFieldValue = "Some Value"; + final StructuredRecord outputSR = CDAPPluginUtils.addFieldValueToStructuredRecordBuilder( + addedFieldSRBuilder, outputSchema, nonExistentFieldName, nonExistentFieldValue).build(); + + assertThat("Output SR must contain added Field which is in output schema", + outputSR.get(addedFieldName).toString(), is(addedFieldValue)); + assertNull("Output SR must not contain field that is not in output schema", + outputSR.get(nonExistentFieldName)); + + } + + @Test(expected = DCAEAnalyticsRuntimeException.class) + public void testValidateSchemaFieldTypeWhenInputSchemaIsNotValidJson() throws Exception { + CDAPPluginUtils.validateSchemaFieldType("Invalid Schema", "field1", Schema.Type.STRING); + } + + @Test(expected = DCAEAnalyticsRuntimeException.class) + public void testSetOutputSchemaWhenOutputSchemaIsNotValidJson() throws Exception { + CDAPPluginUtils.setOutputSchema(null, "Invalid output Schema"); + } + + @Test(expected = DCAEAnalyticsRuntimeException.class) + public void testExtractFieldMappingsWhenFieldMappingValueIsEmpty() throws Exception { + CDAPPluginUtils.extractFieldMappings("path1:,path2:value2"); + } + + @Test(expected = DCAEAnalyticsRuntimeException.class) + public void testExtractFieldMappingsWhenFieldMappingAreBlank() throws Exception { + CDAPPluginUtils.extractFieldMappings("path1: ,path2:value2"); + } + + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java new file mode 100644 index 0000000..bbd5c13 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSinkConfigMapperTest.java @@ -0,0 +1,57 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.utils; + +import org.apache.hadoop.conf.Configuration; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRPublisherConfig; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPSinkConfigMapperTest extends BaseAnalyticsCDAPPluginsUnitTest { + + + @Test + public void testMapToPublisherConfig() throws Exception { + + final Configuration testConfiguration = getTestConfiguration(); + final DMaaPMRPublisherConfig publisherConfig = DMaaPSinkConfigMapper.map(testConfiguration); + + assertNotNull(publisherConfig); + assertThat(publisherConfig.getHostName(), is(DMAAP_MR_SINK_PLUGIN_HOST_NAME)); + assertThat(publisherConfig.getTopicName(), is(DMAAP_MR_SINK_PLUGIN_TOPIC_NAME)); + assertThat(publisherConfig.getPortNumber(), is(DMAAP_MR_SINK_PLUGIN_PORT_NUMBER)); + assertThat(publisherConfig.getProtocol(), is(DMAAP_MR_SINK_PLUGIN_PROTOCOL)); + assertThat(publisherConfig.getUserName(), is(DMAAP_MR_SINK_PLUGIN_USERNAME)); + assertThat(publisherConfig.getUserPassword(), is(DMAAP_MR_SINK_PLUGIN_PASSWORD)); + assertThat(publisherConfig.getContentType(), is(DMAAP_MR_SINK_PLUGIN_CONTENT_TYPE)); + assertThat(publisherConfig.getMaxBatchSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_BATCH_SIZE)); + assertThat(publisherConfig.getMaxRecoveryQueueSize(), is(DMAAP_MR_SINK_PLUGIN_MAX_RECOVERY_QUEUE_SIZE)); + + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java new file mode 100644 index 0000000..4f4d751 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/utils/DMaaPSourceConfigMapperTest.java @@ -0,0 +1,64 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.utils; + +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.dmaap.domain.config.DMaaPMRSubscriberConfig; + +import static org.hamcrest.CoreMatchers.is; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertThat; + +/** + * @author Rajiv Singla . Creation Date: 1/24/2017. + */ +public class DMaaPSourceConfigMapperTest extends BaseAnalyticsCDAPPluginsUnitTest { + + @Test + public void testMapToSubscriberConfig() throws Exception { + + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + final DMaaPMRSubscriberConfig subscriberConfig = DMaaPSourceConfigMapper.map(testDMaaPMRSourcePluginConfig); + + assertNotNull(subscriberConfig); + assertThat(subscriberConfig.getHostName(), is(DMAAP_MR_SOURCE_PLUGIN_HOST_NAME)); + assertThat(subscriberConfig.getTopicName(), is(DMAAP_MR_SOURCE_PLUGIN_TOPIC_NAME)); + assertThat(subscriberConfig.getPortNumber(), is(DMAAP_MR_SOURCE_PLUGIN_PORT_NUMBER)); + assertThat(subscriberConfig.getProtocol(), is(DMAAP_MR_SOURCE_PLUGIN_PROTOCOL)); + assertThat(subscriberConfig.getUserName(), is(DMAAP_MR_SOURCE_PLUGIN_USERNAME)); + assertThat(subscriberConfig.getUserPassword(), is(DMAAP_MR_SOURCE_PLUGIN_PASSWORD)); + assertThat(subscriberConfig.getContentType(), is(DMAAP_MR_SOURCE_PLUGIN_CONTENT_TYPE)); + assertThat(subscriberConfig.getConsumerGroup(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_GROUP)); + assertThat(subscriberConfig.getConsumerId(), is(DMAAP_MR_SOURCE_PLUGIN_CONSUMER_ID)); + assertThat(subscriberConfig.getMessageLimit(), is(DMAAP_MR_SOURCE_PLUGIN_MESSAGE_LIMIT)); + assertThat(subscriberConfig.getTimeoutMS(), is(DMAAP_MR_SOURCE_PLUGIN_TIMEOUT)); + } + + @Test(expected = IllegalStateException.class) + public void testMapToSubscriberConfigWhenSubscriberHostNameIsEmpty() throws Exception { + final TestDMaaPMRSourcePluginConfig testDMaaPMRSourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + testDMaaPMRSourcePluginConfig.setHostName(null); + DMaaPSourceConfigMapper.map(testDMaaPMRSourcePluginConfig); + + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java new file mode 100644 index 0000000..79fcf72 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSinkPluginConfigValidatorTest.java @@ -0,0 +1,86 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSinkPluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMRSinkPluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private TestDMaaPMRSinkPluginConfig sinkPluginConfig; + private DMaaPMRSinkPluginConfigValidator sinkPluginConfigValidator; + + @Before + public void before() { + sinkPluginConfigValidator = new DMaaPMRSinkPluginConfigValidator(); + sinkPluginConfig = getTestDMaaPMRSinkPluginConfig(); + } + + @Test + public void validateAppSettingsWithValidDMaaPSinkConfig() throws Exception { + final GenericValidationResponse<DMaaPMRSinkPluginConfig> validationResponse = + sinkPluginConfigValidator.validateAppSettings(sinkPluginConfig); + assertFalse(validationResponse.hasErrors()); + } + + + @Test + public void validateAppSettingsWithValidDMaaPSinkConfigWhenHostNameIsNotPresent() throws Exception { + sinkPluginConfig.setHostName(null); + assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator); + } + + @Test + public void validateAppSettingsWithValidDMaaPSinkConfigWhenHostPortIsNotPresent() throws Exception { + sinkPluginConfig.setPortNumber(null); + assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator); + } + + @Test + public void validateAppSettingsWithValidDMaaPSinkConfigWhenTopicNameIsNotPresent() throws Exception { + sinkPluginConfig.setTopicName(null); + assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator); + } + + @Test + public void validateAppSettingsWithValidDMaaPSinkConfigWhenColumnNameIsNotPresent() throws Exception { + sinkPluginConfig.setMessageColumnName(null); + assertResponseHasErrors(sinkPluginConfig, sinkPluginConfigValidator); + } + + private static void assertResponseHasErrors(final TestDMaaPMRSinkPluginConfig sinkPluginConfig, + final DMaaPMRSinkPluginConfigValidator validator) { + final GenericValidationResponse validationResponse = validator.validateAppSettings(sinkPluginConfig); + assertTrue(validationResponse.hasErrors()); + } + + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java new file mode 100644 index 0000000..9bc79b6 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/DMaaPMRSourcePluginConfigValidatorTest.java @@ -0,0 +1,85 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.DMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.dmaap.TestDMaaPMRSourcePluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 1/30/2017. + */ +public class DMaaPMRSourcePluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private TestDMaaPMRSourcePluginConfig sourcePluginConfig; + private DMaaPMRSourcePluginConfigValidator sourcePluginConfigValidator; + + @Before + public void before() { + sourcePluginConfigValidator = new DMaaPMRSourcePluginConfigValidator(); + sourcePluginConfig = getTestDMaaPMRSourcePluginConfig(); + } + + @Test + public void validateAppSettingsWithValidDMaaPSourceConfig() throws Exception { + final GenericValidationResponse<DMaaPMRSourcePluginConfig> validationResponse = + sourcePluginConfigValidator.validateAppSettings(sourcePluginConfig); + assertFalse(validationResponse.hasErrors()); + } + + + @Test + public void validateAppSettingsWithValidDMaaPSourceConfigWhenHostNameIsNotPresent() throws Exception { + sourcePluginConfig.setHostName(null); + assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator); + } + + @Test + public void validateAppSettingsWithValidDMaaPSourceConfigWhenHostPortIsNotPresent() throws Exception { + sourcePluginConfig.setPortNumber(null); + assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator); + } + + @Test + public void validateAppSettingsWithValidDMaaPSourceConfigWhenTopicNameIsNotPresent() throws Exception { + sourcePluginConfig.setTopicName(null); + assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator); + } + + @Test + public void validateAppSettingsWithValidDMaaPSourcePollingIntervalIsNotPresent() throws Exception { + sourcePluginConfig.setPollingInterval(null); + assertResponseHasErrors(sourcePluginConfig, sourcePluginConfigValidator); + } + + private static void assertResponseHasErrors(final TestDMaaPMRSourcePluginConfig sourcePluginConfig, + final DMaaPMRSourcePluginConfigValidator validator) { + final GenericValidationResponse validationResponse = validator.validateAppSettings(sourcePluginConfig); + assertTrue(validationResponse.hasErrors()); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java new file mode 100644 index 0000000..7abd4b0 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/JsonPathFilterPluginConfigValidatorTest.java @@ -0,0 +1,107 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.JsonPathFilterPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.filter.TestJsonPathFilterPluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 3/3/2017. + */ +public class JsonPathFilterPluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private TestJsonPathFilterPluginConfig jsonPathFilterPluginConfig; + private JsonPathFilterPluginConfigValidator jsonPathFilterPluginConfigValidator; + + @Before + public void before() { + jsonPathFilterPluginConfig = getJsonPathFilterPluginConfig(); + jsonPathFilterPluginConfigValidator = new JsonPathFilterPluginConfigValidator(); + } + + + @Test + public void testValidateAppSettingsWhenNoValidationErrors() throws Exception { + final GenericValidationResponse<JsonPathFilterPluginConfig> validationResponse = + jsonPathFilterPluginConfigValidator.validateAppSettings(jsonPathFilterPluginConfig); + assertFalse(validationResponse.hasErrors()); + } + + @Test + public void testValidateAppSettingsWhenFilterMappingsAreEmpty() throws Exception { + jsonPathFilterPluginConfig.setJsonFilterMappings(""); + assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenOutputSchemaIsNotPresent() throws Exception { + jsonPathFilterPluginConfig.setSchema(null); + assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenOutputSchemaFilterMatchedFieldIsNotBoolean() throws Exception { + final String outputSchemaWithMatchedFieldNotBoolean = + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\",\"fields\":" + + "[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"filterMatched\",\"type\":[\"string\",\"null\"]}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}" + + "]" + + "}"; + jsonPathFilterPluginConfig.setSchema(outputSchemaWithMatchedFieldNotBoolean); + assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenOutputSchemaFilterMatchedFieldIsNotNullable() throws Exception { + final String outputSchemaWithMatchedFieldNotNullable = + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\",\"fields\":" + + "[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"filterMatched\",\"type\":\"boolean\"}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}" + + "]" + + "}"; + jsonPathFilterPluginConfig.setSchema(outputSchemaWithMatchedFieldNotNullable); + assertResponseHasErrors(jsonPathFilterPluginConfig, jsonPathFilterPluginConfigValidator); + } + + private static void assertResponseHasErrors(final TestJsonPathFilterPluginConfig jsonPluginConfig, + final JsonPathFilterPluginConfigValidator validator) { + final GenericValidationResponse validationResponse = validator.validateAppSettings(jsonPluginConfig); + assertTrue(validationResponse.hasErrors()); + } + +} diff --git a/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java new file mode 100644 index 0000000..07dfe45 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/java/org/openecomp/dcae/apod/analytics/cdap/plugins/validator/SimpleTCAPluginConfigValidatorTest.java @@ -0,0 +1,157 @@ +/* + * ===============================LICENSE_START====================================== + * dcae-analytics + * ================================================================================ + * Copyright © 2017 AT&T Intellectual Property. All rights reserved. + * ================================================================================ + * 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. + * ============================LICENSE_END=========================================== + */ + +package org.openecomp.dcae.apod.analytics.cdap.plugins.validator; + +import org.junit.Before; +import org.junit.Test; +import org.openecomp.dcae.apod.analytics.cdap.plugins.BaseAnalyticsCDAPPluginsUnitTest; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.SimpleTCAPluginConfig; +import org.openecomp.dcae.apod.analytics.cdap.plugins.domain.config.tca.TestSimpleTCAPluginConfig; +import org.openecomp.dcae.apod.analytics.common.validation.GenericValidationResponse; + +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertTrue; + +/** + * @author Rajiv Singla . Creation Date: 2/21/2017. + */ +public class SimpleTCAPluginConfigValidatorTest extends BaseAnalyticsCDAPPluginsUnitTest { + + private TestSimpleTCAPluginConfig testSimpleTCAPluginConfig; + private SimpleTCAPluginConfigValidator simpleTCAPluginConfigValidator; + + @Before + public void before() { + testSimpleTCAPluginConfig = getTestSimpleTCAPluginConfig(); + simpleTCAPluginConfigValidator = new SimpleTCAPluginConfigValidator(); + } + + @Test + public void testValidateAppSettingsWhenAllSettingsAreValid() throws Exception { + final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse = + simpleTCAPluginConfigValidator.validateAppSettings(testSimpleTCAPluginConfig); + assertFalse(validationResponse.hasErrors()); + } + + @Test + public void testValidateAppSettingsWhenVESMessageFieldNameIsMissing() throws Exception { + testSimpleTCAPluginConfig.setVesMessageFieldName(null); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenPolicyJsonIsMissing() throws Exception { + testSimpleTCAPluginConfig.setPolicyJson(null); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenAlertFieldNameIsMissing() throws Exception { + testSimpleTCAPluginConfig.setAlertFieldName(null); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenOutputSchemaIsNull() throws Exception { + testSimpleTCAPluginConfig.setSchema(null); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenMessageTypeFieldNameIsMissing() throws Exception { + testSimpleTCAPluginConfig.setMessageTypeFieldName(null); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenAlertFieldIsNullableInOutputSchema() throws Exception { + testSimpleTCAPluginConfig.setSchema( + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\"," + + "\"fields\":[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}," + + "{\"name\":\"alert\",\"type\":[\"string\",\"null\"]}," + + "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"); + final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse = + simpleTCAPluginConfigValidator.validateAppSettings(testSimpleTCAPluginConfig); + assertFalse(validationResponse.hasErrors()); + + } + + @Test + public void testValidateAppSettingsWhenAlertFieldIsNotPresentInOutputSchema() throws Exception { + testSimpleTCAPluginConfig.setSchema( + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\"," + + "\"fields\":[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}," + + "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"); + final GenericValidationResponse<SimpleTCAPluginConfig> validationResponse = + simpleTCAPluginConfigValidator.validateAppSettings(testSimpleTCAPluginConfig); + assertFalse(validationResponse.hasErrors()); + + } + + @Test + public void testValidateAppSettingsWhenAlertFieldIsNullableButNotStringTypeInOutputSchema() throws Exception { + testSimpleTCAPluginConfig.setSchema( + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\"," + + "\"fields\":[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}," + + "{\"name\":\"alert\",\"type\":[\"int\",\"null\"]}," + + "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + @Test + public void testValidateAppSettingsWhenAlertFieldNameIsNotNullableInOutputSchema() throws Exception { + testSimpleTCAPluginConfig.setSchema( + "{\"type\":\"record\"," + + "\"name\":\"etlSchemaBody\"," + + "\"fields\":[" + + "{\"name\":\"ts\",\"type\":\"long\"}," + + "{\"name\":\"responseCode\",\"type\":\"int\"}," + + "{\"name\":\"responseMessage\",\"type\":\"string\"}," + + "{\"name\":\"message\",\"type\":\"string\"}," + + "{\"name\":\"alert\",\"type\":\"string\"}," + + "{\"name\":\"tcaMessageType\",\"type\":\"string\"}]}"); + assertResponseHasErrors(testSimpleTCAPluginConfig, simpleTCAPluginConfigValidator); + } + + + + private static void assertResponseHasErrors(final TestSimpleTCAPluginConfig pluginConfig, + final SimpleTCAPluginConfigValidator validator) { + final GenericValidationResponse validationResponse = validator.validateAppSettings(pluginConfig); + assertTrue(validationResponse.hasErrors()); + LOG.debug("Validation Error Message: {}", validationResponse.getAllErrorMessage()); + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json new file mode 100644 index 0000000..52cf53b --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/cef_message.json @@ -0,0 +1,37 @@ +{ + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 6086, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 93, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070210290442, + "eventId": "375", + "lastEpochMicrosec": 1477070220290442, + "priority": "Normal", + "sequence": 375, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json new file mode 100644 index 0000000..2fdf202 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/resources/data/json/cef/non_compliant_cef_message.json @@ -0,0 +1,37 @@ +{ + "event": { + "measurementsForVfScalingFields": { + "measurementInterval": 10, + "measurementsForVfScalingVersion": 1.1, + "vNicUsageArray": [ + { + "bytesIn": 20001, + "multicastPacketsIn": 0, + "multicastPacketsOut": 0, + "unicastPacketsIn": 0, + "broadcastPacketsOut": 0, + "packetsOut": 42, + "bytesOut": 7156, + "packetsIn": 93, + "broadcastPacketsIn": 0, + "vNicIdentifier": "eth0", + "unicastPacketsOut": 0 + } + ] + }, + "commonEventHeader": { + "reportingEntityName": "vpp-test", + "startEpochMicrosec": 1477070210290442, + "eventId": "375", + "lastEpochMicrosec": 1477070220290442, + "priority": "Normal", + "sequence": 375, + "sourceName": "Dummy VM name - No Metadata available", + "domain": "measurementsForVfScaling", + "functionalRole": "vFirewall", + "reportingEntityId": "No UUID available", + "version": 1.1, + "sourceId": "Dummy VM UUID - No Metadata available" + } + } +} diff --git a/dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json b/dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json new file mode 100644 index 0000000..1bf9e83 --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/resources/data/json/policy/tca_policy.json @@ -0,0 +1,53 @@ +{ + "domain": "measurementsForVfScaling", + "metricsPerFunctionalRole": [ + { + "functionalRole": "vFirewall", + "policyScope": "resource=vFirewall;type=configuration", + "policyName": "configuration.dcae.microservice.tca.xml", + "policyVersion": "v0.0.1", + "thresholds": [ + { + "closedLoopControlName": "CL-FRWL-LOW-TRAFFIC-SIG-d925ed73-8231-4d02-9545-db4e101f88f8", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn", + "thresholdValue": 4000, + "direction": "LESS_OR_EQUAL", + "severity": "MAJOR" + }, + { + "closedLoopControlName": "CL-FRWL-HIGH-TRAFFIC-SIG-EA36FE84-9342-5E13-A656-EC5F21309A09", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].bytesIn", + "thresholdValue": 20000, + "direction": "GREATER_OR_EQUAL", + "severity": "CRITICAL" + } + ] + }, + { + "functionalRole": "vLoadBalancer", + "policyScope": "resource=vLoadBalancer;type=configuration", + "policyName": "configuration.dcae.microservice.tca.xml", + "policyVersion": "v0.0.1", + "thresholds": [ + { + "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-FB480F95-A453-6F24-B767-FD703241AB1A", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn", + "thresholdValue": 500, + "direction": "LESS_OR_EQUAL", + "severity": "MAJOR" + }, + { + "closedLoopControlName": "CL-LBAL-LOW-TRAFFIC-SIG-0C5920A6-B564-8035-C878-0E814352BC2B", + "version": "1.0.2", + "fieldPath": "$.event.measurementsForVfScalingFields.vNicUsageArray[*].packetsIn", + "thresholdValue": 5000, + "direction": "GREATER_OR_EQUAL", + "severity": "CRITICAL" + } + ] + } + ] +} diff --git a/dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml b/dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml new file mode 100644 index 0000000..68d2f3d --- /dev/null +++ b/dcae-analytics-cdap-plugins/src/test/resources/logback-test.xml @@ -0,0 +1,55 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + ~ ===============================LICENSE_START====================================== + ~ dcae-analytics + ~ ================================================================================ + ~ Copyright © 2017 AT&T Intellectual Property. All rights reserved. + ~ ================================================================================ + ~ 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. + ~ ============================LICENSE_END=========================================== + --> +<configuration debug="false"> + + <!-- + Disabling some chatty loggers. + --> + <logger name="org.apache.commons.beanutils" level="ERROR"/> + <logger name="org.apache.zookeeper.server" level="ERROR"/> + <logger name="org.apache.zookeeper" level="ERROR"/> + <logger name="com.ning" level="WARN"/> + <logger name="org.apache.spark" level="WARN"/> + <logger name="org.spark-project" level="WARN"/> + <logger name="org.apache.hadoop" level="WARN"/> + <logger name="org.apache.hive" level="WARN"/> + <logger name="org.quartz.core" level="WARN"/> + <logger name="org.eclipse.jetty" level="WARN"/> + <logger name="io.netty.util.internal" level="WARN"/> + + <logger name="org.apache.twill" level="WARN"/> + <logger name="co.cask.cdap" level="INFO"/> + <logger name="org.openecomp.dcae.apod.analytics" level="DEBUG"/> + + <appender name="Console" class="ch.qos.logback.core.ConsoleAppender"> + <encoder> + <pattern>%d{ISO8601} - %-5p [%t:%C{1}@%L] - %m%n</pattern> + </encoder> + </appender> + + <root level="ERROR"> + <appender-ref ref="Console"/> + </root> + + +</configuration> + |