Update docs HTTP Participant 04/134004/2
authorFrancescoFioraEst <francesco.fiora@est.tech>
Thu, 30 Mar 2023 16:01:20 +0000 (17:01 +0100)
committerFrancescoFioraEst <francesco.fiora@est.tech>
Wed, 5 Apr 2023 08:54:45 +0000 (09:54 +0100)
Update "HTTP Participant" docs

Issue-ID: POLICY-4605
Change-Id: I16ab4aa3fb2b86248e529b96e37d9ec8be6fbbf1
Signed-off-by: FrancescoFioraEst <francesco.fiora@est.tech>
docs/clamp/acm/design-impl/participants/http-participant.rst
docs/clamp/acm/design-impl/participants/tosca/automation-composition-http.yml [new file with mode: 0644]
docs/clamp/acm/design-impl/participants/tosca/tosca-http-participant.yml

index f58f03d..3125e17 100644 (file)
@@ -13,7 +13,7 @@ the microservice that runs a REST server. Once the microservice is up, the HTTP
 participant can be used to configure the microservice over its REST interface.Of course,
 the HTTP participant works towards any REST service, it is not restricted to REST
 services started by participants.
-
+Supported message Broker are DMaap and Strimzi-Kafka.
 
 .. image:: ../../images/participants/http-participant.png
 
@@ -34,17 +34,30 @@ Elements towards multiple REST endpoints, as shown in the diagram above where th
 participant is running two HTTP Automation Composition Elements, one for Automation Composition A and one for
 Automation Composition B.
 
-Configuring a Automation Composition Element on the HTTP participant for a Automation Composition
--------------------------------------------------------------------------------------------------
+Supported Element Types
+-----------------------
+Supported Element Types for Http participant will be used to define the HTTP participant Element Definition Types in tosca template.
+Participant Supported Element Types is defined in Http participant application.yaml.
+
+.. code-block:: YAML
+
+    participantSupportedElementTypes:
+      -
+        typeName: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+        typeVersion: 1.0.0
+
+
+Configuring an Automation Composition Definition and Instance for the HTTP participant
+--------------------------------------------------------------------------------------
 A *Configuration Entity* describes a concept that is managed by the HTTP participant. A
 Configuration Entity can be created, Read, Updated, and Deleted (CRUD). The user defines
 the Configuration Entities that it wants its HTTP Automation Composition Element to manage and
 provides a sequence of parameterized REST commands to Create, Read, Update, and Delete
 each Configuration Entity.
 
-Sample tosca template defining a http participant and a automation composition element for a automation composition. :download:`click here <tosca/tosca-http-participant.yml>`
+Sample tosca template defining a http participant and a AC element definition. :download:`click here <tosca/tosca-http-participant.yml>`
 
-The user configures the following properties in the TOSCA for the HTTP participant:
+The user defines the following properties in the TOSCA for the HTTP participant:
 
 .. list-table::
    :widths: 15 10 50
@@ -102,11 +115,14 @@ The *RestRequest* type is described in the following table:
      - HttpStatus
      - The expected HTTP response code fo the REST request
 
+Sample Automation Composition instances.
+In that example the user fills the properties defined in the TOSCA for the HTTP participant :download:`click here <tosca/automation-composition-http.yml>`
+
 Http participant Interactions:
 ------------------------------
-The http participant interacts with Automation Composition Runtime on the northbound via DMaap. It interacts with any microservice on the southbound over http for configuration.
+The http participant interacts with Automation Composition Runtime on the northbound via Message Broker. It interacts with any microservice on the southbound over http for configuration.
 
-The communication for the Automation Composition updates and state change requests are sent from the Automation Composition Runtime to the participant via DMaap.
+The communication for the Automation Composition updates and state change requests are sent from the Automation Composition Runtime to the participant via Message Broker.
 The participant invokes the appropriate http endpoint of the microservice based on the received messages from the Automation Composition Runtime.
 
 
@@ -119,15 +135,16 @@ which takes precedence over the Automation Composition Elements with the startPh
 
 Http participant Workflow:
 --------------------------
