--- /dev/null
+{
+    "requestDetails":{
+        "modelInfo":{
+            "modelInvariantId": "{{service_model_invariant_uuid}}",
+            "modelVersionId":"{{service_model_uuid}}",
+            "modelName":"{{service_model_name}}",
+            "modelType":"service",
+            "modelVersion":"1.0"
+        },
+        "owningEntity":{
+            "owningEntityId":"{{owningEntityId}}",
+            "owningEntityName":"{{owningEntityName}}"
+        },
+        "subscriberInfo":{
+            "globalSubscriberId":"{{full_customer_name}}"
+        },
+        "requestInfo":{
+            "instanceName":"{{service_name}}",
+            "productFamilyId":"{{productFamilyId}}",
+            "source":"VID",
+            "suppressRollback": False,
+            "requestorId":"demo"
+        },
+        "requestParameters":{
+            "subscriptionServiceType":"{{service}}",
+            "aLaCarte": False,
+            "userParams":[
+                {
+                    "service":{
+                        "modelInfo":{
+                            "modelVersionId":"{{service_model_uuid}}",
+                            "modelName":"{{service_model_name}}",
+                            "modelType":"service"
+                        },
+                        "instanceName":"{{service_name}}",
+                        "instanceParams":[
+                        ],
+                        "resources":{
+                            "pnfs":[
+                                {
+                                    "modelInfo":{
+                                        "modelCustomizationName":"{{nf_resource_name}}",
+                                        "modelCustomizationId":"{{nf_resource_uuid}}",
+                                        "modelInvariantId":"{{nf_model_invariant_uuid}}",
+                                        "modelVersionId":"{{nf_model_uuid}}",
+                                        "modelName":"{{nf_model_name}}",
+                                        "modelType":"pnf",
+                                        "modelVersion":"1.0"
+                                    },
+                                    "platform":{
+                                        "platformName":"{{platformName}}"
+                                    },
+                                    "lineOfBusiness":{
+                                        "lineOfBusinessName":"{{lineOfBusinessName}}"
+                                    },
+                                    "productFamilyId":"{{productFamilyId}}",
+                                    "instanceParams":[],
+                                    "instanceName":"{{nf_instance_name}}"
+                                },
+                            ]
+                        }
+                    }
+                },
+                {
+                    "Homing_Solution":"none"
+                }
+            ]
+        }
+    }
+}
\ No newline at end of file
 
     [Documentation]    Deletes a customer in A&AI
     [Arguments]    ${customer_id}    ${resource_version_id}
     ${put_resp}=    AAI.Run Delete Request    ${AAI_FRONTEND_ENDPOINT}    ${INDEX PATH}${ROOT_CUSTOMER_PATH}${customer_id}    ${resource_version_id}        auth=${GLOBAL_AAI_AUTHENTICATION}
-    Should Be Equal As Strings         ${put_resp.status_code}         204
\ No newline at end of file
+    Should Be Equal As Strings         ${put_resp.status_code}         204
+
+Get OwningEntity Id
+    [Documentation]   Returns OwningEntity Id based on OwningEntity name
+    [Arguments]    ${name}
+    ${resp}=    AAI.Run Get Request    ${AAI_FRONTEND_ENDPOINT}    /aai/v11/business/owning-entities   auth=${GLOBAL_AAI_AUTHENTICATION}
+    @{list}=  Copy List   ${resp.json['owning-entity']}
+    :FOR   ${map}    IN    @{list}
+    \    ${owning_entity_name}=     Run Keyword And Ignore Error    Get From Dictionary    ${map}    owning-entity-name
+    \    ${owning_entity_id}=      Run Keyword And Ignore Error    Get From Dictionary    ${map}    owning-entity-id
+    \    ${id}   Run Keyword If    '${owning_entity_name}' == '${name}'    Set Variable    ${owning_entity_id}
+       [Return]  ${id}
\ No newline at end of file
 
     Run Keyword If    '${status}' == 'PASS'    Update Service Dictionary    ${dict}    ${resp.json()}
        [Return]  ${dict}
 
