Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 1.DMaaP will maintain a single set of Helm Charts in the oom/kubernetes repo.  Said a different way, we will strive to not maintain separate  DMaaP Central charts and DMaaP Edge charts.
    1. The DMaaP Helm charts will continue to be maintained as a single oom kubernetes directory, with sub-directories for each component.
  2. 2. The "central" site will always be deployed before any edge sites.
    1. The Edge deployment (and operation) will rely on central ONAP services (e.g. AAF)
    2. This will allow a human (at least) to capture any values representing central deployment details (such as a K8S gateway IP address)
  3. All DMaaP components will continue to be deployed in the "central" k8s.  The details of what components will be deployed at any Edge, and how it will be deployed are the subject of this page.
  4. An "edge" site can be deployed any time after the "central" site.
  5. Not all edge sites need be deployed at the same time.  
  6. As a Platform Service, DMaaP will be deployed before any application/microservice.
  7. SSL Server Certificates will be created in advance of deployment, and not generated at deployment time.  (This is a feature for El Alto)
  8. By convention, the kubernetes cluster name will be used as the name of the site.

Requirements

  1. A Central-deployed DMaaP component muse be able to route to an Edge-deployed component, and distinguish between the same component deployed at different Edge sites.  Examples include:
    1. dr-prov periodically sends provisioning info to each dr-node
    2. A centrally-deployed dr-node may transfer a file to an Edge-deployed dr-node for delivery to a subscriber in that Edge, based on an egress rule
    3. A central mirrormaker subscribes to an Edge-deployed message-router kafka
  2. An Edge-deployed DMaaP component must be able to route to a central-deployed service.  Examples include:
    1. dr-node periodically syncs with dr-prov
    2. dr-node authenticates publish requests using aaf
    3. message-router authenticates client requests using aaf
    4. dbc-client makes request to dmaap-bc API during post-install provisioning
    5. Edge mirrormaker subscribes to central message-router kafka
  3. Localized DR Routing between a Data File Collector (DFC) and a PM Mapper deployed in the same Edge X.
    1. Localized DR Routing means DR Node is deployed in the same Edge site so data doesn't need to leave the site.
    2. DFC will be a publisher to a feed provisioned at deployment time.
    3. PM Mapper will be a subscriber provisioned at deployment time.
    4. The feed should be unique per site so that when there are multiple sites, PM Mapper only receives its locally produced data.
  4. Localized messaging from PM Mapper and DFC.  This will signal DFC that a file was processed.
    1. Localized messaging implies a Message Router instance in the same edge location.
    2. PM Mapper will a publisher provisioned at deployment time 
    3. DFC will be a subscriber provisioned at deployment time.
    4. Communication will utilize an authenticated topic in the MR deployed in the same edge site. 
      1. PM Mapper and DFC will use AAF credentials to authenticate.
      2. PM Mapper identity will be authorized to publish on the topic
      3. DFC identity will be authorized to subscribe on the topic
  5. Inter-site messaging from PM Mapper to VES perf3gpp
    1. Inter-site messaging means sending a message from an edge location publisher to a central location subscriber.
    2. PM Mapper, deployed at Edge,  will be a publisher using AAF credentials
    3. VES perf3gpp, deployed in Central, will be a subscriber using AAF credentials
    4. Communication will utilize an authenticated topic on the MR deployed in the same edge site.
      1. PM Mapper and DFC will use AAF credentials to authenticate.
      2. PM Mapper identity will be authorized to publish on the topic
      3. VES perf3gpp identity will be authorized to subscribe on the topic
    5. Furthermore, messages on this topic will be replicated to the central MR instance.
    6. Are there any other subscribers?  (esp, are there any other at edge?)

...

REFStatusDiscussion
1Open

DNS Update for inter-site routing

We have several examples of an edge component which needs to communicate to a central service. Mike suggested that edge DNS might be updated such that edge clients could resolve to central services. This might satisfy a common need across several components. e.g. access to central AAF comes to mind

05/02:

Another alternative was demoed by DCAE where an nginx container is deployed at edge site which proxies service traffic to the relevant NodePort on the central k8s cluster.

This may be suitable for some of DMaaP components (as a POC) but not a preferred solution.

Work is ongoing in OOM to provide this (with input from the community)

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyOOM-1572

2Open

Location discovery

Bus Controller manages dcaeLocations as the name of different sites. What mechanism can be used to:

a) register dcaeLocations when each k8s cluster is deployed.

b) serve as an attribute when MR and DR clients are provisioned. Current expectation is that there is some k8s info in A&AI API that might be useful.


05/02:

Agreement from DCAE on requirement to involve all ONAP components (AAI, OOF, etc) to find a suitable solution here.

Defined use-case defined here

Jira
serverONAP JIRA
serverId425b2b0a-557c-3c0c-b515-579789cceedb
keyOOM-1579

3OpenClosed

Relying on Helm chart enabled flag

2/12:

"Mike,

Last week we discussed using a helm configuration override file to control which components get deployed at edge.

The idea being we would set enabled: false for a component that shouldn’t be deployed.

But dmaap chart actually consists of several sub-charts, each of these sub-charts correspond to a specific dmaap component which we may want to deploy at edge or not.

So, curious if you know the syntax for this – I haven’t been able to find a reference for how enabled is actually used, and I don’t see that value referenced in our charts so not clear what is reading it.


Wondering if our edge config override would be something like:

  dmaap:
    dmaap-message-router:
      enabled: true
    dmaap-bus-controller:
      enabled: false
    dmaap-dr-prov:
      enabled: false
    dmaap-dr-node:
      enabled: true


or, do charts for our individual components need to be top level  directories under oom/kubernetes in order to use the enabled flag?"

2/13: From Mike Elliot:

"I’ve been trying to allow for the conditional control over the dr-prov and dr-node as well, with no success.

Still investigating options for this. Hope to have a solution on this by EOD."


05/02:

Current chart structure allows deployment of individual components. (BC, MR, DR).

One caveat to this is a dependency on AAF being reachable by BC & MR. (DR soon to follow)

See the DMaaP Deployment Guide - Dublin for more details.

4Open

05/02:

Helm chart edge deploy.

  • POC procedure demoed using multiple "kube-config --contexts" to target the edge site/cluster during helm deploy. (Inter cluster security may come into play here also)

"edge charts" may require several override params to cater for the following.

  1. dcaeLocation (see issue 2)
  2. pod specs - size, resources, etc
  3. readiness configuration?
  4. potential service endpoint changes/proxies?
5Open

05/02:

Need to identify if all of the required services (logstash, AAF, dr-node, mr-kafka, etc) have exposed NodePorts available for bi-directional traffic between sites.

...

DCAE MultiSite demo

5G Use Case (R4 Dublin)

Content by Label
showLabelsfalse
max5
spacesDW
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("dmaap","helm","edge-automation","oom") and type = "page" and space = "DW"
labelsdmaap edge-automation oom helm

...