Versions Compared

Key

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

...

  • There is no mechanism in place for automated triggering of DCAE service assurance deployment, i.e. DCAE microservice instantiation and configuration will be driven by CLAMP
  • The DCAE Design Studio will not generate any policies in Beijing
  • CLAMP expects DCAE Design Studio to:
    • Onboard any necessary microservices for the flows (together with input from DCAE, Policy and CLAMPDCAE team)
    • Generate TOSCA Service Template describing the different parts of the flow: source, collector, analytics, operational policy reference/placeholder
    • Generate Cloudify Blueprint
    • Store both service template and blueprint in SDC catalog as part of Service/Resource instance
    • Distribute these service assurance artifacts for consumption by DCAE and CLAMP

Definitions

  • Single (shared) deployment flow
    • Example: Holmes
  • Multiple (dedicated) deployment flow
    • Example: TCA
  • For Holmes, as a shared deployment, do we deploy it from CLAMP or pre-deploy it together with DCAE
    • If pre-deployed, is there any way that CLAMP can know its status?

Full Flow


Design Flow

Step 1

...

  • CLAMP uses distribution client to receive update
  • CLAMP receives artifacts:
    • Service template TOSCA
    • Policy TOSCA
    • Blueprint
  • CLAMP receives the following data from SDC
    • Service Invariant UUID
    • Resource Invariant UUID
    • Artifact name of blueprint
    • Service name
    • Resource name
  • CLAMP stores data about control loop in local store by: 
    • Service Invariant UUID, Resource Invariant UUID, Artifact name of blueprint, Service name, Resource name

Step 3

Deploy Flow

Image Removed


...

  • Below is an example fragment of an SDC distribution sent to CLAMP which provides the data that it needs.


Code Block
titleSDC Distribution Notification
linenumberstrue
collapsetrue
HTTP/1.1 200 Ok
Content-Type : application/json
Content-Length : …


{
                "distributionID": "34cb001c-c9f0-4db9-b59c-9421c0b3cb5e",
                "serviceName": "HNGW Protected OAM",
                "serviceVersion": "1.0",
                "serviceUUID": "b8ff69ca-786d-479e-9f9c-217a90ee0ebc",
                "serviceDescription": "HNGW Protected OAM Network Service",
                "serviceInvariantUUID": "c2749b42-28db-45e0-ab55-b05d0118d91d",
                “resources”: [
                {
                                "resourceInstanceName": "oam_net",
                                "resourceCustomizationUUID": "7b1383b5-6b84-4e77-ae26-1778a1f4e7e1",
                                "resourceName": "ExtVL",
                                "resourceVersion": "1.0",
                                "resoucreType": "VFC",
                                "resourceUUID": "9bf1978e-d6b9-47fc-a4cd-cc8ec4e461b7",
                                "resourceInvariantUUID": "38e5fb81-5e8c-479b-9140-38786db19967",
        						"category": "Generic",
        						"subcategory": "Network Elements",
                                "artifacts": [
								{
                                	"artifactName":"AAI-service_HNGW_Protected_OAM-service-1.xml",
                                	"artifactType":"DCAE_INVENTORY_TOSCA",
                                	"artifactURL":"/sdc/v1/catalog/services/HngwProtectedOam/1.0/artifacts/AAI-service_HNGW_Protected_OAM-service-1.xml",
                                	"artifactChecksum":"ODc1NzViNzY4Mzc1NGE4NTc3M2VhOTM0NTkyZjRiYTA\u003d",
                                	"artifactDescription":"AAI Service Model",
                                	"artifactTimeout":0,
                                	"artifactUUID":"5791d7b0-1a20-4066-90d0-ef13bbf01c95",
                                	"artifactVersion":"1"
								},
								{
							    	"artifactName":"service-TestServicecsar.csar",
									"artifactType":"DCAE_INVENTORY_BLUEPRINT",
									"artifactURL":"/sdc/v1/catalog/services/HngwProtectedOam/1.0/artifacts/service-HngwProtectedOam-csar.csar",
									"artifactChecksum":"YzhhNTVhZDk2M2RlN2NlODkzODk5ZGJjOThmNDY1MzE\u003d",
									"artifactDescription":"TOSCA definition package of the asset",
									"artifactTimeout":0,
									"artifactUUID":"909e655d-04d6-472b-ab16-979d560d1975",
									"artifactVersion":"1" 
								}
								]
                }],
                "serviceArtifacts": [{}]}


Step 3

Configuration Flow

Image Added

Configuration Step 0

  • CLAMP parses service template

  • Assumptions:

  • Service template consists of multiple node templates

    • Topics

    • Microservices 

    • Policies

  • Microservice: Any node template with a subtype of tosca.dcae.nodes.cdapApp (or some other type such as tosca.dcae.nodes.dockerApp?)

  • Topics: Any node template with a type of tosca.dcae.nodes.dmaap.topic

  • Policies: Any node template with a type of tosca.dcae.nodes.policy

  • There will be only one Microservice node

  • The microservice node will have two requirements that are fulfilled by topics: one stream subscribe and one stream publish

  • The two topic nodes will be included in the service template

  • The microservice node will have a requirement for a policy node, and policy node will be included in the service template

  • Processing Steps

    • Display any microservice node template

    • Display inputs provided to blueprint

    • Display topics which are used to connect microservice node templates

    • Retrieve configuration policies and prepare to display and encode

    • For each microservice node template, identify the node template which fulfills the policy requirement

    • Retrieve the policy TOSCA corresponding to this policy node, using policyName parameter

      • (Only needed if there are multiple microservice nodes: Identify the microservice node template which is the last in the flow before the Operational Policy)

      • Display the Operational Policy as a box after the last (or only) microservice node template

  • A flow will either be deployed once for all control loops (shared) or deployed per control loop (dedicated)

  • The microservice node will have a parameter that defines whether it should be a shared or dedicated microservice

  • CLAMP will use this parameter to decide whether or not to deploy it

  • Can user edit template inputs that are required

    • Examples: policy Ids, Topic URLs and AAF credentials (needed to clarify this)

    • Some cannot be edited, such as policy Id; CLAMP must be provided

    • Some may be set in configuration files in CLAMP

    • User can edit any configuration policy in a separate popup created using TOSCA policy model

    • User can edit operational policy in a separate popup created as is done today, based on local CLAMP configuration

Deploy Step 1

Configuration Step 1

  • CLAMP sets the input whose value is used to set policy_id parameter in the node template
    • If the flow is a shared deployment, and has not yet been deployed, choose a policy prefix
    • If the flow is a shared deployment and has been deployed, no input needs to be set, because blueprint will not be deployed
    • If the flow is a dedicated deployment
  • Data from Configuration and Operational Policies is used to create policies
  • Need to create associated controlLoopIds in Configuration and Operational policies 

Deployment Flow

Image Added

  • This step only applies when the flow is deployed by CLAMP
  • Call deployment handler
  • Refer by service UUID, resource UUID and name
  • Provide inputs:
    • policyId
    • Topic information
    • AAF authentication
    • Others?
  • Check on deployment status
  • Allow undeploy and redeploy

Deploy Step 2

...

Suspend Flow

  • Currently the only way to stop a control loop is by deleting the operational policy
  • This is the operation that CLAMP will use

...