From c73224d4aabb5d0a24f90574e99892f97a76dca3 Mon Sep 17 00:00:00 2001 From: "david.mcweeney" Date: Fri, 25 Aug 2023 16:24:30 +0100 Subject: [PATCH] [DMAAP-DR] Update DataRouter docs for removal of buscontroller Change-Id: I933896889e222a99054a082db84d59bffb15a311 Issue-ID: DMAAP-1893 Signed-off-by: david.mcweeney --- docs/architecture.rst | 36 ++++++++++++++++++++++++++++-------- docs/images/dr_bc_prov.png | Bin 46093 -> 0 bytes 2 files changed, 28 insertions(+), 8 deletions(-) delete mode 100644 docs/images/dr_bc_prov.png diff --git a/docs/architecture.rst b/docs/architecture.rst index e3acc46a..fa6d503a 100644 --- a/docs/architecture.rst +++ b/docs/architecture.rst @@ -17,22 +17,42 @@ Once created, DR sub clients can then subscribe to the feed to receive all data .. image:: images/dr_pub_flow.png +Previously, prospective publishers and subscribers would use the DMaaP Bus Controller API, which would call +the DR provisioning API to manage feeds and subscriptions. -The DR provisioning API is not meant to be used directly by DR end users (publishers and subscribers) -for feed / subscription CRUD (create, read, update, delete) operations. +However, with the deprecation of Message Router, the DMaaP Bus Controller API has also been deprecated and +DR provisioning has been brought into DR itself. This will be performed through the +Data Router (DR) provisioning client. -Instead, prospective publishers and subscribers should use the DMaaP Bus Controller API, which will call -the DR provisioning API to manage feeds and subscriptions. +The Data Router (DR) provisioning client runs as a Kubernetes initContainer for ONAP DCAE applications +that use DR feeds to transfer data between applications. The logic for the client is contained in a script +that makes requests to the DR provisioning node using the DR provisioning API. +(See the `API documentation `_ for details.) + +The DR provisioning client (drprov-client) replaces the DMaaP Bus Controller client (dbc-client). +The dbc-client used the DMaaP Bus Controller to provision data router feeds and subscribers and +DMaaP Message Router topics and clients. The Message Router provisioning functionality is no longer needed, +and Bus Controller will be deprecated and removed from the ONAP tree. - .. image:: images/dr_bc_prov.png +The provisioning logic is in a script called drprov-client.sh. This script is set as the +entrypoint for the initContainer. +The drprov-client performs two high-level tasks: -See DMaaP Bus Controller API docs for more information: +- Makes requests to the DR provisioning API to create feeds and subscriptions and captures the API's responses. +- Uses the API's response to update a component's configuration file by replacing placeholders in the file + (in the form of environment variable names) with values from the API responses. -`Bus Controller Feeds API `_ +The drprov-client script queries the DR provisioning API to determine if a feed already exists (based on the feed +name and feed version) and does not attempt to create the feed again. Instead, it retrieves the feed information +for the existing feed and supplies that information to a component. -`Bus Controller Subs API `_ +Similarly, the drprov-client script queries the DR provisioning API to determine if a subscription already exists +(based on the username, password, and delivery URL for the subscription). If one exists, the script does not create +a new subscription. +Refer to `README file `_ +in drprov-client in the datarouter repo for full details. High level Architecture ----------------------- diff --git a/docs/images/dr_bc_prov.png b/docs/images/dr_bc_prov.png deleted file mode 100644 index 932c65565b4af8260e68e0f520d8cf97aab0f0df..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 46093 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 -- 2.16.6