-Once the participant is started, it sends a "REGISTER" event to the DMaap topic which is then consumed by the Automation Composition Runtime to register this participant on the runtime database.
-The user can commission the tosca definitions from the Policy Gui to the Automation Composition Runtime that further updates the participant with these definitions via DMaap.
-Once the automation composition definitions are available in the runtime database, the Automation Composition can be instantiated with the default state "UNINITIALISED" from the Policy Gui.
+Once the participant is started, it sends a "REGISTER" event to the Message Broker topic which is then consumed by the Automation Composition Runtime to register this participant on the runtime database.
+The user can commission the tosca definitions from the Policy Gui to the Automation Composition Runtime.
+Once the automation composition definitions are available in the runtime database the user can prime them and further updates the participant with these definitions via Message Broker.
+After primed, the Automation Composition can be instantiated with the default state "UNDEPLOYED" from the Policy Gui.
 
-When the state of the Automation Composition is changed from "UNINITIALISED" to "PASSIVE" from the Policy Gui, the http participant receives the automation composition state change event from the runtime and
+When the state of the Automation Composition is changed from "UNDEPLOYED" to "DEPLOYED" from the Policy Gui, the http participant receives the automation composition state change event from the runtime and
 configures the microservice of the corresponding Automation Composition Element over http.
 The configuration entity for a microservice is associated with each Automation Composition Element for the http participant.
 The http participant holds the executed http requests information along with the responses received.
 
 The participant is used in a generic way to configure any entity over http and it does not hold the information about the microservice to unconfigure/revert the configurations when the
-state of Automation Composition changes from "PASSIVE" to "UNINITIALISED".
+state of Automation Composition changes from "DEPLOYED" to "UNDEPLOYED".
 
diff --git a/docs/clamp/acm/design-impl/participants/tosca/automation-composition-http.yml b/docs/clamp/acm/design-impl/participants/tosca/automation-composition-http.yml
new file mode 100644 (file)
index 0000000..78cc213
--- /dev/null
@@ -0,0 +1,29 @@
+name: DemoInstance0
+version: 1.0.1
+compositionId: {{compositionId}}
+description: Demo automation composition instance 0
+elements:
+
+  709c62b3-8918-41b9-a747-d21eb79c6c24:
+    id: 709c62b3-8918-41b9-a747-d21eb79c6c24
+    definition:
+      name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement
+      version: 1.2.3
+    description: Starter Automation Composition Element for the Demo
+    properties:
+      baseUrl: http://cluster-ip:30800
+      httpHeaders:
+        Content-Type: application/json
+        Authorization: Basic YWNtVXNlcjp6YiFYenRHMzQ=
+      configurationEntities:
+        - configurationEntityId:
+            name: onap.policy.clamp.ac.starter
+            version: 1.0.0
+          restSequence:
+            - restRequestId:
+                name: request1
+                version: 1.0.1
+              httpMethod: POST
+              path: /onap/policy/clamp/acelement/v2/activate
+              body: '{ "receiverId": { "name": "onap.policy.clamp.ac.startertobridge", "version": "1.0.0" }, "timerMs": 20000, "elementType": "STARTER", "topicParameterGroup": { "server": "message-router:3904", "listenerTopic": "POLICY_UPDATE_MSG", "publisherTopic": "AC_ELEMENT_MSG", "fetchTimeout": 15000, "topicCommInfrastructure": "dmaap" } }'
+              expectedResponse: 201
index 908b05d..d6714c8 100644 (file)
@@ -9,127 +9,24 @@ data_types:
       version:
         type: string
         required: true
