Versions Compared

Key

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

...

draw.io Diagram
bordertrue
diagramNameOverview
simpleViewerfalse
linksauto
tbstyletop
lboxtrue
diagramWidth963
revision3


The  The Design Time Catalogue contains the the metadata primitives for composition of control loops. As shown in the figure above, the Design time component provides a system where Control Loops can be designed and defined in metadata. This means that a Control Loop can have any arbitrary structure and the Control Loop developers can use whatever analytic, policy, or control primitives they like to implement their Control Loop. At deployment time, the user parameterises the Control Loop and deploys it. A design time catalogue is created. This catalogue contains the primitive metadata for any components that can be used to compose a Control Loop. A Control Loop SDK is used to compose a Control Loop by aggregating the metadata for the components chosen to be used in a Control Loop and by constructing the references between the components.

...

When a user wishes to instantiate a Control Loop, they set values for the parameters of the Control Loop. Once the parameterization has been carried out, the Control Loop instantiated, with the metadata and whatever other artifacts are required being passed to the participants in the Control Loop. At runtime, the Control Loop can be monitored and analysed. It can also be updated  as required and can be deleted when it is on longer needed.

Performing a hot upgrade of the Control Loop at run time as well as handling an upgrade of the software in one or more of the participants in an Control Loop is a particularly challenging issue because upgrading must handle the following cases without tearing down the Control Loop:

  • Upgrade and changes of the configuration data of participants
  • Addition of or removal of participants in an Control Loop
  • Upgrade of software in one or more participants in an Control Loop
  • Maintenance of compatibility between participants when an update of more than one participant must be done  together to ensure compatibility, for example, when a protocol being used by two participants to communicate is upgraded

The Control Loop Runtime Management will use ONAP services for non-functional aspects such as inventory, topology and data delivery.

The diagram below outlines the architecture of the TOSCA defined control loop management.

A TOSCA file contains the descriptor of the control loop. The entire control loop definition, including references to required artifacts, are included in the TOSCA file. The TOSCA file may be packaged in a CSAR, which also includes further artifacts that are required to deploy and instantiate a control loop.

Liam Fallon to pad out

2: Control Loop Modelling

Joseph O'Leary to pad out this section

A Control Loop service template is made up of several components, those which represent applications, those which represent dynamic config schemas, and the actual node_templates which makes up the loop itself.

Applications can be a DCAE microservice, an operational policy, or any other application as long as it can be modelled, and the targeted ecosystem to has a participant client waiting for the event distributions from CLAMP via DMaaP MR.

Dynamic config on the other hand can be a monitoring policy, or any other resource that provides config to parts of the loop, can be updated after the run time phase has started and is supported by the components hosting the applications in the control loop.

2.1: Control Loop TOSCA file definition

2.1.1 Application Definition 

The application definition is truly dynamic, and as long as the participant that the application relates to, it can be anything, however, we have designed a base attribute, that's generic and a can act as a good starting point.

The Control Loop Runtime Management will use ONAP services for non-functional aspects such as inventory, topology and data delivery.

2: Control Loop Modelling

Joseph O'Leary to pad out this section

A Control Loop service template is made up of several components, those which represent applications, those which represent dynamic config schemas, and the actual node_templates which makes up the loop itself.

Applications can be a DCAE microservice, an operational policy, or any other application as long as it can be modelled, and the targeted ecosystem to has a participant client waiting for the event distributions from CLAMP via DMaaP MR.

Dynamic config on the other hand can be a monitoring policy, or any other resource that provides config to parts of the loop, can be updated after the run time phase has started and is supported by the components hosting the applications in the control loop.

2.1: Control Loop TOSCA file definition

2.1.1 Application Definition 

The application definition is truly dynamic, and as long as the participant that the application relates to, it can be anything, however, we have designed a base attribute, that's generic and a can act as a good starting point.

Code Block
languageyml
titleApplication Node Definition
linenumberstrue
Code Block
languageyml
titleApplication Node Definition
linenumberstrue
collapsetrue
node_types:
  org.onap.APP:
    properties:
      application_name:
        type: string
        description: Human readable name for the application.
        required: true
      provider:
        type: string
        description: Provider of the application and of the descriptor.
        required: true
      application_version:
        type: string
        description: Software version of the application.
        required: true
      resource_id:
        type: string
        description: >The ID of the resource, 
          should be provided if the resource was uploaded to the entity's inventory already.
        required: false
      resource_content:
        type: string
        description: the contents of the application resource, to be uploaded during deploy phase of loop.
        required: false
      monitoring_policy:
        type: string
        description: A reference to the monitoring policy if applicable.
        required: false
    version: 0.0.1
    derived_from: tosca.nodes.Root

...

4.3.2: Client User Interface

4.4 Other COnsiderations

4.4.1 Upgrade

Performing a hot upgrade of the Control Loop at run time as well as handling an upgrade of the software in one or more of the participants in an Control Loop is a particularly challenging issue because upgrading must handle the following cases without tearing down the Control Loop:

  • Upgrade and changes of the configuration data of participants
  • Addition of or removal of participants in an Control Loop
  • Upgrade of software in one or more participants in an Control Loop
  • Maintenance of compatibility between participants when an update of more than one participant must be done  together to ensure compatibility, for example, when a protocol being used by two participants to communicate is upgraded


5: MVP

5.1: Goals

5.2: Limitations

...