Populate HV-VES API section of the documentation 55/68855/4
authorFilip Krzywka <filip.krzywka@nokia.com>
Tue, 25 Sep 2018 12:43:18 +0000 (14:43 +0200)
committerFilip Krzywka <filip.krzywka@nokia.com>
Mon, 1 Oct 2018 07:42:15 +0000 (09:42 +0200)
Change-Id: Id5082cf8918d4568c5ae735e14ee63e0ab9ee5a8
Issue-ID: DCAEGEN2-832
Signed-off-by: Filip Krzywka <filip.krzywka@nokia.com>
docs/sections/apis/VesEvent.proto [new file with mode: 0644]
docs/sections/apis/ves-hv.rst
docs/sections/installation_oom.rst

diff --git a/docs/sections/apis/VesEvent.proto b/docs/sections/apis/VesEvent.proto
new file mode 100644 (file)
index 0000000..0f9e5e1
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * ============LICENSE_START=======================================================
+ * dcaegen2-collectors-veshv
+ * ================================================================================
+ * Copyright (C) 2018 NOKIA
+ * ================================================================================
+ * 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 {
+    CommonEventHeader commonEventHeader=1;  // required
+
+    bytes eventFields=2;                    // required, payload
+    // this field contains a domain-specific GPB message
+    // the field being opaque (bytes), the decoding of the payload occurs in a separate step
+    // the name of the GPB message for domain XYZ is XYZFields
+    // e.g. for domain==HVMEAS, the GPB message is HVMEASFields
+}
+
+// VES CommonEventHeader adapted to GPB (Google Protocol Buffers)
+// Aligned with VES 7.0.1 schema, and extending to hvMeas Domain.
+
+message CommonEventHeader
+{
+    string version = 1;                     // required, "version of the gpb common event header"
+    string domain = 2;                      // required, "the eventing domain associated with the event", allowed values:
+    // FAULT, HEARTBEAT, MEASUREMENT, MOBILE_FLOW, OTHER, PNFREGISTRATION, SIP_SIGNALING,
+    // STATE_CHANGE, SYSLOG, THRESHOLD_CROSSING_ALERT, VOICE_QUALITY, HVMEAS
+
+    uint32 sequence = 3;                    // required, "ordering of events communicated by an event source instance or 0 if not needed"
+
+    enum Priority
+    {
+        PRIORITY_NOT_PROVIDED = 0;
+        HIGH = 1;
+        MEDIUM = 2;
+        NORMAL = 3;
+        LOW = 4;
+    }
+    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 - guest05,  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 nfVendorName = 12;               // " Vendor Name providing the nf "
+
+    bytes reportingEntityId = 13;           // "UUID identifying the entity reporting the event, for example an OAM VM; must be populated by the ATT enrichment process"
+    string reportingEntityName = 14;        // required, "name of the entity reporting the event, for example, an EMS name; may be the same as sourceName should match A&AI entry"
+    bytes sourceId = 15;                    // "UUID identifying the entity experiencing the event issue; must be populated by the ATT enrichment process"
+    string sourceName = 16;                 // required, "name of the entity experiencing the event issued use A&AI entry"
+    string timeZoneOffset = 17;             // "Offset to GMT to indicate local time zone for the device"
+    string vesEventListenerVersion = 18;    // required, "Version of the VesEvent Listener"
+
+    reserved "InternalHeaderFields";        // "enrichment fields for internal VES Event Listener service use only, not supplied by event sources"
+    reserved 100;
+}
index d207107..2045b6b 100644 (file)
@@ -14,5 +14,41 @@ HV-VES (High Volume VES)
 Overview
 ========
 
