diff --git a/robot/resources/sdc_interface.robot b/robot/resources/sdc_interface.robot
index 3d803f3..46a4fa0 100644
--- a/robot/resources/sdc_interface.robot
+++ b/robot/resources/sdc_interface.robot
@@ -230,8 +230,8 @@
    :FOR   ${key}   IN   @{keys}
    \    ${csar}=    Get From Dictionary    ${allotted_csar_map}    ${key}
    \    ${dir}    ${ext}=    Split String From Right    ${csar}    -    1
-   \    Extract Zip File    /tmp/csar/${csar}    /tmp/csar/${dir}
-   \    ${template}=    Catenate    /tmp/csar/${dir}/Definitions/${dir}-template.yml
+   \    Extract Zip File    /share/csar/${csar}    /share/csar/${dir}
+   \    ${template}=    Catenate    /share/csar/${dir}/Definitions/${dir}-template.yml
    \    ${json_str}=    Template Yaml To Json    ${template}
    \    ${json_obj}=    To Json   ${json_str}
    \    ${attrs}=    Create Dictionary
@@ -245,7 +245,7 @@
 
 Download CSAR
    [Documentation]   Download CSAR
-   [Arguments]    ${catalog_service_id}    ${save_directory}=/tmp/csar
+   [Arguments]    ${catalog_service_id}    ${save_directory}=/share/csar
    Return From Keyword If     '${catalog_service_id}'=='None'
    # get meta data
    ${resp}=    SDC.Run Get Request    ${SDC_BE_ENDPOINT}    ${SDC_CATALOG_SERVICES_PATH}/${catalog_service_id}/filteredDataByParams?include=toscaArtifacts    ${SDC_DESIGNER_USER_ID}        auth=${GLOBAL_SDC_AUTHENTICATION}
diff --git a/robot/resources/sdnc_interface.robot b/robot/resources/sdnc_interface.robot
index e69f057..d8a73cf 100644
--- a/robot/resources/sdnc_interface.robot
+++ b/robot/resources/sdnc_interface.robot
@@ -188,8 +188,12 @@
 Get Template Parameters
     [Arguments]   ${generic_vnf_name}    ${template}    ${uuid}    ${service}     ${server_id}   ${api_type}=vnf_api
     ${hostid}=    Get Substring    ${uuid}    -4
-    ${ecompnet}=    Evaluate    (${GLOBAL_BUILD_NUMBER}%128)+128
-
+    # in Azure the ONAP OAM network is a /24 on 10.0.200 so 10.0 CIDR is too short
+    # ecompnet should be 200 if AKS
+    # Check GLOBAL VARIABLE for Openstack OAM Network 3RD_OCTET and if specified use it instead of
+    # dyanmic ecompnet  (Decompnet)
+    ${Decompnet}=   Evaluate    (${GLOBAL_BUILD_NUMBER}%128)+128
+    ${ecompnet}=   Set Variable If    "${GLOBAL_INJECTED_OPENSTACK_OAM_NETWORK_3RD_OCTET}"=="${EMPTY}"  ${Decompnet}      ${GLOBAL_INJECTED_OPENSTACK_OAM_NETWORK_3RD_OCTET}
     ${valuemap}=   Get Globally Injected Parameters
     # update the value map with unique values.
     Set To Dictionary   ${valuemap}   uuid=${uuid}   hostid=${hostid}    ecompnet=${ecompnet}    generic_vnf_name=${generic_vnf_name}      server_id=${server_id}
