aboutsummaryrefslogtreecommitdiffstats
path: root/robot/resources/dcaemod_interface.robot
diff options
context:
space:
mode:
Diffstat (limited to 'robot/resources/dcaemod_interface.robot')
-rw-r--r--robot/resources/dcaemod_interface.robot310
1 files changed, 0 insertions, 310 deletions
diff --git a/robot/resources/dcaemod_interface.robot b/robot/resources/dcaemod_interface.robot
deleted file mode 100644
index 19720e80..00000000
--- a/robot/resources/dcaemod_interface.robot
+++ /dev/null
@@ -1,310 +0,0 @@
-*** Settings ***
-Library ONAPLibrary.Templating WITH NAME Templating
-Library ONAPLibrary.Utilities
-Library RequestsLibrary
-Library Collections
-Library String
-Library OperatingSystem
-Resource ../resources/global_properties.robot
-Resource chart_museum.robot
-
-
-*** Variables ***
-
-${CLIENT_ID} robot123
-${SESSION_NAME} nifi-api
-${DCAEMOD_SERVER} http://dcaemod.simpledemo.onap.org
-${IS_PROCESS_GROUP_SET} False
-${IS_FLOW_DISTRIBUTED} False
-${IS_SERVICE_DEPLOYED} False
-${PROCESS_GROUP_ID} ${EMPTY}
-${TYPE_ID} ${EMPTY}
-${BLUEPRINT_NAME} ${EMPTY}
-${DISTRIBUTION_TARGET_ID} ${EMPTY}
-${REGISTRY_CLIENT_ID} ${EMPTY}
-${DCAEMOD_ONBOARDING_API_SERVER} ${GLOBAL_DCAEMOD_ONBOARDING_API_SERVER_PROTOCOL}://${GLOBAL_DCAEMOD_ONBOARDING_API_SERVER_NAME}:${GLOBAL_DCAEMOD_ONBOARDING_API_SERVER_PORT}
-${DCAEMOD_DESIGNTOOL_SERVER} ${GLOBAL_DCAEMOD_DESIGNTOOL_SERVER_PROTOCOL}://${GLOBAL_DCAEMOD_DESIGNTOOL_SERVER_NAME}:${GLOBAL_DCAEMOD_DESIGNTOOL_SERVER_PORT}
-${DCAEMOD_DISTRIBUTOR_API_SERVER} ${GLOBAL_DCAEMOD_DISTRIBUTOR_API_SERVER_PROTOCOL}://${GLOBAL_DCAEMOD_DISTRIBUTOR_API_SERVER_NAME}:${GLOBAL_DCAEMOD_DISTRIBUTOR_API_SERVER_PORT}
-${HELM_RELEASE} kubectl --namespace onap get pods | sed 's/ .*//' | grep robot | sed 's/-.*//'
-
-
-*** Keywords ***
-
-Deploy DCAE Application
- [Arguments] ${componentSpec} ${dict_values} ${compSpecName} ${processGroupName}
-
- Onboard Component Spec ${componentSpec} ${dict_values} ${compSpecName}
- ${processGroupId} = Create Process Group ${processGroupName}
- Set Test Variable ${IS_PROCESS_GROUP_SET} True
- Set Test Variable ${PROCESS_GROUP_ID} ${processGroupId}
-
- Create Processor ${PROCESS_GROUP_ID} ${compSpecName}
- Save Flow By Version Controlling ${processGroupName} ${PROCESS_GROUP_ID}
- Distribute The Flow ${PROCESS_GROUP_ID}
- Set Test Variable ${IS_FLOW_DISTRIBUTED} True
-
- Deploy Applictaion ${processGroupName} ${compSpecName}
- Set Test Variable ${CHART_NAME} ${compSpecName}
-
-
-
-Delete Config Map With Mounted Config File
- ${configMapStatus} = Run Keyword And Return Status Config Map Exists ${CONFIG_MAP_NAME}
- Run Keyword If ${configMapStatus} Delete Config Map ${CONFIG_MAP_NAME}
- Remove File ${CONFIG_MAP_FILE}
-
-Delete Config Map
- [Arguments] ${configMapName}
- ${configMapDelete} = Run And Return Rc kubectl -n onap delete configmap ${configMapName}
- Should Be Equal As Integers ${configMapDelete} 0
-
-Create Config Map From File
- [Arguments] ${configMapName} ${configMapFilePath}
-
- ${createConfigMapRC} = Run And Return Rc kubectl -n onap create configmap ${configMapName} --from-file=${configMapFilePath}
- Should Be Equal As Integers ${createConfigMapRC} 0
- Wait Until Keyword Succeeds 1 min 5s Config Map Exists ${configMapName}
-
-Config Map Exists
- [Arguments] ${configMapName}
- ${configMapExists} = Run And Return Rc kubectl -n onap get configmap | grep ${configMapName}
- Should Be Equal As Integers ${configMapExists} 0
-
-Get Pod Yaml
- [Arguments] ${compSpecName}
- ${podYaml} = Run And Return Rc And Output kubectl -n onap get pod $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -o yaml
- Should Be Equal As Integers ${podYaml[0]} 0
- ${podYaml} = Set Variable ${podYaml[1]}
-
- [Return] ${podYaml}
-
-Get Content Of Mounted Folder Inside Container
- [Arguments] ${compSpecName} ${volumeMountPath}
- ${mountedFolderContent} = Run And Return Rc And Output kubectl -n onap exec $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -c ${compSpecName} -- ls ${volumeMountPath}
- Should Be Equal As Integers ${mountedFolderContent[0]} 0
- ${mountedFolderContent} = Set Variable ${mountedFolderContent[1]}
-
- [Return] ${mountedFolderContent}
-
-Verify If Volume Is Mounted
- [Arguments] ${podYaml} ${volumeMountPath}
- Should Contain ${podYaml} ${volumeMountPath}
-
-Verify If Config Map Is Mounted As Volume
- [Arguments] ${podYaml} ${configMapName}
- Should Contain ${podYaml} ${configMapName}
-
-Verify If Mounted Folder Is Empty
- [Arguments] ${mountedFolderContent}
- Should Be Empty ${mountedFolderContent}
-
-Verify If Mounted Folder Contains File
- [Arguments] ${compSpecName} ${fileName} ${configMapDir}
-
- ${dirContent} = Run And Return Rc And Output kubectl -n onap exec $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -c ${compSpecName} -- ls ${configMapDir}
- Should Be Equal As Integers ${dirContent[0]} 0
- Should Contain ${dirContent[1]} ${fileName}
-
-Verify File Content
- [Arguments] ${compSpecName} ${configMapFilePath} ${content}
-
- ${fileContent} = Run And Return Rc And Output kubectl -n onap exec $(kubectl get pod -n onap | grep ${compSpecName} | awk '{print $1}') -c ${compSpecName} -- cat ${configMapFilePath}
- Should Be Equal As Integers ${fileContent[0]} 0
- Should Contain ${fileContent[1]} ${content}
-
-Verify If Component Is Onboarded
- [Arguments] ${compSpecName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_ONBOARDING_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /onboarding/components?name=${compSpecName} headers=${headers}
- Log ${resp.json()}
- Should Not Be Empty ${resp.json().get('components')}
-
-
-Onboard Component Spec
- [Arguments] ${componentSpec} ${dict_values} ${compSpecName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_ONBOARDING_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- Templating.Create Environment dcaemod ${GLOBAL_TEMPLATE_FOLDER}
- ${componentSpec}= Templating.Apply Template dcaemod ${componentSpec} ${dict_values}
- ${resp} = Post Request ${SESSION_NAME} /onboarding/components data=${componentSpec} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
- Wait Until Keyword Succeeds 2 min 5s Verify If Component Is Onboarded ${compSpecName}
-
- Log ${resp.json()}
-
-Add Registry Client
-
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${data} = Set Variable {"revision": {"version": 0}, "component": {"name": "registry_test", "uri": "http://dcaemod-nifi-registry:18080"}}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/controller/registry-clients data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
- Set Global Variable ${REGISTRY_CLIENT_ID} ${resp.json().get('id')}
- Set Global Variable ${REGISTRY_CLIENT_VERSION} ${resp.json().get('revision').get('version')}
-
-Add Distribution Target
-
- ${session}= Create Session distributor ${DCAEMOD_DISTRIBUTOR_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${data} = Set Variable {"name": "runtime_test", "runtimeApiUrl": "http://dcaemod-runtime-api:9090"}
- ${resp} = Post Request distributor /distributor/distribution-targets data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
- Set Global Variable ${DISTRIBUTION_TARGET_ID} ${resp.json().get('id')}
-
-Create Process Group
- [Arguments] ${name}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/flow/process-groups/root/ headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
- ${parentGroupId} = Set Variable ${resp.json().get('processGroupFlow').get('id')}
-
- ${data} = Set Variable {"revision": {"clientId": "${CLIENT_ID}", "version": 0}, "component" : {"parentGroupId" : "${parentGroupId}", "name" : "${name}"}}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/process-groups/${parentGroupId}/process-groups data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
-
- ${processGroupId} = Set Variable ${resp.json().get('id')}
-
- [Return] ${processGroupId}
-
-
-Verify If NIFI Processor Is Created
- [Arguments] ${typeName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/flow/processor-types?type=org.onap.dcae.${typeName} headers=${headers}
- Log ${resp.json()}
- Should Not Be Empty ${resp.json().get('processorTypes')}
-
-Create Processor
- [Arguments] ${processGroupId} ${compSpecName}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${typeName} = Evaluate $compSpecName.title()
- ${typeName} = Remove String ${typeName} -
- ${data} = Set Variable {"revision": {"clientId": "${CLIENT_ID}", "version": 0},"component": {"parentGroupId": "${processGroupId}", "name": "${compSpecName}", "type": "org.onap.dcae.${typeName}"}}
- Wait Until Keyword Succeeds 60s 5s Verify If NIFI Processor Is Created ${typeName}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/process-groups/${processGroupId}/processors data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
-
-Save Flow By Version Controlling
- [Arguments] ${flowName} ${processGroupId}
-
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
-
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/flow/registries/${REGISTRY_CLIENT_ID}/buckets headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
- ${bucketId} = Set Variable ${resp.json().get('buckets')[0].get('id')}
-
- ${processGrVersion} ${_}= Get Process Group Revision ${processGroupId}
-
- ${data} = Set Variable {"versionedFlow": {"flowName": "${flowName}", "bucketId": "${bucketId}", "registryId": "${REGISTRY_CLIENT_ID}"}, "processGroupRevision": {"clientId": "${CLIENT_ID}", "version": ${processGrVersion}}}
- ${resp} = Post Request ${SESSION_NAME} /nifi-api/versions/process-groups/${processGroupId} data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
-Distribute The Flow
- [Arguments] ${processGroupId}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${session}= Create Session distributor ${DCAEMOD_DISTRIBUTOR_API_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/process-groups/${processGroupId} headers=${headers}
- Should Be True ${resp.status_code} < 300
- Log ${resp.json()}
- ${flowId} = Set Variable ${resp.json().get('component').get('versionControlInformation').get('flowId')}
- ${data} = Set Variable {"processGroupId": "${flowId}"}
- ${resp} = Post Request distributor /distributor/distribution-targets/${DISTRIBUTION_TARGET_ID}/process-groups data=${data} headers=${headers}
- Should Be True ${resp.status_code} < 300
-
-Deploy Applictaion
- [Arguments] ${processGroupName} ${compSpecName}
- ${command_output} = Run And Return Rc And Output helm repo update
- Should Be Equal As Integers ${command_output[0]} 0
- ${helm_install}= Set Variable helm -n onap install ${ONAP_HELM_RELEASE}-${compSpecName} chart-museum/${compSpecName} --set global.repository=${registry_ovveride}
- ${helm_install_command_output} = Run And Return Rc And Output ${helm_install}
- Log ${helm_install_command_output[1]}
- Should Be Equal As Integers ${helm_install_command_output[0]} 0
- Set Test Variable ${IS_SERVICE_DEPLOYED} True
- ${kubectl_patch}= Set Variable kubectl -n onap patch deployment ${ONAP_HELM_RELEASE}-${compSpecName} -p '{"spec":{"template":{"spec":{"containers":[{"name": "${compSpecName}","image":"docker.io/nginx:latest"}]}}}}'
- ${kubectl_patch_command_output}= Run And Return Rc And Output ${kubectl_patch}
- Log ${kubectl_patch_command_output[1]}
- Should Be Equal As Integers ${kubectl_patch_command_output[0]} 0
- Wait Until Keyword Succeeds 4 min 15s Check NGINX Applictaion ${compSpecName}
-
-Check NGINX Applictaion
- [Arguments] ${compSpecName}
- ${check_command}= Set Variable kubectl get deployment -n onap | grep ${compSpecName} | grep 1/1
- ${check_command_command_output}= Run And Return Rc And Output ${check_command}
- Log ${check_command_command_output[1]}
- Should Be Equal As Integers ${check_command_command_output[0]} 0
-
-Undeploy Application
- [Arguments] ${CHART_NAME}
- Uninstall helm charts ${ONAP_HELM_RELEASE}-${CHART_NAME}
-
-Get Process Group Revision
- [Arguments] ${processGroupId}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${headers}= Create Dictionary content-type=application/json
- ${resp} = Get Request ${SESSION_NAME} /nifi-api/versions/process-groups/${processGroupId} headers=${headers}
- Should Be True ${resp.status_code} < 300
- ${currentProcessGrVersion} = Set Variable ${resp.json().get('processGroupRevision').get('version')}
- ${clientId} = Set Variable ${resp.json().get('processGroupRevision').get('clientId')}
-
- [Return] ${currentProcessGrVersion} ${clientId}
-
-Delete Distribution Target
- ${session}= Create Session distributor ${DCAEMOD_DISTRIBUTOR_API_SERVER}
- ${resp} = Delete Request distributor /distributor/distribution-targets/${DISTRIBUTION_TARGET_ID}
- Should Be True ${resp.status_code} < 300
-
-Delete Process Group
- [Arguments] ${processGroupId}
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${processGrVersion} ${clientId}= Get Process Group Revision ${processGroupId}
- ${resp} = Delete Request ${SESSION_NAME} /nifi-api/process-groups/${processGroupId}?version=${processGrVersion}&clientId=${clientId}
- Should Be True ${resp.status_code} < 300
-
-Delete Registry Client
- ${session}= Create Session ${SESSION_NAME} ${DCAEMOD_DESIGNTOOL_SERVER}
- ${resp} = Delete Request ${SESSION_NAME} /nifi-api/controller/registry-clients/${REGISTRY_CLIENT_ID}?version=${REGISTRY_CLIENT_VERSION}
- Should Be True ${resp.status_code} < 300
-
-Configure Nifi Registry And Distribution Target
- Restart Runtime API
- Add Registry Client
- Add Distribution Target
- Add chart repository chart-museum http://chart-museum:80 onapinitializer demo123456!
- ${command_output} = Run And Return Rc And Output ${HELM_RELEASE}
- Should Be Equal As Integers ${command_output[0]} 0
- Set Global Variable ${ONAP_HELM_RELEASE} ${command_output[1]}
-
-Restart Runtime API
- ${restart_command}= Set Variable kubectl delete pod $(kubectl get pods -n onap | grep dcaemod-runtime-api | awk '{print $1}') -n onap
- ${restart_command_command_output}= Run And Return Rc And Output ${restart_command}
- Log ${restart_command_command_output[1]}
- Should Be Equal As Integers ${restart_command_command_output[0]} 0
- Wait Until Keyword Succeeds 2 min 5s Check Runtime API
-
-Check Runtime API
- ${check_command}= Set Variable kubectl get deployment -n onap | grep dcaemod-runtime-api | grep 1/1
- ${check_command_command_output}= Run And Return Rc And Output ${check_command}
- Log ${check_command_command_output[1]}
- Should Be Equal As Integers ${check_command_command_output[0]} 0
-
-Delete Nifi Registry And Distribution Target
- Run Keyword If '${DISTRIBUTION_TARGET_ID}' != '${EMPTY}' Wait Until Keyword Succeeds 2 min 5s Delete Distribution Target
- Run Keyword If '${REGISTRY_CLIENT_ID}' != '${EMPTY}' Wait Until Keyword Succeeds 2 min 5s Delete Registry Client
-
-Delete Process Group And Deployment
- Run Keyword If ${IS_PROCESS_GROUP_SET} Run Keywords Delete Process Group ${PROCESS_GROUP_ID}
- ... AND Set Suite Variable ${IS_PROCESS_GROUP_SET} False
- Run Keyword If ${IS_SERVICE_DEPLOYED} Run Keywords Undeploy Application ${CHART_NAME}
- ... AND Set Suite Variable ${IS_SERVICE_DEPLOYED} False