Table of Contents

Scenario Scope In Frankfurt

This scenario will demonstrate PNF SW upgrade with netconf/yang interface with EM. The E2E procedure is VID→ SO→ CDS→ EMS → PNF.  Beyond the work of scenario 1, it also need:

Impacts

Project/ComponentStory
SO

Common task with Scenario 1: PNF Software Upgrade using direct Netconf/Yang interface

No additional impacts

CDS

Common task with Scenario 1: PNF Software Upgrade using direct Netconf/Yang interface

Additional impact: EMS-compatiable CBA  file for integration test

Integration

1) EMS simulator extension

2) Integration document revision for PNF Sw Upgrade UC

JIRA Status Tracking

Head Tpic:

Test Status

NoTest CaseTest Status
1Download NE SW for PNF instance 1 from CDS to EM using SS REST APICOMPLETE
2Activate NE SW for PNF instance 1 from CDS to EM using SS REST APICOMPLETE
3Download NE SW for PNF instance 2 from CDS to EM using SS REST APCOMPLETE
4Activate NE SW for PNF instance 2 from CDS to EM using SS REST APICOMPLETE
5Test PNF SW upgrade Workflow for PNF instance 1 from SO to CDS (using SS gRPC API) to EM

COMPLETE


Preparation


1.  Initial PNF 5gDU0001 entry in AAI:

{
  "pnf-name": "5gDU0001",
  "pnf-id": "5gDU0001",
  "ipaddress-v4-oam": "192.168.35.83",
  "sw-version": "v1",
  "in-maint": false,
  "resource-version": "1584886143037"
}

Where Sw Version of PNF 5gDU0001 is "v1".


2. Initial software-management entries in EMS Simluator:

Initial Status of EMS Simulator

<software-management xmlns="http://onap.org/pnf-swm">
  <pnf-software-package>
    <neIdentifier>5gDU0001</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0002</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0003</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
</software-management>

Where software version of PNF 5gDU0001 is "v1".


3.  Add some entries to SO catalogdb:

use catalogdb;

insert into pnf_resource set MODEL_UUID='0b49b277-892c-4094-badd-3d2535d650b0', MODEL_VERSION='1.0';

insert into pnf_resource_customization set MODEL_CUSTOMIZATION_UUID='0649420c-ca2d-4e0a-9d34-2dca28d43a27', MODEL_INSTANCE_NAME='TestPnf', PNF_RESOURCE_MODEL_UUID='0b49b277-892c-4094-badd-3d2535d650b0', CONTROLLER_ACTOR='cds', CDS_BLUEPRINT_NAME='PNF_SW_UPGRADE_WITH_EM', CDS_BLUEPRINT_VERSION='1.0.0';

insert into pnf_resource_customization_to_service set SERVICE_MODEL_UUID='df91c347-4452-4d2e-9cfc-9ac3fe2a2a1b', RESOURCE_MODEL_CUSTOMIZATION_UUID='0649420c-ca2d-4e0a-9d34-2dca28d43a27';

insert into workflow (ARTIFACT_UUID, ARTIFACT_NAME, NAME, VERSION, DESCRIPTION, RESOURCE_TARGET, SOURCE) values ('245a0bca-3816-45c6-9270-1de25d27fc56', 'PNFSoftwareUpgrade.bpmn', 'PNFSoftwareUpgrade', '1.0', 'PNF Software Upgrade Test', 'pnf', 'native');


4. Upload CBA file to CDS:

Run the following commands:

git clone https://gerrit.onap.org/r/integration

cd integration/test/mocks/emssimulator/pnf-sw-upgrade-cba-builder

./build-cba-for-pnf-sw-upgrade-with-em.sh

Upload the generated PNF_SW_UPGRADE_WITH_EM.zip file to CDS.


Detailed Description of Integration Testcases and Results


Test case ID1
NameDownload NE SW for PNF instance 1 from CDS to EM using SS REST API
DescriptionDownload NE SW for PNF instance 1 from CDS to EM using SS REST API
ReleaseFrankfurt
Pre-conditions
Testing Steps