-  onap.datatype.controlloop.Target:
-    derived_from: tosca.datatypes.Root
-    description: Definition for a entity in A&AI to perform a control loop operation on
-    properties:
-      targetType:
-        type: string
-        description: Category for the target type
-        required: true
-        constraints:
-          - valid_values:
-              - VNF
-              - VM
-              - VFMODULE
-              - PNF
-      entityIds:
-        type: map
-        description: |
-          Map of values that identify the resource. If none are provided, it is assumed that the
-          entity that generated the ONSET event will be the target.
-        required: false
-        metadata:
-          clamp_possible_values: ClampExecution:CSAR_RESOURCES
-        entry_schema:
-          type: string
-  onap.datatype.controlloop.Actor:
-    derived_from: tosca.datatypes.Root
-    description: An actor/operation/target definition
-    properties:
-      actor:
-        type: string
-        description: The actor performing the operation.
-        required: true
-        metadata:
-          clamp_possible_values: Dictionary:DefaultActors,ClampExecution:CDS/actor
-      operation:
-        type: string
-        description: The operation the actor is performing.
-        metadata:
-          clamp_possible_values: Dictionary:DefaultOperations,ClampExecution:CDS/operation
-        required: true
-      target:
-        type: onap.datatype.controlloop.Target
-        description: The resource the operation should be performed on.
-        required: true
-      payload:
-        type: map
-        description: Name/value pairs of payload information passed by Policy to the actor
-        required: false
-        metadata:
-          clamp_possible_values: ClampExecution:CDS/payload
-        entry_schema:
-          type: string
-  onap.datatype.controlloop.Operation:
-    derived_from: tosca.datatypes.Root
-    description: An operation supported by an actor
-    properties:
-      id:
-        type: string
-        description: Unique identifier for the operation
-        required: true
-      description:
-        type: string
-        description: A user-friendly description of the intent for the operation
-        required: false
-      operation:
-        type: onap.datatype.controlloop.Actor
-        description: The definition of the operation to be performed.
-        required: true
-      timeout:
-        type: integer
-        description: The amount of time for the actor to perform the operation.
-        required: true
-      retries:
-        type: integer
-        description: The number of retries the actor should attempt to perform the operation.
-        required: true
-        default: 0
-      success:
-        type: string
-        description: Points to the operation to invoke on success. A value of "final_success" indicates and end to the operation.
-        required: false
-        default: final_success
-      failure:
-        type: string
-        description: Points to the operation to invoke on Actor operation failure.
-        required: false
-        default: final_failure
-      failure_timeout:
-        type: string
-        description: Points to the operation to invoke when the time out for the operation occurs.
-        required: false
-        default: final_failure_timeout
-      failure_retries:
-        type: string
-        description: Points to the operation to invoke when the current operation has exceeded its max retries.
-        required: false
-        default: final_failure_retries
-      failure_exception:
-        type: string
-        description: Points to the operation to invoke when the current operation causes an exception.
-        required: false
-        default: final_failure_exception
-      failure_guard:
-        type: string
-        description: Points to the operation to invoke when the current operation is blocked due to guard policy enforcement.
-        required: false
-        default: final_failure_guard
-  org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest:
+
+  org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest:
     version: 1.0.0
     derived_from: tosca.datatypes.Root
     properties:
       restRequestId:
-        type:  onap.datatypes.ToscaConceptIdentifier
-        type_version: 0.0.0
+        type: onap.datatypes.ToscaConceptIdentifier
         required: true
         description: The name and version of a REST request to be sent to a REST endpoint
       httpMethod:
         type: string
         required: true
         constraints:
-          - valid_values: [POST, PUT, GET, DELETE]
+          - valid_values:
+              - POST
+              - PUT
+              - GET
+              - DELETE
         description: The REST method to use
       path:
         type: string
@@ -142,33 +39,33 @@ data_types:
       expectedResponse:
         type: integer
         required: true
-        constraints:
-          - in_range: [100, 599]
+        constraints: []
         description: THe expected HTTP status code for the REST request
-  org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity:
+  org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity:
     version: 1.0.0
     derived_from: tosca.datatypes.Root
     properties:
       configurationEntityId:
-        type:  onap.datatypes.ToscaConceptIdentifier
-        type_version: 0.0.0
+        type: onap.datatypes.ToscaConceptIdentifier
         required: true
-        description: The name and version of a Configuration Entity to be handled by the HTTP Control Loop Element
+        description: The name and version of a Configuration Entity to be handled
+          by the HTTP Automation Composition Element
       restSequence:
         type: list
         entry_schema:
-          type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.RestRequest
+          type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.RestRequest
           type_version: 1.0.0
         description: A sequence of REST commands to send to the REST endpoint
+
 node_types:
-  org.onap.policy.clamp.controlloop.Participant:
+  org.onap.policy.clamp.acm.Participant:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
     properties:
       provider:
         type: string
         required: false
-  org.onap.policy.clamp.controlloop.ControlLoopElement:
+  org.onap.policy.clamp.acm.AutomationCompositionElement:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
     properties:
@@ -177,18 +74,7 @@ node_types:
         required: false
         metadata:
           common: true
