1, I onboard 3 new cloud regions into AAI (in addition to the default one (CloudOwner/RegionOne) populated by robot init script) with the ESR registration portal: http://portal.api.simpledemo.onap.org:30280/iui/aai-esr-gui/extsys/vim/vimView.html


               CloudOwner2/RegionOne

               CloudOwner2/CloudRegion2

               CloudOwner3/CloudRegion3


2, I hacked into SO to add them into catalogDB:


3, Instantiate a Service Instance of vLB service model: vLB2

               This is can only be done with Test API of “VNF_API”, while fails always with Test AP of GR_API


4, Add vnf to vLB2 and select the CloudRegion2(CloudOwner2)

               vLB2-VNF1

5, Prepare preload json for VID uploading (refer to https://wiki.onap.org/display/DW/VID+Preload+Upload+Option+Steps )

preload_vid_vlbbase.json

6, create VF Module:       vLB2-VNF1-VFM1

               Select CloudRegion2(CloudOwner2)

               Upload the “preload_vid_vlbbase.json”, de-select SDNC preload



Then I got the dialog showing the progress and told me the result is failure:

               "requestId": "eb45ded2-37dd-44a5-8708-45e2f1cc6aba",

"requestType": "createInstance",

"timestamp": "Wed, 29 May 2019 10:51:14",

"requestState": "FAILED",

"requestStatus": "STATUS: Received error from SDN-C: aic-cloud-region,CloudRegion2 not found in AAI",

"percent-progress": "100"


"requestId": "eb45ded2-37dd-44a5-8708-45e2f1cc6aba",

"requestType": "createInstance",

"timestamp": "Wed, 29 May 2019 10:51:13",

"requestState": "IN_PROGRESS",

"requestStatus": undefined,

"percent-progress": undefined


"requestId": "eb45ded2-37dd-44a5-8708-45e2f1cc6aba",

"requestType": "createInstance",

"timestamp": "Wed, 29 May 2019 10:51:12",

"requestState": "IN_PROGRESS",

"requestStatus": undefined,

"percent-progress": undefined


"requestId": "eb45ded2-37dd-44a5-8708-45e2f1cc6aba",

"requestType": "createInstance",

"timestamp": "Wed, 29 May 2019 10:51:10",

"requestState": "IN_PROGRESS",

"requestStatus": undefined,

"percent-progress": undefined



I think the critical issue is:

"requestStatus": "STATUS: Received error from SDN-C: aic-cloud-region,CloudRegion2 not found in AAI",


I am wondering why SDN-C is requesting (aic-cloud-region/CloudRegion2) other than (CloudOwner2/CloudRegion2) which specified via VID portal


Still investigating what's wrong or what the gap is


The following jira/patch might be relevant:


https://jira.onap.org/browse/SO-1904


https://jira.onap.org/browse/SO-1869


https://gerrit.onap.org/r/#/c/oom/+/88269


------------------------------------------------------------------------------------------------------------

Retest with latest OOM revision in master:


1, Failed to create service instance while selecting GR-API:

MSO failure - see log below for details

"requestId": "cdf05701-b3a2-44b7-9f2b-00540107e693",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 09:46:36",
"requestState": "FAILED",
"requestStatus": "STATUS: Exception in create execution list null",
"percent-progress": "100"

"requestId": "cdf05701-b3a2-44b7-9f2b-00540107e693",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 09:46:35",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

06/04/19 09:46:33 HTTP Status: Accepted (202)
{
"requestReferences":
{ "requestId": "cdf05701-b3a2-44b7-9f2b-00540107e693", "instanceId": "65958cbd-7070-4348-9b8a-c06e975d5733", "requestSelfLink": "http://so.onap:8080/orchestrationRequests/v7/cdf05701-b3a2-44b7-9f2b-00540107e693" }

}


2, Failed to create VF Module by selecting LCP: CloudRegion3(CloudOwner3) after selecting VNF-API:

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:57:03",
"requestState": "FAILED",
"requestStatus": "STATUS: Received error from SDN-C: SQL query failed",
"percent-progress": "100"

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:57:02",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:57:01",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:57:00",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:59",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:58",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:57",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:56",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:54",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:53",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:52",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:51",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:50",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:48",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:48",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:47",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:46",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:45",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:44",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:42",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:42",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:41",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:40",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"requestType": "createInstance",
"timestamp": "Tue, 04 Jun 2019 13:56:38",
"requestState": "IN_PROGRESS",
"requestStatus": undefined,
"percent-progress": undefined

06/04/19 13:56:37 HTTP Status: Accepted (202)
{
"requestReferences": {
"requestId": "a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0",
"instanceId": "76fa99ac-34e0-4df2-84df-57e6a51b2d63",
"requestSelfLink": "http://so.onap:8080/orchestrationRequests/v6/a09dc03e-7b9e-44c0-8e2f-afa8b0ff5ec0"
}
}


Progress on June 5th:



With patch https://gerrit.onap.org/r/#/c/so/+/89283/ I am able to create the service instance by GR-API now.


I met another issue while I am trying to “add node instance” by selecting non-default cloud-region: CloudRegion3(CloudOwner3) which differ the default one by both cloud-region-id and the cloud owner.


The vid dialog generate following error message:


"requestId": "55f679a6-c513-4b59-b8e4-e1ba8aba29d3",

"requestType": "createInstance",

"timestamp": "Wed, 05 Jun 2019 13:54:00",

"requestState": "FAILED",

"requestStatus": "STATUS: Exception in create execution list null",

"percent-progress": "100"


"requestId": "55f679a6-c513-4b59-b8e4-e1ba8aba29d3",

"requestType": "createInstance",

"timestamp": "Wed, 05 Jun 2019 13:53:59",

"requestState": "IN_PROGRESS",

"requestStatus": undefined,

"percent-progress": undefined


06/05/19 13:53:58 HTTP Status: Accepted (202)

{

  "requestReferences": {

    "requestId": "55f679a6-c513-4b59-b8e4-e1ba8aba29d3",

    "instanceId": "0caeb205-6fe5-417a-a028-c1f444951c3d",

    "requestSelfLink": "http://so.onap:8080/orchestrationRequests/v6/55f679a6-c513-4b59-b8e4-e1ba8aba29d3"

  }

}


So I tried to add another node instance by selecting “CloudRegion(CloudOwner)”, then it succeeded .


"requestId": "376c0dd2-3652-4bb6-a4d2-93442f20632a",

"requestType": "createInstance",

"timestamp": "Wed, 05 Jun 2019 13:55:27",

"requestState": "COMPLETE",

"requestStatus": "STATUS: ALaCarte-Vnf-createInstance request was executed correctly. FLOW STATUS: Successfully completed all Building Blocks",

"percent-progress": "100"


"requestId": "376c0dd2-3652-4bb6-a4d2-93442f20632a",

"requestType": "createInstance",

"timestamp": "Wed, 05 Jun 2019 13:55:25",

"requestState": "IN_PROGRESS",

"requestStatus": "FLOW STATUS: Execution of AssignVnfBB has completed successfully, next invoking ActivateVnfBB (Execution Path progress: BBs completed = 1; BBs remaining = 1).",

"percent-progress": "52"


AR: Not sure which project should take care of this issue, sent email to discuss email list, wait for response now


  • No labels

6 Comments

  1. Bin, at what lab are you working?

    I'm looking for VID's IP where you got the "requestStatus": "STATUS: Exception in create execution list null"


    1. Hi Ittay,

      I tested it under VIM tenant. You can ssh to rancher VM with following ip. Appreciate you could help on this issue.

      rancher IP: ubuntu@10.12.5.222
      k8s node IP: 10.12.6.25


  2. Hi Bin,

    as I see from the Test instructions (step 2) in Dublin SO is still not using the AAI Cloud entries, but need to have entries in its own Catalog DB, which is quite bad.

    Do you have instruction how to add additional Cloud entries to the SO Catalog DB?
    Unfortunately SO does not document an instruction for that.

    Thanks a lot

    Andreas

    1. Hi Andreas,

      There are multiple way to do (hacking) that:

      1, add your cloud sites to SO's override.yaml before you deploy your ONAP instance

      2, update the catalogdb by hacking into the shared database pod

      3, attach to robot pod (or any pod that have the internal access to ONAP's service) and issue the curl commands

      4, other approaches I don't know yet

      I didn't try the 1st approach, if you would like to try the approach 2, here are the instructions for your reference:

      --------------

      Prerequisite: if you would like to leverage the new adapter of SO to integrate SO with MultiCloud for your added cloudsites

         Set the so-bpmn vnf to v2:

         Option 1:

      kubernetes/so/charts/so-bpmn-infra/resources/config/overrides/override.yaml


      vnf:

      endpoint:http://so-openstack-adapter.{{include"common.namespace".}}:8087/services/VnfAdapter

      rest:

      endpoint:http://so-openstack-adapter.{{include"common.namespace".}}:8087/services/rest/v1/vnfs


            option 2:

      1. edit the configmap and change the vnf rest endpoint verstion to v2 (from v1)  (or change this before installing oom in the overrides)
      2. kubectl -n onap edit configmap dev-so-so-bpmn-infra-app-configmap
      3. endpoint: http://so-openstack-adapter.onap:8087/services/rest/v2/vnfs 
      4. delete the so bpmn pod – it will come back with updated setting


      --------------
      hacking with DB commands:

      kubectl into the mariadb:

      e.g. the dev-mariadb-galera-mariadb-galera-0 pod

      # mysql -u root --password=secretpassword

      use catalogdb;

      select * from cloud_sites;

      insert into cloud_sites(ID, REGION_ID, IDENTITY_SERVICE_ID, CLOUD_VERSION, CLLI, ORCHESTRATOR) values("CloudRegion2", "CloudRegion2", "DEFAULT_KEYSTONE", "2.5", "clli1", "multicloud");

      select * from identity_services;

      UPDATE identity_services set admin_tenant="service",member_role="admin",identity_server_type="KEYSTONE",identity_authentication_type='USERNAME_PASSWORD',tenant_metadata=1 where ID="DEFAULT_KEYSTONE";


      If you would like to try with approach 3, here are the instructions for you reference:


      Hacking with rest api:

      #kubectl exec -it -n onap dev-robot-robot-7b46f9fd7c-d2gwt – bash

      root@dev-robot-robot-7b46f9fd7c-d2gwt:/# apt-get update
      root@dev-robot-robot-7b46f9fd7c-d2gwt:/# apt-get install curl


      curl -v \
      -H 'Accept: application/json' \
      -H 'Authorization: Basic YnBlbDpwYXNzd29yZDEk' \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 48fe7844-839e-469e-a8b8-1fb493dfaba3' \
      -H 'Real-Time: true' \
      -H 'X-FromAppId: jimmy-postman' \
      -H 'X-TransactionId: 9999' \
      -H 'cache-control: no-cache' \
      -X GET \
      so-catalog-db-adapter.onap:8082/manage/health

      curl -v \
      -H 'Accept: application/json' \
      -H 'Authorization: Basic YnBlbDpwYXNzd29yZDEk' \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 48fe7844-839e-469e-a8b8-1fb493dfaba3' \
      -H 'Real-Time: true' \
      -H 'X-FromAppId: jimmy-postman' \
      -H 'X-TransactionId: 9999' \
      -H 'cache-control: no-cache' \
      -X GET \
      so-catalog-db-adapter.onap:8082/cloudSite

      curl -v \
      -H 'Accept: application/json' \
      -H 'Authorization: Basic YnBlbDpwYXNzd29yZDEk' \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 48fe7844-839e-469e-a8b8-1fb493dfaba3' \
      -H 'Real-Time: true' \
      -H 'X-FromAppId: jimmy-postman' \
      -H 'X-TransactionId: 9999' \
      -H 'cache-control: no-cache' \
      -X GET \
      so-catalog-db-adapter.onap:8082/cloudSite/CloudRegion2

      curl -v \
      -H 'Accept: application/json' \
      -H 'Authorization: Basic YnBlbDpwYXNzd29yZDEk' \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 48fe7844-839e-469e-a8b8-1fb493dfaba3' \
      -H 'Real-Time: true' \
      -H 'X-FromAppId: jimmy-postman' \
      -H 'X-TransactionId: 9999' \
      -H 'cache-control: no-cache' \
      -X DELETE \
      so-catalog-db-adapter.onap:8082/cloudSite/CloudRegion2

      curl -v \
      -H 'Accept: application/json' \
      -H 'Authorization: Basic YnBlbDpwYXNzd29yZDEk' \
      -H 'Content-Type: application/json' \
      -H 'Postman-Token: 48fe7844-839e-469e-a8b8-1fb493dfaba3' \
      -H 'Real-Time: true' \
      -H 'X-FromAppId: jimmy-postman' \
      -H 'X-TransactionId: 9999' \
      -H 'cache-control: no-cache' \
      -X POST \
      so-catalog-db-adapter.onap:8082/cloudSite \
      -d '{
      "id": "CloudRegion3",
      "region_id": "CloudRegion3",
      "aic_version": "2.5",
      "clli": "clli1",
      "orchestrator" : "multicloud",
      "identityService" : {
      "id" : "DEFAULT_KEYSTONE2",
      "identity_url": "http://10.12.25.2:5000/v2.0",
      "mso_id": "demo",
      "mso_pass": "",
      "admin_tenant": "service",
      "member_role": "admin",
      "tenant_metadata": true,
      "identity_server_type": "KEYSTONE",
      "identity_authentication_type": "USERNAME_PASSWORD"
      }
      }'


      Good luck


  3. Andreas Geissler  SO gets cloudConfig info form AAI it just doesn't add this to it's database as cloudConfig used as the basis for instantiation requests. The current assumption is that all of this will be present in SO overrides.yaml on deploy.


    However, if you use homing, cloud config is automatically put into SO DB at the time the service etc is homed. I.E. If you have homing distance, homing latency or homing HPA policies and add the correct user params in instantiation requests, when the cloudConfig (ultimately from AAI & Multicloud) is passed back to SO it stores this in its database and uses that as the basis for instantiation requests.

    1. Marcus Williams This seems something new in Dublin? Is there any document to tell how to do or test it? Thanks