Test Command
curl -s -u "ccsdkapps:ccsdkapps" -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://cds.onap:30499/api/v1/execution-service/process -d @downloadNESw-request-body.json | python -m json.tool


Contents of downloadNESw-request-body.json

{
  "commonHeader": {
    "originatorId": "CurlTest",
    "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
    "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54"
  },
  "actionIdentifiers": {
    "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
    "blueprintVersion": "1.0.0",
    "actionName": "downloadNESw",
    "mode": "sync"
  },
  "payload": {
    "downloadNESw-request": {
      "downloadNESw-properties": {
        "pnf-id": "5gDU0001",
        "target-software-version": "v2"
      }
    }
  }
}


Response of CDS

{
    "commonHeader": {
        "timestamp": "2020-03-12T09:18:44.898Z",
        "originatorId": "CurlTest",
        "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
        "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54",
        "flags": null
    },
    "actionIdentifiers": {
        "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
        "blueprintVersion": "1.0.0",
        "actionName": "downloadNESw",
        "mode": "sync"
    },
    "status": {
        "code": 200,
        "eventType": "EVENT_COMPONENT_EXECUTED",
        "timestamp": "2020-03-12T09:18:54.770Z",
        "errorMessage": null,
        "message": "success"
    },
    "payload": {
        "downloadNESw-response": {}
    }
}


Status of EMS Simulator

<software-management xmlns="http://onap.org/pnf-swm">
  <pnf-software-package>
    <neIdentifier>5gDU0001</neIdentifier>
    <current-status>DOWNLOAD_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
      <swFileSize>12345678</swFileSize>
    </swToBeDownloaded>
    <state-change-time>2020-03-12T09:18:54Z</state-change-time>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0002</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0003</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
</software-management>


Conclusion (Pass/Fail)Pass
Test Lab



Test case ID2
NameActivate NE SW for PNF instance 1 from CDS to EM using SS REST API
DescriptionActivate NE SW for PNF instance 1 from CDS to EM using SS REST API
ReleaseFrankfurt
Pre-conditions
Testing Steps


Test Command
curl -s -u "ccsdkapps:ccsdkapps" -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://cds.onap:30499/api/v1/execution-service/process -d @activateNESw-request-body.json | python -m json.tool


Contents of activateNESw-request-body.json
{
  "commonHeader": {
    "originatorId": "CurlTest",
    "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
    "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54"
  },
  "actionIdentifiers": {
    "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
    "blueprintVersion": "1.0.0",
    "actionName": "activateNESw",
    "mode": "sync"
  },
  "payload": {
    "activateNESw-request": {
      "activateNESw-properties": {
        "pnf-id": "5gDU0001",
        "target-software-version": "v2"
      }
    }
  }
}


Response of CDS
{
    "commonHeader": {
        "timestamp": "2020-03-12T09:29:23.915Z",
        "originatorId": "CurlTest",
        "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
        "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54",
        "flags": null
    },
    "actionIdentifiers": {
        "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
        "blueprintVersion": "1.0.0",
        "actionName": "activateNESw",
        "mode": "sync"
    },
    "status": {
        "code": 200,
        "eventType": "EVENT_COMPONENT_EXECUTED",
        "timestamp": "2020-03-12T09:29:33.731Z",
        "errorMessage": null,
        "message": "success"
    },
    "payload": {
        "activateNESw-response": {}
    }
}


Status of EMS Simulator
<software-management xmlns="http://onap.org/pnf-swm">
  <pnf-software-package>
    <neIdentifier>5gDU0001</neIdentifier>
    <current-status>ACTIVATION_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
      <swFileSize>12345678</swFileSize>
    </swToBeDownloaded>
    <state-change-time>2020-03-12T09:29:33Z</state-change-time>
    <swVersionToBeActivated>v2</swVersionToBeActivated>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0002</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0003</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
</software-management>


Conclusion (Pass/Fail)Pass
Test Lab


