diff --git a/robot/assets/templates/so/cds_request.jinja b/robot/assets/templates/so/cds_request.jinja
index b39767f..625df95 100644
--- a/robot/assets/templates/so/cds_request.jinja
+++ b/robot/assets/templates/so/cds_request.jinja
@@ -4,26 +4,36 @@
          "globalSubscriberId" : "{{subscriber_id}}"
       },
       "requestInfo" : {
-         "suppressRollback" : true,
+         "suppressRollback" : false,
          "productFamilyId" : "a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
-         "requestorId" : "ym9479",
+         "requestorId" : "robot-ete",
          "instanceName" : "{{service_instance_name}}",
          "source" : "VID"
       },
+      "cloudConfiguration":{  
+         "lcpCloudRegionId":"{{GLOBAL_INJECTED_REGION}}",
+         "tenantId":"{{GLOBAL_INJECTED_OPENSTACK_TENANT_ID}}",
+         "cloudOwner":"{{cloud_owner}}"
+      },
       "requestParameters" : {
          "subscriptionServiceType" : "{{subscription_service_type}}",
          "userParams" : [
             {
+               "Homing_Solution":"{{homing_solution}}"
+            },
+            {  
                "service" : {
                   "instanceParams" : [],
                   "instanceName" : "{{service_instance_name}}",
                   "resources" : {
                      "vnfs" : {{vnfs}
                   },
-                  "modelInfo" : {
-                     "modelType" : "service",
-                     "modelName" : "{{service_model_name}}",
-                     "modelVersionId" : "{{service_model_UUID}}"
+                  "modelInfo":{  
+         		     "modelVersion":"1.0",
+         			 "modelVersionId":"{{service_model_uuid}}",
+         			 "modelInvariantId":"{{service_model_invariantuuid}}",
+         			 "modelName":"{{service_model_name}}",
+         			 "modelType":"service"
                   }
                }
             }
@@ -31,16 +41,16 @@
          "aLaCarte" : false
       },
       "project" : {
-         "projectName" : "some project name"
+         "projectName" : "Project-Demonstration"
       },
       "owningEntity" : {
-         "owningEntityName" : "PACKET CORE",
-         "owningEntityId" : "038d99af-0427-42c2-9d15-971b99b9b489"
+         "owningEntityId":"{{owning_entity_id}}",
+         "owningEntityName":"{{owning_entity}}"
       },
       "modelInfo" : {
-         "modelVersion" : "10.0",
-         "modelVersionId" : "{{service_model_UUID}}",
-         "modelInvariantId" : "{{service_model_invariantUUID}}",
+         "modelVersion":"1.0",
+         "modelVersionId" : "{{service_model_uuid}}",
+         "modelInvariantId" : "{{service_model_invariantuuid}}",
          "modelName" : "{{service_model_name}}",
          "modelType" : "service"
       }
diff --git a/robot/assets/templates/so/cds_service_template.jinja b/robot/assets/templates/so/cds_service_template.jinja
index de2a36f..9b6e1cc 100644
--- a/robot/assets/templates/so/cds_service_template.jinja
+++ b/robot/assets/templates/so/cds_service_template.jinja
@@ -1,32 +1,30 @@
 {  
    "requestDetails":{  
       "subscriberInfo":{  
-         "globalSubscriberId":"{{customer}}"
+         "globalSubscriberId":"{{subscriber_id}}"
       },
       "requestInfo":{  
          "suppressRollback":false,
          "productFamilyId":"a9a77d5a-123e-4ca2-9eb9-0b015d2ee0fb",
-         "requestorId":"adt",
-         "instanceName":"{{cds_instance_name}}",
+         "requestorId":"robot-ete",
+         "instanceName":"{{service_instance_name}}",
          "source":"VID"
       },
       "cloudConfiguration":{  
          "lcpCloudRegionId":"{{GLOBAL_INJECTED_REGION}}",
          "tenantId":"{{GLOBAL_INJECTED_OPENSTACK_TENANT_ID}}",
-         "cloudOwner":"{{cloudOwner}}"
+         "cloudOwner":"{{cloud_owner}}"
       },
       "requestParameters":{  
-         "subscriptionServiceType":"{{subscriptionServiceType}}",
+         "subscriptionServiceType":"{{subscription_service_type}}",
          "userParams":[  
             {  
-               "Homing_Solution":"none"
+               "Homing_Solution":"{{homing_solution}}"
             },
             {  
                "service":{  
-                  "instanceParams":[  
-
-                  ],
-                  "instanceName":"{{cds_instance_name}}",
+                  "instanceParams" : [],
+                  "instanceName":"{{service_instance_name}}",
                   "resources":{  
                      "vnfs":[  
                         {  
@@ -134,11 +132,11 @@
                      ]
                   },
                   "modelInfo":{  
-                     "modelVersion":"1.0",
-                     "modelVersionId":"{{service_uuid}}",
-                     "modelInvariantId":"{{service_invariantUUID}}",
-                     "modelName":"{{cds_service_model}}",
-                     "modelType":"service"
+         		     "modelVersion":"1.0",
+         			 "modelVersionId":"{{service_model_uuid}}",
+         			 "modelInvariantId":"{{service_model_invariantuuid}}",
+         			 "modelName":"{{service_model_name}}",
+         			 "modelType":"service"
                   }
                }
             }
@@ -149,14 +147,14 @@
          "projectName":"Project-Demonstration"
       },
       "owningEntity":{  
-         "owningEntityId":"67f2e84c-734d-4e90-a1e4-d2ffa2e75849",
-         "owningEntityName":"OE-Demonstration"
+         "owningEntityId":"{{owning_entity_id}}",
+         "owningEntityName":"{{owning_entity}}"
       },
       "modelInfo":{  
          "modelVersion":"1.0",
-         "modelVersionId":"{{service_uuid}}",
-         "modelInvariantId":"{{service_invariantUUID}}",
-         "modelName":"{{cds_service_model}}",
+         "modelVersionId":"{{service_model_uuid}}",
+         "modelInvariantId":"{{service_model_invariantuuid}}",
+         "modelName":"{{service_model_name}}",
          "modelType":"service"
       }
    }
diff --git a/robot/resources/cds_interface.robot b/robot/resources/cds_interface.robot
index 089e49f..53dee73 100644
--- a/robot/resources/cds_interface.robot
+++ b/robot/resources/cds_interface.robot
@@ -1,31 +1,12 @@
 *** Settings ***
 Documentation     The main interface for interacting with CDS. It handles low level stuff like managing the http request library and CDS required fields
 Library               RequestsLibrary
-Library           ONAPLibrary.Utilities
-Library           OperatingSystem
-Library           Collections
-Library           ONAPLibrary.JSON
-Library           ONAPLibrary.ServiceMapping    WITH NAME     ServiceMapping
-Library           ONAPLibrary.PreloadData    WITH NAME     Preload
-Library           ONAPLibrary.Templating    WITH NAME     Templating
-Library           ONAPLibrary.SDNC        WITH NAME     SDNC
-Library           ONAPLibrary.SO    WITH NAME    SO
 Resource          global_properties.robot
 
 *** Variables ***
 ${CDS_HEALTH_CHECK_PATH}    /api/v1/execution-service/health-check 
 ${CDS_HEALTH_ENDPOINT}     ${GLOBAL_CCSDK_CDS_SERVER_PROTOCOL}://${GLOBAL_INJECTED_CCSDK_CDS_BLUEPRINT_PROCESSOR_IP_ADDR}:${GLOBAL_CCSDK_CDS_HEALTH_SERVER_PORT}
-${SDC_SERVICE_CATALOG_ENDPOINT}  ${GLOBAL_SDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_BE_IP_ADDR}:${GLOBAL_SDC_BE_PORT} 
 
-${SDC_SERVICE_CATALOG_PATH}    sdc2/rest/v1/catalog/services/serviceName/demoVLB_CDS/serviceVersion/1.0
-${SO_CATALOGDB_PATH}  /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName
-${SO_APIHANDLER_PATH}    /onap/so/infra/serviceInstantiation/v7/serviceInstances
-${SO_REQUESTDB_PATH}  /onap/so/infra/orchestrationRequests/v7
-
-${customer}    Demonstration
-${cloudOwner}    CloudOwner
-${subscriptionServiceType}    vLB
-${SO_TEMPLATE_PATH}        so
 
 *** Keywords ***
 Run CDS Health Check
@@ -36,39 +17,4 @@
     ${resp}=    Get Request     cds    ${CDS_HEALTH_CHECK_PATH}     headers=${headers}
     Log    Received response code from cds ${resp}
     Log    Received content from cds ${resp.content}
-    Should Be Equal As Strings  ${resp.status_code}     200
-
-Get Service Catalog
-    [Arguments]  ${cds-service-model}    
-    ${resp}=  SDC.Run Get Request  ${SDC_SERVICE_CATALOG_ENDPOINT}   ${SDC_SERVICE_CATALOG_PATH}  cs0008  auth=${GLOBAL_SDC_AUTHENTICATION}
-    Should Be Equal As Strings  ${resp.status_code}  200    
-    [Return]   ${resp.json()['uuid']}   ${resp.json()['invariantUUID']} 
-
-Get Service VNFs
-    [Arguments]  ${cds-service-model}    
-    ${auth}=  Create List  ${GLOBAL_SO_CATDB_USERNAME}  ${GLOBAL_SO_PASSWORD}               
-    ${resp}=  SO.Run Get Request  ${GLOBAL_SO_CATDB_ENDPOINT}  ${SO_CATALOGDB_PATH}=${cds-service-model}  auth=${auth}
-    Should Be Equal As Strings  ${resp.status_code}  200
-    [Return]  ${resp.json()}
-
-Service Assign & Activate 
-    [Arguments]  ${cds_service_model}  ${service_uuid}  ${service_invariantUUID}  ${resp.json()}  
-    ${time_now}=  Get Time
-    @{date_time}=  Split String  ${time_now}
-    ${time_stamp}=  Catenate  SEPARATOR=_  @{date_time}[0]  @{date_time}[1]
-    ${customized_time_stamp}=  Remove String  ${time_stamp}  :
-    ${cds_instance_name}=   Set Variable   cds_vlb_svc_${customized_time_stamp}    
-    ${global_parameters}=  Get Globally Injected Parameters 
-    ${dict}=   Set To Dictionary  ${global_parameters}  cds_instance_name=${cds_instance_name}  customer=${customer}  cloudOwner=${cloudOwner}  subscriptionServiceType=${subscriptionServiceType}  cds_service_model=${cds_service_model}  service_uuid=${service_uuid}  service_invariantUUID=${service_invariantUUID}  resp=${resp.json()}    
-    Templating.Create Environment    cds    ${GLOBAL_TEMPLATE_FOLDER}
-    ${data}=   Templating.Apply Template    cds    ${SO_TEMPLATE_PATH}/cds_service_template.jinja    ${dict}
-    Log  ${data}
-    ${auth}=  Create List  ${GLOBAL_SO_USERNAME}  ${GLOBAL_SO_PASSWORD}
-    ${resp}=  SO.Run Post Request  ${GLOBAL_SO_APIHAND_ENDPOINT}  ${SO_APIHANDLER_PATH}  ${data}  auth=${auth}
-    Should Be Equal As Strings  ${resp.status_code}  202    
-    [Return]  ${resp.json()['requestReferences']['requestId']}
-       
-Check Infra Active Requests
-    [Arguments]  ${cds_requestid}
-    ${auth}=  Create List  ${GLOBAL_SO_CATDB_USERNAME }  ${GLOBAL_SO_PASSWORD}        
-    SO.Run Polling Get Request  ${GLOBAL_SO_APIHAND_ENDPOINT}  ${SO_REQUESTDB_PATH}/${cds_requestid}  tries=30   interval=60  auth=${auth}
+    Should Be Equal As Strings  ${resp.status_code}     200
\ No newline at end of file
diff --git a/robot/resources/demo_preload.robot b/robot/resources/demo_preload.robot
index 58ab1fa..be971f7 100644
--- a/robot/resources/demo_preload.robot
+++ b/robot/resources/demo_preload.robot
@@ -9,6 +9,7 @@
 Resource        consul_interface.robot
 Resource	policy_interface.robot
 Resource        aai/create_availability_zone.robot
+Resource    so/direct_instantiate.robot
 
 Library	        ONAPLibrary.Utilities
 Library	        Collections
@@ -17,6 +18,7 @@
 Library         RequestsLibrary
 Library	        ONAPLibrary.Templating    WITH NAME    Templating
 Library	        ONAPLibrary.AAI    WITH NAME    AAI
+Library	        ONAPLibrary.SO    WITH NAME    SO
 
 *** Variables ***
 
@@ -190,6 +192,16 @@
     Log   Update Tca ControlLoopName
     Update Tca ControlLoopName    ${model_invariant_id}
 
+Instantiate VNF CDS
+    [Arguments]   ${service}   ${vf_module_label}=NULL
+    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vLB_CDS   demoVLB_CDS  True
+    ${resp}=  Get Service Catalog  demoVLB_CDS
+    ${service-uuid}=     Set Variable    ${resp['uuid']}  
+    ${service-invariantUUID}=     Set Variable    ${resp['invariantUUID']}     
+    ${requestid}=   CDS Service Instantiate  demoVLB_CDS  ${service-uuid}  ${service-invariantUUID}
+    ${auth}=  Create List  ${GLOBAL_SO_CATDB_USERNAME }  ${GLOBAL_SO_PASSWORD}        
+    SO.Run Polling Get Request  ${GLOBAL_SO_APIHAND_ENDPOINT}  ${GLOBAL_SO_ORCHESTRATION_REQUESTS_PATH}/${requestid}  tries=30   interval=60  auth=${auth}
+
 Instantiate Demo VNF
     [Arguments]   ${service}   ${vf_module_label}=NULL
     ${tenant_id}    ${tenant_name}=    Setup Orchestrate VNF    ${GLOBAL_AAI_CLOUD_OWNER}    SharedNode    OwnerType    v1    CloudZone
diff --git a/robot/resources/global_properties.robot b/robot/resources/global_properties.robot
index 7f252ea..fd80e99 100644
--- a/robot/resources/global_properties.robot
+++ b/robot/resources/global_properties.robot
@@ -25,6 +25,7 @@
 ${GLOBAL_AAI_PHYSICAL_LOCATION_ID}    clli1
 ${GLOBAL_AAI_AVAILABILITY_ZONE_NAME}    nova
 ${GLOBAL_BUILD_NUMBER}    0
+${GLOBAL_OWNING_ENTITY_NAME}    OE-Demonstration
 ${GLOBAL_VID_UI_TIMEOUT_SHORT}    20s
 ${GLOBAL_VID_UI_TIMEOUT_MEDIUM}    60s
 ${GLOBAL_VID_UI_TIMEOUT_LONG}    120s
@@ -39,3 +40,4 @@
 ${GLOBAL_SO_CLOUD_CONFIG_PATH}    /cloudSite
 ${GLOBAL_SO_CLOUD_CONFIG_TEMPLATE}    so/create_cloud_config.jinja
 ${GLOBAL_SDC_DCAE_BE_ENDPOINT}    ${GLOBAL_SDC_SERVER_PROTOCOL}://${GLOBAL_INJECTED_SDC_DCAE_BE_IP_ADDR}:${GLOBAL_SDC_DCAE_BE_PORT}
+${GLOBAL_SO_ORCHESTRATION_REQUESTS_PATH}       /onap/so/infra/orchestrationRequests/v7
\ No newline at end of file
diff --git a/robot/resources/sdc_interface.robot b/robot/resources/sdc_interface.robot
index b1dc6e3..eadcd9c 100644
--- a/robot/resources/sdc_interface.robot
+++ b/robot/resources/sdc_interface.robot
@@ -726,10 +726,15 @@
     ${resp}=    SDC.Run Post Request    ${SDC_FE_ENDPOINT}    ${SDC_FE_CATALOG_RESOURCES_PATH}/${catalog_resource_id}/update/inputs    ${data}    ${SDC_DESIGNER_USER_ID}    auth=${GLOBAL_SDC_AUTHENTICATION}
     [Return]    ${resp.json()}
 
+Get Service Catalog
+    [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()}
+
 Get SDC Demo Vnf Catalog Resource
     [Documentation]  Gets Resource ids of demonstration VNFs for instantiation
     [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}
+    ${resp}=   Get Service Catalog    ${service_name}
     @{ITEMS}=    Copy List    ${resp.json()['componentInstances']}
     ${demo_catalog_resource}=   Create Dictionary
     :FOR    ${ELEMENT}    IN    @{ITEMS}
diff --git a/robot/resources/sdnc_interface.robot b/robot/resources/sdnc_interface.robot
index 9b56fef..77c65f0 100644
--- a/robot/resources/sdnc_interface.robot
+++ b/robot/resources/sdnc_interface.robot
@@ -7,7 +7,7 @@
 Library         Collections
 Library      String
 Library           ONAPLibrary.ServiceMapping    WITH NAME     ServiceMapping
-Library           ONAPLibrary.PreloadData    WITH NAME     Preload
+Library           ONAPLibrary.PreloadData    WITH NAME     PreloadData
 Library           ONAPLibrary.Templating    WITH NAME     Templating
 Library           ONAPLibrary.SDNC        WITH NAME     SDNC
 Resource          global_properties.robot
@@ -157,9 +157,9 @@
     # Mash together the defaults dict with the test case dict to create the set of
     # preload parameters
     #
-    Preload.Set Directory    preload    ./demo/preload_data
-    ${defaults}=       Get Default Preload Data    preload
-    ${template}=    Get Preload Data    preload    ${service}    ${template}
+    PreloadData.Set Directory    preload    ./demo/preload_data
+    ${defaults}=       PreloadData.Get Default Preload Data    preload
+    ${template}=    PreloadData.Get Preload Data    preload    ${service}    ${template}
     # add all of the defaults to template...
     @{keys}=    Get Dictionary Keys    ${defaults}
     :FOR   ${key}   IN   @{keys}
diff --git a/robot/resources/so/direct_instantiate.robot b/robot/resources/so/direct_instantiate.robot
index 31deab9..17e9a79 100644
--- a/robot/resources/so/direct_instantiate.robot
+++ b/robot/resources/so/direct_instantiate.robot
@@ -6,17 +6,27 @@
 Library    String
 Library    DateTime
 Library    SoUtils 
-Library    ONAPLibrary.PreloadData
+Library    ONAPLibrary.PreloadData    WITH NAME     PreloadData
 Library    ONAPLibrary.Utilities    
+Library    ONAPLibrary.JSON
+Library    ONAPLibrary.ServiceMapping    WITH NAME     ServiceMapping
+Library    ONAPLibrary.Templating    WITH NAME     Templating
+Library    ONAPLibrary.SO    WITH NAME    SO
 Resource       ../global_properties.robot
 
+
+***Variables ***
+${SO_TEMPLATE_PATH}        so
+${SO_CATALOGDB_PATH}  /ecomp/mso/catalog/v2/serviceVnfs?serviceModelName
+${SO_APIHANDLER_PATH}    /onap/so/infra/serviceInstantiation/v7/serviceInstances
+
 *** Keywords ***
 Instantiate Service Direct To SO 
     [Documentation]    Creates an entire service from a CSAR
     [Arguments]    ${service}   ${csar_file}   ${vnf_template_file} 
     # Example: ${csar_file}=  Set Variable   /tmp/csar/service-Vfw20190413133734-csar.csar
     # Example: ${vnf_template_file}=  Set Variable   /var/opt/ONAP/testsuite/vcpeutils/preload_templates/template.vfw_vfmodule.json
-    Set Directory    preload    ./demo/preload_data
+    PreloadData.Set Directory    preload    ./demo/preload_data
     ${preload_dict}=       Get Default Preload Data    preload
     ${template}=   Create Dictionary
     @{keys}=    Get Dictionary Keys    ${preload_dict}
@@ -46,4 +56,25 @@
     Log    ${template}  
     ${service_instance_id}=   Create Entire Service   ${csar_file}    ${vnf_template_file}   ${template}   ${GLOBAL_INJECTED_REGION}  ${GLOBAL_INJECTED_OPENSTACK_TENANT_ID}    ${GLOBAL_INJECTED_PUBLIC_KEY}
     Log     ServiceInstanceId:${service_instance_id}
-    Should Not Be Equal As Strings  ${service_instance_id}   None
\ No newline at end of file
+    Should Not Be Equal As Strings  ${service_instance_id}   None
+    
+
+CDS Service Instantiate
+    [Arguments]  ${cds_service_model}  ${service_uuid}  ${service_invariantUUID}
+    ${auth}=  Create List  ${GLOBAL_SO_CATDB_USERNAME}  ${GLOBAL_SO_PASSWORD}               
+    ${resp}=  SO.Run Get Request  ${GLOBAL_SO_CATDB_ENDPOINT}  ${SO_CATALOGDB_PATH}=${cds_service_model}  auth=${auth}
+    Should Be Equal As Strings  ${resp.status_code}  200
+    ${time_now}=  Get Time
+    @{date_time}=  Split String  ${time_now}
+    ${time_stamp}=  Catenate  SEPARATOR=_  @{date_time}[0]  @{date_time}[1]
+    ${customized_time_stamp}=  Remove String  ${time_stamp}  :
+    ${cds_instance_name}=   Set Variable   cds_vlb_svc_${customized_time_stamp}    
+    ${global_parameters}=  Get Globally Injected Parameters 
+    ${dict}=   Set To Dictionary  ${global_parameters}  service_instance_name=${cds_instance_name}  owning_entity=OE-Demonstration    homing_solution=none    owning_entity_id=67f2e84c-734d-4e90-a1e4-d2ffa2e75849    subscriber_id=Demonstration  cloud_owner=${GLOBAL_AAI_CLOUD_OWNER}  subscription_service_type=vLB  service_model_name=${cds_service_model}  service_model_uuid=${service_uuid}  service_model_invariantuuid=${service_invariantUUID}  resp=${resp.json()}    
+    Templating.Create Environment    cds    ${GLOBAL_TEMPLATE_FOLDER}
+    ${data}=   Templating.Apply Template    cds    ${SO_TEMPLATE_PATH}/cds_service_template.jinja    ${dict}
+    Log  ${data}
+    ${auth}=  Create List  ${GLOBAL_SO_USERNAME}  ${GLOBAL_SO_PASSWORD}
+    ${resp}=  SO.Run Post Request  ${GLOBAL_SO_APIHAND_ENDPOINT}  ${SO_APIHANDLER_PATH}  ${data}  auth=${auth}
+    Should Be Equal As Strings  ${resp.status_code}  202    
+    [Return]  ${resp.json()['requestReferences']['requestId']}
\ No newline at end of file
diff --git a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
index b8b753e..21a07fc 100644
--- a/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
+++ b/robot/resources/test_templates/vnf_orchestration_with_cds_test_template.robot
@@ -51,14 +51,16 @@
     ${lcp_region}=   Get Openstack Region
     ${dict}=  Create Dictionary
     Set To Dictionary	${dict}	  service_instance_name=${service_instance_name}
-
+    Set To Dictionary   ${dict}    owning_entity=${owning_entity}
+    Set To Dictionary   ${dict}    owning_entity_id=67f2e84c-734d-4e90-a1e4-d2ffa2e75849
     ${templatedata}=    Template Yaml To Json    ${service_template}
     ${jsondata}=     Evaluate     json.loads('''${templatedata}''')      json
     Set To Dictionary   ${dict}   service_type=${jsondata['metadata']['type']}
     Set To Dictionary   ${dict}   service_model_name=${jsondata['metadata']['name']}
     Set To Dictionary   ${dict}   service_model_UUID=${jsondata['metadata']['UUID']}
     Set To Dictionary   ${dict}   service_model_invariantUUID=${jsondata['metadata']['invariantUUID']}
-    
+    Set To Dictionary   ${dict}   cloud_owner=${GLOBAL_AAI_CLOUD_OWNER}
+    Set To Dictionary   ${dict}   homing_solution=none
     ${envdata}=    Env Yaml To Json    ${env}
     ${envjson}=    Evaluate     json.loads('''${envdata}''')      json
     Set To Dictionary   ${dict}   subscriber_id=${envjson['subscriber_id']}
diff --git a/robot/testsuites/demo.robot b/robot/testsuites/demo.robot
index 1e87ce8..b16de5c 100755
--- a/robot/testsuites/demo.robot
+++ b/robot/testsuites/demo.robot
@@ -4,7 +4,6 @@
 Library           ONAPLibrary.SO    WITH NAME    SO
 Library   Collections
 Resource         ../resources/demo_preload.robot
-Resource         ../resources/cds_interface.robot
 
 *** Variables ***
 
@@ -71,11 +70,7 @@
 
 Instantiate VLB_CDS
     [Tags]   instantiateVLB_CDS
-    ${status}   ${value}=   Run Keyword And Ignore Error   Distribute Model   vLB_CDS   demoVLB_CDS  True
-    ${service-uuid}  ${service-invariantUUID}=  Get Service Catalog  demoVLB_CDS
-    ${resp}=   Get Service VNFs  demoVLB_CDS
-    ${cds_requestid}=   Service Assign & Activate  demoVLB_CDS  ${service-uuid}  ${service-invariantUUID}  ${resp} 
-    Check Infra Active Requests  ${cds_requestid}  
+    Instantiate VNF CDS    vLB_CDS   demoVLB_CDS
 
 Delete Instantiated VNF
     [Documentation]   This test assumes all necessary variables are loaded via the variable file create in  Save For Delete
