diff options
Diffstat (limited to 'protobuf')
-rw-r--r-- | protobuf/pom.xml | 96 | ||||
-rw-r--r-- | protobuf/src/main/proto/HVRanMeasFields-v5.proto | 54 | ||||
-rw-r--r-- | protobuf/src/main/proto/VesEvent-v5.proto | 86 |
3 files changed, 236 insertions, 0 deletions
diff --git a/protobuf/pom.xml b/protobuf/pom.xml new file mode 100644 index 00000000..08f06330 --- /dev/null +++ b/protobuf/pom.xml @@ -0,0 +1,96 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ dcaegen2-collectors-veshv + ~ ================================================================================ + ~ Copyright (C) 2018 NOKIA 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========================================================= + --> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + + <licenses> + <license> + <name>The Apache Software License, Version 2.0</name> + <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url> + </license> + </licenses> + + <parent> + <groupId>org.onap.dcaegen2.collectors.veshv</groupId> + <artifactId>ves-hv-collector</artifactId> + <version>1.0.0-SNAPSHOT</version> + <relativePath>..</relativePath> + </parent> + + <artifactId>protobuf</artifactId> + <description>Google Protocol Buffers schemas for VES-HV-Collector</description> + + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>build-helper-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + </plugin> + <plugin> + <groupId>com.github.os72</groupId> + <artifactId>protoc-jar-maven-plugin</artifactId> + <executions> + <execution> + <phase>generate-sources</phase> + <goals> + <goal>run</goal> + </goals> + <configuration> + <protocArtifact>com.google.protobuf:protoc:${protobuf.version}</protocArtifact> + <inputDirectories> + <include>${project.basedir}/src/main/proto</include> + </inputDirectories> + <outputTargets> + <outputTarget> + <type>java</type> + <addSources>none</addSources> + <outputDirectory>${protobuf-generated-files.directory}</outputDirectory> + </outputTarget> + </outputTargets> + </configuration> + </execution> + </executions> + </plugin> + <plugin> + <artifactId>maven-surefire-plugin</artifactId> + <groupId>org.apache.maven.plugins</groupId> + <configuration> + <skipTests>true</skipTests> + </configuration> + </plugin> + </plugins> + </build> + + + <dependencies> + <dependency> + <groupId>com.google.protobuf</groupId> + <artifactId>protobuf-java</artifactId> + </dependency> + </dependencies> + +</project>
\ No newline at end of file diff --git a/protobuf/src/main/proto/HVRanMeasFields-v5.proto b/protobuf/src/main/proto/HVRanMeasFields-v5.proto new file mode 100644 index 00000000..cc375211 --- /dev/null +++ b/protobuf/src/main/proto/HVRanMeasFields-v5.proto @@ -0,0 +1,54 @@ +/* + * ============LICENSE_START======================================================= + * dcaegen2-collectors-veshv + * ================================================================================ + * Copyright (C) 2018 NOKIA 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========================================================= + */ +syntax = "proto3"; +package org.onap.ves; + +// Definition for RTPM + +message HVRanMeasFields { + message HVRanMeasPayload { + message PMObject { + message HVRanMeas { + uint32 measurement_id = 1; + repeated uint32 counter_subid = 2; + repeated sint64 counter_value = 3; + repeated uint32 missing_counter_subid = 4; + bool suspectFlagIncomplete = 5; // (some is data missing due to internal error) + bool suspectFlagOutOfSync = 6; // (source time not aligned) + } + + string uri = 1; // monitored object URI + repeated HVRanMeas hvRanMeas = 2; // performance counters grouped by measurement types + } + repeated PMObject pmObject = 1; + } + + message AdditionalField { + string name = 1; + string value = 2; + } + + string hvRanMeasFieldsVersion = 1; // version of HVRanMeasFields message + uint32 period_ms = 2; // period configured for reporting the data in milliseconds + string timezone = 3; // timezone of Network Function sending the data + string pmDictionaryVsn = 4; // vendor name + schema version E.g. NOKIA_LN7.0, uniquely identify the relevant PM dictionary + HVRanMeasPayload hvRanMeasPayload = 5; // objects being monitored + repeated AdditionalField additionalFields = 6; // array of name-value pairs if needed +}
\ No newline at end of file diff --git a/protobuf/src/main/proto/VesEvent-v5.proto b/protobuf/src/main/proto/VesEvent-v5.proto new file mode 100644 index 00000000..4ba6f6a5 --- /dev/null +++ b/protobuf/src/main/proto/VesEvent-v5.proto @@ -0,0 +1,86 @@ +/* + * ============LICENSE_START======================================================= + * dcaegen2-collectors-veshv + * ================================================================================ + * Copyright (C) 2018 NOKIA 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========================================================= + */ +syntax = "proto3"; +package org.onap.ves; + +message VesEvent { + + // VES CommonEventHeader adapted to GPB (Google Protocol Buffers) + // Source: https://git.opnfv.org/ves/tree/tests/docs/ves_data_model.json + // 2017-05-13 Align with VES 5.0 schema. + // blob: ca948ff67e8a2de4e2a47cffc4d4d2893170ab76 + + message CommonEventHeader { + string version = 1; // required, "version of the event header" + enum Domain { + FAULT = 0; + HEARTBEAT = 1; + MEASUREMENTS_FOR_VF_SCALING = 2; + MOBILE_FLOW = 3; + SIP_SIGNALING = 4; + STATE_CHANGE = 5; + SYSLOG = 6; + THRESHOLD_CROSSING_ALERT = 7; + VOICE_QUALITY = 8; + OTHER = 9; + HVRANMEAS = 10; + } + Domain domain = 2; // required, "the eventing domain associated with the event" [map to string] + + uint32 sequence = 3; // required, "ordering of events communicated by an event source instance or 0 if not needed" + + enum Priority { + HIGH = 0; + MEDIUM = 1; + NORMAL = 2; + LOW = 3; + } + Priority priority = 4; // required, "processing priority" + + string eventId = 5; // required, "event key that is unique to the event source" + string eventName = 6; // required, "unique event name" + string eventType = 7; // "for example - applicationVnf, guestOS, hostOS, platform" + + uint64 lastEpochMicrosec = 8; // required, "the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds" + uint64 startEpochMicrosec = 9; // required, "the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds" + + string nfNamingCode = 10; // "4 character network function type, aligned with vnf naming standards" + string nfcNamingCode = 11; // "3 character network function component type, aligned with vfc naming standards" + + string reportingEntityId = 12; // "UUID identifying the entity reporting the event, for example an OAM VM; must be populated by the ATT enrichment process" + bytes reportingEntityName = 13; // required, "name of the entity reporting the event, for example, an EMS name; may be the same as sourceName" + bytes sourceId = 14; // "UUID identifying the entity experiencing the event issue; must be populated by the ATT enrichment process" + string sourceName = 15; // required, "name of the entity experiencing the event issue" + + reserved "InternalHeaderFields"; // "enrichment fields for internal VES Event Listener service use only, not supplied by event sources" + reserved 100; + } + + CommonEventHeader commonEventHeader = 1; + + oneof eventFields // required, payload, each high-volume domain has its specific GPB schema + { + bytes hvRanMeasFields = 2; // if domain==HVRANMEAS, GPB schema: HVRanMeasFields.proto + } +} + +message VesEventList { + repeated VesEvent vesEvent = 1; +} |