Test case ID3
NameDownload NE SW for PNF instance 2 from CDS to EM using SS REST AP
DescriptionDownload NE SW for PNF instance 2 from CDS to EM using SS REST AP
ReleaseFrankfurt
Pre-conditions
Testing Steps


Test Command
curl -s -u "ccsdkapps:ccsdkapps" -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://cds.onap:30499/api/v1/execution-service/process -d @downloadNESw-request-body.json | python -m json.tool


Contents of downloadNESw-request-body.json
{
  "commonHeader": {
    "originatorId": "CurlTest",
    "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
    "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54"
  },
  "actionIdentifiers": {
    "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
    "blueprintVersion": "1.0.0",
    "actionName": "downloadNESw",
    "mode": "sync"
  },
  "payload": {
    "downloadNESw-request": {
      "downloadNESw-properties": {
        "pnf-id": "5gDU0003",
        "target-software-version": "v2"
      }
    }
  }
}


Response of CDS
{
    "commonHeader": {
        "timestamp": "2020-03-12T09:40:48.712Z",
        "originatorId": "CurlTest",
        "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
        "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54",
        "flags": null
    },
    "actionIdentifiers": {
        "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
        "blueprintVersion": "1.0.0",
        "actionName": "downloadNESw",
        "mode": "sync"
    },
    "status": {
        "code": 200,
        "eventType": "EVENT_COMPONENT_EXECUTED",
        "timestamp": "2020-03-12T09:40:58.742Z",
        "errorMessage": null,
        "message": "success"
    },
    "payload": {
        "downloadNESw-response": {}
    }
}


Status of EMS Simulator
<software-management xmlns="http://onap.org/pnf-swm">
  <pnf-software-package>
    <neIdentifier>5gDU0001</neIdentifier>
    <current-status>ACTIVATION_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
      <swFileSize>12345678</swFileSize>
    </swToBeDownloaded>
    <state-change-time>2020-03-12T09:29:33Z</state-change-time>
    <swVersionToBeActivated>v2</swVersionToBeActivated>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0002</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0003</neIdentifier>
    <current-status>DOWNLOAD_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
      <swFileSize>12345678</swFileSize>
    </swToBeDownloaded>
    <state-change-time>2020-03-12T09:40:58Z</state-change-time>
  </pnf-software-package>
</software-management>


Conclusion (Pass/Fail)Pass
Test Lab


Test case ID4
NameActivate NE SW for PNF instance 2 from CDS to EM using SS REST API
DescriptionActivate NE SW for PNF instance 2 from CDS to EM using SS REST API
ReleaseFrankfurt
Pre-conditions
Testing Steps


Test Command
curl -s -u "ccsdkapps:ccsdkapps" -H "Content-Type: application/json" -H "Accept: application/json" -X POST http://cds.onap:30499/api/v1/execution-service/process -d @activateNESw-request-body.json | python -m json.tool


Contents of activateNESw-request-body.json
{
  "commonHeader": {
    "originatorId": "CurlTest",
    "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
    "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54"
  },
  "actionIdentifiers": {
    "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
    "blueprintVersion": "1.0.0",
    "actionName": "activateNESw",
    "mode": "sync"
  },
  "payload": {
    "activateNESw-request": {
      "activateNESw-properties": {
        "pnf-id": "5gDU0003",
        "target-software-version": "v2"
      }
    }
  }
}


Response of CDS
{
    "commonHeader": {
        "timestamp": "2020-03-12T09:42:11.587Z",
        "originatorId": "CurlTest",
        "requestId": "59374d97-d3bb-44b1-a808-f5a28347a10b",
        "subRequestId": "98d8be21-6e31-4044-985a-a58583dc5c54",
        "flags": null
    },
    "actionIdentifiers": {
        "blueprintName": "PNF_SW_UPGRADE_WITH_EM",
        "blueprintVersion": "1.0.0",
        "actionName": "activateNESw",
        "mode": "sync"
    },
    "status": {
        "code": 200,
        "eventType": "EVENT_COMPONENT_EXECUTED",
        "timestamp": "2020-03-12T09:42:21.153Z",
        "errorMessage": null,
        "message": "success"
    },
    "payload": {
        "activateNESw-response": {}
    }
}


