From 94ad509756f17e79c278e3cc2f87440009125cd1 Mon Sep 17 00:00:00 2001 From: gummar Date: Tue, 18 Feb 2020 18:54:44 +0000 Subject: Merge SW Upgrade Blueprint into PNF_AAI and create one UAT BP for PNF UAT: Add support to multiple responses for a single request Set property IN_UAT=1 during UAT execution so blueprints can tune their settings to values more suitable for testing (like timeouts) Add 'times' field to specify expected number of invocations Add UAT blueprint script for PNF SW Upgrade UC Add current thread check for Hazelcast distributed lock Resolve URI before returning Issue-ID: CCSDK-2091 Change-Id: Id256bad043488f88f1b60015ebf9ade4be607fa2 Signed-off-by: gummar --- .../uat-blueprints/PNF_CDS_RESTCONF/Tests/uat.yaml | 374 +++++++++++++++++++++ 1 file changed, 374 insertions(+) create mode 100644 components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Tests/uat.yaml (limited to 'components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Tests') diff --git a/components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Tests/uat.yaml b/components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Tests/uat.yaml new file mode 100644 index 000000000..79328e697 --- /dev/null +++ b/components/model-catalog/blueprint-model/uat-blueprints/PNF_CDS_RESTCONF/Tests/uat.yaml @@ -0,0 +1,374 @@ +%YAML 1.1 +--- +processes: + - name: config-assign + request: + commonHeader: &commonHeader + originatorId: sdnc + requestId: "123456-1000" + subRequestId: sub-123456-1000 + actionIdentifiers: &assign-ai + blueprintName: PNF_CDS_RESTCONF + blueprintVersion: "1.0.0" + actionName: config-assign + mode: sync + payload: + config-assign-request: + resolution-key: &resKey "RES-KEY 61" + config-assign-properties: + service-instance-id: siid_1234 + pnf-id: &pnfId pnf-id-2019-07-12 + service-model-uuid: service-model-uuid + pnf-customization-uuid: pnf-customization-uuid + expectedResponse: + commonHeader: *commonHeader + actionIdentifiers: *assign-ai + status: + code: 200 + eventType: EVENT_COMPONENT_EXECUTED + errorMessage: null + message: success + payload: + config-assign-response: {} + - name: config-deploy + request: + commonHeader: *commonHeader + actionIdentifiers: &deploy-ai + actionName: config-deploy + blueprintName: PNF_CDS_RESTCONF + blueprintVersion: "1.0.0" + mode: sync + payload: + config-deploy-request: + resolution-key: *resKey + config-deploy-properties: + service-instance-id: siid_1234 + pnf-id: *pnfId + service-model-uuid: service-model-uuid + pnf-customization-uuid: pnf-customization-uuid + expectedResponse: + commonHeader: *commonHeader + actionIdentifiers: *deploy-ai + payload: + config-deploy-response: {} + status: + code: 200 + errorMessage: null + eventType: EVENT_COMPONENT_EXECUTED + message: success + - name: precheck + request: + commonHeader: &swugCommonHeader + originatorId: sdnc + requestId: "123456-1000" + subRequestId: sub-123456-1000 + actionIdentifiers: &precheck-ai + blueprintName: PNF_CDS_RESTCONF + blueprintVersion: "1.0.0" + actionName: precheck + mode: sync + payload: + precheck-request: + resolution-key: &resKey "RES-KEY 61" + precheck-properties: &actionProps + service-instance-id: siid_1234 + pnf-id: &pnfId pnf-id-2019-07-12 + target-software-version: "2.0.2" + service-model-uuid: service-model-uuid + pnf-customization-uuid: pnf-customization-uuid + expectedResponse: + commonHeader: *swugCommonHeader + actionIdentifiers: *precheck-ai + status: + code: 200 + eventType: EVENT_COMPONENT_EXECUTED + errorMessage: null + message: success + payload: + precheck-response: {} + - name: downloadNeSw + request: + commonHeader: *swugCommonHeader + actionIdentifiers: &download-ai + blueprintName: PNF_CDS_RESTCONF + blueprintVersion: "1.0.0" + actionName: downloadNeSw + mode: sync + payload: + downloadNeSw-request: + resolution-key: *resKey + downloadNeSw-properties: *actionProps + expectedResponse: + commonHeader: *swugCommonHeader + actionIdentifiers: *download-ai + status: + code: 200 + eventType: EVENT_COMPONENT_EXECUTED + errorMessage: null + message: success + payload: + downloadNeSw-response: {} + - name: activateNeSw + request: + commonHeader: *swugCommonHeader + actionIdentifiers: &activate-ai + blueprintName: PNF_CDS_RESTCONF + blueprintVersion: "1.0.0" + actionName: activateNeSw + mode: sync + payload: + activateNeSw-request: + resolution-key: *resKey + activateNeSw-properties: *actionProps + expectedResponse: + commonHeader: *swugCommonHeader + actionIdentifiers: *activate-ai + status: + code: 200 + eventType: EVENT_COMPONENT_EXECUTED + errorMessage: null + message: success + payload: + activateNeSw-response: {} + - name: postcheck + request: + commonHeader: *swugCommonHeader + actionIdentifiers: &postcheck-ai + blueprintName: PNF_CDS_RESTCONF + blueprintVersion: "1.0.0" + actionName: postcheck + mode: sync + payload: + postcheck-request: + resolution-key: *resKey + postcheck-properties: *actionProps + expectedResponse: + commonHeader: *swugCommonHeader + actionIdentifiers: *postcheck-ai + status: + code: 200 + eventType: EVENT_COMPONENT_EXECUTED + errorMessage: null + message: success + payload: + postcheck-response: {} +external-services: + - selector: aai-data + expectations: + - request: + method: GET + path: [ /aai/v14/network/pnfs/pnf, *pnfId] + headers: + Accept: application/json + response: + headers: + Content-Type: application/json + body: + ipaddress-v4-oam: &pnfAddress 13.13.13.13 + ipaddress-v6-oam: 1::13 + - selector: sdnc + expectations: + - request: + method: PUT + path: &configUri [ /restconf/config, &nodeIdentifier [network-topology:network-topology/topology/topology-netconf/node, *pnfId]] + headers: + Content-Type: application/json + body: + node: + - node-id: *pnfId + netconf-node-topology:protocol: { name: TLS } + netconf-node-topology:host: *pnfAddress + netconf-node-topology:key-based: + username: netconf + key-id: ODL_private_key_0 + netconf-node-topology:port: 6513 + netconf-node-topology:tcp-only: false + netconf-node-topology:max-connection-attempts: 5 + response: + status: 201 + - request: + method: GET + path: [ /restconf/operational, *nodeIdentifier] + response: + body: + node: [ { netconf-node-topology:connection-status: connected }] + - request: + method: GET + path: [*configUri, &configletResourcePath yang-ext:mount/mynetconf:netconflist] + response: + body: {} + - request: + method: PATCH + path: [*configUri, *configletResourcePath] + headers: + Content-Type: application/yang.patch+json + body: + ietf-restconf:yang-patch: + patch-id: patch-1 + edit: + - edit-id: edit1 + operation: merge + target: / + value: { netconflist: { netconf: [ { netconf-id: "10", netconf-param: "1000" }]}} + - edit-id: edit2 + operation: merge + target: / + value: { netconflist: { netconf: [ { netconf-id: "20", netconf-param: "2000" }]}} + - edit-id: edit3 + operation: merge + target: / + value: { netconflist: { netconf: [ { netconf-id: "30", netconf-param: "3000" }]}} + response: + body: + ietf-yang-patch:yang-patch-status: + patch-id: patch-1 + ok: [ + null + ] + ### External expectations for Software Upgrade + - request: + method: GET + path: &ConfigSwUgUri [*configUri, &configletResourcePath yang-ext:mount/pnf-sw-upgrade:software-upgrade] + headers: + Accept: application/json + responses: + - headers: + Content-Type: application/json + body: + software-upgrade: + upgrade-package: + - id: 2.0.1 + current-status: INITIALIZED + user-label: trial software update + uri: sftp:127.0.0.1/test_software_1.img + software-version: 2.0.1 + user: test_user + password: test_password + - headers: + Content-Type: application/json + body: + software-upgrade: + upgrade-package: + - id: 2.0.1 + current-status: INITIALIZED + user-label: trial software update + uri: sftp:127.0.0.1/test_software_1.img + software-version: 2.0.1 + user: test_user + password: test_password + - headers: + Content-Type: application/json + body: + software-upgrade: + upgrade-package: + - id: 2.0.1 + current-status: INITIALIZED + user-label: trial software update + uri: sftp:127.0.0.1/test_software_1.img + software-version: 2.0.1 + user: test_user + password: test_password + - id: 2.0.2 + current-status: DOWNLOAD_COMPLETED + state-change-time: '2020-02-20T13:03:21Z' + software-version: 2.0.2 + user-label: trial software update + uri: sftp:127.0.0.1/test_software_1.img + user: test_user + password: test_password + - headers: + Content-Type: application/json + body: + software-upgrade: + upgrade-package: + - id: 2.0.1 + current-status: INITIALIZED + user-label: trial software update + uri: sftp:127.0.0.1/test_software_1.img + software-version: 2.0.1 + user: test_user + password: test_password + - id: 2.0.2 + current-status: ACTIVATION_COMPLETED + state-change-time: '2020-02-20T13:03:21Z' + software-version: 2.0.2 + user-label: trial software update + uri: sftp:127.0.0.1/test_software_1.img + user: test_user + password: test_password + - request: + method: PATCH + path: *ConfigSwUgUri + headers: + Content-Type: application/yang.patch+json + body: + ietf-restconf:yang-patch: + patch-id: patch-1 + edit: + - edit-id: edit1 + operation: merge + target: "/" + response: + headers: + Content-Type: application/yang.patch-status+json + body: + { ietf-yang-patch:yang-patch-status: {patch-id: patch-1, ok: [ ] } } + times: 2 + - request: + method: GET + path: [*ConfigSwUgUri, upgrade-package/2.0.2] + headers: + Accept: application/json + responses: + - headers: + Content-Type: application/json + body: + upgrade-package: + - id: 2.0.2 + current-status: DOWNLOAD_IN_PROGRESS + state-change-time: '2020-02-20T12:17:34.984Z' + software-version: 2.0.2 + - headers: + Content-Type: application/json + body: + upgrade-package: + - id: 2.0.2 + current-status: DOWNLOAD_IN_PROGRESS + state-change-time: '2020-02-20T12:52:30Z' + software-version: 2.0.2 + - headers: + Content-Type: application/json + body: + upgrade-package: + - id: 2.0.2 + current-status: DOWNLOAD_COMPLETED + state-change-time: '2020-02-20T13:03:21Z' + software-version: 2.0.2 + - headers: + Content-Type: application/json + body: + upgrade-package: + - id: 2.0.2 + current-status: ACTIVATION_IN_PROGRESS + state-change-time: '2020-02-20T13:05:08Z' + software-version: 2.0.2 + - headers: + Content-Type: application/json + body: + upgrade-package: + - id: 2.0.2 + current-status: ACTIVATION_IN_PROGRESS + state-change-time: '2020-02-20T12:52:30Z' + software-version: 2.0.2 + - headers: + Content-Type: application/json + body: + upgrade-package: + - id: 2.0.2 + current-status: ACTIVATION_COMPLETED + state-change-time: '2020-02-20T13:07:12Z' + software-version: 2.0.2 + - request: + method: DELETE + path: *configUri + times: 5 \ No newline at end of file -- cgit 1.2.3-korg