+Get Service Id
+    [Documentation]    Gets a service id in A&AI
+    [Arguments]    ${service_description}
+       ${resp}=    AAI.Run Get Request     ${AAI_FRONTEND_ENDPOINT}    ${INDEX PATH}${ROOT_SERVICE_PATH}        auth=${GLOBAL_AAI_AUTHENTICATION}
+    @{list}=  Copy List   ${resp.json['service']}
+    :FOR   ${map}    IN    @{list}
+    \    ${service_type}=     Run Keyword And Ignore Error    Get From Dictionary    ${map}    service-description
+    \    ${service_id}=      Run Keyword And Ignore Error    Get From Dictionary    ${map}    service-id
+    \    ${id}   Run Keyword If    '${service_type}' == '${service_description}'    Set Variable    ${service_id}
+       [Return]  ${id}
+
 Update Service Dictionary
     [Arguments]    ${dict}    ${json}
     @{list}=  Copy List   ${json['service']}
 
                                   ...  ELSE   Get Regexp Matches    ${zip}   ${service}_(.*)\.zip    1
     #  Need to be able to distribute preload for vFWCL vFWSNK and vFWDT vFWSNK to prepend service to vnf_type
     \    ${resource_type_string}=   Set Variable If   len(${resource_type_match})==0    ${service}    ${service}${resource_type_match[0]}
-    \    Set To Dictionary    ${resource_types}    ${resource_type_string}    ${loop_catalog_resource_id}   
+    \    Set To Dictionary    ${resource_types}    ${resource_type_string}    ${loop_catalog_resource_id}
     \    Append To List    ${catalog_resource_ids}   ${loop_catalog_resource_id}
 
     ServiceMapping.Set Directory    default    ${GLOBAL_SERVICE_MAPPING_DIRECTORY}
 
 Get Generic NeutronNet UUID
    [Documentation]   Look up the UUID of the Generic NeutronNetwork Resource
-   ${resp}=    SDC.Run Get Request   ${SDC_BE_ENDPOINT}    ${SDC_CATALOG_RESOURCES_QUERY_PATH}/Generic%20NeutronNet/resourceVersion/1.0   ${SDC_DESIGNER_USER_ID}    auth=${GLOBAL_SDC_AUTHENTICATION}
-   [Return]    ${resp.json()['allVersions']['1.0']}
+   ${json}=  Get Resource Catalog  Generic%20NeutronNet
+   [Return]    ${json['allVersions']['1.0']}
 
 Get AllottedResource UUID
    [Documentation]   Look up the UUID of the Allotted Resource
    # if this fails then the AllottedResource template got deleted from SDC by mistake
-   ${resp}=    SDC.Run Get Request   ${SDC_BE_ENDPOINT}    ${SDC_CATALOG_RESOURCES_QUERY_PATH}/AllottedResource/resourceVersion/1.0   ${SDC_DESIGNER_USER_ID}    auth=${GLOBAL_SDC_AUTHENTICATION}
-   [Return]    ${resp.json()['allVersions']['1.0']}
+   ${json}=  Get Resource Catalog  AllottedResource
+   [Return]    ${json['allVersions']['1.0']}
+
+Get Resource Catalog
+   [Arguments]  ${resource_name}
+   ${resp}=    SDC.Run Get Request   ${SDC_BE_ENDPOINT}    ${SDC_CATALOG_RESOURCES_QUERY_PATH}/${resource_name}/resourceVersion/1.0   ${SDC_DESIGNER_USER_ID}    auth=${GLOBAL_SDC_AUTHENTICATION}
+   [Return]    ${resp.json()}
 
 Loop Over Check Catalog Service Distributed
     [Arguments]    ${catalog_service_id}
     ${resp}=    SDC.Run Post Request    ${SDC_BE_ONBOARD_ENDPOINT}    ${SDC_VENDOR_LICENSE_MODEL_PATH}    ${data}  ${SDC_DESIGNER_USER_ID}      auth=${GLOBAL_SDC_AUTHENTICATION}
     Should Be Equal As Strings  ${resp.status_code}     200
     [Return]    ${resp.json()['itemId']}    ${resp.json()['version']['id']}
-    
+
 Get SDC License Model
     [Documentation]    gets an SDC license model by its id
     [Arguments]    ${id}   ${version_id}=0.1
     [Return]    ${resp.json()}
 
 Get Service Catalog