Status of EMS Simulator
<software-management xmlns="http://onap.org/pnf-swm">
  <pnf-software-package>
    <neIdentifier>5gDU0001</neIdentifier>
    <current-status>ACTIVATION_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
      <swFileSize>12345678</swFileSize>
    </swToBeDownloaded>
    <state-change-time>2020-03-12T09:29:33Z</state-change-time>
    <swVersionToBeActivated>v2</swVersionToBeActivated>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0002</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0003</neIdentifier>
    <current-status>ACTIVATION_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
      <swFileSize>12345678</swFileSize>
    </swToBeDownloaded>
    <state-change-time>2020-03-12T09:42:20Z</state-change-time>
    <swVersionToBeActivated>v2</swVersionToBeActivated>
  </pnf-software-package>
</software-management>


Conclusion (Pass/Fail)Pass
Test Lab


Test case ID5
NameTest PNF SW upgrade Workflow for PNF instance 1 from SO to CDS (using SS gRPC API) to EM
DescriptionTest PNF SW upgrade Workflow for PNF instance 1 from SO to CDS (using SS gRPC API) to EM
ReleaseFrankfurt
Pre-conditions
Testing Steps

NOTE:

1. Befor testing this case, reset the EMS Simulator to initial status;

2. Upload CBA file PNF_SW_UPGRADE_WITH_EM.zip to CDS.


Test Command
curl -s -u "InfraPortalClient:password1$" -H "Content-Type: application/json" -H "Accept: application/json" -H "X-ONAP-RequestID: 5301dc2e-9bd1-48ed-b6f7-728451f15009" -H "X-ONAP-PartnerName: SO-REST" -H "X-RequestorID: so-rest" -X POST http://so.onap:30277/onap/so/infra/instanceManagement/v1/serviceInstances/90e7925b-1eec-4deb-af16-938711aebda5/pnfs/5gDU0001/workflows/245a0bca-3816-45c6-9270-1de25d27fc56 -d @PNFSoftwareUpgrade-cds.json | python -m json.tool


Contents of PNFSoftwareUpgrade-cds.json

{
  "requestDetails": {
    "modelInfo": {
      "modelUuid": "df91c347-4452-4d2e-9cfc-9ac3fe2a2a1b"
    },
    "requestInfo": {
      "instanceName": "TestPnfSwUp02"
    },
    "requestParameters": {
      "userParams": [
        {
          "name": "pnfName",
          "value": "5gDU0001"
        },
        {
          "name": "targetSoftwareVersion",
          "value": "v2"
        }
      ]
    }
  }
}


Response of SO

{
  "requestReferences": {
      "requestId": "5301dc2e-9bd1-48ed-b6f7-728451f15009",
      "instanceId": "5gDU0001",
      "requestSelfLink": "http://so.onap:30277/orchestrationRequests/v1/5301dc2e-9bd1-48ed-b6f7-728451f15009"
  }
}


Retrieve the status of the workflow:

Test Command
curl -s -u "InfraPortalClient:password1$" -H "Accept: application/json" -X GET http://so.onap:30277/onap/so/infra/orchestrationRequests/v7/5301dc2e-9bd1-48ed-b6f7-728451f15009 | python -m json.tool


Status of the workflow

