blob: 07ea3b7b2351bdad6f8159a61433a8455874eb41 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
|
*** Settings ***
Documentation 5G Bulk PM Usecase functionality
Library RequestsLibrary
Library OperatingSystem
Library Collections
Library String
Library DateTime
Library SSHLibrary
Library JSONLibrary
Library Process
Library ONAPLibrary.JSON
Library ONAPLibrary.Utilities
Resource ../../resources/usecases/5gbulkpm_interface.robot
Resource ../../resources/mr_interface.robot
Resource ../../resources/dr_interface.robot
Suite Setup Send File Ready Event to VES Collector test
Suite Teardown Usecase Teardown
*** Variables ***
${INVENTORY_ENDPOINT} /dcae-service-types
${XNF_SFTP_BLUEPRINT_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/k8s-sftp.yaml
${BLUEPRINT_TEMPLATE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/blueprintTemplate.json
${FTP_FILE_PATH} ${EXECDIR}/robot/assets/usecases/5gbulkpm/pmfiles/A20181002.0000-1000-0015-1000_5G.xml.gz
${DEPLOYMENT_ENDPOINT} dcae-deployments
${MR_TOPIC_CHECK_PATH} /topics
${DR_SUB_CHECK_PATH} /internal/prov
${MR_TOPIC_URL_PATH} /events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS/CG1/C1
${MR_TOPIC_URL_PATH_FOR_POST} /events/org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS
${DMAAP_BC_MR_CLIENT_PATH} /webapi/mr_clients
${DMAAP_BC_MR_CLUSTER_PATH} /webapi/mr_clusters
${PMMAPPER_HEALTH_CHECK_PATH} /healthcheck
${JSON_DATA_FILE} ${EXECDIR}/robot/assets/usecases/5gbulkpm/Notification.json
${VES_LISTENER_PATH} /eventListener/v7
${PMMAPPER_SUB_ROLE_DATA} ${EXECDIR}/robot/assets/usecases/5gbulkpm/sub.json
${PMMAPPER_MR_CLUSTER_DATA} ${EXECDIR}/robot/assets/usecases/5gbulkpm/mr_clusters.json
${NEXUS3} ${GLOBAL_INJECTED_NEXUS_DOCKER_REPO}
${SET_KNOWN_HOSTS_FILE_PATH} kubectl set env deployment/$(kubectl get deployment -n onap | grep datafile | awk '{print $1}') KNOWN_HOSTS_FILE_PATH=/home/datafile/.ssh/known_hosts -n onap
${CHECK_ENV_SET} kubectl set env pod/$(kubectl get pod -n onap | grep datafile | awk '{print $1}') --list -n onap
${GET_RSA_KEY} kubectl exec $(kubectl get pod -n onap | grep sftpserver | awk '{print $1}') -n onap -- ssh-keyscan -t rsa sftpserver > /tmp/known_hosts
${COPY_RSA_KEY} kubectl cp /tmp/known_hosts $(kubectl get pod -n onap | grep datafile | awk '{print $1}'):/home/datafile/.ssh/known_hosts -n onap
${CHECK_DFC_LOGS} kubectl logs $(kubectl get pod -n onap | grep datafile | awk '{print $1}') -n onap --tail=4
${EXPECTED_PRINT} StrictHostKeyChecking is enabled but environment variable KNOWN_HOSTS_FILE_PATH is not set or points to not existing file
*** Test Cases ***
Deploying Data File Collector
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${headers}= Create Dictionary content-type=application/json
${session}= Create Session dfc ${INVENTORY_SERVER}
${resp}= Get Request dfc ${INVENTORY_ENDPOINT}?typeName=k8s-datafile headers=${headers}
${json}= Set Variable ${resp.json()}
${serviceTypeId-Dfc} Set Variable ${json['items'][0]['typeId']}
${image} Get Regexp Matches ${json['items'][0]['blueprintTemplate']} nexus3(.)*?(?=\\")
${image} Replace String ${image}[0] nexus3.onap.org:10001 ${NEXUS3}
Set Global Variable ${serviceTypeId-Dfc}
${deployment_data}= Set Variable {"serviceTypeId": "${serviceTypeId-Dfc}", "inputs": {"tag_version": "${image}"}}
${session}= Create Session deployment-dfc ${DEPLOYMENT_SERVER}
${resp}= Put Request deployment-dfc /${DEPLOYMENT_ENDPOINT}/datafile data=${deployment_data} headers=${headers}
${operationLink} Set Variable ${resp.json().get('links').get('status')}
${operationId} Fetch From Right ${operationLink} /
Wait Until Keyword Succeeds 5 minute 20 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} datafile ${operationId}
Deploying 3GPP PM Mapper
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${clusterdata}= OperatingSystem.Get File ${PMMAPPER_MR_CLUSTER_DATA}
${headers}= Create Dictionary content-type=application/json
${session}= Create Session dmaapbc ${DMAAP_BC_SERVER}
${resp}= Post Request dmaapbc ${DMAAP_BC_MR_CLUSTER_PATH} data=${clusterdata} headers=${headers}
${session}= Create Session pmmapper ${INVENTORY_SERVER}
${resp}= Get Request pmmapper ${INVENTORY_ENDPOINT}?typeName=k8s-pm-mapper headers=${headers}
${json}= Set Variable ${resp.json()}
${serviceTypeId-Pmmapper} Set Variable ${json['items'][0]['typeId']}
${image} Get Regexp Matches ${json['items'][0]['blueprintTemplate']} nexus3(.)*?(?=\')
${image} Replace String ${image}[0] nexus3.onap.org:10001 ${NEXUS3}
Set Global Variable ${serviceTypeId-Pmmapper}
${deployment_data}= Set Variable {"inputs":{"client_password": "${GLOBAL_DCAE_PASSWORD}", "tag_version": "${image}"},"serviceTypeId": "${serviceTypeId-Pmmapper}"}
${session}= Create Session deployment-pmmapper ${DEPLOYMENT_SERVER}
${resp}= Put Request deployment-pmmapper /${DEPLOYMENT_ENDPOINT}/pmmapper data=${deployment_data} headers=${headers}
${operationLink} Set Variable ${resp.json().get('links').get('status')}
${operationId} Fetch From Right ${operationLink} /
Wait Until Keyword Succeeds 6 minute 10 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} pmmapper ${operationId}
Deploying SFTP Server As xNF
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${blueprint}= OperatingSystem.Get File ${XNF_SFTP_BLUEPRINT_PATH}
${templatejson}= Load JSON From File ${BLUEPRINT_TEMPLATE_PATH}
${templatejson}= Update Value To Json ${templatejson} blueprintTemplate ${blueprint}
${templatejson}= Update Value To Json ${templatejson} typeName sftpserver
${json_data} Convert JSON To String ${templatejson}
${headers}= Create Dictionary content-type=application/json
${session}= Create Session sftp ${INVENTORY_SERVER}
${resp}= Post Request sftp ${INVENTORY_ENDPOINT} data=${json_data} headers=${headers}
${serviceTypeId-Sftp}= Set Variable ${resp.json().get('typeId')}
Set Global Variable ${serviceTypeId-Sftp}
${deployment_data}= Set Variable {"serviceTypeId": "${serviceTypeId-Sftp}" }
${session}= Create Session deployment-sftpserver ${DEPLOYMENT_SERVER}
${resp}= Put Request deployment-sftpserver /${DEPLOYMENT_ENDPOINT}/sftpserver data=${deployment_data} headers=${headers}
${operationLink}= Set Variable ${resp.json().get('links').get('status')}
${operationId} Fetch From Right ${operationLink} /
Wait Until Keyword Succeeds 2 minute 5 sec Deployment Status ${DEPLOYMENT_SERVER} ${DEPLOYMENT_ENDPOINT} sftpserver ${operationId}
Checking PERFORMANCE_MEASUREMENTS Topic In Message Router
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${headers}= Create Dictionary content-type=application/json
${subdata}= OperatingSystem.Get File ${PMMAPPER_SUB_ROLE_DATA}
${session}= Create Session dmaapbc ${DMAAP_BC_SERVER}
${resp}= Post Request dmaapbc ${DMAAP_BC_MR_CLIENT_PATH} data=${subdata} headers=${headers}
Wait Until Keyword Succeeds 5 minute 5 sec Topic Validate success
${resp}= Run MR Get Request ${MR_TOPIC_CHECK_PATH}
Should Be Equal As Strings ${resp.status_code} 200
${topics}= Set Variable ${resp.json().get('topics')}
List Should Contain Value ${topics} org.onap.dmaap.mr.PERFORMANCE_MEASUREMENTS
${resp}= Run MR Auth Get Request ${MR_TOPIC_URL_PATH} ${GLOBAL_DCAE_USERNAME} ${GLOBAL_DCAE_PASSWORD}
Should Be Equal As Strings ${resp.status_code} 200
Upload PM Files to xNF SFTP Server After Services Deployed
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH}
Set Global Variable ${epoch}
DR Bulk PM Feed Check
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${resp}= Run DR Get Request ${DR_SUB_CHECK_PATH}
Should Contain ${resp.text} bulk_pm_feed
DR PM Mapper Subscriber Check
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
${resp}= Run DR Get Request ${DR_SUB_CHECK_PATH}
Should Contain ${resp.text} https://dcae-pm-mapper:8443/delivery
Sending File Ready Event to VES Collector After Services Deployed
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
Send File Ready Event to VES Collector ${epoch}
Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic After Services Deployed
[Tags] 5gbulkpm 5gbulkpm_checking_sftp_rsa_key
Wait Until Keyword Succeeds 5 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult
Setting Known_Hosts Environment Set
[Tags] 5gbulkpm_checking_sftp_rsa_key
${rc}= Run and Return RC ${SET_KNOWN_HOSTS_FILE_PATH}
Should Be Equal As Integers ${rc} 0
Wait Until Keyword Succeeds 5 min 10s Check Known Hosts In Env ${CHECK_ENV_SET}
${rc}= Run and Return RC ${GET_RSA_KEY}
Should Be Equal As Integers ${rc} 0
${rc}= Run and Return RC ${COPY_RSA_KEY}
Should Be Equal As Integers ${rc} 0
Uploading PM Files to xNF SFTP Server After Known_Host Set
[Tags] 5gbulkpm_checking_sftp_rsa_key
Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH}
Set Global Variable ${epoch}
Sending File Ready Event to VES Collector After Known_Host Set
[Tags] 5gbulkpm_checking_sftp_rsa_key
Send File Ready Event to VES Collector ${epoch}
Verifying 3GPP Perf VES Content On PERFORMANCE_MEASUREMENTS Topic After Known_Host Set
[Tags] 5gbulkpm_checking_sftp_rsa_key
Wait Until Keyword Succeeds 5 minute 5 sec xNF PM File Validate perf3gpp_RnNode-Ericsson_pmMeasResult
Checking DFC Logs After Known_Hosts Set
[Tags] 5gbulkpm_checking_sftp_rsa_key
${dfc_logs}= Run Given Command On DFC Container ${CHECK_DFC_LOGS}
Should Not Contain ${dfc_logs} ${EXPECTED_PRINT}
Changing RSA Key Known_Hosts
[Tags] 5gbulkpm_checking_sftp_rsa_key
${get_known_hosts_file}= OperatingSystem.Get File /tmp/known_hosts
${change_rsa_key}= Replace String ${get_known_hosts_file} A a
Create File /tmp/known_hosts ${change_rsa_key}
${rc}= Run and Return RC ${COPY_RSA_KEY}
Should Be Equal As Integers ${rc} 0
Uploading PM Files to xNF SFTP Server After RSA Key Change
[Tags] 5gbulkpm_checking_sftp_rsa_key
Upload PM Files to xNF SFTP Server ${FTP_FILE_PATH}
Set Global Variable ${epoch}
Sending File Ready Event to VES Collector After RSA Key Change
[Tags] 5gbulkpm_checking_sftp_rsa_key
Send File Ready Event to VES Collector ${epoch}
Checking DFC Logs After RSA Key Change
[Tags] 5gbulkpm_checking_sftp_rsa_key
Wait Until Keyword Succeeds 5 sec 30 sec Check Given Print In DFC LOG ${CHECK_DFC_LOGS}
|