-TODO
+Component description can be found under `HV-VES Collector`_.
+
+.. _HV-VES Collector: ../services/ves-hv/index.html
+
+
+TCP Endpoint
+============
+
+HV-VES is exposed as NodePort service on Kubernetes cluster on port 30222/tcp.
+It uses plain TCP connections tunneled in SSL/TLS or can be run in insecure manner without data encryption on the socket.
+Without TLS client authentication/authorization is not possible.
+Connections are stream-based (as opposed to request-based) and long running.
+
+Payload is binary-encoded, currently using Google Protocol Buffers representation of the VES Common Header.
+
+.. literalinclude:: VesEvent.proto
+    :language: protobuf
+
+The PROTO file, which contains the VES CommonHeader, comes with a binary-type Payload parameter, where domain-specific
+data shall be placed. Domain-specific data are encoded as well with GPB, and they do require a domain-specific
+PROTO file to decode the data.
+
+HV-VES makes routing decisions based mostly on the content of the **Domain** parameter in VES Common Header.
+
+
+Healthcheck
+===========
+
+Inside HV-VES docker container runs small http service for healthcheck - exact port for this service can be configured
+at deployment using `--health-check-api-port` command line option.
+
+This service exposes single endpoint **GET /health/ready** which returns **HTTP 200 OK** in case HV-VES is healthy
+and ready for connections. Otherwise it returns **HTTP 503 Service Unavailable** with short reason of unhealthiness.
+
+
+
+
 
index 1c4e449..f5c58be 100644 (file)
@@ -120,10 +120,11 @@ DCAE Service Endpoints
 ----------------------
 
 Below is a table of default hostnames and ports for DCAE component service endpoints in Kuubernetes deployment:
-    ==================   ============================      ================================
+    ==================   ============================      =================================
     Component            Cluster Internal (host:port)      Cluster external (svc_name:port)
-    ==================   ============================      ================================
+    ==================   ============================      =================================
     VES                  dcae-ves-collector:8080           xdcae-ves-collector.onap:30235
+    HV-VES               dcae-hv-ves-collector:6061        xdcae-hv-ves-collector.onap:30222
     TCA                  dcae-tca-analytics:11011          xdcae-tca-analytics.onap:32010
     Policy Handler       policy-handler:25577              NA
     Deployment Handler   deployment-handler:8443           NA
@@ -131,19 +132,21 @@ Below is a table of default hostnames and ports for DCAE component service endpo
     Config binding       config-binding-service:10000      NA
     DCAE Healthcheck     dcae-healthcheck:80               NA
     Cloudify Manager     dcae-cloudify-manager:80          NA
-    ==================   ============================      ================================
-
-In addition, a number of ONAP service endpoints that are used by DCAE components are listed as follows for reference by DCAE developers and testers:
-    ==================   ============================      ================================
-    Component            Cluster Internal (host:port)      Cluster external (svc_name:port)
-    ==================   ============================      ================================
-    Consul Server        consul-server:8500                consul-server:30270
-    Robot                robot:88                          robot:30209 TCP
-    Message router       message-router:3904               message-router:30227
-    Message router       message-router:3905               message-router:30226
-    MSB Discovery        msb-discovery:10081               msb-discovery:30281
-    Logging              log-kibana:5601                   log-kibana:30253
-    AAI                  aai:8080                          aai:30232
-    AAI                  aai:8443                          aai:30233
-    ==================   ============================      ================================
+    ==================   ============================      =================================
+
+In addition, a number of ONAP service endpoints that are used by DCAE components are listed as follows
+for reference by DCAE developers and testers:
+    ====================   ============================      ================================
+    Component              Cluster Internal (host:port)      Cluster external (svc_name:port)
+    ====================   ============================      ================================
+    Consul Server          consul-server:8500                consul-server:30270
+    Robot                  robot:88                          robot:30209 TCP
+    Message router         message-router:3904               message-router:30227
+    Message router         message-router:3905               message-router:30226
+    Message router Kafka   message-router-kafka:9092         NA
+    MSB Discovery          msb-discovery:10081               msb-discovery:30281
+    Logging                log-kibana:5601                   log-kibana:30253
+    AAI                    aai:8080                          aai:30232
+    AAI                    aai:8443                          aai:30233
+    ====================   ============================      ================================