-    [Arguments]  ${service_name}    
+    [Arguments]  ${service_name}
     ${resp}=  SDC.Run Get Request  ${SDC_BE_ENDPOINT}   ${SDC_CATALOG_SERVICES_PATH}/serviceName/${service_name}/serviceVersion/1.0  ${SDC_DESIGNER_USER_ID}  auth=${GLOBAL_SDC_AUTHENTICATION}
     [Return]   ${resp.json()}
 
     ${resp}=    SDC.Run Get Request    ${SDC_BE_ENDPOINT}    ${SDC_CATALOG_SERVICES_PATH}${SDC_CATALOG_SERVICE_DISTRIBUTION_PATH}/${catalog_service_distribution_id}    ${SDC_DESIGNER_USER_ID}    auth=${GLOBAL_SDC_AUTHENTICATION}
     Should Be Equal As Strings  ${resp.status_code}     200
     [Return]    ${resp.json()}
-    
+
 Run SDC Health Check
     [Documentation]    Runs a SDC health check
     ${resp}=    SDC.Run Get Request     ${SDC_FE_ENDPOINT}    ${SDC_HEALTH_CHECK_PATH}    user=${None}
 
 
 Set Input Parameter
-    [Arguments]   ${service_uuid}  ${component_uuid}  ${input}  ${input_type}  ${input_value}    
+    [Arguments]   ${service_uuid}  ${component_uuid}  ${input}  ${input_type}  ${input_value}
     ${resp}=    SDC.Run Post Request  ${SDC_BE_ENDPOINT}   ${SDC_CATALOG_SERVICES_PATH}/${service_uuid}/resourceInstance/${component_uuid}/inputs    {"constraints":[],"name":"${input['name']}","parentUniqueId":"${input['parentUniqueId']}","password":false,"required":false,"schema":{"property":{}},"type":"${input_type}","uniqueId":"${input['uniqueId']}","value":"${input_value}","definition":false,"toscaPresentation":{"ownerId":"${input['ownerId']}"}}    ${SDC_DESIGNER_USER_ID}    auth=${GLOBAL_SDC_AUTHENTICATION}
     Should Be Equal As Strings  ${resp.status_code}     200
 
 
--- /dev/null
+*** Settings ***
+Documentation     Creates a macro service recipe in SO Catalog DB
+
+Library    OperatingSystem
+Library    Collections
+Library    ONAPLibrary.SO    WITH NAME    SO
+Library    ONAPLibrary.Templating    WITH NAME    Templating
+Resource    ../global_properties.robot
+
+*** Variables ***
+${CREATE_SERVICE_PATH}    /onap/so/infra/serviceInstantiation/v7/serviceInstances
+
+${SYSTEM USER}    robot-ete
+${CREATE_PNF_SERVICE_GR_API}   so/create_pnf_service_building_block.jinja
+
+*** Keywords ***
+Create PNF Service Using GR Api
+    [Documentation]    Creates a PNF service using GR Api
+    [Arguments]   ${arguments}
+    Templating.Create Environment    so    ${GLOBAL_TEMPLATE_FOLDER}
+    ${data}=    Templating.Apply Template    so    ${CREATE_PNF_SERVICE_GR_API}     ${arguments}
+    ${auth}=  Create List  ${GLOBAL_SO_USERNAME}    ${GLOBAL_SO_PASSWORD}
+    ${request_id}  ${service_instance_id}  SO.Run Create Request   ${GLOBAL_SO_ENDPOINT}    ${CREATE_SERVICE_PATH}   ${data}    auth=${auth}
+    [Return]  ${request_id}  ${service_instance_id}
\ No newline at end of file
 
 Resource        ../openstack/neutron_interface.robot
 Resource          ../sdc_interface.robot
 Resource          vnf_orchestration_test_template.robot
+Resource         ../so/create_service_instance.robot
 
 
 Library         ONAPLibrary.Openstack
 
 *** Keywords ***
 
-Orchestrate PNF
+Orchestrate PNF Macro Flow
     [Documentation]   Use ONAP to Orchestrate a PNF Macro service.
-    [Arguments]    ${customer_name}    ${service}    ${product_family}    ${pnf_correlation_id}  ${tenant_id}    ${tenant_name}   ${service_model_type}   ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration
+    [Arguments]   ${customer_name}    ${service}    ${product_family}    ${pnf_correlation_id}  ${tenant_id}    ${tenant_name}   ${service_model_type}   ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration
     ${lcp_region}=   Set Variable   ${GLOBAL_INJECTED_REGION}
     ${uuid}=    Generate UUID4
     ${full_customer_name}=    Catenate    ${customer_name}_${uuid}