-        description: Specifies the organization that provides the control loop element
-      participant_id:
-        type: onap.datatypes.ToscaConceptIdentifier
-        required: true
-        metadata:
-          common: true
-      participantType:
-        type: onap.datatypes.ToscaConceptIdentifier
-        required: true
-        metadata:
-          common: true
-        description: The identity of the participant type that hosts this type of Control Loop Element
+        description: Specifies the organization that provides the automation composition element
       startPhase:
         type: integer
         required: false
@@ -196,9 +82,9 @@ node_types:
           - greater_or_equal: 0
         metadata:
           common: true
-        description: A value indicating the start phase in which this control loop element will be started, the
-          first start phase is zero. Control Loop Elements are started in their start_phase order and stopped
-          in reverse start phase order. Control Loop Elements with the same start phase are started and
+        description: A value indicating the start phase in which this automation composition element will be started, the
+          first start phase is zero. Automation Composition Elements are started in their start_phase order and stopped
+          in reverse start phase order. Automation Composition Elements with the same start phase are started and
           stopped simultaneously
       uninitializedToPassiveTimeout:
         type: integer
@@ -236,7 +122,7 @@ node_types:
         metadata:
           common: true
         description: The maximum time in seconds to wait for a state chage from passive to uninitialized
-  org.onap.policy.clamp.controlloop.ControlLoop:
+  org.onap.policy.clamp.acm.AutomationComposition:
     version: 1.0.1
     derived_from: tosca.nodetypes.Root
     properties:
@@ -245,7 +131,7 @@ node_types:
         required: false
         metadata:
           common: true
-        description: Specifies the organization that provides the control loop element
+        description: Specifies the organization that provides the automation composition element
       elements:
         type: list
         required: true
@@ -253,10 +139,10 @@ node_types:
           common: true
         entry_schema:
           type: onap.datatypes.ToscaConceptIdentifier
-        description: Specifies a list of control loop element definitions that make up this control loop definition
-  org.onap.policy.clamp.controlloop.HttpControlLoopElement:
-    version: 1.0.1
-    derived_from: org.onap.policy.clamp.controlloop.ControlLoopElement
+        description: Specifies a list of automation composition element definitions that make up this automation composition definition
+  org.onap.policy.clamp.acm.HttpAutomationCompositionElement:
+    version: 1.0.0
+    derived_from: org.onap.policy.clamp.acm.AutomationCompositionElement
     properties:
       baseUrl:
         type: string
@@ -272,167 +158,37 @@ node_types:
         type: map
         required: true
         entry_schema:
-          type: org.onap.datatypes.policy.clamp.controlloop.httpControlLoopElement.ConfigurationEntity
+          type: org.onap.datatypes.policy.clamp.acm.httpAutomationCompositionElement.ConfigurationEntity
           type_version: 1.0.0
-        description: The connfiguration entities the Control Loop Element is managing and their associated REST requests
+        description: The connfiguration entities the Automation Composition Element is managing and their associated REST requests
 
 topology_template:
   node_templates:
-    org.onap.controlloop.HttpControlLoopParticipant:
+    org.onap.policy.clamp.acm.HttpParticipant:
       version: 2.3.4
-      type: org.onap.policy.clamp.controlloop.Participant
+      type: org.onap.policy.clamp.acm.Participant
       type_version: 1.0.1
       description: Participant for Http requests
       properties:
         provider: ONAP
-    org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement:
-      # Consul http config for PMSH.
+    onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement:
+      # Http config for AC Element Starter.
       version: 1.2.3
-      type: org.onap.policy.clamp.controlloop.HttpControlLoopElement
-      type_version: 1.0.1
-      description: Control loop element for the http requests of PMSH microservice
+      type: org.onap.policy.clamp.acm.HttpAutomationCompositionElement
+      type_version: 1.0.0
+      description: Automation composition element for the http requests of AC Element Starter microservice
       properties:
         provider: ONAP
