From fbba6b16e07632a319f08e0fa1458cff8290110f Mon Sep 17 00:00:00 2001 From: "Timoney, Dan (dt5972)" Date: Wed, 13 Jun 2018 11:11:29 -0400 Subject: Restructure CCSDK documentation Remove empty repo-specific documents in favor of meaningful project-level documentation. Change-Id: I18f2db7f68895df2d71450eee7e56723d74f7f5a Issue-ID: CCSDK-300 Signed-off-by: Timoney, Dan (dt5972) --- docs/index.rst | 5 +- docs/sli/adaptors/architecture.rst | 27 - docs/sli/adaptors/build.rst | 18 - docs/sli/adaptors/index.rst | 12 - docs/sli/adaptors/logging.rst | 14 - docs/sli/adaptors/offeredapis.rst | 6 - docs/sli/adaptors/release-notes.rst | 46 -- docs/sli/apis/asdcApi.rst | 15 + docs/sli/apis/dataChange.rst | 15 + docs/sli/apis/sliapi.rst | 15 + docs/sli/architecture.rst | 29 + docs/sli/build.rst | 30 + docs/sli/core/apis/sliapi.rst | 15 - docs/sli/core/architecture.rst | 20 - docs/sli/core/build.rst | 18 - docs/sli/core/index.rst | 13 - docs/sli/core/logging.rst | 14 - docs/sli/core/nodes.rst | 1031 ------------------------------- docs/sli/core/offeredapis.rst | 12 - docs/sli/core/release-notes.rst | 46 -- docs/sli/index.rst | 14 + docs/sli/logging.rst | 14 + docs/sli/nodes.rst | 1031 +++++++++++++++++++++++++++++++ docs/sli/northbound/apis/asdcApi.rst | 15 - docs/sli/northbound/apis/dataChange.rst | 15 - docs/sli/northbound/architecture.rst | 12 - docs/sli/northbound/build.rst | 18 - docs/sli/northbound/index.rst | 13 - docs/sli/northbound/logging.rst | 14 - docs/sli/northbound/nodes.rst | 1031 ------------------------------- docs/sli/northbound/offeredapis.rst | 13 - docs/sli/northbound/release-notes.rst | 45 -- docs/sli/offeredapis.rst | 15 + docs/sli/plugins/architecture.rst | 27 - docs/sli/plugins/build.rst | 18 - docs/sli/plugins/docs/architecture.rst | 27 - docs/sli/plugins/docs/build.rst | 18 - docs/sli/plugins/docs/index.rst | 12 - docs/sli/plugins/docs/logging.rst | 14 - docs/sli/plugins/docs/offeredapis.rst | 6 - docs/sli/plugins/docs/release-notes.rst | 46 -- docs/sli/plugins/index.rst | 12 - docs/sli/plugins/logging.rst | 14 - docs/sli/plugins/offeredapis.rst | 6 - docs/sli/plugins/release-notes.rst | 46 -- 45 files changed, 1179 insertions(+), 2718 deletions(-) delete mode 100644 docs/sli/adaptors/architecture.rst delete mode 100644 docs/sli/adaptors/build.rst delete mode 100644 docs/sli/adaptors/index.rst delete mode 100644 docs/sli/adaptors/logging.rst delete mode 100644 docs/sli/adaptors/offeredapis.rst delete mode 100644 docs/sli/adaptors/release-notes.rst create mode 100644 docs/sli/apis/asdcApi.rst create mode 100644 docs/sli/apis/dataChange.rst create mode 100644 docs/sli/apis/sliapi.rst create mode 100644 docs/sli/architecture.rst create mode 100644 docs/sli/build.rst delete mode 100644 docs/sli/core/apis/sliapi.rst delete mode 100644 docs/sli/core/architecture.rst delete mode 100644 docs/sli/core/build.rst delete mode 100644 docs/sli/core/index.rst delete mode 100644 docs/sli/core/logging.rst delete mode 100644 docs/sli/core/nodes.rst delete mode 100644 docs/sli/core/offeredapis.rst delete mode 100644 docs/sli/core/release-notes.rst create mode 100644 docs/sli/index.rst create mode 100644 docs/sli/logging.rst create mode 100644 docs/sli/nodes.rst delete mode 100644 docs/sli/northbound/apis/asdcApi.rst delete mode 100644 docs/sli/northbound/apis/dataChange.rst delete mode 100644 docs/sli/northbound/architecture.rst delete mode 100644 docs/sli/northbound/build.rst delete mode 100644 docs/sli/northbound/index.rst delete mode 100644 docs/sli/northbound/logging.rst delete mode 100644 docs/sli/northbound/nodes.rst delete mode 100644 docs/sli/northbound/offeredapis.rst delete mode 100644 docs/sli/northbound/release-notes.rst create mode 100644 docs/sli/offeredapis.rst delete mode 100644 docs/sli/plugins/architecture.rst delete mode 100644 docs/sli/plugins/build.rst delete mode 100644 docs/sli/plugins/docs/architecture.rst delete mode 100644 docs/sli/plugins/docs/build.rst delete mode 100644 docs/sli/plugins/docs/index.rst delete mode 100644 docs/sli/plugins/docs/logging.rst delete mode 100644 docs/sli/plugins/docs/offeredapis.rst delete mode 100644 docs/sli/plugins/docs/release-notes.rst delete mode 100644 docs/sli/plugins/index.rst delete mode 100644 docs/sli/plugins/logging.rst delete mode 100644 docs/sli/plugins/offeredapis.rst delete mode 100644 docs/sli/plugins/release-notes.rst diff --git a/docs/index.rst b/docs/index.rst index b53fd396..14a0026e 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -6,9 +6,6 @@ Common Controller Software Development Kit :maxdepth: 1 platform/plugins/index.rst - sli/core/index.rst - sli/adaptors/index.rst - sli/northbound/index.rst - sli/plugins/index.rst + sli/index.rst release-notes.rst diff --git a/docs/sli/adaptors/architecture.rst b/docs/sli/adaptors/architecture.rst deleted file mode 100644 index 8daa0d3b..00000000 --- a/docs/sli/adaptors/architecture.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Architecture -============ - -.. note:: - * This section is used to describe a software component from a high level - view of capability, common usage scenarios, and interactions with other - components required in the usage scenarios. - - * The architecture section is typically: provided in a platform-component - and sdk collections; and referenced from developer and user guides. - - * This note must be removed after content has been added. - - -Capabilities ------------- - - -Usage Scenarios ---------------- - - -Interactions ------------- diff --git a/docs/sli/adaptors/build.rst b/docs/sli/adaptors/build.rst deleted file mode 100644 index 0a4c308e..00000000 --- a/docs/sli/adaptors/build.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Build -===== - - -Environment ------------ -Requires maven release 3.3 or greater - -Steps ------ -To compile this code: - -1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. - -2. To compile, run "mvn clean install". \ No newline at end of file diff --git a/docs/sli/adaptors/index.rst b/docs/sli/adaptors/index.rst deleted file mode 100644 index 3156c8ab..00000000 --- a/docs/sli/adaptors/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -CCSDK Service Logic Interpretor Adaptors ----------------------------------------- -.. toctree:: - :maxdepth: 1 - - architecture.rst - offeredapis.rst - logging.rst - build.rst - release-notes.rst diff --git a/docs/sli/adaptors/logging.rst b/docs/sli/adaptors/logging.rst deleted file mode 100644 index 187eb03b..00000000 --- a/docs/sli/adaptors/logging.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging -======= -CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log -log file. - -Where to Access Information ---------------------------- -Logs are found within the SDNC docker container, in the directory -/opt/opendaylight/current/data/logs. - - diff --git a/docs/sli/adaptors/offeredapis.rst b/docs/sli/adaptors/offeredapis.rst deleted file mode 100644 index e20c786c..00000000 --- a/docs/sli/adaptors/offeredapis.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Offered APIs -============ - diff --git a/docs/sli/adaptors/release-notes.rst b/docs/sli/adaptors/release-notes.rst deleted file mode 100644 index b4516570..00000000 --- a/docs/sli/adaptors/release-notes.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -Release Notes -============= - -.. note:: - * This Release Notes must be updated each time the team decides to Release new artifacts. - * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. - * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. - * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. - * This note must be removed after content has been added. - - -Version: x.y.z --------------- - - -:Release Date: yyyy-mm-dd - - - -**New Features** - -One or two sentences explaining the purpose of this Release. - -**Bug Fixes** - - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. -**Known Issues** - - `CIMAN-65 `_ and two, three sentences. - One sentences explaining what is the issue. - - Another sentence explaining the impact of the issue. - - And an optional sentence providing a workaround. - -**Security Issues** - You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE `_ - - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== \ No newline at end of file diff --git a/docs/sli/apis/asdcApi.rst b/docs/sli/apis/asdcApi.rst new file mode 100644 index 00000000..c9091401 --- /dev/null +++ b/docs/sli/apis/asdcApi.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +ASDC-API (2017-02-01) +===================== + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + + +.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/northbound.git;a=blob_plain;f=asdcApi/model/src/main/resources/asdc-api.20170201.json + + diff --git a/docs/sli/apis/dataChange.rst b/docs/sli/apis/dataChange.rst new file mode 100644 index 00000000..9a9dc044 --- /dev/null +++ b/docs/sli/apis/dataChange.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +dataChange(2015-05-19) +====================== + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + + +.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/northbound.git;a=blob_plain;f=dataChange/model/src/main/resources/dataChange.20150519.json + + diff --git a/docs/sli/apis/sliapi.rst b/docs/sli/apis/sliapi.rst new file mode 100644 index 00000000..13cdcbd5 --- /dev/null +++ b/docs/sli/apis/sliapi.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +SLI-API(2016-11-11) +=================== + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + + +.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/core.git;a=blob_plain;f=sliapi/model/src/main/resources/sli-api.20161110.json + + diff --git a/docs/sli/architecture.rst b/docs/sli/architecture.rst new file mode 100644 index 00000000..a211cc6f --- /dev/null +++ b/docs/sli/architecture.rst @@ -0,0 +1,29 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Architecture +============ + +Repositories +------------ +CCSDK contains the following repositories to support service logic (aka directed graph) +development: + +- ccsdk/parent : contains parent poms, which contain common properties, plugin settings, etc +- ccsdk/sli/core : contains the core components needed to compile and execute directed graphs +- ccsdk/sli/adaptors : contains adaptors to provide access to resources from within directed graphs +- ccsdk/sli/northbound : contains code for northbound interfaces that maybe used by CCSDK clients +- ccsdk/sli/plugins : contains code to be called from directed graph "execute" nodes + +Capabilities +------------ +Provides the core Service Logic Interpreter (SLI) functionality, used to execute directed graphs (DGs). Directed graphs allow service designers to define the +logic to be executed within the SDN controller in a graphical format which can be +updated in real time, without a need to restart the controller. + +.. toctree:: + :maxdepth: 1 + + nodes.rst + + diff --git a/docs/sli/build.rst b/docs/sli/build.rst new file mode 100644 index 00000000..3d9ccdb9 --- /dev/null +++ b/docs/sli/build.rst @@ -0,0 +1,30 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Build +===== + + +Environment +----------- +Requires maven release 3.3 or greater + +Steps +----- +To compile this code: + +1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. + +2. To compile all of CCSDK SLI code + - git clone http://gerrit.onap.org/r/ccsdk/parent + - cd parent ; mvn clean install ; cd .. + - mkdir sli ; cd sli + - git clone http://gerrit.onap.org/r/ccsdk/sli/core + - git clone http://gerrit.onap.org/r/ccsdk/sli/adaptors + - git clone http://gerrit.onap.org/r/ccsdk/sli/northbound + - git clone http://gerrit.onap.org/r/ccsdk/sli/plugins + - cd core ; mvn clean install + - cd ../adaptors ; mvn clean install + - cd ../northbound ; mvn clean install + - cd ../plugins ; mvn clean install + \ No newline at end of file diff --git a/docs/sli/core/apis/sliapi.rst b/docs/sli/core/apis/sliapi.rst deleted file mode 100644 index 13cdcbd5..00000000 --- a/docs/sli/core/apis/sliapi.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -SLI-API(2016-11-11) -=================== - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - - -.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/core.git;a=blob_plain;f=sliapi/model/src/main/resources/sli-api.20161110.json - - diff --git a/docs/sli/core/architecture.rst b/docs/sli/core/architecture.rst deleted file mode 100644 index f6101a11..00000000 --- a/docs/sli/core/architecture.rst +++ /dev/null @@ -1,20 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Architecture -============ - - - -Capabilities ------------- -Provides the core Service Logic Interpreter (SLI) functionality, used to execute directed graphs (DGs). Directed graphs allow service designers to define the -logic to be executed within the SDN controller in a graphical format which can be -updated in real time, without a need to restart the controller. - -.. toctree:: - :maxdepth: 1 - - nodes.rst - - diff --git a/docs/sli/core/build.rst b/docs/sli/core/build.rst deleted file mode 100644 index 0a4c308e..00000000 --- a/docs/sli/core/build.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Build -===== - - -Environment ------------ -Requires maven release 3.3 or greater - -Steps ------ -To compile this code: - -1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. - -2. To compile, run "mvn clean install". \ No newline at end of file diff --git a/docs/sli/core/index.rst b/docs/sli/core/index.rst deleted file mode 100644 index 2055f178..00000000 --- a/docs/sli/core/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -CCSDK Service Logic Interpreter -------------------------------- -.. toctree:: - :maxdepth: 1 - - architecture.rst - offeredapis.rst - logging.rst - build.rst - release-notes.rst - diff --git a/docs/sli/core/logging.rst b/docs/sli/core/logging.rst deleted file mode 100644 index 187eb03b..00000000 --- a/docs/sli/core/logging.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging -======= -CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log -log file. - -Where to Access Information ---------------------------- -Logs are found within the SDNC docker container, in the directory -/opt/opendaylight/current/data/logs. - - diff --git a/docs/sli/core/nodes.rst b/docs/sli/core/nodes.rst deleted file mode 100644 index 3bdeabcf..00000000 --- a/docs/sli/core/nodes.rst +++ /dev/null @@ -1,1031 +0,0 @@ ---- Service Logic Interpreter --- Dan Timoney --- 2014-11-12 --- - -Supported node types -==================== - -The following built-in node types are currently supported: - -- Flow Control - - - `**block** <#Block_node>`__ - - - `**call** <#Call_node>`__ - - - `**for** <#For_node>`__ - - - `**return** <#Return_node>`__ - - - `**set** <#Set_node>`__ - - - `**switch** <#Switch_node>`__ - -- Device Management - - - `**configure** <#Configure_node>`__ - -- Java Plugin Support - - - `**execute** <#Execute_node>`__ - -- Recording - - - `**record** <#Record_node>`__ - -- Resource Management - - - `**delete** <#Delete_node>`__ - - - `**exists** <#Exists_node>`__ - - - `**get-resource** <#Get-resource_node>`__ - - - `**is-available** <#Is-available_node>`__ - - - `**notify** <#Notify_node>`__ - - - `**release** <#Release_node>`__ - - - `**reserve** <#Reserve_node>`__ - - - `**save** <#Save_node>`__ - - - `**update** <#Update_node>`__ - -Flow Control ------------- - -Block node -~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **block** node is used to executes a set of nodes. - -Attributes -^^^^^^^^^^ - -+--------------+-----------------------------------------------------------------------------------------------------------------------------------+ -| **atomic** | if *true*, then if a node returns failure, subsequent nodes will not be executed and nodes already executed will be backed out. | -+--------------+-----------------------------------------------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -None - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - -Call node -~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **call** node is used to call another graph - -Attributes -^^^^^^^^^^ - -+---------------+------------------------------------------------------------------------------------+ -| **module** | Module of directed graph to call. If unset, defaults to that of calling graph | -+---------------+------------------------------------------------------------------------------------+ -| **rpc** | rpc of directed graph to call. | -+---------------+------------------------------------------------------------------------------------+ -| **version** | version of graph to call, If unset, uses active version. | -+---------------+------------------------------------------------------------------------------------+ -| **mode** | mode (sync/async) of graph to call. If unset, defaults to that of calling graph. | -+---------------+------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Not applicable - -Outcomes -^^^^^^^^ - -+-----------------+------------------------------+ -| **success** | Sub graph returned success | -+-----------------+------------------------------+ -| **not-found** | Graph not found | -+-----------------+------------------------------+ -| **failure** | Subgraph returned success | -+-----------------+------------------------------+ - -Table: . - -Example -^^^^^^^ - -:: - - - -For node -~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **for** node provides a fixed iteration looping mechanism, similar to -the Java for loop - -Attributes -^^^^^^^^^^ - -+-------------+------------------+ -| **index** | index variable | -+-------------+------------------+ -| **start** | initial value | -+-------------+------------------+ -| **end** | maximum value | -+-------------+------------------+ - -Parameters -^^^^^^^^^^ - -Not applicable. - -Outcomes -^^^^^^^^ - -Not applicable. The **status** node has no outcomes. - -Example -^^^^^^^ - -:: - - - - - - - - - -Return node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **return** node is used to return a status to the invoking MD-SAL -application - -Attributes -^^^^^^^^^^ - -+--------------+---------------------------------------------------+ -| **status** | Status value to return (*success* or *failure*) | -+--------------+---------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -The following optional parameters may be passed to convey more detailed -status information. - -+---------------------+-----------------------------------------------------------------+ -| **error-code** | A brief, usually numeric, code indicating the error condition | -+---------------------+-----------------------------------------------------------------+ -| **error-message** | A more detailed error message | -+---------------------+-----------------------------------------------------------------+ - -Outcomes -^^^^^^^^ - -Not applicable. The **status** node has no outcomes. - -Example -^^^^^^^ - -:: - - - - - - -Set node -~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **set** node is used to set one or more values in the execution -context - -Attributes -^^^^^^^^^^ - -+---------------------+-------------------------------------------------------------------------------------+ -| **only-if-unset** | If true the set node will only execute if the current value of the target is null | -+---------------------+-------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Values to be set are passed as parameters - -Outcomes -^^^^^^^^ - -Not applicable. The **set** node has no outcomes. - -Example -^^^^^^^ - -:: - - - - - -Switch node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **switch** node is used to make a decision based on its **test** -attribute. - -Attributes -^^^^^^^^^^ - -+------------+---------------------+ -| **test** | Condition to test | -+------------+---------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -Depends on the **test** condition - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device Management ------------------ - -Configure node -~~~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **configure** node is used to configure a device. - -Attributes -^^^^^^^^^^ - -+----------------+-----------------------------------------------------------------------------------+ -| **adaptor** | Fully qualified Java class of resource adaptor to be used | -+----------------+-----------------------------------------------------------------------------------+ -| **activate** | Activate device/interface, for devices that support a separate activation step. | -+----------------+-----------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for item to configure | -+----------------+-----------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Specific to device adaptor. - -Outcomes -^^^^^^^^ - -+----------------------+------------------------------------------------------------------+ -| **success** | Device successfully configured | -+----------------------+------------------------------------------------------------------+ -| **not-found** | Element to be configured does not exist. | -+----------------------+------------------------------------------------------------------+ -| **not-ready** | Element is not in a state where it can be configured/activated | -+----------------------+------------------------------------------------------------------+ -| **already-active** | Attempt to activate element that is already active | -+----------------------+------------------------------------------------------------------+ -| **failure** | Configure failed for some other reason | -+----------------------+------------------------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Java Plugin Support -------------------- - -Execute node -~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **execute** node is used to execute Java code supplied as a plugin - -Attributes -^^^^^^^^^^ - -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of plugin to be used | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **method** | Name of method in the plugin class to execute. Method must return void, and take 2 arguments: a Map (for parameters) and a SvcLogicContext (to allow plugin read/write access to context memory) | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Specific to plugin / method - -Outcomes -^^^^^^^^ - -+--------------------------+-----------------------------------------------------------------+ -| **success** | Device successfully configured | -+--------------------------+-----------------------------------------------------------------+ -| **not-found** | Plugin class could not be loaded | -+--------------------------+-----------------------------------------------------------------+ -| **unsupported-method** | Named method taking (Map, SvcLogicContext) could not be found | -+--------------------------+-----------------------------------------------------------------+ -| **failure** | Configure failed for some other reason | -+--------------------------+-----------------------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - - - - - - - - -Recording ---------- - -Record node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **record** node is used to record an event. For example, this might be -used to log provisioning events. - -Attributes -^^^^^^^^^^ - -+--------------+---------------------------------------------------+ -| **plugin** | Fully qualified Java class to handle recording. | -+--------------+---------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Parameters will depend on the plugin being used. For the FileRecorder -class, the parameters are as follows - -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **file** | The file to which the record should be written | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **field1** | First field to write. There will be **field** parameters for each field to write, from **field1** through **fieldN**. A special value \_\_TIMESTAMP\_\_ may be assigned to a field to insert the current timestamp | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Outcomes -^^^^^^^^ - -+---------------+--------------------------------------------+ -| **success** | Record successfully written | -+---------------+--------------------------------------------+ -| **failure** | Record could not be successfully written | -+---------------+--------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - -Resource Management -------------------- - -Delete node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **delete** node is used to delete a resource from the local resource -inventory. - -Attributes -^^^^^^^^^^ - -+----------------+-------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+-------------------------------------------------------------+ -| **resource** | Type of resource to delete | -+----------------+-------------------------------------------------------------+ -| **key** | SQL-like string specifying key to delete | -+----------------+-------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+---------------+--------------------------------------------+ -| **success** | Resource specified deleted successfully. | -+---------------+--------------------------------------------+ -| *failure*> | Resource specified was not deleted | -+---------------+--------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Exists node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **exists** node is used to determine whether a particular instance of -a resource exists. For example, this might be used to test whether a -particular switch CLLI is provisioned. - -Attributes -^^^^^^^^^^ - -+----------------+-------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+-------------------------------------------------------------+ -| **resource** | Type of resource to check | -+----------------+-------------------------------------------------------------+ -| **key** | SQL-like string specifying key to check for | -+----------------+-------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-------------+---------------------------------+ -| **true** | Resource specified exists. | -+-------------+---------------------------------+ -| **false** | Resource specified is unknown | -+-------------+---------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Get-resource node -~~~~~~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **get-resource** node is used to retrieve information about a -particular resource and make it available to other nodes in the service -logic tree. For example, this might be used to retrieve information -about a particular uni-port. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------------------------------+ -| **resource** | Type of resource to retrieve | -+----------------+------------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for retrieval | -+----------------+------------------------------------------------------------------------------------------+ -| **pfx** | Prefix to add to context variable names set for data retrieved | -+----------------+------------------------------------------------------------------------------------------+ -| **select** | String to specify, if key matches multiple entries, which entry should take precedence | -+----------------+------------------------------------------------------------------------------------------+ -| **order-by** | Prefix to add to context variable names set for data retrieved | -+----------------+------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-----------------+--------------------------------------------------+ -| **success** | Resource successfully retrieved | -+-----------------+--------------------------------------------------+ -| **not-found** | Resource referenced does not exist | -+-----------------+--------------------------------------------------+ -| **failure** | Resource retrieve failed for some other reason | -+-----------------+--------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - -Is-available node -~~~~~~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **is-available** node is used to determine whether a particular type -of resource is available. For example, this might be used to test -whether any ports are available for assignment on a particular switch. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------+ -| **resource** | Type of resource to check | -+----------------+------------------------------------------------------------------+ -| **key** | SQL-like string specifying key to check for | -+----------------+------------------------------------------------------------------+ -| **pfx** | Prefix to add to context variable names set for data retrieved | -+----------------+------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-------------+---------------------------------------+ -| **true** | Resource requested is available | -+-------------+---------------------------------------+ -| **false** | Resource requested is not available | -+-------------+---------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Notify node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **notify** node is used to inform an external application (e.g. A&AI) -that a resource was updated. - -Attributes -^^^^^^^^^^ - -+----------------+---------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+---------------------------------------------------------------------+ -| **resource** | Identifies resource that was updated | -+----------------+---------------------------------------------------------------------+ -| **action** | Action that triggered notification to be sent (ADD/UPDATE/DELETE) | -+----------------+---------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+---------------+----------------------------------------+ -| **success** | Notification was successful | -+---------------+----------------------------------------+ -| **failure** | Notification failed is not available | -+---------------+----------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Release node -~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **release** node is used to mark a resource as no longer in use, and -thus available for assignment. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------+ -| **resource** | Type of resource to release | -+----------------+------------------------------------------------------------------+ -| **key** | SQL-like string specifying key to check of resource to release | -+----------------+------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-----------------+-------------------------------------------------+ -| **success** | Resource successfully released | -+-----------------+-------------------------------------------------+ -| **not-found** | Resource referenced does not exist | -+-----------------+-------------------------------------------------+ -| **failure** | Resource release failed for some other reason | -+-----------------+-------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - -Reserve node -~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **reserve** node is used to reserve a particular type of resource.. -For example, this might be used to reserve a port on a particular -switch. - -Attributes -^^^^^^^^^^ - -+----------------+----------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+----------------------------------------------------------------------------------------------+ -| **resource** | Type of resource to reserve | -+----------------+----------------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for reservation | -+----------------+----------------------------------------------------------------------------------------------+ -| **select** | String to specify, if **key** matches multiple entries, which entry should take precedence | -+----------------+----------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+---------------+----------------------------------------------------+ -| **success** | Resource requested was successfully reserved | -+---------------+----------------------------------------------------+ -| **failure** | Resource requested was not successfully reserved | -+---------------+----------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Save node -~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **save** node is used to save information about a particular resource -to persistent storage. For example, this might be used to save -information about a particular uni-port. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------------------------------+ -| **resource** | Type of resource to save | -+----------------+------------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for retrieval | -+----------------+------------------------------------------------------------------------------------------+ -| **force** | If "true", save resource even if this resource is already stored in persistent storage | -+----------------+------------------------------------------------------------------------------------------+ -| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | -+----------------+------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Values to save (columns) are specified as parameters, with each name -corresponding to a column name and each value corresponding to the value -to set. - -Outcomes -^^^^^^^^ - -+---------------+-------------------------------+ -| **success** | Resource successfully saved | -+---------------+-------------------------------+ -| **failure** | Resource save failed | -+---------------+-------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Update node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **update** node is used to update information about a particular -resource to persistent storage. - -Attributes -^^^^^^^^^^ - -+----------------+----------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+----------------------------------------------------------------------------------------+ -| **resource** | Type of resource to update | -+----------------+----------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for retrieval | -+----------------+----------------------------------------------------------------------------------------+ -| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | -+----------------+----------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Values to save (columns) are specified as parameters, with each name -corresponding to a column name and each value corresponding to the value -to set. - -Outcomes -^^^^^^^^ - -+---------------+-------------------------------+ -| **success** | Resource successfully saved | -+---------------+-------------------------------+ -| **failure** | Resource save failed | -+---------------+-------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - diff --git a/docs/sli/core/offeredapis.rst b/docs/sli/core/offeredapis.rst deleted file mode 100644 index 42eafdd4..00000000 --- a/docs/sli/core/offeredapis.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Offered APIs -============ - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - apis/sliapi.rst - diff --git a/docs/sli/core/release-notes.rst b/docs/sli/core/release-notes.rst deleted file mode 100644 index b4516570..00000000 --- a/docs/sli/core/release-notes.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -Release Notes -============= - -.. note:: - * This Release Notes must be updated each time the team decides to Release new artifacts. - * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. - * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. - * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. - * This note must be removed after content has been added. - - -Version: x.y.z --------------- - - -:Release Date: yyyy-mm-dd - - - -**New Features** - -One or two sentences explaining the purpose of this Release. - -**Bug Fixes** - - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. -**Known Issues** - - `CIMAN-65 `_ and two, three sentences. - One sentences explaining what is the issue. - - Another sentence explaining the impact of the issue. - - And an optional sentence providing a workaround. - -**Security Issues** - You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE `_ - - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== \ No newline at end of file diff --git a/docs/sli/index.rst b/docs/sli/index.rst new file mode 100644 index 00000000..7b864583 --- /dev/null +++ b/docs/sli/index.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + + +Directed Graph Support (Service Logic Interpreter) +================================================== + +.. toctree:: + :maxdepth: 1 + + architecture.rst + build.rst + logging.rst + offeredapis.rst diff --git a/docs/sli/logging.rst b/docs/sli/logging.rst new file mode 100644 index 00000000..187eb03b --- /dev/null +++ b/docs/sli/logging.rst @@ -0,0 +1,14 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Logging +======= +CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log +log file. + +Where to Access Information +--------------------------- +Logs are found within the SDNC docker container, in the directory +/opt/opendaylight/current/data/logs. + + diff --git a/docs/sli/nodes.rst b/docs/sli/nodes.rst new file mode 100644 index 00000000..3bdeabcf --- /dev/null +++ b/docs/sli/nodes.rst @@ -0,0 +1,1031 @@ +--- Service Logic Interpreter --- Dan Timoney --- 2014-11-12 --- + +Supported node types +==================== + +The following built-in node types are currently supported: + +- Flow Control + + - `**block** <#Block_node>`__ + + - `**call** <#Call_node>`__ + + - `**for** <#For_node>`__ + + - `**return** <#Return_node>`__ + + - `**set** <#Set_node>`__ + + - `**switch** <#Switch_node>`__ + +- Device Management + + - `**configure** <#Configure_node>`__ + +- Java Plugin Support + + - `**execute** <#Execute_node>`__ + +- Recording + + - `**record** <#Record_node>`__ + +- Resource Management + + - `**delete** <#Delete_node>`__ + + - `**exists** <#Exists_node>`__ + + - `**get-resource** <#Get-resource_node>`__ + + - `**is-available** <#Is-available_node>`__ + + - `**notify** <#Notify_node>`__ + + - `**release** <#Release_node>`__ + + - `**reserve** <#Reserve_node>`__ + + - `**save** <#Save_node>`__ + + - `**update** <#Update_node>`__ + +Flow Control +------------ + +Block node +~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **block** node is used to executes a set of nodes. + +Attributes +^^^^^^^^^^ + ++--------------+-----------------------------------------------------------------------------------------------------------------------------------+ +| **atomic** | if *true*, then if a node returns failure, subsequent nodes will not be executed and nodes already executed will be backed out. | ++--------------+-----------------------------------------------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + +None + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + +Call node +~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **call** node is used to call another graph + +Attributes +^^^^^^^^^^ + ++---------------+------------------------------------------------------------------------------------+ +| **module** | Module of directed graph to call. If unset, defaults to that of calling graph | ++---------------+------------------------------------------------------------------------------------+ +| **rpc** | rpc of directed graph to call. | ++---------------+------------------------------------------------------------------------------------+ +| **version** | version of graph to call, If unset, uses active version. | ++---------------+------------------------------------------------------------------------------------+ +| **mode** | mode (sync/async) of graph to call. If unset, defaults to that of calling graph. | ++---------------+------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Not applicable + +Outcomes +^^^^^^^^ + ++-----------------+------------------------------+ +| **success** | Sub graph returned success | ++-----------------+------------------------------+ +| **not-found** | Graph not found | ++-----------------+------------------------------+ +| **failure** | Subgraph returned success | ++-----------------+------------------------------+ + +Table: . + +Example +^^^^^^^ + +:: + + + +For node +~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **for** node provides a fixed iteration looping mechanism, similar to +the Java for loop + +Attributes +^^^^^^^^^^ + ++-------------+------------------+ +| **index** | index variable | ++-------------+------------------+ +| **start** | initial value | ++-------------+------------------+ +| **end** | maximum value | ++-------------+------------------+ + +Parameters +^^^^^^^^^^ + +Not applicable. + +Outcomes +^^^^^^^^ + +Not applicable. The **status** node has no outcomes. + +Example +^^^^^^^ + +:: + + + + + + + + + +Return node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **return** node is used to return a status to the invoking MD-SAL +application + +Attributes +^^^^^^^^^^ + ++--------------+---------------------------------------------------+ +| **status** | Status value to return (*success* or *failure*) | ++--------------+---------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +The following optional parameters may be passed to convey more detailed +status information. + ++---------------------+-----------------------------------------------------------------+ +| **error-code** | A brief, usually numeric, code indicating the error condition | ++---------------------+-----------------------------------------------------------------+ +| **error-message** | A more detailed error message | ++---------------------+-----------------------------------------------------------------+ + +Outcomes +^^^^^^^^ + +Not applicable. The **status** node has no outcomes. + +Example +^^^^^^^ + +:: + + + + + + +Set node +~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **set** node is used to set one or more values in the execution +context + +Attributes +^^^^^^^^^^ + ++---------------------+-------------------------------------------------------------------------------------+ +| **only-if-unset** | If true the set node will only execute if the current value of the target is null | ++---------------------+-------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Values to be set are passed as parameters + +Outcomes +^^^^^^^^ + +Not applicable. The **set** node has no outcomes. + +Example +^^^^^^^ + +:: + + + + + +Switch node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **switch** node is used to make a decision based on its **test** +attribute. + +Attributes +^^^^^^^^^^ + ++------------+---------------------+ +| **test** | Condition to test | ++------------+---------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + +Depends on the **test** condition + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Device Management +----------------- + +Configure node +~~~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **configure** node is used to configure a device. + +Attributes +^^^^^^^^^^ + ++----------------+-----------------------------------------------------------------------------------+ +| **adaptor** | Fully qualified Java class of resource adaptor to be used | ++----------------+-----------------------------------------------------------------------------------+ +| **activate** | Activate device/interface, for devices that support a separate activation step. | ++----------------+-----------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for item to configure | ++----------------+-----------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Specific to device adaptor. + +Outcomes +^^^^^^^^ + ++----------------------+------------------------------------------------------------------+ +| **success** | Device successfully configured | ++----------------------+------------------------------------------------------------------+ +| **not-found** | Element to be configured does not exist. | ++----------------------+------------------------------------------------------------------+ +| **not-ready** | Element is not in a state where it can be configured/activated | ++----------------------+------------------------------------------------------------------+ +| **already-active** | Attempt to activate element that is already active | ++----------------------+------------------------------------------------------------------+ +| **failure** | Configure failed for some other reason | ++----------------------+------------------------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Java Plugin Support +------------------- + +Execute node +~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **execute** node is used to execute Java code supplied as a plugin + +Attributes +^^^^^^^^^^ + ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of plugin to be used | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **method** | Name of method in the plugin class to execute. Method must return void, and take 2 arguments: a Map (for parameters) and a SvcLogicContext (to allow plugin read/write access to context memory) | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Specific to plugin / method + +Outcomes +^^^^^^^^ + ++--------------------------+-----------------------------------------------------------------+ +| **success** | Device successfully configured | ++--------------------------+-----------------------------------------------------------------+ +| **not-found** | Plugin class could not be loaded | ++--------------------------+-----------------------------------------------------------------+ +| **unsupported-method** | Named method taking (Map, SvcLogicContext) could not be found | ++--------------------------+-----------------------------------------------------------------+ +| **failure** | Configure failed for some other reason | ++--------------------------+-----------------------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + + + + + + + + +Recording +--------- + +Record node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **record** node is used to record an event. For example, this might be +used to log provisioning events. + +Attributes +^^^^^^^^^^ + ++--------------+---------------------------------------------------+ +| **plugin** | Fully qualified Java class to handle recording. | ++--------------+---------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Parameters will depend on the plugin being used. For the FileRecorder +class, the parameters are as follows + ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **file** | The file to which the record should be written | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +| **field1** | First field to write. There will be **field** parameters for each field to write, from **field1** through **fieldN**. A special value \_\_TIMESTAMP\_\_ may be assigned to a field to insert the current timestamp | ++--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ + +Outcomes +^^^^^^^^ + ++---------------+--------------------------------------------+ +| **success** | Record successfully written | ++---------------+--------------------------------------------+ +| **failure** | Record could not be successfully written | ++---------------+--------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + +Resource Management +------------------- + +Delete node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **delete** node is used to delete a resource from the local resource +inventory. + +Attributes +^^^^^^^^^^ + ++----------------+-------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+-------------------------------------------------------------+ +| **resource** | Type of resource to delete | ++----------------+-------------------------------------------------------------+ +| **key** | SQL-like string specifying key to delete | ++----------------+-------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++---------------+--------------------------------------------+ +| **success** | Resource specified deleted successfully. | ++---------------+--------------------------------------------+ +| *failure*> | Resource specified was not deleted | ++---------------+--------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Exists node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **exists** node is used to determine whether a particular instance of +a resource exists. For example, this might be used to test whether a +particular switch CLLI is provisioned. + +Attributes +^^^^^^^^^^ + ++----------------+-------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+-------------------------------------------------------------+ +| **resource** | Type of resource to check | ++----------------+-------------------------------------------------------------+ +| **key** | SQL-like string specifying key to check for | ++----------------+-------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-------------+---------------------------------+ +| **true** | Resource specified exists. | ++-------------+---------------------------------+ +| **false** | Resource specified is unknown | ++-------------+---------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Get-resource node +~~~~~~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **get-resource** node is used to retrieve information about a +particular resource and make it available to other nodes in the service +logic tree. For example, this might be used to retrieve information +about a particular uni-port. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------------------------------+ +| **resource** | Type of resource to retrieve | ++----------------+------------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for retrieval | ++----------------+------------------------------------------------------------------------------------------+ +| **pfx** | Prefix to add to context variable names set for data retrieved | ++----------------+------------------------------------------------------------------------------------------+ +| **select** | String to specify, if key matches multiple entries, which entry should take precedence | ++----------------+------------------------------------------------------------------------------------------+ +| **order-by** | Prefix to add to context variable names set for data retrieved | ++----------------+------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-----------------+--------------------------------------------------+ +| **success** | Resource successfully retrieved | ++-----------------+--------------------------------------------------+ +| **not-found** | Resource referenced does not exist | ++-----------------+--------------------------------------------------+ +| **failure** | Resource retrieve failed for some other reason | ++-----------------+--------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + +Is-available node +~~~~~~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **is-available** node is used to determine whether a particular type +of resource is available. For example, this might be used to test +whether any ports are available for assignment on a particular switch. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------+ +| **resource** | Type of resource to check | ++----------------+------------------------------------------------------------------+ +| **key** | SQL-like string specifying key to check for | ++----------------+------------------------------------------------------------------+ +| **pfx** | Prefix to add to context variable names set for data retrieved | ++----------------+------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-------------+---------------------------------------+ +| **true** | Resource requested is available | ++-------------+---------------------------------------+ +| **false** | Resource requested is not available | ++-------------+---------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Notify node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **notify** node is used to inform an external application (e.g. A&AI) +that a resource was updated. + +Attributes +^^^^^^^^^^ + ++----------------+---------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+---------------------------------------------------------------------+ +| **resource** | Identifies resource that was updated | ++----------------+---------------------------------------------------------------------+ +| **action** | Action that triggered notification to be sent (ADD/UPDATE/DELETE) | ++----------------+---------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++---------------+----------------------------------------+ +| **success** | Notification was successful | ++---------------+----------------------------------------+ +| **failure** | Notification failed is not available | ++---------------+----------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Release node +~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **release** node is used to mark a resource as no longer in use, and +thus available for assignment. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------+ +| **resource** | Type of resource to release | ++----------------+------------------------------------------------------------------+ +| **key** | SQL-like string specifying key to check of resource to release | ++----------------+------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++-----------------+-------------------------------------------------+ +| **success** | Resource successfully released | ++-----------------+-------------------------------------------------+ +| **not-found** | Resource referenced does not exist | ++-----------------+-------------------------------------------------+ +| **failure** | Resource release failed for some other reason | ++-----------------+-------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + + + + +Reserve node +~~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **reserve** node is used to reserve a particular type of resource.. +For example, this might be used to reserve a port on a particular +switch. + +Attributes +^^^^^^^^^^ + ++----------------+----------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+----------------------------------------------------------------------------------------------+ +| **resource** | Type of resource to reserve | ++----------------+----------------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for reservation | ++----------------+----------------------------------------------------------------------------------------------+ +| **select** | String to specify, if **key** matches multiple entries, which entry should take precedence | ++----------------+----------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +None + +Outcomes +^^^^^^^^ + ++---------------+----------------------------------------------------+ +| **success** | Resource requested was successfully reserved | ++---------------+----------------------------------------------------+ +| **failure** | Resource requested was not successfully reserved | ++---------------+----------------------------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Save node +~~~~~~~~~ + +Description +^^^^^^^^^^^ + +A **save** node is used to save information about a particular resource +to persistent storage. For example, this might be used to save +information about a particular uni-port. + +Attributes +^^^^^^^^^^ + ++----------------+------------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+------------------------------------------------------------------------------------------+ +| **resource** | Type of resource to save | ++----------------+------------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for retrieval | ++----------------+------------------------------------------------------------------------------------------+ +| **force** | If "true", save resource even if this resource is already stored in persistent storage | ++----------------+------------------------------------------------------------------------------------------+ +| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | ++----------------+------------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Values to save (columns) are specified as parameters, with each name +corresponding to a column name and each value corresponding to the value +to set. + +Outcomes +^^^^^^^^ + ++---------------+-------------------------------+ +| **success** | Resource successfully saved | ++---------------+-------------------------------+ +| **failure** | Resource save failed | ++---------------+-------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + + +Update node +~~~~~~~~~~~ + +Description +^^^^^^^^^^^ + +An **update** node is used to update information about a particular +resource to persistent storage. + +Attributes +^^^^^^^^^^ + ++----------------+----------------------------------------------------------------------------------------+ +| **plugin** | Fully qualified Java class of resource adaptor to be used | ++----------------+----------------------------------------------------------------------------------------+ +| **resource** | Type of resource to update | ++----------------+----------------------------------------------------------------------------------------+ +| **key** | SQL-like string specifying criteria for retrieval | ++----------------+----------------------------------------------------------------------------------------+ +| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | ++----------------+----------------------------------------------------------------------------------------+ + +Parameters +^^^^^^^^^^ + +Values to save (columns) are specified as parameters, with each name +corresponding to a column name and each value corresponding to the value +to set. + +Outcomes +^^^^^^^^ + ++---------------+-------------------------------+ +| **success** | Resource successfully saved | ++---------------+-------------------------------+ +| **failure** | Resource save failed | ++---------------+-------------------------------+ + +Example +^^^^^^^ + +:: + + + + + + + + + diff --git a/docs/sli/northbound/apis/asdcApi.rst b/docs/sli/northbound/apis/asdcApi.rst deleted file mode 100644 index c9091401..00000000 --- a/docs/sli/northbound/apis/asdcApi.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -ASDC-API (2017-02-01) -===================== - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - - -.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/northbound.git;a=blob_plain;f=asdcApi/model/src/main/resources/asdc-api.20170201.json - - diff --git a/docs/sli/northbound/apis/dataChange.rst b/docs/sli/northbound/apis/dataChange.rst deleted file mode 100644 index 9a9dc044..00000000 --- a/docs/sli/northbound/apis/dataChange.rst +++ /dev/null @@ -1,15 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -dataChange(2015-05-19) -====================== - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - - -.. swaggerv2doc:: https://gerrit.onap.org/r/gitweb?p=ccsdk/sli/northbound.git;a=blob_plain;f=dataChange/model/src/main/resources/dataChange.20150519.json - - diff --git a/docs/sli/northbound/architecture.rst b/docs/sli/northbound/architecture.rst deleted file mode 100644 index f2648df3..00000000 --- a/docs/sli/northbound/architecture.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Architecture -============ - - -Capabilities ------------- -This repository contains source code and Yang models for the northbound interfaces -used to process updates from SDC (ASDC-API) and for processing data change notifications -from A&AI (dataChange). diff --git a/docs/sli/northbound/build.rst b/docs/sli/northbound/build.rst deleted file mode 100644 index 0a4c308e..00000000 --- a/docs/sli/northbound/build.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Build -===== - - -Environment ------------ -Requires maven release 3.3 or greater - -Steps ------ -To compile this code: - -1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. - -2. To compile, run "mvn clean install". \ No newline at end of file diff --git a/docs/sli/northbound/index.rst b/docs/sli/northbound/index.rst deleted file mode 100644 index 9be06c84..00000000 --- a/docs/sli/northbound/index.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -CCSDK SLI Northbound API ------------------------- -.. toctree:: - :maxdepth: 1 - - architecture.rst - offeredapis.rst - logging.rst - build.rst - release-notes.rst - diff --git a/docs/sli/northbound/logging.rst b/docs/sli/northbound/logging.rst deleted file mode 100644 index 187eb03b..00000000 --- a/docs/sli/northbound/logging.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging -======= -CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log -log file. - -Where to Access Information ---------------------------- -Logs are found within the SDNC docker container, in the directory -/opt/opendaylight/current/data/logs. - - diff --git a/docs/sli/northbound/nodes.rst b/docs/sli/northbound/nodes.rst deleted file mode 100644 index 3bdeabcf..00000000 --- a/docs/sli/northbound/nodes.rst +++ /dev/null @@ -1,1031 +0,0 @@ ---- Service Logic Interpreter --- Dan Timoney --- 2014-11-12 --- - -Supported node types -==================== - -The following built-in node types are currently supported: - -- Flow Control - - - `**block** <#Block_node>`__ - - - `**call** <#Call_node>`__ - - - `**for** <#For_node>`__ - - - `**return** <#Return_node>`__ - - - `**set** <#Set_node>`__ - - - `**switch** <#Switch_node>`__ - -- Device Management - - - `**configure** <#Configure_node>`__ - -- Java Plugin Support - - - `**execute** <#Execute_node>`__ - -- Recording - - - `**record** <#Record_node>`__ - -- Resource Management - - - `**delete** <#Delete_node>`__ - - - `**exists** <#Exists_node>`__ - - - `**get-resource** <#Get-resource_node>`__ - - - `**is-available** <#Is-available_node>`__ - - - `**notify** <#Notify_node>`__ - - - `**release** <#Release_node>`__ - - - `**reserve** <#Reserve_node>`__ - - - `**save** <#Save_node>`__ - - - `**update** <#Update_node>`__ - -Flow Control ------------- - -Block node -~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **block** node is used to executes a set of nodes. - -Attributes -^^^^^^^^^^ - -+--------------+-----------------------------------------------------------------------------------------------------------------------------------+ -| **atomic** | if *true*, then if a node returns failure, subsequent nodes will not be executed and nodes already executed will be backed out. | -+--------------+-----------------------------------------------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -None - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - -Call node -~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **call** node is used to call another graph - -Attributes -^^^^^^^^^^ - -+---------------+------------------------------------------------------------------------------------+ -| **module** | Module of directed graph to call. If unset, defaults to that of calling graph | -+---------------+------------------------------------------------------------------------------------+ -| **rpc** | rpc of directed graph to call. | -+---------------+------------------------------------------------------------------------------------+ -| **version** | version of graph to call, If unset, uses active version. | -+---------------+------------------------------------------------------------------------------------+ -| **mode** | mode (sync/async) of graph to call. If unset, defaults to that of calling graph. | -+---------------+------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Not applicable - -Outcomes -^^^^^^^^ - -+-----------------+------------------------------+ -| **success** | Sub graph returned success | -+-----------------+------------------------------+ -| **not-found** | Graph not found | -+-----------------+------------------------------+ -| **failure** | Subgraph returned success | -+-----------------+------------------------------+ - -Table: . - -Example -^^^^^^^ - -:: - - - -For node -~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **for** node provides a fixed iteration looping mechanism, similar to -the Java for loop - -Attributes -^^^^^^^^^^ - -+-------------+------------------+ -| **index** | index variable | -+-------------+------------------+ -| **start** | initial value | -+-------------+------------------+ -| **end** | maximum value | -+-------------+------------------+ - -Parameters -^^^^^^^^^^ - -Not applicable. - -Outcomes -^^^^^^^^ - -Not applicable. The **status** node has no outcomes. - -Example -^^^^^^^ - -:: - - - - - - - - - -Return node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **return** node is used to return a status to the invoking MD-SAL -application - -Attributes -^^^^^^^^^^ - -+--------------+---------------------------------------------------+ -| **status** | Status value to return (*success* or *failure*) | -+--------------+---------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -The following optional parameters may be passed to convey more detailed -status information. - -+---------------------+-----------------------------------------------------------------+ -| **error-code** | A brief, usually numeric, code indicating the error condition | -+---------------------+-----------------------------------------------------------------+ -| **error-message** | A more detailed error message | -+---------------------+-----------------------------------------------------------------+ - -Outcomes -^^^^^^^^ - -Not applicable. The **status** node has no outcomes. - -Example -^^^^^^^ - -:: - - - - - - -Set node -~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **set** node is used to set one or more values in the execution -context - -Attributes -^^^^^^^^^^ - -+---------------------+-------------------------------------------------------------------------------------+ -| **only-if-unset** | If true the set node will only execute if the current value of the target is null | -+---------------------+-------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Values to be set are passed as parameters - -Outcomes -^^^^^^^^ - -Not applicable. The **set** node has no outcomes. - -Example -^^^^^^^ - -:: - - - - - -Switch node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **switch** node is used to make a decision based on its **test** -attribute. - -Attributes -^^^^^^^^^^ - -+------------+---------------------+ -| **test** | Condition to test | -+------------+---------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -Depends on the **test** condition - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Device Management ------------------ - -Configure node -~~~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **configure** node is used to configure a device. - -Attributes -^^^^^^^^^^ - -+----------------+-----------------------------------------------------------------------------------+ -| **adaptor** | Fully qualified Java class of resource adaptor to be used | -+----------------+-----------------------------------------------------------------------------------+ -| **activate** | Activate device/interface, for devices that support a separate activation step. | -+----------------+-----------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for item to configure | -+----------------+-----------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Specific to device adaptor. - -Outcomes -^^^^^^^^ - -+----------------------+------------------------------------------------------------------+ -| **success** | Device successfully configured | -+----------------------+------------------------------------------------------------------+ -| **not-found** | Element to be configured does not exist. | -+----------------------+------------------------------------------------------------------+ -| **not-ready** | Element is not in a state where it can be configured/activated | -+----------------------+------------------------------------------------------------------+ -| **already-active** | Attempt to activate element that is already active | -+----------------------+------------------------------------------------------------------+ -| **failure** | Configure failed for some other reason | -+----------------------+------------------------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Java Plugin Support -------------------- - -Execute node -~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **execute** node is used to execute Java code supplied as a plugin - -Attributes -^^^^^^^^^^ - -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of plugin to be used | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **method** | Name of method in the plugin class to execute. Method must return void, and take 2 arguments: a Map (for parameters) and a SvcLogicContext (to allow plugin read/write access to context memory) | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Specific to plugin / method - -Outcomes -^^^^^^^^ - -+--------------------------+-----------------------------------------------------------------+ -| **success** | Device successfully configured | -+--------------------------+-----------------------------------------------------------------+ -| **not-found** | Plugin class could not be loaded | -+--------------------------+-----------------------------------------------------------------+ -| **unsupported-method** | Named method taking (Map, SvcLogicContext) could not be found | -+--------------------------+-----------------------------------------------------------------+ -| **failure** | Configure failed for some other reason | -+--------------------------+-----------------------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - - - - - - - - -Recording ---------- - -Record node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **record** node is used to record an event. For example, this might be -used to log provisioning events. - -Attributes -^^^^^^^^^^ - -+--------------+---------------------------------------------------+ -| **plugin** | Fully qualified Java class to handle recording. | -+--------------+---------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Parameters will depend on the plugin being used. For the FileRecorder -class, the parameters are as follows - -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **file** | The file to which the record should be written | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -| **field1** | First field to write. There will be **field** parameters for each field to write, from **field1** through **fieldN**. A special value \_\_TIMESTAMP\_\_ may be assigned to a field to insert the current timestamp | -+--------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ - -Outcomes -^^^^^^^^ - -+---------------+--------------------------------------------+ -| **success** | Record successfully written | -+---------------+--------------------------------------------+ -| **failure** | Record could not be successfully written | -+---------------+--------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - -Resource Management -------------------- - -Delete node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **delete** node is used to delete a resource from the local resource -inventory. - -Attributes -^^^^^^^^^^ - -+----------------+-------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+-------------------------------------------------------------+ -| **resource** | Type of resource to delete | -+----------------+-------------------------------------------------------------+ -| **key** | SQL-like string specifying key to delete | -+----------------+-------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+---------------+--------------------------------------------+ -| **success** | Resource specified deleted successfully. | -+---------------+--------------------------------------------+ -| *failure*> | Resource specified was not deleted | -+---------------+--------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Exists node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **exists** node is used to determine whether a particular instance of -a resource exists. For example, this might be used to test whether a -particular switch CLLI is provisioned. - -Attributes -^^^^^^^^^^ - -+----------------+-------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+-------------------------------------------------------------+ -| **resource** | Type of resource to check | -+----------------+-------------------------------------------------------------+ -| **key** | SQL-like string specifying key to check for | -+----------------+-------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-------------+---------------------------------+ -| **true** | Resource specified exists. | -+-------------+---------------------------------+ -| **false** | Resource specified is unknown | -+-------------+---------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Get-resource node -~~~~~~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **get-resource** node is used to retrieve information about a -particular resource and make it available to other nodes in the service -logic tree. For example, this might be used to retrieve information -about a particular uni-port. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------------------------------+ -| **resource** | Type of resource to retrieve | -+----------------+------------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for retrieval | -+----------------+------------------------------------------------------------------------------------------+ -| **pfx** | Prefix to add to context variable names set for data retrieved | -+----------------+------------------------------------------------------------------------------------------+ -| **select** | String to specify, if key matches multiple entries, which entry should take precedence | -+----------------+------------------------------------------------------------------------------------------+ -| **order-by** | Prefix to add to context variable names set for data retrieved | -+----------------+------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-----------------+--------------------------------------------------+ -| **success** | Resource successfully retrieved | -+-----------------+--------------------------------------------------+ -| **not-found** | Resource referenced does not exist | -+-----------------+--------------------------------------------------+ -| **failure** | Resource retrieve failed for some other reason | -+-----------------+--------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - -Is-available node -~~~~~~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **is-available** node is used to determine whether a particular type -of resource is available. For example, this might be used to test -whether any ports are available for assignment on a particular switch. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------+ -| **resource** | Type of resource to check | -+----------------+------------------------------------------------------------------+ -| **key** | SQL-like string specifying key to check for | -+----------------+------------------------------------------------------------------+ -| **pfx** | Prefix to add to context variable names set for data retrieved | -+----------------+------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-------------+---------------------------------------+ -| **true** | Resource requested is available | -+-------------+---------------------------------------+ -| **false** | Resource requested is not available | -+-------------+---------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Notify node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **notify** node is used to inform an external application (e.g. A&AI) -that a resource was updated. - -Attributes -^^^^^^^^^^ - -+----------------+---------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+---------------------------------------------------------------------+ -| **resource** | Identifies resource that was updated | -+----------------+---------------------------------------------------------------------+ -| **action** | Action that triggered notification to be sent (ADD/UPDATE/DELETE) | -+----------------+---------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+---------------+----------------------------------------+ -| **success** | Notification was successful | -+---------------+----------------------------------------+ -| **failure** | Notification failed is not available | -+---------------+----------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Release node -~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **release** node is used to mark a resource as no longer in use, and -thus available for assignment. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------+ -| **resource** | Type of resource to release | -+----------------+------------------------------------------------------------------+ -| **key** | SQL-like string specifying key to check of resource to release | -+----------------+------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+-----------------+-------------------------------------------------+ -| **success** | Resource successfully released | -+-----------------+-------------------------------------------------+ -| **not-found** | Resource referenced does not exist | -+-----------------+-------------------------------------------------+ -| **failure** | Resource release failed for some other reason | -+-----------------+-------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - - - - -Reserve node -~~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **reserve** node is used to reserve a particular type of resource.. -For example, this might be used to reserve a port on a particular -switch. - -Attributes -^^^^^^^^^^ - -+----------------+----------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+----------------------------------------------------------------------------------------------+ -| **resource** | Type of resource to reserve | -+----------------+----------------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for reservation | -+----------------+----------------------------------------------------------------------------------------------+ -| **select** | String to specify, if **key** matches multiple entries, which entry should take precedence | -+----------------+----------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -None - -Outcomes -^^^^^^^^ - -+---------------+----------------------------------------------------+ -| **success** | Resource requested was successfully reserved | -+---------------+----------------------------------------------------+ -| **failure** | Resource requested was not successfully reserved | -+---------------+----------------------------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Save node -~~~~~~~~~ - -Description -^^^^^^^^^^^ - -A **save** node is used to save information about a particular resource -to persistent storage. For example, this might be used to save -information about a particular uni-port. - -Attributes -^^^^^^^^^^ - -+----------------+------------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+------------------------------------------------------------------------------------------+ -| **resource** | Type of resource to save | -+----------------+------------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for retrieval | -+----------------+------------------------------------------------------------------------------------------+ -| **force** | If "true", save resource even if this resource is already stored in persistent storage | -+----------------+------------------------------------------------------------------------------------------+ -| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | -+----------------+------------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Values to save (columns) are specified as parameters, with each name -corresponding to a column name and each value corresponding to the value -to set. - -Outcomes -^^^^^^^^ - -+---------------+-------------------------------+ -| **success** | Resource successfully saved | -+---------------+-------------------------------+ -| **failure** | Resource save failed | -+---------------+-------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - - -Update node -~~~~~~~~~~~ - -Description -^^^^^^^^^^^ - -An **update** node is used to update information about a particular -resource to persistent storage. - -Attributes -^^^^^^^^^^ - -+----------------+----------------------------------------------------------------------------------------+ -| **plugin** | Fully qualified Java class of resource adaptor to be used | -+----------------+----------------------------------------------------------------------------------------+ -| **resource** | Type of resource to update | -+----------------+----------------------------------------------------------------------------------------+ -| **key** | SQL-like string specifying criteria for retrieval | -+----------------+----------------------------------------------------------------------------------------+ -| **pfx** | Prefix to be prepended to variable names, when attributes are set in SvcLogicContext | -+----------------+----------------------------------------------------------------------------------------+ - -Parameters -^^^^^^^^^^ - -Values to save (columns) are specified as parameters, with each name -corresponding to a column name and each value corresponding to the value -to set. - -Outcomes -^^^^^^^^ - -+---------------+-------------------------------+ -| **success** | Resource successfully saved | -+---------------+-------------------------------+ -| **failure** | Resource save failed | -+---------------+-------------------------------+ - -Example -^^^^^^^ - -:: - - - - - - - - - diff --git a/docs/sli/northbound/offeredapis.rst b/docs/sli/northbound/offeredapis.rst deleted file mode 100644 index 2eebdec9..00000000 --- a/docs/sli/northbound/offeredapis.rst +++ /dev/null @@ -1,13 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Offered APIs -============ - -.. toctree:: - :maxdepth: 1 - :titlesonly: - - apis/asdcApi.rst - apis/dataChange.rst - diff --git a/docs/sli/northbound/release-notes.rst b/docs/sli/northbound/release-notes.rst deleted file mode 100644 index 21ff338c..00000000 --- a/docs/sli/northbound/release-notes.rst +++ /dev/null @@ -1,45 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -Release Notes -============= - -.. note:: - * This Release Notes must be updated each time the team decides to Release new artifacts. - * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. - * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. - * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. - * This note must be removed after content has been added. - - -Version: x.y.z --------------- - - -:Release Date: yyyy-mm-dd - - - -**New Features** - -One or two sentences explaining the purpose of this Release. - -**Bug Fixes** - - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. -**Known Issues** - - `CIMAN-65 `_ and two, three sentences. - One sentences explaining what is the issue. - - Another sentence explaining the impact of the issue. - - And an optional sentence providing a workaround. - -**Security Issues** - You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE `_ - - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - diff --git a/docs/sli/offeredapis.rst b/docs/sli/offeredapis.rst new file mode 100644 index 00000000..7a75245b --- /dev/null +++ b/docs/sli/offeredapis.rst @@ -0,0 +1,15 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 + +Offered APIs +============ + +.. toctree:: + :maxdepth: 1 + :titlesonly: + + apis/asdcApi.rst + apis/dataChange.rst + apis/sliapi.rst + + diff --git a/docs/sli/plugins/architecture.rst b/docs/sli/plugins/architecture.rst deleted file mode 100644 index 8daa0d3b..00000000 --- a/docs/sli/plugins/architecture.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Architecture -============ - -.. note:: - * This section is used to describe a software component from a high level - view of capability, common usage scenarios, and interactions with other - components required in the usage scenarios. - - * The architecture section is typically: provided in a platform-component - and sdk collections; and referenced from developer and user guides. - - * This note must be removed after content has been added. - - -Capabilities ------------- - - -Usage Scenarios ---------------- - - -Interactions ------------- diff --git a/docs/sli/plugins/build.rst b/docs/sli/plugins/build.rst deleted file mode 100644 index 0a4c308e..00000000 --- a/docs/sli/plugins/build.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Build -===== - - -Environment ------------ -Requires maven release 3.3 or greater - -Steps ------ -To compile this code: - -1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. - -2. To compile, run "mvn clean install". \ No newline at end of file diff --git a/docs/sli/plugins/docs/architecture.rst b/docs/sli/plugins/docs/architecture.rst deleted file mode 100644 index 8daa0d3b..00000000 --- a/docs/sli/plugins/docs/architecture.rst +++ /dev/null @@ -1,27 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Architecture -============ - -.. note:: - * This section is used to describe a software component from a high level - view of capability, common usage scenarios, and interactions with other - components required in the usage scenarios. - - * The architecture section is typically: provided in a platform-component - and sdk collections; and referenced from developer and user guides. - - * This note must be removed after content has been added. - - -Capabilities ------------- - - -Usage Scenarios ---------------- - - -Interactions ------------- diff --git a/docs/sli/plugins/docs/build.rst b/docs/sli/plugins/docs/build.rst deleted file mode 100644 index 0a4c308e..00000000 --- a/docs/sli/plugins/docs/build.rst +++ /dev/null @@ -1,18 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Build -===== - - -Environment ------------ -Requires maven release 3.3 or greater - -Steps ------ -To compile this code: - -1. Make sure your local Maven settings file ($HOME/.m2/settings.xml) contains references to the ONAP repositories and OpenDaylight repositories. - -2. To compile, run "mvn clean install". \ No newline at end of file diff --git a/docs/sli/plugins/docs/index.rst b/docs/sli/plugins/docs/index.rst deleted file mode 100644 index 83bb78a8..00000000 --- a/docs/sli/plugins/docs/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -CCSDK Service Logic Interpretor Plugins ----------------------------------------- -.. toctree:: - :maxdepth: 1 - - architecture.rst - offeredapis.rst - logging.rst - build.rst - release-notes.rst diff --git a/docs/sli/plugins/docs/logging.rst b/docs/sli/plugins/docs/logging.rst deleted file mode 100644 index 187eb03b..00000000 --- a/docs/sli/plugins/docs/logging.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging -======= -CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log -log file. - -Where to Access Information ---------------------------- -Logs are found within the SDNC docker container, in the directory -/opt/opendaylight/current/data/logs. - - diff --git a/docs/sli/plugins/docs/offeredapis.rst b/docs/sli/plugins/docs/offeredapis.rst deleted file mode 100644 index e20c786c..00000000 --- a/docs/sli/plugins/docs/offeredapis.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Offered APIs -============ - diff --git a/docs/sli/plugins/docs/release-notes.rst b/docs/sli/plugins/docs/release-notes.rst deleted file mode 100644 index b4516570..00000000 --- a/docs/sli/plugins/docs/release-notes.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -Release Notes -============= - -.. note:: - * This Release Notes must be updated each time the team decides to Release new artifacts. - * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. - * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. - * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. - * This note must be removed after content has been added. - - -Version: x.y.z --------------- - - -:Release Date: yyyy-mm-dd - - - -**New Features** - -One or two sentences explaining the purpose of this Release. - -**Bug Fixes** - - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. -**Known Issues** - - `CIMAN-65 `_ and two, three sentences. - One sentences explaining what is the issue. - - Another sentence explaining the impact of the issue. - - And an optional sentence providing a workaround. - -**Security Issues** - You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE `_ - - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== \ No newline at end of file diff --git a/docs/sli/plugins/index.rst b/docs/sli/plugins/index.rst deleted file mode 100644 index 83bb78a8..00000000 --- a/docs/sli/plugins/index.rst +++ /dev/null @@ -1,12 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -CCSDK Service Logic Interpretor Plugins ----------------------------------------- -.. toctree:: - :maxdepth: 1 - - architecture.rst - offeredapis.rst - logging.rst - build.rst - release-notes.rst diff --git a/docs/sli/plugins/logging.rst b/docs/sli/plugins/logging.rst deleted file mode 100644 index 187eb03b..00000000 --- a/docs/sli/plugins/logging.rst +++ /dev/null @@ -1,14 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Logging -======= -CCSDK uses slf4j to log messages to the standard OpenDaylight karaf.log -log file. - -Where to Access Information ---------------------------- -Logs are found within the SDNC docker container, in the directory -/opt/opendaylight/current/data/logs. - - diff --git a/docs/sli/plugins/offeredapis.rst b/docs/sli/plugins/offeredapis.rst deleted file mode 100644 index e20c786c..00000000 --- a/docs/sli/plugins/offeredapis.rst +++ /dev/null @@ -1,6 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. -.. http://creativecommons.org/licenses/by/4.0 - -Offered APIs -============ - diff --git a/docs/sli/plugins/release-notes.rst b/docs/sli/plugins/release-notes.rst deleted file mode 100644 index b4516570..00000000 --- a/docs/sli/plugins/release-notes.rst +++ /dev/null @@ -1,46 +0,0 @@ -.. This work is licensed under a Creative Commons Attribution 4.0 International License. - -Release Notes -============= - -.. note:: - * This Release Notes must be updated each time the team decides to Release new artifacts. - * The scope of this Release Notes is for this particular component. In other words, each ONAP component has its Release Notes. - * This Release Notes is cumulative, the most recently Released artifact is made visible in the top of this Release Notes. - * Except the date and the version number, all the other sections are optional but there must be at least one section describing the purpose of this new release. - * This note must be removed after content has been added. - - -Version: x.y.z --------------- - - -:Release Date: yyyy-mm-dd - - - -**New Features** - -One or two sentences explaining the purpose of this Release. - -**Bug Fixes** - - `CIMAN-65 `_ and a sentence explaining what this defect is addressing. -**Known Issues** - - `CIMAN-65 `_ and two, three sentences. - One sentences explaining what is the issue. - - Another sentence explaining the impact of the issue. - - And an optional sentence providing a workaround. - -**Security Issues** - You may want to include a reference to CVE (Common Vulnerabilities and Exposures) `CVE `_ - - -**Upgrade Notes** - -**Deprecation Notes** - -**Other** - -=========== \ No newline at end of file -- cgit 1.2.3-korg