-    ${list}=    Create List
     ${service_name}=    Catenate    Service_Ete_Name${uuid}
     ${service_type}=    Set Variable    ${service}
     Create Customer For PNF     ${full_customer_name}    ${full_customer_name}     INFRA    ${service_type}    ${GLOBAL_AAI_CLOUD_OWNER}  ${tenant_id}  ${GLOBAL_INJECTED_REGION}
     Wait Until Keyword Succeeds   60s   20s       Validate Service Instance    ${service_instance_id}    ${service}    ${full_customer_name}
     [Return]     ${service_instance_id}  ${request_id}  ${full_customer_name}
 
+Orchestrate PNF Building Block Flow
+    [Documentation]   Use ONAP to Orchestrate a PNF using GR api
+    [Arguments]   ${service_model_name}  ${customer_name}    ${service}    ${product_family}    ${pnf_correlation_id}   ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration  ${lineOfBusinessName}=LOB-Demonstration   ${platformName}=Platform-Demonstration
+    ${service_ctalog_json}=  Get Service Catalog  ${service_model_name}
+    ${service_model_uuid}=  Set Variable  ${json_resp["uuid"]}
+    ${service_model_invariant_uuid }=  Set Variable  ${json_resp["invariantUUID"]}
+    ${nf_resource_name}=  Set Variable  ${json_resp["componentInstances"][0]["name"]}
+    ${nf_resource_uuid}=  Set Variable  ${json_resp["componentInstances"][0]["customizationUUID"]}
+    ${componentName}=  Set Variable  ${json_resp["componentInstances"][0]["componentName"]}
+    ${resource_ctalog_json}=  Get Resource Catalog  ${componentName}
+    ${nf_model_invariant_uuid}=  Set Variable  ${json_resp["invariantUUID"]}
+    ${nf_model_uuid}=  Set Variable  ${json_resp["uuid]}
+    ${nf_model_name}=  Set Variable  ${json_resp["name"]}
+    ${productFamilyId}=  Get Service Id  ${product_family}
+    ${owningEntityId}=  Get Owning Entity Id  ${owningEntityName}
+    ${uuid}=   Generate UUID4
+    ${full_customer_name}=    Catenate    ${customer_name}_${uuid}
+    ${service_name}=    Catenate    Service_Ete_Name${uuid}
+    ${service_type}=    Set Variable    ${service}
+    Create Customer For PNF     ${full_customer_name}    ${full_customer_name}     INFRA    ${service_type}    ${GLOBAL_AAI_CLOUD_OWNER}  ${tenant_id}  ${GLOBAL_INJECTED_REGION}
+    ${arguments}=    Create Dictionary   service_model_invariant_uuid=${service_model_invariant_uuid}
+    Set To Dictionary  ${arguments}  service_model_uuid  ${service_model_uuid}
+    Set To Dictionary  ${arguments}  service_model_name  ${service_model_name}
+    Set To Dictionary  ${arguments}  owningEntityId  ${owningEntityId}
+    Set To Dictionary  ${arguments}  owningEntityName  ${owningEntityName}
+    Set To Dictionary  ${arguments}  full_customer_name  ${full_customer_name}
+    Set To Dictionary  ${arguments}  service_name  ${service_name}
+    Set To Dictionary  ${arguments}  productFamilyId  ${productFamilyId}
+    Set To Dictionary  ${arguments}  service  ${service}
+    Set To Dictionary  ${arguments}  nf_resource_name  ${nf_resource_name}
+    Set To Dictionary  ${arguments}  nf_resource_uuid  ${nf_resource_uuid}
+    Set To Dictionary  ${arguments}  nf_model_invariant_uuid  ${nf_model_invariant_uuid}
+    Set To Dictionary  ${arguments}  nf_model_uuid  ${nf_model_uuid}
+    Set To Dictionary  ${arguments}  nf_model_name  ${nf_model_name}
+    Set To Dictionary  ${arguments}  platformName  ${platformName}
+    Set To Dictionary  ${arguments}  lineOfBusinessName  ${lineOfBusinessName}
+    Set To Dictionary  ${arguments}  productFamilyId  ${productFamilyId}
+    Set To Dictionary  ${arguments}  nf_instance_name  ${pnf_correlation_id}
+    ${request_id}  ${service_instance_id}=   Create PNF Service Using GR Api   ${arguments}
+    Wait Until Keyword Succeeds   60s   20s    Validate Service Instance    ${service_instance_id}    ${service}    ${full_customer_name}
+    Check PNF orchestration status in A&AI  ${pnf_correlation_id}  register
+    [Return]     ${service_instance_id}  ${request_id}
+
 
 Create Customer For PNF
     [Documentation]    PNF Orchestration Test setup....
 
 *** Settings ***
 Documentation     PNF Registration Handler (PRH) test cases
 Resource        ../aai/aai_interface.robot
+Resource        ../aai/create_customer.robot
 Resource        ../sdc_interface.robot
 Resource        ../mr_interface.robot
 Resource        ../so/add_service_recipe.robot
     Should Be Equal As Strings  ${json_resp["pnf-name"]}       ${PNF_entry_dict.correlation_id}
     Log  PNF integration request in A&AI has been verified and contains all necessary entries
 
+Check PNF orchestration status in A&AI
+    [Documentation]   Query PNF A&AI updated entry
+    [Arguments]  ${PNF_entry_dict}  ${status}
+    ${get_resp}=    AAI.Run Get Request    ${AAI_FRONTEND_ENDPOINT}    /aai/v11/network/pnfs/pnf/${pnf_correlation_id}    auth=${GLOBAL_AAI_AUTHENTICATION}
+    Should Be Equal As Strings  ${get_resp.status_code}        200
+    ${json_resp}=  Set Variable  ${get_resp.json()}
+    Should Be Equal As Strings  ${status}       ${PNF_entry_dict.orchestrationStatus}
+
 Check VES_PNFREG_OUTPUT topic presence in MR
     [Documentation]   Verify if unauthenticated.VES_PNFREG_OUTPUT topic is present in MR
     ${get_resp}=  Run MR Get Request  ${DMAAP_MESSAGE_ROUTER_UNAUTHENTICATED_VES_PNFREG_OUTPUT_PATH}
     ${so_status}=    Set Variable     ${so_status_request_data['request']['requestStatus']['requestState']}
     Should Be Equal As Strings  ${so_status}     ${so_expected_status}
 
-
 Instantiate PNF_macro service and succesfully registrate PNF template
     [Documentation]   Test case template for design, create, instantiate PNF/macro service and succesfully registrate PNF
-    [Arguments]    ${service_name}   ${PNF_entry_dict}   ${pnf_correlation_id}   ${service}=pNF    ${product_family}=pNF  ${customer_name}=ETE_Customer
+    [Arguments]    ${service_name}   ${PNF_entry_dict}   ${pnf_correlation_id}   ${service}=pNF    ${product_family}=pNF  ${customer_name}=ETE_Customer  ${building_block_flow}=false
     Log To Console   \nDistributing TOSCA Based PNF Model
     ${catalog_service_name}    ${catalog_resource_name}    ${vf_modules}   ${catalog_resources}    ${catalog_resource_ids}   ${catalog_service_id}  Model Distribution For Directory  ${service}  ${service_name}  cds=False   instantiationType=Macro  resourceType=PNF
     ${UUID}=  Get Service Model Parameter from SDC Service Catalog  ${service_name}  uuid
-    Log To Console   Creating Service Recipe for TOSCA Based PNF Model
-    ${service_recipe_id}=   Add Service Recipe  ${UUID}  mso/async/services/CreateVcpeResCustService_simplified
+    ${service_recipe_id}=   Run Keyword If  "${building_block_flow}"=='false'  Add Service Recipe  ${UUID}  mso/async/services/CreateVcpeResCustService_simplified
     Inventory Tenant If Not Exists    CloudOwner   ${region}  SharedNode  OwnerType  v1  CloudZone  ${tenant_id}   ${tenant_name}
     Load OwningEntity  project  Project-${customer_name}
     Load OwningEntity  owningEntity  OE-${customer_name}
-    ${service_instance_id}  ${request_id}  ${full_customer_name}   Orchestrate PNF   ${customer_name}   ${service}    ${product_family}  ${pnf_correlation_id}  ${tenant_id}   ${tenant_name}  ${service_name}   Project-${customer_name}   OE-${customer_name}
+    Load OwningEntity  lineOfBusiness  LOB-${customer_name}
+    Load OwningEntity  platform  Platform-${customer_name}
+    ${service_instance_id}  ${request_id}  ${full_customer_name}   Run Keyword If  "${building_block_flow}"=='false'  Orchestrate PNF Macro Flow   ${customer_name}   ${service}    ${product_family}  ${pnf_correlation_id}  ${tenant_id}   ${tenant_name}  ${service_name}   Project-${customer_name}   OE-${customer_name}
+        ...  ELSE  Orchestrate PNF Building Block Flow   ${service_model_name}  ${customer_name}    ${service}    ${product_family}    ${pnf_correlation_id}   ${project_name}=Project-Demonstration   ${owning_entity}=OE-Demonstration  ${lineOfBusinessName}=LOB-Demonstration   ${platformName}=Platform-Demonstration
     Wait Until Keyword Succeeds   120s  40s  Send and verify VES integration request in SO and A&AI   ${request_id}   ${PNF_entry_dict}
-    [Teardown]   Instantiate PNF_macro service Teardown      ${catalog_service_id}    ${catalog_resource_ids}  ${PNF_entry_dict}  ${service_instance_id}  ${service_recipe_id}
-
+    Run Keyword If  "${building_block_flow}"=='true'  Check PNF orchestration status in A&AI  ${pnf_correlation_id}  registered
+    [Teardown]   Instantiate PNF_macro service Teardown      ${catalog_service_id}    ${catalog_resource_ids}  ${PNF_entry_dict}  ${service_instance_id}  ${service_recipe_id}  ${building_block_flow}
 
 Send and verify VES integration request in SO and A&AI
     [Documentation]   Gets service status and compares with expected status
     Wait Until Keyword Succeeds   30s  10s  Check SO service completition status   ${request_id}   COMPLETE
 
 Instantiate PNF_macro service Teardown
-    [Arguments]  ${catalog_service_id}    ${catalog_resource_ids}  ${PNF_entry_dict}  ${service_instance_id}  ${service_recipe_id}
+    [Arguments]  ${catalog_service_id}    ${catalog_resource_ids}  ${PNF_entry_dict}  ${service_instance_id}  ${service_recipe_id}  ${building_block_flow}
     Teardown Models  ${catalog_service_id}    ${catalog_resource_ids}
-    Delete Service Recipe  ${service_recipe_id}
+    Run Keyword If  "${building_block_flow}"=='false'  Delete Service Recipe  ${service_recipe_id}
     Cleanup PNF entry in A&AI  ${PNF_entry_dict}
\ No newline at end of file
 
 
 Resource         ../resources/test_templates/pnf_registration_without_SO_template.robot
 Library                String
-    
+
 
 
 *** Test Cases ***
      ...  Next service is instantied with random PNF id. VES integration event is send with this PNF ID.
      ...  At the end of the service is checked in terms
      ...  - service completion
-     ...  - PNF entry update about information form VES event
+     ...  - PNF entry update about information from VES event
      [Tags]   pnf_registrate   ete
      ${pnf_correlation_id}=    Generate Random String  20  [LETTERS][NUMBERS]
      ${PNF_entry_dict}=  Create Dictionary  correlation_id=${pnf_correlation_id}  PNF_IPv4_address=13.13.13.13  PNF_IPv6_address=2001:0db8:0:0:0:0:1428:57ab
      ${PNF_service_model}=  Set Variable  Demo_pNF_${pnf_correlation_id}
      Instantiate PNF_macro service and succesfully registrate PNF template   ${PNF_service_model}   ${PNF_entry_dict}   ${pnf_correlation_id}
+
+
+Instantiate PNF service (using building blocks) and succesfully registrate PNF
+     [Documentation]
+     ...  This test case creates TOSCA csar software package for PNF. Imports it as VSP package.
+     ...  Cretaes PNF resource, cretaes Macro service, attach PNF resource and distributes it.
+     ...  Next service is instantied with random PNF id. VES integration event is send with this PNF ID.
+     ...  At the end of the service is checked in terms
+     ...  - service completion
+     ...  - PNF entry update about information from VES event
+     ...  - PNF orchestration status
+     [Tags]   pnf_registrate_gr_api
+     ${pnf_correlation_id}=    Generate Random String  20  [LETTERS][NUMBERS]
+     ${PNF_entry_dict}=  Create Dictionary  correlation_id=${pnf_correlation_id}  PNF_IPv4_address=13.13.13.13  PNF_IPv6_address=2001:0db8:0:0:0:0:1428:57ab
+     ${PNF_service_model}=  Set Variable  Demo_pNF_${pnf_correlation_id}
+     Instantiate PNF service (using building blocks) and succesfully registrate PNF template   ${PNF_service_model}   ${PNF_entry_dict}   ${pnf_correlation_id}  true
\ No newline at end of file