{
  "request": {
      "requestId": "5301dc2e-9bd1-48ed-b6f7-728451f15009",
      "startTime": "Sun, 22 Mar 2020 14:11:15 GMT",
      "requestScope": "pnf",
      "requestType": "forCustomWorkflow",
      "requestDetails": {
          "modelInfo": {
              "modelId": "df91c347-4452-4d2e-9cfc-9ac3fe2a2a1b",
              "modelUuid": "df91c347-4452-4d2e-9cfc-9ac3fe2a2a1b"
          },
          "requestInfo": {
              "source": null,
              "instanceName": "TestPnfSwUp02",
              "suppressRollback": false
          },
          "requestParameters": {
              "userParams": [
                  {
                      "name": "pnfName",
                      "value": "5gDU0001"
                  },
                  {
                      "name": "targetSoftwareVersion",
                      "value": "v2"
                  }
              ]
          }
      },
      "instanceReferences": {
          "serviceInstanceId": "90e7925b-1eec-4deb-af16-938711aebda5"
      },
      "requestStatus": {
          "requestState": "IN_PROGRESS",
          "timestamp": "Sun, 22 Mar 2020 14:11:16 GMT"
      }
  }
}


While the requestStatus is "IN_PROGRESS", then wait a minute to retrieve the status of workflow again and agiain, until the requestStatus is "COMPLETED":

Status of the workflow

{
  "request": {
      "requestId": "5301dc2e-9bd1-48ed-b6f7-728451f15009",
      "startTime": "Sun, 22 Mar 2020 14:11:15 GMT",
      "requestScope": "pnf",
      "requestType": "forCustomWorkflow",
      "requestDetails": {
          "modelInfo": {
              "modelId": "df91c347-4452-4d2e-9cfc-9ac3fe2a2a1b",
              "modelUuid": "df91c347-4452-4d2e-9cfc-9ac3fe2a2a1b"
          },
          "requestInfo": {
              "source": null,
              "instanceName": "TestPnfSwUp02",
              "suppressRollback": false
          },
          "requestParameters": {
              "userParams": [
                  {
                      "name": "pnfName",
                      "value": "5gDU0001"
                  },
                  {
                      "name": "targetSoftwareVersion",
                      "value": "v2"
                  }
              ]
          }
      },
      "instanceReferences": {
          "serviceInstanceId": "90e7925b-1eec-4deb-af16-938711aebda5"
      },
      "requestStatus": {
          "requestState": "COMPLETED",
          "statusMessage": "STATUS: PNF has been upgraded successfully.",
          "percentProgress": 100,
          "timestamp": "Sun, 22 Mar 2020 14:11:44 GMT"
      }
  }
}


While the requestStatus is "COMPLETED", then retrieve the Sw Version of PNF 5gDU0001 in AAI:

Command
curl -s -k -u "AAI:AAI" -H "X-FromAppId: aairest" -H "X-TransactionId: 1001" -H "Content-Type: application/json" -H "Accept: application/json" -X GET https://aai.onap:30233/aai/v19/network/pnfs/pnf/5gDU0001 | python -m json.tool


Response of retrieving AAI

{
  "pnf-name": "5gDU0001",
  "pnf-id": "5gDU0001",
  "ipaddress-v4-oam": "192.168.35.83",
  "sw-version": "v2",
  "in-maint": false,
  "resource-version": "1584886300806"
}

The Sw Version of PNF 5gDU0001 in AAI is upgrade to "v2".


Retrieve the status of EMS Simulator:

Status of EMS Simulator

<software-management xmlns="http://onap.org/pnf-swm">
  <pnf-software-package>
    <neIdentifier>5gDU0001</neIdentifier>
    <current-status>ACTIVATION_COMPLETED</current-status>
    <software-version>v2</software-version>
    <swToBeDownloaded>
      <swLocation>http://192.168.35.96:10080/ran_du_pkg1-v2.zip</swLocation>
      <swFileSize>12345678</swFileSize>
      <swFileCompression>ZIP</swFileCompression>
      <swFileFormat>binary</swFileFormat>
    </swToBeDownloaded>
    <state-change-time>2020-03-22T14:11:39Z</state-change-time>
    <swVersionToBeActivated>v2</swVersionToBeActivated>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0002</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
  <pnf-software-package>
    <neIdentifier>5gDU0003</neIdentifier>
    <current-status>CREATED</current-status>
    <software-version>v1</software-version>
  </pnf-software-package>
</software-management>

The software version of PNF 5gDU0001 in EMS Simulator is upgraded to "v2".


Conclusion (Pass/Fail)Pass
Test Lab