-        participant_id:
-          name: HttpParticipant0
-          version: 1.0.0
-        participantType:
-          name: org.onap.k8s.controlloop.HttpControlLoopParticipant
-          version: 2.3.4
-        uninitializedToPassiveTimeout: 180
-        baseUrl: http://consul-server-ui:8500
-        httpHeaders:
-          Content-Type: application/json
-        configurationEntities:
-          - configurationEntityId:
-              name: entity1
-              version: 1.0.1
-            restSequence:
-              - restRequestId:
-                  name: request1
-                  version: 1.0.1
-                httpMethod: PUT
-                path: v1/kv/dcae-pmsh2
-                body: '{
-      "control_loop_name":"pmsh-control-loop",
-      "operational_policy_name":"pmsh-operational-policy",
-      "aaf_password":"demo123456!",
-      "aaf_identity":"dcae@dcae.onap.org",
-      "cert_path":"/opt/app/pmsh/etc/certs/cert.pem",
-      "key_path":"/opt/app/pmsh/etc/certs/key.pem",
-      "ca_cert_path":"/opt/app/pmsh/etc/certs/cacert.pem",
-      "enable_tls":"true",
-      "pmsh_policy":{
-         "subscription":{
-            "subscriptionName":"ExtraPM-All-gNB-R2B",
-            "administrativeState":"UNLOCKED",
-            "fileBasedGP":15,
-            "fileLocation":"\/pm\/pm.xml",
-            "nfFilter":{
-               "nfNames":[
-                  "^pnf.*",
-                  "^vnf.*"
-               ],
-               "modelInvariantIDs":[
-               ],
-               "modelVersionIDs":[
-               ],
-               "modelNames":[
-               ]
-            },
-            "measurementGroups":[
-               {
-                  "measurementGroup":{
-                     "measurementTypes":[
-                        {
-                           "measurementType":"countera"
-                        },
-                        {
-                           "measurementType":"counterb"
-                        }
-                     ],
-                     "managedObjectDNsBasic":[
-                        {
-                           "DN":"dna"
-                        },
-                        {
-                           "DN":"dnb"
-                        }
-                     ]
-                  }
-               },
-               {
-                  "measurementGroup":{
-                     "measurementTypes":[
-                        {
-                           "measurementType":"counterc"
-                        },
-                        {
-                           "measurementType":"counterd"
-                        }
-                     ],
-                     "managedObjectDNsBasic":[
-                        {
-                           "DN":"dnc"
-                        },
-                        {
-                           "DN":"dnd"
-                        }
-                     ]
-                  }
-               }
-            ]
-         }
-      },
-      "streams_subscribes":{
-         "aai_subscriber":{
-            "type":"message_router",
-            "dmaap_info":{
-               "topic_url":"https://10.152.183.151:3905/events/AAI_EVENT",
-               "client_role":"org.onap.dcae.aaiSub",
-               "location":"san-francisco",
-               "client_id":"1575976809466"
-            }
-         },
-         "policy_pm_subscriber":{
-            "type":"message_router",
-            "dmaap_info":{
-               "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
-               "client_role":"org.onap.dcae.pmSubscriber",
-               "location":"san-francisco",
-               "client_id":"1575876809456"
-            }
-         }
-      },
-      "streams_publishes":{
-         "policy_pm_publisher":{
-            "type":"message_router",
-            "dmaap_info":{
-               "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.PM_SUBSCRIPTIONS",
-               "client_role":"org.onap.dcae.pmPublisher",
-               "location":"san-francisco",
-               "client_id":"1475976809466"
-            }
-         },
-         "other_publisher":{
-            "type":"message_router",
-            "dmaap_info":{
-               "topic_url":"https://10.152.183.151:3905/events/org.onap.dmaap.mr.SOME_OTHER_TOPIC",
-               "client_role":"org.onap.dcae.pmControlPub",
-               "location":"san-francisco",
-               "client_id":"1875976809466"
-            }
-         }
-      }
-   }'
-                expectedResponse: 200
-    org.onap.domain.sample.GenericK8s_ControlLoopDefinition:
+        uninitializedToPassiveTimeout: 300
+        startPhase: 1
+
+    onap.policy.clamp.ac.element.AutomationCompositionDefinition:
       version: 1.2.3
-      type: org.onap.policy.clamp.controlloop.ControlLoop
-      type_version: 1.0.0
-      description: Control loop for Hello World
+      type: org.onap.policy.clamp.acm.AutomationComposition
+      type_version: 1.0.1
+      description: Automation composition for Demo
       properties:
         provider: ONAP
         elements:
-          - name: org.onap.domain.database.Http_PMSHMicroserviceControlLoopElement
+          - name: onap.policy.clamp.ac.element.Http_StarterAutomationCompositionElement
             version: 1.2.3