summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--docs/sections/sdk/apis.rst36
-rw-r--r--docs/sections/sdk/changelog.rst126
-rw-r--r--docs/sections/services/dfc/architecture.rst4
-rw-r--r--docs/sections/services/dfc/http-notes.rst55
-rw-r--r--docs/sections/services/dfc/troubleshooting.rst6
5 files changed, 101 insertions, 126 deletions
diff --git a/docs/sections/sdk/apis.rst b/docs/sections/sdk/apis.rst
index ebd9a6d2..8f20a0ab 100644
--- a/docs/sections/sdk/apis.rst
+++ b/docs/sections/sdk/apis.rst
@@ -255,6 +255,42 @@ Retry functionality works for:
- DMaaP MR HTTP response status codes: 404, 408, 413, 429, 500, 502, 503, 504
- Java Exception classes: ReadTimeoutException, ConnectException
+**************************************
+Configure custom persistent connection
+**************************************
+
+* publisher:
+
+.. code-block:: java
+
+ final MessageRouterPublisherConfig connectionPoolConfiguration = ImmutableMessageRouterPublisherConfig.builder()
+ .connectionPoolConfig(ImmutableDmaapConnectionPoolConfig.builder()
+ .connectionPool(16)
+ .maxIdleTime(10) //in seconds
+ .maxLifeTime(20) //in seconds
+ .build())
+ .build();
+ final MessageRouterPublisher publisher = DmaapClientFactory.createMessageRouterPublisher(connectionPoolConfiguration);
+
+* subscriber:
+
+.. code-block:: java
+
+ final MessageRouterSubscriberConfig connectionPoolConfiguration = ImmutableMessageRouterSubscriberConfig.builder()
+ .connectionPoolConfig(ImmutableDmaapConnectionPoolConfig.builder()
+ .connectionPool(16)
+ .maxIdleTime(10) //in seconds
+ .maxLifeTime(20) //in seconds
+ .build())
+ .build();
+ final MessageRouterSubscriber subscriber = DmaapClientFactory.createMessageRouterSubscriber(connectionPoolConfiguration);
+
+The default custom persistent connection configuration (connectionPool=16, maxLifeTime=2147483647, maxIdleTime=2147483647) can be used:
+
+.. code-block:: java
+
+ ImmutableDmaapConnectionPoolConfig.builder().build()
+
hvvesclient-producer - a reference Java implementation of High Volume VES Collector client
------------------------------------------------------------------------------------------
This library is used in xNF simulator which helps us test HV VES Collector in CSIT tests. You may use it as a reference when implementing your code in non-JVM language or directly when using Java/Kotlin/etc.
diff --git a/docs/sections/sdk/changelog.rst b/docs/sections/sdk/changelog.rst
index 31027c5e..16628783 100644
--- a/docs/sections/sdk/changelog.rst
+++ b/docs/sections/sdk/changelog.rst
@@ -1,125 +1,5 @@
Changelog
=========
-
-**1.6.0-SNAPSHOT**
- - Add configurable timeout in dmaap-client
- - Add configurable retry mechanism in dmaap-client
-
-**1.5.0-SNAPSHOT**
- - Update spring boot to version: 2.4.0
- - Update reactor to version: 2020.0.1
- - Update testcontainers to version: 1.15.0
-
-**1.4.4-SNAPSHOT**
- - Fix CbsClientFactory to allow retry on Mono from createCbsClient
-
-**1.4.3-SNAPSHOT**
- - Change parameters of external-schema-manager to JSON notation
-
-**1.4.2-SNAPSHOT**
- - Update spring boot to version: 2.3.3.RELEASE
-
-**1.4.1-SNAPSHOT**
- - Update spring boot to version: 2.2.9.RELEASE
- - Update testcontainers version: 1.14.3
- - Fix deprecation warnings
-
-**1.4.0-SNAPSHOT**
- - Add new component external-schema-manager for json validation with schema stored in local cache
-
-**1.3.5-SNAPSHOT**
- - Create jar without dependencies for crypt-password module
-
-**1.3.4-SNAPSHOT**
- - Usage of Java 11
-
-**1.3.3-SNAPSHOT**
- - Upgrade CBS to support SSL
- - Fix static code vulnerabilities
- - Exclude IT from tests
- - Remove AAI client from SDK
-
-**1.3.2-SNAPSHOT**
- - Restructure AAI client
-
- - Get rid of common-dependency module
- - Rearrange files in packages inside rest-services
-
-**1.3.1-SNAPSHOT**
- - Bugfix release: AAI client
- - Make AaiGetServiceInstanceClient build correct path to the service resource in AAI
-
-**1.3.0-SNAPSHOT (ElAlto - under development)**
- - All El-Alto work noted under 1.2.0-SNAPSHOT will roll into this version
- - Version update was done for tracking global-jjb migration work and corresponding submission - https://gerrit.onap.org/r/#/c/dcaegen2/services/sdk/+/89902/
-
-**1.2.0-SNAPSHOT (replaced by 1.3.0)**
- - WARNING: This is a work in progress. Do not use unless you know what you are doing!
-
- - DMaaP client
- - Change the factory so it's more configurable
- - Old DMaaP client is now deprecated
- - Integration tests are now using TestContainers with an actual DMaaP in order to confirm compatibility with a particular DMaaP version.
- - Breaking change: MessageRouterSubscribeResponse now contains list of JsonElement instead of JsonArray
- - CBS client
- - Use new, simplified CBS lookup method
- - Breaking change: CbsClientConfiguration replaces old EnvProperties. This way the class reflects overall SDK naming convention.
- - Crypt Password
- - Additional command line usage options (read password from stdin)
- - Enhanced test coverage
- - Internals/others
- - Remove CloudHttpClient and use RxHttpClient instead which should unify REST API consumption across client libraries
- - Moher (MOnitoring and HEalthcheck Rest API)
- - This API is in incubation stage. Do not use it yet.
- - Initial PoC for new module which should help when implementing these features in a DCAE service
- - Expose Prometheus-compliant monitoring endpoint
-
-**1.1.6**
- - Bugfix release: (Old) DMaaP client:
- - Security keys was always loaded from JAR instead of given file system path. Only code using SecurityKeysUtil class had been affected. If you do not use SecurityKeysUtil class or you are using the new DMaaP MR client API (org.onap.dcaegen2.services.sdk.rest.services.dmaap.client.{api, model} packages) then you are safe and the update is not required.
-
-**1.1.5**
- - DMaaP client
- - Force non-chunked transfer encoding, because DMaaP MR does not support chunks.
- - DMaaP MR client API should be used in new code. Some minor incompatible changes can occur but it's more or less done.
-
-**1.1.4**
- - Config Binding Service client
- - predefined parsers for input and output streams
- - remove the need for a DCAE application to manually interpret streams_publishes (Sinks) and streams_subscribes (Sources) parts of the configuration
- - available parsers for DMaaP Message Router and DMaaP Data Router streams
- - experimental support for Kafka streams
- - support for other CBS endpoints besides get-configuration: get-by-key, get-all (introduces minor but breaking changes)
- - DMaaP client
- - New, experimental DMaaP client. It's not ready for use yet (not integration tested with DMaaP instance). However, you can use this API if you target El Alto release (note that some minor interface changes might be introduced).
- - Internals:
- - Improved http client: RxHttpClient
- - RxHttpClient uses chunked transfer-encoding only when content-length is NOT specified.
-
-Migration guide
-
-All CbsClient methods gets CbsRequest as a first parameter instead of RequestDiagnosticContext. The CbsRequest may be created by calling CbsRequests factory methods. For existing code to work you will need to do the following change:
-
-.. code-block:: java
-
- // From this:
- CbsClientFactory.createCbsClient(env)
- .flatMap(cbsClient -> cbsClient.get(diagnosticContext))
- ...
-
- // To this:
- final CbsRequest request = CbsRequests.getConfiguration(diagnosticContext);
- CbsClientFactory.createCbsClient(env)
- .flatMap(cbsClient -> cbsClient.get(request))
- ...
-
-
-The similar changes will be required for other CbsClient methods (periodic get and periodic updates).
-
-**1.1.3 (initial release)**
- - Config Binding Service client
- - basic functionality
- - CBS service discovery
- - get application configuration as JsonObject
- - periodic query + periodic updates query
- - BCrypt password utility
+Link to gerrit changelog:
+-------------------------
+https://gerrit.onap.org/r/gitweb?p=dcaegen2/services/sdk.git;a=blob_plain;f=Changelog.md;hb=refs/heads/master \ No newline at end of file
diff --git a/docs/sections/services/dfc/architecture.rst b/docs/sections/services/dfc/architecture.rst
index cbd1876d..6d44b7a8 100644
--- a/docs/sections/services/dfc/architecture.rst
+++ b/docs/sections/services/dfc/architecture.rst
@@ -30,7 +30,9 @@ Interaction
"""""""""""
DFC will interact with the DMaaP Message Router, using json, and with the Data Router, using metadata in the header and
file in the body, via secured protocol.
-So far, the implemented protocols to communicate with xNFs are http (with basic authentication), sftp and ftpes.
+So far, the implemented protocols to communicate with xNFs are http (with basic authentication), https, sftp and ftpes.
+When https protocol is used, the following ways of connection are possible: client certificate authentication, basic
+authentication, and no authentication.
Retry mechanism
"""""""""""""""
diff --git a/docs/sections/services/dfc/http-notes.rst b/docs/sections/services/dfc/http-notes.rst
index bd297b14..7f65b6ca 100644
--- a/docs/sections/services/dfc/http-notes.rst
+++ b/docs/sections/services/dfc/http-notes.rst
@@ -1,8 +1,8 @@
.. This work is licensed under a Creative Commons Attribution 4.0 International License.
.. http://creativecommons.org/licenses/by/4.0
-HTTP notes
-==========
+HTTP/HTTPS notes
+================
HTTP Basic Authentication in FileReady messages
"""""""""""""""""""""""""""""""""""""""""""""""
@@ -61,3 +61,54 @@ Example file ready message is as follows:
Note, more than one file from the same location can be added to the "arrayOfNamedHashMap". If so, they are downloaded
from the endpoint through single http connection.
+
+HTTPS connection with DFC
+"""""""""""""""""""""""""
+The file ready message for https server is the same as used in other protocols and http. The only difference is that the scheme is set to
+"https":
+
+.. code-block:: bash
+
+ ...
+ "arrayOfNamedHashMap": [
+ {
+ "name": "C_28532_measData_file.xml",
+ "hashMap": {
+ "location": "https://login:password@server.com:443/file.xml.gz",
+ ...
+
+The processed uri depends on the https connection type that has to be established (client certificate authentication, basic
+authentication, and no authentication).
+
+For client certificate authentication:
+
+.. code-block:: bash
+
+ scheme://host:port/path
+ i.e.
+ https://example.com:443/C20200502.1830+0200-20200502.1845+0200_195500.xml.gz
+
+Authentication is based on the certificate used by the DFC.
+
+For basic authentication:
+
+.. code-block:: bash
+
+ scheme://userinfo@host:port/path
+ i.e.
+ https://demo:demo123456!@example.com:443/C20200502.1830+0200-20200502.1845+0200_195500.xml.gz
+
+Authentication is based on the "userinfo" applied within the link.
+
+If no authentication is required:
+
+.. code-block:: bash
+
+ scheme://host:port/path
+ i.e.
+ https://example.com:443/C20200502.1830+0200-20200502.1845+0200_195500.xml.gz
+
+Note, effective way of authentication depends of uri provided and http server configuration.
+
+If port number was not supplied , port 443 is used by default.
+Every file is sent through separate https connection.
diff --git a/docs/sections/services/dfc/troubleshooting.rst b/docs/sections/services/dfc/troubleshooting.rst
index 96816228..bdc0cd80 100644
--- a/docs/sections/services/dfc/troubleshooting.rst
+++ b/docs/sections/services/dfc/troubleshooting.rst
@@ -167,3 +167,9 @@ When StrictHostKeyChecking is enabled and DFC cannot find a known_hosts file, th
|WARN |StrictHostKeyChecking is enabled but environment variable KNOWN_HOSTS_FILE_PATH is not set or points to not existing file [/home/datafile/.ssh/known_hosts] --> falling back to StrictHostKeyChecking='no'.
To resolve this warning, provide a known_hosts file or disable StrictHostKeyChecking, see DFC config page - :ref:`strict_host_checking_config`.
+
+Inability to download file from xNF due to certificate problem
+""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
+
+When collecting files using HTTPS and DFC contains certs from CMPv2 server, an exception like "unable to find valid certification path to requested target" may occur.
+Except obvious certificates problems make sure, that xNF which are connecting to the DFC are supplied with certificates coming from the same ONAP unit where DFC was installed. \ No newline at end of file