From d1f93f4febdd5b34e96b954dd11e635bc0ee8041 Mon Sep 17 00:00:00 2001 From: "Lovett, Trevor" Date: Thu, 2 Jul 2020 11:19:00 -0500 Subject: Requirement ID Generation and RST Validation The new check.py script will now perform a variety of actions to simplify updates and ensure specific practices are followed for each update. The script has been integrated with tox and will run whenever the documentation is created. It can also be ran separately by just invoking python check.py. The script will perform a variety of automatic updates where possible, and provide a warning where auto-updates are not possible. The expecation is that all warnings are addressed before submitting for review, but given it is a new feature warnings do not block validation at this time. Here is a summary of the warnings and updates: Warnings: - Requirement missing required attributes - Invalid values for attributes - Invalid section header usage in any file - :keyword: and requirement mismatch Auto Updates: - Assigning :id: on new requirements where an ID missing - Adding :introduced: attribute on new requirements - Adding/correcting :updated: attribute on changed requirements Issue-ID: VNFRQTS-896 Signed-off-by: Lovett, Trevor Change-Id: I283441330a139aa1c6e2e79f0c54c5979bf44642 --- .../Ansible-JSON-Key-Value-Description.rst | 4 +- docs/Chapter8/Ansible-Playbook-Examples.rst | 10 +- docs/Chapter8/Chef-JSON-Key-Value-Description.rst | 6 +- docs/Chapter8/TOSCA-model.rst | 4 +- docs/Chapter8/VES_Registration_3_2.rst | 46 ++--- .../VNF-License-Information-Guidelines.rst | 14 +- docs/Chapter8/ves7_1spec.rst | 218 ++++++++++----------- docs/Chapter8/ves_5_4_1/VESEventListener.rst | 51 +++-- docs/Chapter8/ves_7_2/ves_event_listener_7_2.rst | 202 +++++++++---------- 9 files changed, 277 insertions(+), 278 deletions(-) (limited to 'docs/Chapter8') diff --git a/docs/Chapter8/Ansible-JSON-Key-Value-Description.rst b/docs/Chapter8/Ansible-JSON-Key-Value-Description.rst index e78ce5c..35c6ef4 100644 --- a/docs/Chapter8/Ansible-JSON-Key-Value-Description.rst +++ b/docs/Chapter8/Ansible-JSON-Key-Value-Description.rst @@ -14,13 +14,13 @@ Ansible JSON Key Value Description -------------------------------------------------------------- +---------------------------------- The following provides the key value pairs that must be contained in the JSON file supporting APPC/SDN-C Ansible action. Table B1. Ansible JSON File key value description -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. csv-table:: **TOSCA Definition** :file: Ansible JSON File Key Value Description.csv diff --git a/docs/Chapter8/Ansible-Playbook-Examples.rst b/docs/Chapter8/Ansible-Playbook-Examples.rst index ce57fd1..e60c063 100644 --- a/docs/Chapter8/Ansible-Playbook-Examples.rst +++ b/docs/Chapter8/Ansible-Playbook-Examples.rst @@ -14,7 +14,7 @@ Ansible Playbook Examples ------------------------------------------------ +------------------------- The following sections contain examples of Ansible playbooks which follow the guidelines. @@ -24,7 +24,7 @@ to: :doc:`APPC Ansible Adapter <../../../../appc/deployment.git/docs/APPC Ansibl Guidelines for Playbooks to properly integrate with APPC/SDN-C -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ **NOTE**: To support concurrent requests to multiple playbooks, targeting VNF instances of same or different type, VNF files dynamically created by playbooks @@ -278,7 +278,7 @@ files: playbook take precedence over any defaults stored in Ansible Server. Ansible Playbooks – Notes On Artifacts Required to Run Playbooks -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Inventory hosts file: should be VNF instance specific. @@ -664,7 +664,7 @@ can be found under ONAP (onap.org). Ansible Inventory Hosts File – Supported Formats -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Supported inventory hosts file examples, built from this NodeList model, extracted from A&AI by APPC/SDN-C and passed to the Ansible @@ -784,7 +784,7 @@ With VNFC names and IP addresses, template inventory names setting Ansible Server – On-boarding Ansible Playbooks -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Once playbooks are developed following these guidelines, playbooks need to be on-boarded onto Development Ansible Server(s), and placed under (git) code diff --git a/docs/Chapter8/Chef-JSON-Key-Value-Description.rst b/docs/Chapter8/Chef-JSON-Key-Value-Description.rst index 400473d..19e0a4b 100644 --- a/docs/Chapter8/Chef-JSON-Key-Value-Description.rst +++ b/docs/Chapter8/Chef-JSON-Key-Value-Description.rst @@ -14,13 +14,13 @@ Chef JSON Key Value Description -------------------------------------- +------------------------------- The following provides the key value pairs that must be contained in the JSON file supporting Chef action. Table A1. Chef JSON File key value description -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +----------------+--------------------------+---------+----------------------+ | **Field Name** | **Description** | **Type**| **Comment** | @@ -145,7 +145,7 @@ b. If a VNF action involves multiple endpoints (VMs) of a VNF, ONAP will The following table describes the JSON dictionary to post in Callback. Table A2. JSON Dictionary to Post in Callback -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +--------------+----------------------------+---------+-----------------------+ | **Key** | **Description** | **Type**| **Comment** | diff --git a/docs/Chapter8/TOSCA-model.rst b/docs/Chapter8/TOSCA-model.rst index 64ebbf0..66a902f 100644 --- a/docs/Chapter8/TOSCA-model.rst +++ b/docs/Chapter8/TOSCA-model.rst @@ -17,7 +17,7 @@ TOSCA model ----------- Table D1. ONAP Resource DM TOSCA/YAML constructs -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Standard TOSCA/YAML definitions agreed by VNF SDK Modeling team to be used by VNF vendors to create a standard VNF descriptor. @@ -84,7 +84,7 @@ ETSI GS NFV-SOL001 stable draft for VNF-D. Table D2. TOSCA CSAR structure -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This section defines the requirements around the CSAR structure. diff --git a/docs/Chapter8/VES_Registration_3_2.rst b/docs/Chapter8/VES_Registration_3_2.rst index 91899ce..1362a49 100644 --- a/docs/Chapter8/VES_Registration_3_2.rst +++ b/docs/Chapter8/VES_Registration_3_2.rst @@ -97,7 +97,7 @@ events in a way that can be compiled or interpreted by applications across a Service Provider's infrastructure. Relation to the Common Event Format -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The Common Event Format described in the VES Event Listener service specification defines the structure of VES events including optional @@ -123,7 +123,7 @@ value (e.g., ``MINOR``), or to a subset of the possible enumerated values allowed by the Common Event Format (e.g., ``MINOR`` or ``NORMAL``). Relation to Service Design and Creation -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Event registration for a VNF (or other event source) is provided to the Service Provider's Service Creation and Design Environment (e.g., SDC) @@ -548,7 +548,7 @@ Examples: HeartbeatAction -++++++++++++++++ ++++++++++++++++ The ``heartbeatAction`` keyword is provided on the ``event`` objectName for heartbeat events only. It provides design time guidance to the service @@ -628,7 +628,7 @@ Examples: } Presence -+++++++++ +++++++++ The ``presence`` keyword may be defined as 'required' or 'optional'. If not provided, the element is assumed to be 'optional'. @@ -649,7 +649,7 @@ Examples: # by omitting a presence definition, the element is assumed to be optional Range -+++++++ ++++++ The ``range`` keyword applies to fields (i.e., simpleTypes); indicates the value of the field is a number within a specified range of values from @@ -675,7 +675,7 @@ Examples: fieldname: { range: [ 0, 3.14 ] } Structure -++++++++++ ++++++++++ The ``structure`` keyword indicates that the element is a complexType (i.e., an object) and is followed by curly braces containing that @@ -699,7 +699,7 @@ Example: } Units -+++++++ ++++++ The ``units`` qualifier may be applied to values provided in VES Common Event Format extensible field structures. The 'units' qualifier @@ -720,7 +720,7 @@ Example: } Value -+++++++ ++++++ The ``value`` keyword applies to fields (i.e., simpleTypes); indicates a single value or an enumeration of possible values. If not provided, it @@ -823,7 +823,7 @@ preceding event definitions. For example: ... Rules Syntax and Semantics -++++++++++++++++++++++++++++ +++++++++++++++++++++++++++ The YAML ``rules`` document begins with the keyword ``rules`` followed by a colon and square brackets. Each rule is then defined within the square @@ -850,7 +850,7 @@ Notes: microservices and alerts may be specified. Simple Triggers -++++++++++++++++ ++++++++++++++++ The trigger is based on the named ``conditions`` asserted in the action qualifiers within the event definitions earlier in the YAML file. The @@ -892,7 +892,7 @@ the action on). Future versions of this document may provide more clarity. Time Based Qualifiers -+++++++++++++++++++++++ ++++++++++++++++++++++ Time based rules may be established by following any named condition with a colon and curly braces. The time based rule is placed in the @@ -918,7 +918,7 @@ minutes AND condition C is in effect. .. _PM_Dictionary: PM Dictionary -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ The Performance Management (PM) Dictionary is used by analytics applications to interpret and process perf3gpp measurement information @@ -1556,7 +1556,7 @@ indent-style YAML formats .. _FM_meta_data: FM Meta Data -~~~~~~~~~~~~~ +~~~~~~~~~~~~ FM Meta Data enables vendors to provide meta information about FM events using a set of standard keywords. FM Meta Data is conveyed in the YAML @@ -1578,7 +1578,7 @@ Successive keywords must be separated by commas. These conventions will make machine processing of FM Meta Data Keywords easier to perform. Alarm Meta Data Keywords -++++++++++++++++++++++++++++ +++++++++++++++++++++++++ The following is a list of standard Alarm Meta Data Keywords. Note: the keywords are in CAPS so they can be easily found within the YAML @@ -1648,7 +1648,7 @@ comments. R / O refers to recommended / optional. +------------+---------+-----------------------------------------------------+ Fault Meta Data Keywords -+++++++++++++++++++++++++ +++++++++++++++++++++++++ The following is a list of standard Fault Meta Data Keywords. Note: the keywords are in CAPS so they can be easily found within the YAML @@ -1683,7 +1683,7 @@ comments. R / O refers to recommended / optional. +------------------------+---------+------------------------------------------+ FM Meta Data Example -+++++++++++++++++++++ +++++++++++++++++++++ The following is a snippet of a fault event registration showing use of the FM Meta Data keywords. Note: it is recommended the information be @@ -1804,7 +1804,7 @@ breaks that interrupt this single file; they were added to make it easier to rapidly find examples of different types of events. Fault -~~~~~~ +~~~~~ .. code-block:: yaml @@ -1892,7 +1892,7 @@ Fault } Heartbeat -~~~~~~~~~~ +~~~~~~~~~ .. code-block:: yaml @@ -1934,7 +1934,7 @@ Heartbeat Measurements -~~~~~~~~~~~~~ +~~~~~~~~~~~~ .. code-block:: yaml @@ -2653,7 +2653,7 @@ Mobile Flow Sip Signaling -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ .. code-block:: yaml @@ -2721,7 +2721,7 @@ Sip Signaling Voice Quality -~~~~~~~~~~~~~~ +~~~~~~~~~~~~~ .. code-block:: yaml @@ -2819,7 +2819,7 @@ Voice Quality Rules -~~~~~~ +~~~~~ .. code-block:: yaml @@ -2840,7 +2840,7 @@ Rules Appendix: Historical Change Log -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the latest changes, see the Change Block just before the Table of Contents. diff --git a/docs/Chapter8/VNF-License-Information-Guidelines.rst b/docs/Chapter8/VNF-License-Information-Guidelines.rst index 94815f0..4df9cbd 100644 --- a/docs/Chapter8/VNF-License-Information-Guidelines.rst +++ b/docs/Chapter8/VNF-License-Information-Guidelines.rst @@ -71,7 +71,7 @@ One or more entitlements can be defined; each one consists of the following fields: Table C2. Required Fields for Entitlements -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +---------------+-----------------------------------+-------------+-----------+ | **Field Name**| **Description** |**Data Type**| **Type** | @@ -136,7 +136,7 @@ License Keys are not required. Optionally, one or more license keys can be defined; each one consists of the following fields: Table C3. Required Fields for License Keys -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +---------------+-----------------------------------+--------------+----------+ | **Field Name**| **Description** | **Data Type**| **Type** | @@ -214,7 +214,7 @@ example: - use is allowed in Canada Table C4. Required Fields for Location -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------+--------------------------------+--------------+----------+ | **Field Name** | **Description** | **Data Type**| **Type** | @@ -262,7 +262,7 @@ Limit on the length of time the software may be used. For example: - entitlement valid from 15 May 2018 thru 30 June 2020 Table C5. Required Fields for Time -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------+-------------------------------+--------------+-----------+ | **Field Name** | **Description** | **Data Type**| **Type** | @@ -325,7 +325,7 @@ Limits based on how the software is used. For example: - use is limited by software release Table C6. Required Fields for Usage -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------+-------------------------------+---------------+----------+ | **Field Name** | **Description** | **Data Type** | **Type** | @@ -374,7 +374,7 @@ make use of the software. For example: - allowed to be used only for government entities Table C7. Required Fields for Entity -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------+--------------------------------+--------------+----------+ | **Field Name** | **Description** |**Data Type** | **Type** | @@ -429,7 +429,7 @@ any aggregation function (e.g., peak or average users), and aggregation interval (day, month, quarter, year, etc.). Table C8. Required Fields for Amount -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +------------------+---------------------------------+-------------+----------+ | **Field Name** | **Description** |**Data Type**| **Type** | diff --git a/docs/Chapter8/ves7_1spec.rst b/docs/Chapter8/ves7_1spec.rst index 2c8b933..331f599 100644 --- a/docs/Chapter8/ves7_1spec.rst +++ b/docs/Chapter8/ves7_1spec.rst @@ -106,7 +106,7 @@ are required, what field values may be sent, and any special handling that should be performed on those eventNames. Naming Standards for eventName -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ To prevent naming collisions, eventNames sent as part of the commonEventHeader, should conform to the following naming convention @@ -313,7 +313,7 @@ Registration specification and in particular the aggregationRole, castTo and isHomogeneous keywords. Syslogs -~~~~~~~~ +~~~~~~~ Syslog’s can be classified as either Control or Session/Traffic. They differ by message content and expected volume: @@ -439,7 +439,7 @@ Use of Collector FQDNs and/or IP Address Versioning -~~~~~~~~~~~ +~~~~~~~~~~ Three types of version numbers supported by this specification: @@ -469,7 +469,7 @@ Three types of version numbers supported by this specification: to the field descriptions) will increment only the minor number. Field Block Versions -+++++++++++++++++++++ +++++++++++++++++++++ A summary of the latest field block version enums as of this version of the API spec is provided below: @@ -539,7 +539,7 @@ Because the credentials are merely encoded but not encrypted, HTTPS (rather than HTTP) should be used. HTTPS will also encrypt and protect event contents. Sample Request and Response -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ Sample Request ++++++++++++++ @@ -576,7 +576,7 @@ Sample Request Sample Success Response -++++++++++++++++++++++++ ++++++++++++++++++++++++ .. code-block:: http @@ -587,7 +587,7 @@ Sample Success Response Mutual TLS Certificate Authentication -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ When using Certificate Authentication, the event source must initialize the HTTPS connection with TLS 1.2 or higher and execute mutual authentication @@ -619,7 +619,7 @@ The resource structure is provided below:: The {Port} above is typically 8443. Common Event Format -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^ A JSON schema describing the Common Event Format is provided below and is reproduced in the tables that follow. @@ -651,10 +651,10 @@ Note on extensible fields: capitalized. Common Event Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ Datatype: arrayOfJsonObject -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ The arrayOfJsonObject datatype provides an array of json objects, each of which is describ ed by name, schema and other meta-information. It @@ -667,7 +667,7 @@ consists of the following fields: +---------------------+------------------+----------+----------------------+ Datatype: arrayOfNamedHashMap -++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ The arrayOfNamedHashMap datatype provides an array of hashMaps, each of which is associated with a descriptive name. It consists of the @@ -680,7 +680,7 @@ following fields: +---------------------+------------------+-----------+-----------------------+ Datatype: event -++++++++++++++++ ++++++++++++++++ The event datatype consists of the following fields which constitute the ‘root level’ of the common event format: @@ -732,7 +732,7 @@ The event datatype consists of the following fields which constitute the +--------------+--------------+-----------+-----------------------------------+ Datatype: eventList -++++++++++++++++++++ ++++++++++++++++++++ The eventList datatype consists of the following fields: @@ -743,7 +743,7 @@ The eventList datatype consists of the following fields: +-------------+-------------+----------+-------------------+ Datatype: hashMap -+++++++++++++++++++ ++++++++++++++++++ The hashMap datatype is an ‘associative array’, which is an unordered collection of key-value pairs of the form "key": "value", where each key @@ -782,7 +782,7 @@ the schema: +--------------+--------------+-----------+----------------------------------+ Datatype: jsonObjectInstance -+++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++ The jsonObjectInstance datatype provides meta-information about an instance of a jsonObject along with the actual object instance: @@ -809,7 +809,7 @@ instance of a jsonObject along with the actual object instance: +----------------+------------+----------+-----------------------------------+ Datatype: key -+++++++++++++++ ++++++++++++++ The key datatype is a tuple which provides the name of a key along with its value and relative order; it consists of the following fields: @@ -826,7 +826,7 @@ its value and relative order; it consists of the following fields: +----------+---------+-----------+-------------------------------------------+ Datatype: namedHashMap -++++++++++++++++++++++++ +++++++++++++++++++++++ The namedHashMap datatype is a hashMap which is associated with and described by a name; it consists of the following fields: @@ -841,7 +841,7 @@ described by a name; it consists of the following fields: +---------+---------+-----------+--------------------------------------------+ Datatype: requestError -+++++++++++++++++++++++ +++++++++++++++++++++++ The requestError datatype defines the standard request error data structure: @@ -871,7 +871,7 @@ structure: +-----------+--------+-----------+-------------------------------------------+ Datatype: vendorNfNameFields -+++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++ The vendorNfNameFields provides vendor, nf and nfModule identifying information: @@ -892,7 +892,7 @@ Common Event Header Data Types ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Datatype: commonEventHeader -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ The commonEventHeader datatype consists of the following fields common to all events: @@ -1054,10 +1054,10 @@ for efficient internal processing of events received by the VES Event Listener. Technology Independent Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ‘Fault’ Domain Datatypes -+++++++++++++++++++++++++ +++++++++++++++++++++++++ Datatype: faultFields ********************* @@ -1130,7 +1130,7 @@ The faultFields datatype consists of the following fields: +-----------------+---------+-----------+-------------------------------------+ Heartbeat’ Domain Datatypes -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Datatype: heartbeatFields ************************* @@ -1154,7 +1154,7 @@ specific to heartbeat events; it consists of the following fields: +---------------+---------+-----------+---------------------------------------+ ‘Measurements’ Domain Datatypes -++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ Note: NFs are required to report exactly one Measurement event per period per sourceName. @@ -1175,7 +1175,7 @@ measurementInterval: +------------------+-----------+----------+--------------------------------+ Datatype: cpuUsage -******************* +****************** The cpuUsage datatype defines the usage of an identifier CPU and consists of the following fields: @@ -1245,7 +1245,7 @@ consists of the following fields: +------------+--------+-----------+-------------------------------------------+ Datatype: diskUsage -******************** +******************* The diskUsage datatype defines the usage of a disk and consists of the following fields: @@ -1509,7 +1509,7 @@ following fields: +-------------+-------+----------+--------------------------------------------+ Datatype: filesystemUsage -*************************** +************************* The filesystemUsage datatype consists of the following fields: @@ -1538,7 +1538,7 @@ The filesystemUsage datatype consists of the following fields: +-------------+--------+-----------+------------------------------------------+ Datatype: hugePages -******************** +******************* The hugePages datatype provides metrics on system hugePages; it consists of the following fields: @@ -1562,7 +1562,7 @@ of the following fields: +--------------------+--------+----------+------------------------------------+ Datatype: ipmi (Intelligent Platform Management Interface) -*********************************************************** +********************************************************** The ipmi datatype provides intelligent platform management interface metrics; it consists of the following fields: @@ -1617,7 +1617,7 @@ metrics; it consists of the following fields: +-------------+---------------------+-----------+-----------------------------+ Datatype: ipmiBaseboardTemperature -************************************ +********************************** The ipmiBaseboardTemperature datatype consists of the following fields which describe ipmi baseboard temperature metrics: @@ -1634,7 +1634,7 @@ which describe ipmi baseboard temperature metrics: +-------------+--------+-----------+------------------------------------------+ Datatype: ipmiBaseboardVoltageRegulator -***************************************** +*************************************** The ipmiBaseboardVoltageRegulator datatype consists of the following fields which describe ipmi baseboard voltage regulator metrics: @@ -1650,7 +1650,7 @@ fields which describe ipmi baseboard voltage regulator metrics: +--------------------+-------+----------+-------------------------------------+ Datatype: ipmiBattery -********************** +********************* The ipmiBattery datatype consists of the following fields which describe ipmi battery metrics: @@ -1666,7 +1666,7 @@ ipmi battery metrics: +---------------------+--------+----------+------------------------------+ Datatype: ipmiFan -******************** +***************** The ipmiFan datatype consists of the following fields which describe ipmi fan metrics: @@ -1680,7 +1680,7 @@ ipmi fan metrics: +--------------+-------+----------+-------------------------------------------+ Datatype: ipmiGlobalAggregateTemperatureMargin -*********************************************** +********************************************** The ipmiGlobalAggregateTemperatureMargin datatype consists of the following fields: @@ -1701,7 +1701,7 @@ following fields: +-------------+-------+----------+--------------------------------------------+ Datatype: ipmiHsbp -******************* +****************** The ipmiHsbp datatype provides ipmi hot swap backplane power metrics; it consists of the following fields: @@ -1717,7 +1717,7 @@ consists of the following fields: +------------+-------+----------+---------------------------------------------+ Datatype: ipmiNic -****************** +***************** The ipmiNic datatype provides network interface control care metrics; it consists of the following fields: @@ -1733,7 +1733,7 @@ consists of the following fields: +------------+-------+----------+---------------------------------------------+ Datatype: ipmiPowerSupply -************************** +************************* The ipmiPowerSupply datatype provides ipmi power supply metrics; it consists of the following fields: @@ -1762,7 +1762,7 @@ consists of the following fields: +-----------+-------+----------+----------------------------------------------+ Datatype: ipmiProcessor -************************ +*********************** The ipmiProcessor datatype provides ipmi processor metrics; it consists of the following fields: @@ -1790,7 +1790,7 @@ of the following fields: +------------+------------------+-----------+---------------------------------+ Datatype: latencyBucketMeasure -******************************* +****************************** The latencyBucketMeasure datatype consists of the following fields which describe the number of counts falling within a defined latency bucket: @@ -1812,7 +1812,7 @@ describe the number of counts falling within a defined latency bucket: +-----------+-------+----------+----------------------------------------------+ Datatype: load -**************** +************** The load datatype provides metrics on system cpu and io utilization obtained using /proc/loadavg; it consists of the following fields: @@ -1837,7 +1837,7 @@ obtained using /proc/loadavg; it consists of the following fields: +----------+-------+----------+-----------------------------------------------+ Datatype: machineCheckException -******************************** +******************************* The machineCheckException datatype describes machine check exceptions; it consists of the following fields: @@ -1874,7 +1874,7 @@ it consists of the following fields: +-------------+-------+----------+--------------------------------------------+ Datatype: measurementFields -**************************** +*************************** The measurementFields datatype consists of the following fields: @@ -1978,7 +1978,7 @@ The measurementFields datatype consists of the following fields: +-------------+--------------+----------+-------------------------------------+ Datatype: memoryUsage -********************** +********************* The memoryUsage datatype defines the memory usage of a virtual machine and consists of the following fields: @@ -2049,7 +2049,7 @@ and consists of the following fields: +-----------+-------+----------+----------------------------------------------+ Datatype: nicPerformance -************************* +************************ The nicPerformance datatype consists of the following fields which describe the performance and errors of an of an identified virtual @@ -2230,7 +2230,7 @@ network interface card: +----------------+-------+----------+-----------------------------------------+ Datatype: processorDimmAggregateThermalMargin -********************************************** +********************************************* The processorDimmAggregateThermalMargin datatype provides intelligent platform management interface (ipmi) processor dual inline memory module @@ -2250,7 +2250,7 @@ aggregate thermal margin metrics; it consists of the following fields: +-----------------+-------+----------+----------------------------------------+ Datatype: processStats -*********************** +********************** The processStats datatype provides metrics on system processes; it consists of the following fields: @@ -2285,10 +2285,10 @@ consists of the following fields: +-----------+-------+----------+----------------------------------------------+ ‘Notification’ Domain Datatypes -++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ Datatype: notificationFields -****************************** +**************************** The notificationFields datatype consists of the following fields: @@ -2358,10 +2358,10 @@ in 3GPP TS 28.550. The array contains the following key value pairs: Other notificationFields are not used for fileReady. ‘Other’ Domain Datatypes -+++++++++++++++++++++++++ +++++++++++++++++++++++++ Datatype: otherFields -********************** +********************* The otherFields datatype defines fields for events belonging to the 'other' domain of the commonEventHeader domain enumeration; it consists @@ -2385,10 +2385,10 @@ of the following fields: +-------------+-------------+----------+--------------------------------------+ ‘perf3gpp’ Domain Datatypes -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Datatype: measDataCollection -***************************** +**************************** The measDataCollection datatype defines a 3GPP measurement collection structure aligned with the 3GPP PM format; it consists of the following @@ -2422,7 +2422,7 @@ fields: +----------------+---------+----------+---------------------------------------+ Datatype: measInfo -******************** +****************** The measInfo datatype provides measurement information; it consists of the following fields: @@ -2446,7 +2446,7 @@ the following fields: +-------+--------------------------+----------+-------------------------------+ Datatype: measInfoIdInteger -**************************** +*************************** The measInfoIdInteger datatype provides an integer measurement group identifier; it consists of the following fields: @@ -2458,7 +2458,7 @@ identifier; it consists of the following fields: +---------------+---------+----------+--------------------------------------+ Datatype: measInfoIdString -*************************** +************************** The measInfoIdString datatype provides a string measurement group identifier; it consists of the following fields: @@ -2470,7 +2470,7 @@ identifier; it consists of the following fields: +---------------+-----------+----------+--------------------------------------+ Datatype: measResultInteger -**************************** +*************************** The measResultInteger datatype provides an integer 3GPP PM measurement result; it consists of the following fields: @@ -2484,7 +2484,7 @@ result; it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measResultNull -************************* +************************ The measResultNull datatype provides a null 3GPP PM measurement result; it consists of the following fields: @@ -2498,7 +2498,7 @@ it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measResultNumber -*************************** +************************** The measResultNumber datatype provides a number 3GPP PM measurement result; it consists of the following fields: @@ -2512,7 +2512,7 @@ result; it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measResultString -*************************** +************************** The measResultString datatype provides a string 3GPP PM measurement result; it consists of the following fields: @@ -2526,7 +2526,7 @@ result; it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measTypesInteger -*************************** +************************** The measTypesInteger datatype provides an array of integer measurement identifiers associated with the measurement results; it consists of the @@ -2540,7 +2540,7 @@ following fields: +----------+--------+----------+----------------------------------------------+ Datatype: measTypesString -************************** +************************* The measTypesString datatype provides an array of string measurement identifiers associated with the measurement results; it consists of the @@ -2554,7 +2554,7 @@ following fields: +----------+-------+----------+-----------------------------------------------+ Datatype: measValues -********************* +******************** The measValues datatype provides 3GPP measurement values; it consists of the following fields: @@ -2583,7 +2583,7 @@ the following fields: +---------+----------------------------------+----------+---------------------+ Datatype: perf3gppFields -************************* +************************ The perf3gppFields datatype defines fields for 3GPP PM format events, based on 3GPP TS 28.550, belonging to the 'perf3gpp' domain of the @@ -2604,10 +2604,10 @@ fields: +--------------+-----------+----------+---------------------------------------+ ‘pnfRegistration’ Domain Datatypes -++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++ Datatype: pnfRegistrationFields -******************************** +******************************* The pnfRegistrationFields datatype defines fields for events belonging to the 'pnfRegistration' domain of the commonEventHeader domain @@ -2662,10 +2662,10 @@ enumeration; it consists of the following fields: +-----------------+--------+----------+---------------------------------------+ ‘State Change’ Domain Datatypes -++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ Datatype: stateChangeFields -***************************** +*************************** The stateChangeFields datatype consists of the following fields: @@ -2690,10 +2690,10 @@ The stateChangeFields datatype consists of the following fields: +--------------+--------+----------+------------------------------------------+ ‘Syslog’ Domain Datatypes -++++++++++++++++++++++++++ ++++++++++++++++++++++++++ Datatype: syslogFields -*********************** +********************** The syslogFields datatype consists of the following fields: @@ -2852,10 +2852,10 @@ https://tools.ietf.org/html/rfc5424#section-6 https://www.iana.org/assignments/syslog-parameters/syslog-parameters.xhtml ‘Threshold Crossing Alert’ Domain Datatypes -++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++ Datatype: counter -****************** +***************** The counter datatype consists of the following fields: @@ -2872,7 +2872,7 @@ The counter datatype consists of the following fields: +------------+--------+----------+--------------------------------------------+ Datatype: thresholdCrossingAlertFields -**************************************** +************************************** The thresholdCrossingAlertFields datatype consists of the following fields: @@ -2940,10 +2940,10 @@ Technology Specific Datatypes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mobile Flow’ Domain Datatypes -++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ Datatype: gtpPerFlowMetrics -**************************** +*************************** The gtpPerFlowMetrics datatype consists of the following fields: @@ -3146,7 +3146,7 @@ The gtpPerFlowMetrics datatype consists of the following fields: +---------------+--------+----------+-----------------------------------------+ Datatype: mobileFlowFields -*************************** +************************** The mobileFlowFields datatype consists of the following fields: @@ -3259,7 +3259,7 @@ The mobileFlowFields datatype consists of the following fields: +++++++++++++++++++++++++++++++ Datatype: sipSignalingFields -***************************** +**************************** The sipSignalingFields datatype communicates information about sip signaling messages, parameters and signaling state; it consists of the @@ -3300,10 +3300,10 @@ following fields: +--------------+-----------+----------+---------------------------------------+ ‘Voice Quality’ Domain Datatypes -+++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ Datatype: endOfCallVqmSummaries -********************************* +******************************* The endOfCallVqmSummaries datatype provides end of call voice quality metrics; it consists of the following fields: @@ -3412,7 +3412,7 @@ metrics; it consists of the following fields: +--------------+-------+----------+-------------------------------------------+ Datatype: voiceQualityFields -***************************** +**************************** The voiceQualityFields datatype provides statistics related to customer facing voice products; consists of the following fields: @@ -3451,10 +3451,10 @@ facing voice products; consists of the following fields: +--------------+-------------+----------+-------------------------------------+ Exceptions -^^^^^^^^^^^ +^^^^^^^^^^ RESTful Web Services Exceptions -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ RESTful services generate and send exceptions to clients in response to invocation errors. Exceptions send HTTP status codes (specified later in @@ -3497,7 +3497,7 @@ exceptions may be defined: service exceptions and policy exceptions. +-----------+---------------+-------------+-----------------------------------+ Service Exceptions -~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~ When a service is not able to process a request, and retrying the request with the same information will also result in a failure, and @@ -3536,7 +3536,7 @@ Service Exceptions Table - Service Exceptions Policy Exceptions -~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~ When a service is not able to complete because the request fails to meet a policy criteria, then the service will issue a fault using the @@ -3586,10 +3586,10 @@ RESTful Web Services Definition ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ REST Operation Overview -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~ REST Operation Summary -+++++++++++++++++++++++ +++++++++++++++++++++++ +---------------------+---------+------------------------------------------+ | **Operation Action**| **HTTP**| Resource URL relative to {ServerRoot}\ | @@ -3692,10 +3692,10 @@ In a future version of the specification, a 1 megabyte limit will become a mandatory requirement. Operation: publishAnyEvent -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~ Functional Behavior -+++++++++++++++++++++ ++++++++++++++++++++ Allows authorized clients to publish any single event to the VES event listener. @@ -3710,7 +3710,7 @@ listener. messages Call Flow -++++++++++ ++++++++++ .. seqdiag:: :caption: ``publishAnyEvent`` Call Flow @@ -3725,7 +3725,7 @@ Call Flow } Input Parameters -+++++++++++++++++ +++++++++++++++++ Header Fields (note: all parameter names shall be treated as case-insensitive): @@ -3781,7 +3781,7 @@ Body Fields: +--------------+--------------+--------------+-------------------------------+ Output Parameters -++++++++++++++++++ ++++++++++++++++++ Header fields: @@ -3817,7 +3817,7 @@ Body Fields (for error responses): +--------------+--------------+----------------+------------------------------+ HTTP Status Codes -++++++++++++++++++ ++++++++++++++++++ +-----+--------------+--------------------------------------------------------+ | Code| Reason Phrase| Description | @@ -3851,10 +3851,10 @@ HTTP Status Codes +-----+--------------+--------------------------------------------------------+ Sample Request and Response -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Sample Request -*************** +************** .. code-block:: http @@ -3902,7 +3902,7 @@ Sample Request Sample Success Response -************************ +*********************** .. code-block:: http @@ -3912,10 +3912,10 @@ Sample Success Response X-LatestVersion: 7.1.1 Sample Error Responses -************************ +********************** Sample Policy Exception -"""""""""""""""""""""""" +""""""""""""""""""""""" .. code-block:: http @@ -3938,7 +3938,7 @@ Sample Policy Exception Sample Service Exception -""""""""""""""""""""""""" +"""""""""""""""""""""""" .. code-block:: http @@ -3964,7 +3964,7 @@ Sample Service Exception } Operation: publishEventBatch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Functional Behavior +++++++++++++++++++ @@ -3982,7 +3982,7 @@ listener. messages Call Flow -+++++++++++ ++++++++++ .. seqdiag:: :caption: ``publishEventBatch`` Call Flow @@ -3997,7 +3997,7 @@ Call Flow } Input Parameters -+++++++++++++++++ +++++++++++++++++ Header Fields (note: all parameter names shall be treated as case-insensitive): @@ -4053,7 +4053,7 @@ Body Fields: +--------------+--------------+--------------+-------------------------------+ Output Parameters -+++++++++++++++++++ ++++++++++++++++++ Header fields: @@ -4123,10 +4123,10 @@ HTTP Status Codes +-----+--------------+--------------------------------------------------------+ Sample Request and Response -+++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Sample Request -**************** +************** .. code-block:: http @@ -4203,7 +4203,7 @@ Sample Request } Sample Success Response -************************* +*********************** .. code-block:: http @@ -4213,10 +4213,10 @@ Sample Success Response X-LatestVersion: 7.1.1 Sample Error Responses -************************ +********************** Sample Policy Exception -"""""""""""""""""""""""" +""""""""""""""""""""""" .. code-block:: http @@ -4240,7 +4240,7 @@ Sample Policy Exception Sample Service Exception -""""""""""""""""""""""""" +"""""""""""""""""""""""" .. code-block:: http @@ -4267,7 +4267,7 @@ Sample Service Exception Terminology -^^^^^^^^^^^^ +^^^^^^^^^^^ Terminology used in this document is summarized below: @@ -4433,7 +4433,7 @@ It is a stand-alone executable that is loosely-coupled, granular, re-usable, and responsible for a single capability. Appendix: Historical Change Log -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the latest changes, see the Change Block just before the Table of Contents. diff --git a/docs/Chapter8/ves_5_4_1/VESEventListener.rst b/docs/Chapter8/ves_5_4_1/VESEventListener.rst index d027910..97c3b33 100644 --- a/docs/Chapter8/ves_5_4_1/VESEventListener.rst +++ b/docs/Chapter8/ves_5_4_1/VESEventListener.rst @@ -5,14 +5,13 @@ .. _ves_event_listener_5_4_1: -=================================== Service: *VES Event Listener 5.4.1* -=================================== +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. contents:: Table of Contents Introduction -============ +^^^^^^^^^^^^ This document describes the RESTful interface for the VES (Virtual function Event Streaming) Event Listener. The VES Event Listener is capable of receiving @@ -34,7 +33,7 @@ Format. In future, additional documents may describe other transports which make use of persistent TCP connections for high volumes of streaming events. Event Registration ------------------- +^^^^^^^^^^^^^^^^^^ All events must be compliant with the common event format, but specific events identified by their eventNames, may require that certain fields, which are @@ -48,7 +47,7 @@ what field values may be sent, and any special handling that should be performed on those eventNames. Naming Standards for eventName ------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ To prevent naming collisions, eventNames sent as part of the commonEventHeader, should conform to the following naming convention designed @@ -100,7 +99,7 @@ service and resource onboarding to the ONAP Service Design and Creation environment (i.e., SDC). Support for Protocols Other Than HTTPS --------------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ This API specification describes an HTTPS RESTful interface using the JSON content-type. @@ -111,7 +110,7 @@ format over an RPC protocol to be defined. Both would leverage the JSON schema provided in this document. Versioning ----------- +^^^^^^^^^^ Three types of version numbers supported by this specification: @@ -138,7 +137,7 @@ Three types of version numbers supported by this specification: minor number. Security --------- +^^^^^^^^ Event sources must identify themselves to the VES Event Listener. @@ -226,7 +225,7 @@ A JSON schema describing the Common Event Format is provided below and is reproduced in the tables that follow. Common Event Datatypes ----------------------- +^^^^^^^^^^^^^^^^^^^^^^ Common Event Datatypes ~~~~~~~~~~~~~~~~~~~~~~ @@ -391,7 +390,7 @@ information: +----------------+----------+-------------+---------------------------------------------------------------+ 'Common Event Header'Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Datatype: commonEventHeader ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -448,10 +447,10 @@ enrichment process necessary for efficient internal processing of events received by the VES Event Listener: Technology Independent Datatypes --------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'Fault'Domain Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~ Datatype: faultFields ^^^^^^^^^^^^^^^^^^^^^ @@ -481,7 +480,7 @@ The faultFields datatype consists of the following fields: +-------------------------------+-------------+-------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------+ 'Heartbeat'Domain Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~ Datatype: heartbeatFields ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -837,7 +836,7 @@ card: +------------------------------------------+----------+-------------+-----------------------------------------------------------------------------------------------------------------------------------------------+ 'Other'Domain Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~ Datatype: otherFields ^^^^^^^^^^^^^^^^^^^^^ @@ -859,7 +858,7 @@ following fields: +-----------------------------+--------------------------+-------------+------------------------------------------------------------------------------+ 'State Change'Domain Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Datatype: stateChangeFields ^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -881,7 +880,7 @@ The stateChangeFields datatype consists of the following fields: +----------------------------+-------------+-------------+----------------------------------------------------------------------------+ 'Syslog'Domain Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~ Datatype: syslogFields ^^^^^^^^^^^^^^^^^^^^^^ @@ -1011,7 +1010,7 @@ Example of syslogSData: ; except '=', SP, ']', %d34 (") 'Threshold Crossing Alert'Domain Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Datatype: counter ^^^^^^^^^^^^^^^^^ @@ -1073,7 +1072,7 @@ fields: +-----------------------------------+---------------+-------------+-----------------------------------------------------------------------------------------------------------------------------+ Technology Specific Datatypes ------------------------------ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 'Mobile Flow' Domain Datatypes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -1383,7 +1382,7 @@ Exceptions ========== RESTful Web Services Exceptions -------------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ RESTful services generate and send exceptions to clients in response to invocation errors. Exceptions send HTTP status codes (specified later in @@ -1410,7 +1409,7 @@ exceptions may be defined: service exceptions and policy exceptions. +------------------+----------------------------+-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Service Exceptions ------------------- +^^^^^^^^^^^^^^^^^^ When a service is not able to process a request, and retrying the request with the same information will also result in a failure, and the @@ -1440,7 +1439,7 @@ Listener API are defined below. Table - Service Exceptions Policy Exceptions ------------------ +^^^^^^^^^^^^^^^^^ When a service is not able to complete because the request fails to meet a policy criteria, then the service will issue a fault using the policy @@ -1479,10 +1478,10 @@ RESTful Web Services Definition =============================== REST Operation Overview ------------------------ +^^^^^^^^^^^^^^^^^^^^^^^ REST Operation Summary -~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ +--------------------------------+------------+----------------------------------------------------------------------------+ | **Operation Action** | **HTTP** | **Resource URL relative to {ServerRoot}, which is defined in section 3** | @@ -1507,7 +1506,7 @@ without modification (e.g., unmodified v1 clients would not be able to use v2 without error). Buffering of Events -~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~ {ServerRoot} is defined in section 3 of this document, which defines the REST resource URL. One or more FQDNs may be provisioned in an event @@ -1537,7 +1536,7 @@ discard events in a first-in, first-out (FIFO) manner (i.e., discard oldest events first). Operation: publishAnyEvent --------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^ Functional Behavior ~~~~~~~~~~~~~~~~~~~ @@ -1730,7 +1729,7 @@ Sample Service Exception } Operation: publishEventBatch ----------------------------- +^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Functional Behavior ~~~~~~~~~~~~~~~~~~~ diff --git a/docs/Chapter8/ves_7_2/ves_event_listener_7_2.rst b/docs/Chapter8/ves_7_2/ves_event_listener_7_2.rst index 21b1e79..3d52528 100644 --- a/docs/Chapter8/ves_7_2/ves_event_listener_7_2.rst +++ b/docs/Chapter8/ves_7_2/ves_event_listener_7_2.rst @@ -199,7 +199,7 @@ the API spec is provided below: .. _ves_common_event_format_7_2: Common Event Format -^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^ A JSON schema describing the Common Event Format is provided below and is reproduced in the tables that follow. @@ -231,10 +231,10 @@ Note on extensible fields: capitalized. Common Event Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~ Datatype: arrayOfJsonObject -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ The arrayOfJsonObject datatype provides an array of json objects, each of which is describ ed by name, schema and other meta-information. It @@ -247,7 +247,7 @@ consists of the following fields: +---------------------+------------------+----------+----------------------+ Datatype: arrayOfNamedHashMap -++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ The arrayOfNamedHashMap datatype provides an array of hashMaps, each of which is associated with a descriptive name. It consists of the @@ -260,7 +260,7 @@ following fields: +---------------------+------------------+-----------+-----------------------+ Datatype: event -++++++++++++++++ ++++++++++++++++ The event datatype consists of the following fields which constitute the ‘root level’ of the common event format: @@ -315,7 +315,7 @@ The event datatype consists of the following fields which constitute the +--------------+--------------+-----------+-----------------------------------+ Datatype: eventList -++++++++++++++++++++ ++++++++++++++++++++ The eventList datatype consists of the following fields: @@ -326,7 +326,7 @@ The eventList datatype consists of the following fields: +-------------+-------------+----------+-------------------+ Datatype: hashMap -+++++++++++++++++++ ++++++++++++++++++ The hashMap datatype is an ‘associative array’, which is an unordered collection of key-value pairs of the form "key": "value", where each key @@ -365,7 +365,7 @@ the schema: +--------------+--------------+-----------+----------------------------------+ Datatype: jsonObjectInstance -+++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++ The jsonObjectInstance datatype provides meta-information about an instance of a jsonObject along with the actual object instance: @@ -392,7 +392,7 @@ instance of a jsonObject along with the actual object instance: +----------------+------------+----------+-----------------------------------+ Datatype: key -+++++++++++++++ ++++++++++++++ The key datatype is a tuple which provides the name of a key along with its value and relative order; it consists of the following fields: @@ -409,7 +409,7 @@ its value and relative order; it consists of the following fields: +----------+---------+-----------+-------------------------------------------+ Datatype: namedHashMap -++++++++++++++++++++++++ +++++++++++++++++++++++ The namedHashMap datatype is a hashMap which is associated with and described by a name; it consists of the following fields: @@ -424,7 +424,7 @@ described by a name; it consists of the following fields: +---------+---------+-----------+--------------------------------------------+ Datatype: requestError -+++++++++++++++++++++++ +++++++++++++++++++++++ The requestError datatype defines the standard request error data structure: @@ -454,7 +454,7 @@ structure: +-----------+--------+-----------+-------------------------------------------+ Datatype: vendorNfNameFields -+++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++ The vendorNfNameFields provides vendor, nf and nfModule identifying information: @@ -477,7 +477,7 @@ Common Event Header Data Types .. _ves_common_event_header_7_2: Datatype: commonEventHeader -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ The commonEventHeader datatype consists of the following fields common to all events: @@ -843,10 +843,10 @@ Rules: Technology Independent Datatypes -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ‘Fault’ Domain Datatypes -+++++++++++++++++++++++++ +++++++++++++++++++++++++ Datatype: faultFields ********************* @@ -919,7 +919,7 @@ The faultFields datatype consists of the following fields: +-----------------+---------+-----------+-------------------------------------+ Heartbeat’ Domain Datatypes -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Datatype: heartbeatFields ************************* @@ -943,7 +943,7 @@ specific to heartbeat events; it consists of the following fields: +---------------+---------+-----------+---------------------------------------+ ‘Measurements’ Domain Datatypes -++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ Note: NFs are required to report exactly one Measurement event per period per sourceName. @@ -964,7 +964,7 @@ measurementInterval: +------------------+-----------+----------+--------------------------------+ Datatype: cpuUsage -******************* +****************** The cpuUsage datatype defines the usage of an identifier CPU and consists of the following fields: @@ -1034,7 +1034,7 @@ consists of the following fields: +------------+--------+-----------+-------------------------------------------+ Datatype: diskUsage -******************** +******************* The diskUsage datatype defines the usage of a disk and consists of the following fields: @@ -1298,7 +1298,7 @@ following fields: +-------------+-------+----------+--------------------------------------------+ Datatype: filesystemUsage -*************************** +************************* The filesystemUsage datatype consists of the following fields: @@ -1327,7 +1327,7 @@ The filesystemUsage datatype consists of the following fields: +-------------+--------+-----------+------------------------------------------+ Datatype: hugePages -******************** +******************* The hugePages datatype provides metrics on system hugePages; it consists of the following fields: @@ -1351,7 +1351,7 @@ of the following fields: +--------------------+--------+----------+------------------------------------+ Datatype: ipmi (Intelligent Platform Management Interface) -*********************************************************** +********************************************************** The ipmi datatype provides intelligent platform management interface metrics; it consists of the following fields: @@ -1406,7 +1406,7 @@ metrics; it consists of the following fields: +-------------+---------------------+-----------+-----------------------------+ Datatype: ipmiBaseboardTemperature -************************************ +********************************** The ipmiBaseboardTemperature datatype consists of the following fields which describe ipmi baseboard temperature metrics: @@ -1423,7 +1423,7 @@ which describe ipmi baseboard temperature metrics: +-------------+--------+-----------+------------------------------------------+ Datatype: ipmiBaseboardVoltageRegulator -***************************************** +*************************************** The ipmiBaseboardVoltageRegulator datatype consists of the following fields which describe ipmi baseboard voltage regulator metrics: @@ -1439,7 +1439,7 @@ fields which describe ipmi baseboard voltage regulator metrics: +--------------------+-------+----------+-------------------------------------+ Datatype: ipmiBattery -********************** +********************* The ipmiBattery datatype consists of the following fields which describe ipmi battery metrics: @@ -1455,7 +1455,7 @@ ipmi battery metrics: +---------------------+--------+----------+------------------------------+ Datatype: ipmiFan -******************** +***************** The ipmiFan datatype consists of the following fields which describe ipmi fan metrics: @@ -1469,7 +1469,7 @@ ipmi fan metrics: +--------------+-------+----------+-------------------------------------------+ Datatype: ipmiGlobalAggregateTemperatureMargin -*********************************************** +********************************************** The ipmiGlobalAggregateTemperatureMargin datatype consists of the following fields: @@ -1490,7 +1490,7 @@ following fields: +-------------+-------+----------+--------------------------------------------+ Datatype: ipmiHsbp -******************* +****************** The ipmiHsbp datatype provides ipmi hot swap backplane power metrics; it consists of the following fields: @@ -1506,7 +1506,7 @@ consists of the following fields: +------------+-------+----------+---------------------------------------------+ Datatype: ipmiNic -****************** +***************** The ipmiNic datatype provides network interface control care metrics; it consists of the following fields: @@ -1522,7 +1522,7 @@ consists of the following fields: +------------+-------+----------+---------------------------------------------+ Datatype: ipmiPowerSupply -************************** +************************* The ipmiPowerSupply datatype provides ipmi power supply metrics; it consists of the following fields: @@ -1551,7 +1551,7 @@ consists of the following fields: +-----------+-------+----------+----------------------------------------------+ Datatype: ipmiProcessor -************************ +*********************** The ipmiProcessor datatype provides ipmi processor metrics; it consists of the following fields: @@ -1579,7 +1579,7 @@ of the following fields: +------------+------------------+-----------+---------------------------------+ Datatype: latencyBucketMeasure -******************************* +****************************** The latencyBucketMeasure datatype consists of the following fields which describe the number of counts falling within a defined latency bucket: @@ -1601,7 +1601,7 @@ describe the number of counts falling within a defined latency bucket: +-----------+-------+----------+----------------------------------------------+ Datatype: load -**************** +************** The load datatype provides metrics on system cpu and io utilization obtained using /proc/loadavg; it consists of the following fields: @@ -1626,7 +1626,7 @@ obtained using /proc/loadavg; it consists of the following fields: +----------+-------+----------+-----------------------------------------------+ Datatype: machineCheckException -******************************** +******************************* The machineCheckException datatype describes machine check exceptions; it consists of the following fields: @@ -1663,7 +1663,7 @@ it consists of the following fields: +-------------+-------+----------+--------------------------------------------+ Datatype: measurementFields -**************************** +*************************** The ``measurementFields`` datatype consists of the following fields: @@ -1790,7 +1790,7 @@ information, please see the VES Event Registration specification and in particular the ``aggregationRole``, ``castTo``, and ``isHomogeneous`` keywords. Datatype: memoryUsage -********************** +********************* The memoryUsage datatype defines the memory usage of a virtual machine and consists of the following fields: @@ -1861,7 +1861,7 @@ and consists of the following fields: +-----------+-------+----------+----------------------------------------------+ Datatype: nicPerformance -************************* +************************ The nicPerformance datatype consists of the following fields which describe the performance and errors of an of an identified virtual @@ -2042,7 +2042,7 @@ network interface card: +----------------+-------+----------+-----------------------------------------+ Datatype: processorDimmAggregateThermalMargin -********************************************** +********************************************* The processorDimmAggregateThermalMargin datatype provides intelligent platform management interface (ipmi) processor dual inline memory module @@ -2062,7 +2062,7 @@ aggregate thermal margin metrics; it consists of the following fields: +-----------------+-------+----------+----------------------------------------+ Datatype: processStats -*********************** +********************** The processStats datatype provides metrics on system processes; it consists of the following fields: @@ -2097,10 +2097,10 @@ consists of the following fields: +-----------+-------+----------+----------------------------------------------+ ‘Notification’ Domain Datatypes -++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ Datatype: notificationFields -****************************** +**************************** The notificationFields datatype consists of the following fields: @@ -2170,10 +2170,10 @@ in 3GPP TS 28.550. The array contains the following key value pairs: Other notificationFields are not used for fileReady. ‘Other’ Domain Datatypes -+++++++++++++++++++++++++ +++++++++++++++++++++++++ Datatype: otherFields -********************** +********************* The otherFields datatype defines fields for events belonging to the 'other' domain of the commonEventHeader domain enumeration; it consists @@ -2197,10 +2197,10 @@ of the following fields: +-------------+-------------+----------+--------------------------------------+ ‘perf3gpp’ Domain Datatypes -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Datatype: measDataCollection -***************************** +**************************** The measDataCollection datatype defines a 3GPP measurement collection structure aligned with the 3GPP PM format; it consists of the following @@ -2234,7 +2234,7 @@ fields: +----------------+---------+----------+---------------------------------------+ Datatype: measInfo -******************** +****************** The measInfo datatype provides measurement information; it consists of the following fields: @@ -2258,7 +2258,7 @@ the following fields: +-------+--------------------------+----------+-------------------------------+ Datatype: measInfoIdInteger -**************************** +*************************** The measInfoIdInteger datatype provides an integer measurement group identifier; it consists of the following fields: @@ -2270,7 +2270,7 @@ identifier; it consists of the following fields: +---------------+---------+----------+--------------------------------------+ Datatype: measInfoIdString -*************************** +************************** The measInfoIdString datatype provides a string measurement group identifier; it consists of the following fields: @@ -2282,7 +2282,7 @@ identifier; it consists of the following fields: +---------------+-----------+----------+--------------------------------------+ Datatype: measResultInteger -**************************** +*************************** The measResultInteger datatype provides an integer 3GPP PM measurement result; it consists of the following fields: @@ -2296,7 +2296,7 @@ result; it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measResultNull -************************* +************************ The measResultNull datatype provides a null 3GPP PM measurement result; it consists of the following fields: @@ -2310,7 +2310,7 @@ it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measResultNumber -*************************** +************************** The measResultNumber datatype provides a number 3GPP PM measurement result; it consists of the following fields: @@ -2324,7 +2324,7 @@ result; it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measResultString -*************************** +************************** The measResultString datatype provides a string 3GPP PM measurement result; it consists of the following fields: @@ -2338,7 +2338,7 @@ result; it consists of the following fields: +----------+-----------+-------------+------------------------------------+ Datatype: measTypesInteger -*************************** +************************** The measTypesInteger datatype provides an array of integer measurement identifiers associated with the measurement results; it consists of the @@ -2352,7 +2352,7 @@ following fields: +----------+--------+----------+----------------------------------------------+ Datatype: measTypesString -************************** +************************* The measTypesString datatype provides an array of string measurement identifiers associated with the measurement results; it consists of the @@ -2366,7 +2366,7 @@ following fields: +----------+-------+----------+-----------------------------------------------+ Datatype: measValues -********************* +******************** The measValues datatype provides 3GPP measurement values; it consists of the following fields: @@ -2395,7 +2395,7 @@ the following fields: +---------+----------------------------------+----------+---------------------+ Datatype: perf3gppFields -************************* +************************ The perf3gppFields datatype defines fields for 3GPP PM format events, based on 3GPP TS 28.550, belonging to the 'perf3gpp' domain of the @@ -2416,10 +2416,10 @@ fields: +--------------+-----------+----------+---------------------------------------+ ‘pnfRegistration’ Domain Datatypes -++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++++ Datatype: pnfRegistrationFields -******************************** +******************************* The pnfRegistrationFields datatype defines fields for events belonging to the 'pnfRegistration' domain of the commonEventHeader domain @@ -2474,10 +2474,10 @@ enumeration; it consists of the following fields: +-----------------+--------+----------+---------------------------------------+ ‘State Change’ Domain Datatypes -++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++ Datatype: stateChangeFields -***************************** +*************************** The stateChangeFields datatype consists of the following fields: @@ -2502,10 +2502,10 @@ The stateChangeFields datatype consists of the following fields: +--------------+--------+----------+------------------------------------------+ ‘StndDefined’ Domain Datatypes -++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++ Datatype: stndDefinedFields -***************************** +*************************** The stndDefinedFields datatype consists of the following fields: @@ -2526,7 +2526,7 @@ The stndDefinedFields datatype consists of the following fields: +--------------+--------+----------+------------------------------------------+ Additional rules, when using stndDefined domain -************************************************ +*********************************************** Following rules shall be followed, when using the StndDefined domain: @@ -2544,10 +2544,10 @@ then each and every event within eventBatch must have exactly the same VES.commonEventHeader.stndDefinedNamespace set. ‘Syslog’ Domain Datatypes -++++++++++++++++++++++++++ ++++++++++++++++++++++++++ Datatype: syslogFields -*********************** +********************** The syslogFields datatype consists of the following fields: @@ -2706,10 +2706,10 @@ https://tools.ietf.org/html/rfc5424#section-6 https://www.iana.org/assignments/syslog-parameters/syslog-parameters.xhtml ‘Threshold Crossing Alert’ Domain Datatypes -++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++++++++++++++++ Datatype: counter -****************** +***************** The counter datatype consists of the following fields: @@ -2726,7 +2726,7 @@ The counter datatype consists of the following fields: +------------+--------+----------+--------------------------------------------+ Datatype: thresholdCrossingAlertFields -**************************************** +************************************** The thresholdCrossingAlertFields datatype consists of the following fields: @@ -2794,10 +2794,10 @@ Technology Specific Datatypes ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Mobile Flow’ Domain Datatypes -++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++ Datatype: gtpPerFlowMetrics -**************************** +*************************** The gtpPerFlowMetrics datatype consists of the following fields: @@ -3000,7 +3000,7 @@ The gtpPerFlowMetrics datatype consists of the following fields: +---------------+--------+----------+-----------------------------------------+ Datatype: mobileFlowFields -*************************** +************************** The mobileFlowFields datatype consists of the following fields: @@ -3113,7 +3113,7 @@ The mobileFlowFields datatype consists of the following fields: +++++++++++++++++++++++++++++++ Datatype: sipSignalingFields -***************************** +**************************** The sipSignalingFields datatype communicates information about sip signaling messages, parameters and signaling state; it consists of the @@ -3154,10 +3154,10 @@ following fields: +--------------+-----------+----------+---------------------------------------+ ‘Voice Quality’ Domain Datatypes -+++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++++++++ Datatype: endOfCallVqmSummaries -********************************* +******************************* The endOfCallVqmSummaries datatype provides end of call voice quality metrics; it consists of the following fields: @@ -3266,7 +3266,7 @@ metrics; it consists of the following fields: +--------------+-------+----------+-------------------------------------------+ Datatype: voiceQualityFields -***************************** +**************************** The voiceQualityFields datatype provides statistics related to customer facing voice products; consists of the following fields: @@ -3568,10 +3568,10 @@ Listener API are defined below. Table - Policy Exceptions REST Operation Overview -~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~ REST Operation Summary -+++++++++++++++++++++++ +++++++++++++++++++++++ +---------------------+---------+------------------------------------------+ | **Operation Action**| **HTTP**| Resource URL relative to {ServerRoot}\ | @@ -3625,10 +3625,10 @@ In a future version of the specification, a 1 megabyte limit will become a mandatory requirement. Operation: publishAnyEvent -~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~ Functional Behavior -+++++++++++++++++++++ ++++++++++++++++++++ Allows authorized clients to publish any single event to the VES event listener. @@ -3643,7 +3643,7 @@ listener. messages Call Flow -++++++++++ ++++++++++ .. seqdiag:: :caption: ``publishAnyEvent`` Call Flow @@ -3658,7 +3658,7 @@ Call Flow } Input Parameters -+++++++++++++++++ +++++++++++++++++ Header Fields (note: all parameter names shall be treated as case-insensitive): @@ -3715,7 +3715,7 @@ Body Fields: +--------------+--------------+--------------+-------------------------------+ Output Parameters -++++++++++++++++++ ++++++++++++++++++ Header fields: @@ -3751,7 +3751,7 @@ Body Fields (for error responses): +--------------+--------------+----------------+------------------------------+ HTTP Status Codes -++++++++++++++++++ ++++++++++++++++++ +-----+--------------+--------------------------------------------------------+ | Code| Reason Phrase| Description | @@ -3787,10 +3787,10 @@ HTTP Status Codes +-----+--------------+--------------------------------------------------------+ Sample Request and Response -++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Sample Request -*************** +************** .. code-block:: http @@ -3838,7 +3838,7 @@ Sample Request Sample Success Response -************************ +*********************** .. code-block:: http @@ -3848,10 +3848,10 @@ Sample Success Response X-LatestVersion: 7.2 Sample Error Responses -************************ +********************** Sample Policy Exception -"""""""""""""""""""""""" +""""""""""""""""""""""" .. code-block:: http @@ -3874,7 +3874,7 @@ Sample Policy Exception Sample Service Exception -""""""""""""""""""""""""" +"""""""""""""""""""""""" .. code-block:: http @@ -3900,7 +3900,7 @@ Sample Service Exception } Operation: publishEventBatch -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Functional Behavior +++++++++++++++++++ @@ -3922,7 +3922,7 @@ acknowledgement from the VES Event Listener is for the ``publishEventBatch`` and not individual events within the ``publishEventBatch``. Call Flow -+++++++++++ ++++++++++ .. seqdiag:: :caption: ``publishEventBatch`` Call Flow @@ -3937,7 +3937,7 @@ Call Flow } Input Parameters -+++++++++++++++++ +++++++++++++++++ Header Fields (note: all parameter names shall be treated as case-insensitive): @@ -3996,7 +3996,7 @@ Body Fields: +--------------+--------------+--------------+-------------------------------+ Output Parameters -+++++++++++++++++++ ++++++++++++++++++ Header fields: @@ -4066,10 +4066,10 @@ HTTP Status Codes +-----+--------------+--------------------------------------------------------+ Sample Request and Response -+++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++ Sample Request -**************** +************** .. code-block:: http @@ -4146,7 +4146,7 @@ Sample Request } Sample Success Response -************************* +*********************** .. code-block:: http @@ -4156,10 +4156,10 @@ Sample Success Response X-LatestVersion: 7.2 Sample Error Responses -************************ +********************** Sample Policy Exception -"""""""""""""""""""""""" +""""""""""""""""""""""" .. code-block:: http @@ -4183,7 +4183,7 @@ Sample Policy Exception Sample Service Exception -""""""""""""""""""""""""" +"""""""""""""""""""""""" .. code-block:: http @@ -4210,7 +4210,7 @@ Sample Service Exception Terminology -^^^^^^^^^^^^ +^^^^^^^^^^^ Terminology used in this document is summarized below: @@ -4369,7 +4369,7 @@ It is a stand-alone executable that is loosely-coupled, granular, re-usable, and responsible for a single capability. Appendix: Historical Change Log -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For the latest changes, see the Change Block just before the Table of Contents. -- cgit 1.2.3-korg