Warning: Draft Content

This wiki is under construction

Motivation: Having issues with MSO provisioning on Rackspace - need all REST API endpoints

Use or combine with Overall Deployment Architecture to determine what a fully functional set of VMs, processes and containers should look like for 1.0.0 and 1.1.0 - so we can be sure that the ONAP deployment is sound as much as possible before provisioning VFs.

http://onap.readthedocs.io/en/latest/index.html

ONAP GUIs

see https://kubernetes.io/docs/tasks/administer-cluster/access-cluster-services/

APPNameURLDocker portKubernetes portHeat port
AAI
http://146.20.65.5:9517/services/aai/webapp/index.html#/viewInspect

OOM-347 - Getting issue details... STATUS

9517






GrafanaGrafana

Part of the Kubernetes distribution -

https://aws.onap.info:8880/r/projects/1a7/kubernetes:6443/api/v1/namespaces/kube-system/services/monitoring-grafana/proxy

expose via last lines of

https://git.onap.org/logging-analytics/tree/deploy/rancher/oom_rancher_setup.sh

kubectl expose -n kube-system deployment monitoring-grafana --type=LoadBalancer --name monitoring-grafana-client





Monitoring

watch for DCAE collector traffic - 

tcpdump -i eth0 port not 22 | grep 3904


We have monitoring currently in DCAE Project Proposal (5/11/17).  Proposed monitoring functionality is in Holmes (5/11/17) and ONAP Operations Manager / ONAP on Containers.  For the purposes of this demo, we would like to see some overall system/jvm/rest level monitoring while we exercise the demo.

One option is using New Relic agents.

Run the following (use your own account/token) on each VM (Note: JVM processes in docker containers will be visible to the host - so currently - until I run into issues - we don't need to expose extra ports on the containers)

    echo deb http://apt.newrelic.com/debian/ newrelic non-free >> /etc/apt/sources.list.d/newrelic.list

    wget -O- https://download.newrelic.com/548CIEEE16BF.gpg | apt-key add -

    apt-get update

    apt-get install newrelic-sysmond

    nrsysmond-config --set license_key=<akey>

    /etc/init.d/newrelic-sysmond start

Postman/Curl REST calls

Passwords in /testsuite/properties/integration_robot_properties.py

Remember to load each server URL in chrome to accept the cert (save it for curls) 

Note AAI V11 is a flat model (no child nodes) - V8 is deep - IE the region contains the tenant

VMNameReqRes
AAI
https://{{aai_ip}}:8443/aai/v8/business/customers/customer/Demonstration/service-subscriptions/service-subscription/vFW/service-instances/

{"service-instance": [{
"service-instance-id": "4ed1d78a-00c7-4493-89bc-a4d3e98247f7",
"service-instance-name": "DemoInstance",
"persona-model-id": "ea53cfa6-4429-41bc-8672-c36c4336aa75",
"persona-model-version": "1.0","resource-version": "1497379146",
"relationship-list": {"relationship": [{"related-to": "generic-vnf",
"related-link": "https://aai:8443/aai/v8/network/generic-vnfs/generic-vnf/724feb61-37b0-4d40-bbbe-dc3655d27937/",
"relationship-data": [{"relationship-key": "generic-vnf.vnf-id","relationship-value": "724feb61-37b0-4d40-bbbe-dc3655d27937"}],
"related-to-property": [{"property-key": "generic-vnf.vnf-name","property-value": "DemoVNF"}]}]}}]}


AAI

CURL (will require the aai certificate (export it from firefox)

root@ip-172-31-82-46:~# curl -X GET https://127.0.0.1:30233/aai/v11/cloud-infrastructure/cloud-regions/ -H "authorization: Basic TW9kZWxMb2FkZXI6TW9kZWxMb2FkZXI=" -H "X-TransactionId:jimmy-postman" -H "X-FromAppId:AAI" -H "Content-Type:application/json" -H "Accept:application/json" --cacert aaiapisimpledemoopenecomporg_20171003.crt -k

{"requestError":{"serviceException":{"messageId":"SVC3001","text":"Resource not found for %1 using id %2 (msg=%3) (ec=%4)","variables":["GET","cloud-infrastructure/cloud-regions/","Node Not Found:No Node of type cloud-region found at: cloud-infrastructure/cloud-regions/","ERR.5.4.6114"]}}}root@ip-172-31-82-46:~#

aaiapisimpledemoopenecomporg_20171003.crt update after


AAI

cloud-region put - to fix above - and before we run init

PUT /aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne HTTP/1.1
Host: 34.194.214.186:30233
Accept: application/json
Content-Type: application/json
X-FromAppId: AAI
X-TransactionId: get_aai_subscr
Authorization: Basic QUFJOkFBSQ==
Cache-Control: no-cache
Postman-Token: 9f71f570-043c-ec79-6685-d0d599fb2c6f

{
"cloud-owner": "CloudOwner",
"cloud-region-id": "RegionOne",
"cloud-region-version": "v2",
"cloud-type": "SharedNode",
"cloud-zone": "CloudZone",
"owner-defined-type": "OwnerType",
"tenants": {
"tenant": [{
"tenant-id": "1035022",
"tenant-name": "ecomp-dev"
}]
}
}

on the CD server

curl -X PUT https://127.0.0.1:30233/aai/v11/cloud-infrastructure/cloud-regions/cloud-region/CloudOwner/RegionOne --data "@aai-cloud-region-put.json" -H "authorization: Basic TW9kZWxMb2FkZXI6TW9kZWxMb2FkZXI=" -H "X-TransactionId:jimmy-postman" -H "X-FromAppId:AAI" -H "Content-Type:application/json" -H "Accept:application/json" --cacert aaiapisimpledemoopenecomporg_20171003.crt -k




AAI

customer post demo.sh init

https://{{aai_ip}}:8443/aai/v8/business/customers

auth: AAI:AAI or Basic QUFJOkFBSQ==


rootTarget.request().header("X-FromAppId", "AAI").get(String.class)


{ "customer": [ {
"global-customer-id": "Demonstration","subscriber-name": "Demonstration", "subscriber-type": "INFRA", "resource-version": "1499992251",
"service-subscriptions": {"service-subscription": [ {
"service-type": "vFW","resource-version": "1499992251",
"relationship-list": {"relationship": [{"related-to": "tenant",
"related-link": "https://aai:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/DFW/tenants/tenant/1035021/",
"relationship-data": [ { "relationship-key": "cloud-region.cloud-owner",
"relationship-value": "Rackspace" }, {
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "DFW" }, {
"relationship-key": "tenant.tenant-id",
"relationship-value": "1035021"} ],
"related-to-property": [{ "property-key": "tenant.tenant-name",
"property-value": "1035021"} ] } ] } }, {
"service-type": "vLB",
"resource-version": "1499992251","relationship-list": { "relationship": [ { "related-to": "tenant",
"related-link": "https://aai:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/Rackspace/DFW/tenants/tenant/1035021/",
"relationship-data": [ { "relationship-key": "cloud-region.cloud-owner",
"relationship-value": "Rackspace" }, {
"relationship-key": "cloud-region.cloud-region-id",
"relationship-value": "DFW" }, {
"relationship-key": "tenant.tenant-id",
"relationship-value": "1035021" } ],
"related-to-property": [ { "property-key": "tenant.tenant-name",
"property-value": "1035021" } ] } ] } } ] } } ]}


AAI

Same as above - but different customer endpoint

https://{{aai_ip}}:8443/aai/v8/business/customers/customer

{"global-customer-id": "Demonstration","subscriber-name": "Demonstration","subscriber-type": "INFRA",


aai

GET

https://{{aai_ip}}:{{aai_port}}/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/IAD/RegionOne


{
"cloud-owner": "IAD",
"cloud-region-id": "RegionOne",
"cloud-type": "SharedNode",
"owner-defined-type": "OwnerType",
"cloud-region-version": "v1",
"cloud-zone": "CloudZone",
"resource-version": "1507147808029",
"tenants": {
"tenant": [
{
"tenant-id": "6f2d976d3e1649dc844a13012863d1f2",
"tenant-name": "ecomp-dev",
"resource-version": "1507147808109"
}
]
}
}


appc

restconf

http://{{appc_ip}}:30230/restconf/config/network-topology:network-topology/topology/topology-netconf

user:pass ?




DCAE
DCAE API Documentation

DCAE DMaaP
http://{{collector_ip}}:3904/events/unauthenticated.TCA_EVENT_OUTPUT/group3/sub1?timeout=30000

DCAE DMaaP
http://{{collector_ip}}:3904/events/unauthenticated.SEC_MEASUREMENT_OUTPUT/group3/sub1?timeout=3000

[ "{\"event\":{\"measurementsForVfScalingFields\":{\"measurementInterval\":10,\"measurementsForVfScalingVersion\":1.1,\"vNicUsageArray\":[{\"multicastPacketsIn\":0,\"bytesIn\":10,\"unicastPacketsIn\":0,\"multicastPacketsOut\":0,\"broadcastPacketsOut\":0,\"packetsOut\":0,\"bytesOut\":0,\"packetsIn\":500,\"broadcastPacketsIn\":0,\"vNicIdentifier\":\"eth1\",\"unicastPacketsOut\":0}]},\"commonEventHeader\":{\"reportingEntityName\":\"mux1-vnf\",\"startEpochMicrosec\":1486118565570584,\"lastEpochMicrosec\":1486118575570584,\"eventId\":\"1\",\"sourceName\":\"mux_key_gIr3\",\"sequence\":1,\"priority\":\"Normal\",\"functionalRole\":\"vFirewall\",\"domain\":\"measurementsForVfScaling\",\"reportingEntityId\":\"No UUID available\",\"version\":1.1,\"sourceId\":\"b49a2e0e-ee40-48c0-8f9e-842712bea52a\"}}}"]


dmaap

Get the list of topics with this: 

curl -X GET http://dmaap-hostname:3904/topics 

Create a missing topic with this:

curl -X POST -H "content-type: application/json" --data @bogus-empty-event.json http://dmaap-hostname:3904/events/POA-AUDIT-INIT



Holmes
Health Check - Beijing

MSO

API history for service instance

http://{{mso_ip}}:8080/ecomp/mso/infra/orchestrationRequests/v2/?filter=serviceInstanceId%3AEQUALS%3Ac54316d8-464e-4967-bece-8c2b2f458b66

auth: InfraPortalClient:password1$ or Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==

...
"instanceReferences": {
"serviceInstanceId": "c54316d8-464e-4967-bece-8c2b2f458b66",
"serviceInstanceName": null,
"vnfInstanceId": "6229cdee-10f6-4ec4-a5e0-0593154e6d83",
"vnfInstanceName": null,
"vfModuleInstanceId": "5a08199b-4161-4181-9b2d-da29f6df1410",
"vfModuleInstanceName": "DemoModule",
"volumeGroupInstanceId": null,
"volumeGroupInstanceName": null,
"networkInstanceId": null,
"networkInstanceName": null
}, "requestStatus": {
"requestState": "COMPLETE",
"statusMessage": "Vf Module has been created successfully.",
"percentProgress": 100,
"finishTime": "Tue, 18 Jul 2017 21:35:47 GMT"


Policy
auth: testrest:3c0mpU#h01@N1c3 or Basic dGVzdHJlc3Q6M2MwbXBVI2gwMUBOMWMz

SDC

Consumer creation

SDC API

auth: sdcclient:password or Basic c2RjY2xpZW50OnBhc3N3b3Jk

Example: A GET query sent from VID to SDC to retrieve a service metadata

URL: http://{sdc_ip}:8080/sdc/v1/catalog/services/1eec58c0-d5e2-45c5-be9c-c873a1749541/metadata

Headers:

Authorization:Basic dmlkOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=
X-ECOMP-InstanceID:VID


verify

curl -X GET  http://{{your-server}}:8080/sdc2/rest/v1/catalog/services/serviceName/vepc/serviceVersion/1.0   -H 'user_id: cs0008'


verify

$ curl -X GET http://sdc:8080/sdc/v1/catalog/resources -H "authorization: Basic YWFpOktwOGJKNFNYc3pNMFdYbGhhazNlSGxjc2UyZ0F3ODR2YW9HR21KdlV5MlU=" -H "x-ecomp-instanceid:AAI"

{
"uuid": "1eec58c0-d5e2-45c5-be9c-c873a1749541",
"invariantUUID": "87c579fe-14de-44ff-81c2-5e2f731e54ab",
"name": "tutorial service",
"version": "1.0",
"toscaModelURL": "/sdc/v1/catalog/services/1eec58c0-d5e2-45c5-be9c-c873a1749541/toscaModel",
"category": "Network L4+",
"lifecycleState": "CERTIFIED",
"lastUpdaterUserId": "jm0007",
"distributionStatus": "DISTRIBUTED",
"lastUpdaterFullName": "Joni Mitchell",
"resources": [
{
"resourceInstanceName": "tutorial firewall 0",
"resourceName": "tutorial firewall",
"resourceInvariantUUID": "b574fdf8-4551-4d94-ba29-efbaf1dded10",
"resourceVersion": "1.0",
"resoucreType": "VF",
"resourceUUID": "0605d080-9210-48ff-8fc0-8685ed087acf",
"artifacts": [
{
"artifactName": "vf-license-model.xml",
"artifactType": "VF_LICENSE",
"artifactURL": "/sdc/v1/catalog/services/1eec58c0-d5e2-45c5-be9c-c873a1749541/resourceInstances/tutorialfirewall0/artifacts/e7c06878-d8de-4364-8cf8-4c81d7b733b3",
"artifactDescription": "VF license file",
"artifactChecksum": "NjdiNzdlYWEwMjM4NDcwZjI2NzJjY2M0OGFjYzdlNDE=",
"artifactUUID": "e7c06878-d8de-4364-8cf8-4c81d7b733b3",
"artifactVersion": "1",
"artifactLabel": "vflicense",
"artifactGroupType": "DEPLOYMENT"
},
...


SDNC
auth: admin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U or Basic YWRtaW46S3A4Yko0U1hzek0wV1hsaGFrM2VIbGNzZTJnQXc4NHZhb0dHbUp2VXkyVQ==

VID

8080/vid

auth <null>:<null> or Basic Og==





Additional sources:

just found consolidated auth info in the oom repo

root@obriensystemskub0:~/oom/kubernetes/config# vi ../config/docker/init/src/config/robot/eteshare/config/integration_robot_properties.py

Username / Password / Authorization Token

An aside: (I didn't realize or I forgot an aspect of base64 - dthat we could reverse engineer the password/username combination from the encoded <alphanumeric_token> in the header key:value = Authorization:Basic <alphanumeric_token>.  Again thanks Yves - use a public site like https://www.base64decode.org/  For example for MSO we take the token SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA== and get InfraPortalClient:password1$ which is defined throughout the ONAP codebase in for example the VID DockerFile.

Prerequisites

If running postman https endpoints (some of our VM's run SSL like AAI - but MSO for example will still run straight HTTP) - trust the server certificate in Postman (thank you Yves): You won't be able to run an https endpoint until the certificate is trusted in Chrome - paste an https request into the browser - one time - to enable the trusted certificate in postman.

For example: postman will work against AAI after launching the following (your IP) in chrome

https://{{aai_ip}}:8443/aai/v8/cloud-infrastructure/cloud-regions/

For programmatic JAX-RS 2.0 clients add the following

// fix java.security.cert.CertificateException: No subject alternative names present
HostnameVerifier verifier = new HostnameVerifier() { public boolean verify(String hostname, SSLSession sslSession) { return true; // TODO: security breach }};

MSO VM

WIP: work in progress

An example get on a specific vFW VF from the demo.  In this case we use the cs0001 user to get the Vf Module ID from the edit page of a service instance's VF in VID


Postman

Request

Query API History for VF Module

GET /ecomp/mso/infra/orchestrationRequests/v2/?filter=vfModuleInstanceId%3AEQUALS%3A90e7cbda-053c-46fb-9df7-c8559c29299c HTTP/1.1
Host: 104.130.169.47:8080
Accept: application/json
Content-Type: application/json
X-FromAppId: AAI
X-TransactionId: get_aai_subscr
Authorization: Basic SW5mcmF›Qb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==
Cache-Control: no-cache
Postman-Token: 6afbd585-4b77-2e7a-71d0-5b99a0930a1e

http://104.130.169.47:8080/ecomp/mso/infra/orchestrationRequests/v2/?filter=vfModuleInstanceId%3AEQUALS%3A90e7cbda-053c-46fb-9df7-c8559c29299c

Postman

Response

{"requestList": [ {"request": {
"requestId": "8230aa5f-cbcf-492d-817a-37243475b46f",
"startTime": "Mon, 15 May 2017 12:25:25 GMT",
"requestScope": "vfModule",
"requestType": "createInstance",
"requestDetails": {"modelInfo": {
"modelCustomizationName": null,
"modelInvariantId": "ce3e0e4e-3189-4798-b4b2-f60f3d69e378",
"modelType": "vfModule",
"modelNameVersionId": "d55da365-52e2-47ee-8d48-011891909f4f",
"modelName": "AmdocsTestFirewall..base_vfw..module-0",
"modelVersion": "1"},......]}

curl

obrienbiometrics:onap michaelobrien$ curl -X GET -H "Authorization: Basic SW5mcmFQb3J0YWxDbGllbnQ6cGFzc3dvcmQxJA==" -H "Content-Type: application/json" -aH "Cache-Control" -d '' http://104.130.169.999:8080/ecomp/mso/infra/orchestrationRequests/v2/?filter=vfModuleInstanceId%3AEQUALS%3A90e7cbda-053c-46fb-9df7-c8559c29299c

{"requestList":[{"request":{"requestId":"8230aa5f-cbcf-492d-817a-37243475b46f","startTime":"Mon, 15 May 2017 12:25:25 GMT","requestScope":"vfModule","requestType":"createInstance","requestDetails":{"modelInfo":{"modelCustomizationName":null,"modelInvariantId":"ce3e0e4e-3189-4798-b4b2-f60f3d69e378","modelType":"vfModule","modelNameVersionId":"d55da365-52e2-47ee-8d48-011891909f4f","m......


AAI

Add Sample data set to AAI for Sparky

GET /aai/v8/service-design-and-creation/services HTTP/1.1
Host: 104.239.234.999:8443
Accept: application/json
Content-Type: application/json
X-FromAppId: AAI
X-TransactionId: get_aai_subscr
Authorization: Basic QUFJOkFBSQ==
Cache-Control: no-cache
Postman-Token: 7c1b1415-e8e8-6701-dbef-f1994001e291

{"service": [{
"service-id": "c29f33c3-75d2-4210-8a71-0f805821c0cc",
"service-description": "vFW",
"resource-version": "1494850829"
},{
"service-id": "761805dd-19de-4e0b-8c72-33b77e6dbe1f",
"service-description": "vLB",
"resource-version": "1494850829"
}]}




Workarounds for Distribution and Deployment

SDC Distribution failure

20170914: SDC service distribution is failing - a partial workaround is to run ./demo.sh distribute - after manually adding the "Demonstration" customer and associating with a new cloud region.

PUT /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/IAD/IAD HTTP/1.1

Host: 146.20.65.5:8443

Accept: application/json

Content-Type: application/json

X-FromAppId: AAI

X-TransactionId: get_aai_subscr

Authorization: Basic QUFJOkFBSQ==

Cache-Control: no-cache

Postman-Token: db2cb2b2-5ecc-1acf-3d9b-a08cdf53102c




{

	"cloud-owner": "IAD",

	"cloud-region-id": "IAD",

	"cloud-region-version": "v1",

	"cloud-type": "SharedNode",

	"cloud-zone": "CloudZone",

	"owner-defined-type": "OwnerType",

	"tenants": {

		"tenant": [{

			"tenant-id": "1035021",

			"tenant-name": "ecomp-dev"

		}]

	}

}




GET /aai/v8/cloud-infrastructure/cloud-regions/ HTTP/1.1

Host: 146.20.65.5:8443

Accept: application/json

Content-Type: application/json

X-FromAppId: AAI

X-TransactionId: jimmy-postman

Authorization: Basic TW9kZWxMb2FkZXI6TW9kZWxMb2FkZXI=

Cache-Control: no-cache

Postman-Token: 48cc0bab-4a34-af53-ea77-48fa4a536813




{

    "cloud-region": [

        {

            "cloud-owner": "IAD",

            "cloud-region-id": "IAD",

            "cloud-type": "SharedNode",

            "owner-defined-type": "OwnerType",

            "cloud-region-version": "v1",

            "cloud-zone": "CloudZone",

            "resource-version": "1505416531254",

            "tenants": {

                "tenant": [

                    {

                        "tenant-id": "1035021",

                        "tenant-name": "ecomp-dev",

                        "resource-version": "1505416532060"

                    }

                ]

            }

        }

    ]

}




GET /aai/v8/cloud-infrastructure/cloud-regions/cloud-region/IAD/IAD/tenants/tenant/1035021 HTTP/1.1

Host: 146.20.65.5:8443

Accept: application/json

Content-Type: application/json

X-FromAppId: AAI

X-TransactionId: get_aai_subscr

Authorization: Basic QUFJOkFBSQ==

Cache-Control: no-cache

Postman-Token: bf5b90a0-38f3-1767-d3d0-c97ee1dfe2f0







{

    "tenant-id": "1035021",

    "tenant-name": "ecomp-dev",

    "resource-version": "1505416532060"

}







PUT /aai/v10/business/customers/customer/Demonstration HTTP/1.1

Host: 146.20.65.5:8443

Accept: application/json

Content-Type: application/json

X-FromAppId: AAI

X-TransactionId: get_aai_subscr

Authorization: Basic QUFJOkFBSQ==

Cache-Control: no-cache

Postman-Token: 2e9eb0a4-ae81-6f07-80a4-4d4939e133b6




{ "global-customer-id": "Demonstration",

 "service-subscriptions": {

 "service-subscription": [{

 "relationship-list": {

 "relationship": [{

 "related-to": "tenant",

 "relationship-data": [{

 "relationship-key": "cloud-region.cloud-owner",

 "relationship-value": "IAD"

 }, {

 "relationship-key": "cloud-region.cloud-region-id",

 "relationship-value": "IAD"

 }, {

 "relationship-key": "tenant.tenant-id",

 "relationship-value": "1035021"

 }] }]},

 "service-type": "vFW"

 }] },

 "subscriber-name": "Demonstration",

 "subscriber-type": "INFRA"}







GET /aai/v8/business/customers HTTP/1.1

Host: 146.20.65.5:8443

Accept: application/json

Content-Type: application/json

X-FromAppId: AAI

X-TransactionId: get_aai_subscr

Authorization: Basic QUFJOkFBSQ==

Cache-Control: no-cache

Postman-Token: 6a887711-f76e-4529-a42f-30bcb4e2d127




{

    "customer": [

        {

            "global-customer-id": "Demonstration",

            "subscriber-name": "Demonstration",

            "subscriber-type": "INFRA",

            "resource-version": "1505417454006",

            "service-subscriptions": {

                "service-subscription": [

                    {

                        "service-type": "vFW",

                        "resource-version": "1505417454761",

                        "relationship-list": {

                            "relationship": [

                                {

                                    "related-to": "tenant",

                                    "related-link": "https://146.20.65.5:8443/aai/v8/cloud-infrastructure/cloud-regions/cloud-region/IAD/IAD/tenants/tenant/1035021",

                                    "relationship-data": [

                                        {

                                            "relationship-key": "cloud-region.cloud-owner",

                                            "relationship-value": "IAD"

                                        },

                                        {

                                            "relationship-key": "cloud-region.cloud-region-id",

                                            "relationship-value": "IAD"

                                        },

                                        {

                                            "relationship-key": "tenant.tenant-id",

                                            "relationship-value": "1035021"

                                        }

                                    ],

                                    "related-to-property": [

                                        {

                                            "property-key": "tenant.tenant-name",

                                            "property-value": "ecomp-dev"

                                        }

                                    ]

                                }

                            ]

                        }

                    }

                ]

            }

        }

    ]

}







PUT /aai/v8/service-design-and-creation/services/service/demoVFW HTTP/1.1

Host: 146.20.65.5:8443

Accept: application/json

Content-Type: application/json

X-FromAppId: AAI

X-TransactionId: get_aai_subscr

Authorization: Basic QUFJOkFBSQ==

Cache-Control: no-cache

Postman-Token: 0436aabb-197c-3c58-3c65-3387aebab2bb




{

	"service-description": "demoVFW",

	"service-id": "demoVFW"

}


then





p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 11.0px Menlo; color: #ffffff; background-color: #2b66c9}
span.s1 {font-variant-ligatures: no-common-ligatures}



root@vm1-robot:/opt# ./demo.sh distribute

Starting Xvfb on display :89 with res 1280x1024x24

Executing robot tests at log level TRACE

==============================================================================

OpenECOMP ETE                                                                 

==============================================================================

OpenECOMP ETE.Robot                                                           

==============================================================================

OpenECOMP ETE.Robot.Testsuites                                                

==============================================================================

OpenECOMP ETE.Robot.Testsuites.Demo :: Executes the VNF Orchestration Test ...

==============================================================================

Initialize Models                                                     | PASS |

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

OpenECOMP ETE.Robot.Testsuites.Demo :: Executes the VNF Orchestrat... | PASS |

1 critical test, 1 passed, 0 failed

1 test total, 1 passed, 0 failed

==============================================================================

OpenECOMP ETE.Robot.Testsuites                                        | PASS |

1 critical test, 1 passed, 0 failed

1 test total, 1 passed, 0 failed

==============================================================================

OpenECOMP ETE.Robot                                                   | PASS |

1 critical test, 1 passed, 0 failed

1 test total, 1 passed, 0 failed

==============================================================================

OpenECOMP ETE                                                         | PASS |

1 critical test, 1 passed, 0 failed

1 test total, 1 passed, 0 failed

==============================================================================

Output:  /share/logs/demo/InitDistribution/output.xml

Log:     /share/logs/demo/InitDistribution/log.html

Report:  /share/logs/demo/InitDistribution/report.html


Swagger API Endpoints

TODO: get swagger docs for all servers

This is an expanding list of API endpoints to verify your ONAP deployment - ideally we would post a postman config and environment file.

VMContainerext portURLuser:passgerrit sourceGenerating Artifacts
AAI




AAI API#GeneratingAAIAPIDocs
Policypdp8081

<service>:8081/pdp/swagger-ui.html

oom

http://10.12.5.81:30220/pdp/swagger-ui.html#/policy-engine-services




SDNC

sdnc_controller_container

8282http://sdnc:8282/apidoc/explorer/index.htmladmin:Kp8bJ4SXszM0WXlhak3eHlcse2gAw84vaoGGmJvUy2U


Robot Healthcheck

There actually is a set of scripts already on the robot vm inside its docker container - currently attempting to get these to pass (won't check your VFs though)

root@16e8d4997655:/var/opt/OpenECOMP_ETE# ./runTags.sh -i health h -d ./html -V /share/config/robot_properties_ete.py

IDVMContainerProcessHealthcheck

AAI



MSO



Policy

drools

docker exec -it -u 0 drools su - policy



note: escape any special chars like the exclamation point in the password

curl http://healthcheck:zb\!XztG34@policy:6969/healthcheck

{"healthy":true,"details":[{"name":"PDP-D","url":"self","healthy":true,"code":200,"message":"alive"},{"name":"PAP","url":"http://pap:9091/pap/test","healthy":true,"code":200,"message":""},{"name":"PDP","url":"http://pdp:8081/pdp/test","healthy":true,"code":200,"message":""}]}

for postman: Basic aGVhbHRoY2hlY2s6emIhWHp0RzM0

{ "healthy": true,
"details": [
{
"name": "PDP-D",
"url": "self",
"healthy": true,
"code": 200,
"message": "alive"
}, {
"name": "PAP",
"url": "http://pap:9091/pap/test",
"healthy": true,
"code": 200,
"message": ""
}, {
"name": "PDP",
"url": "http://pdp:8081/pdp/test",
"healthy": true,
"code": 200,
"message": ""
}]}


Portals


Portal

SDC - http://sdnc:8843/user/listUsers

Demo VMs

ssh keys

The private key for the 3 vFW demo VM's is in /testsuite/robot/assets/keys/robot_ssh_private_key.pvt

obrienbiometrics:onap michaelobrien$ ssh -i robot_ssh_private_key.pvt root@172.99.67.148 

root@demofwl01pgn:~# history

Artifacts Required

  • log files for each VM and set of docker containers - or how to aggregate them - not necessarily at the SumoLogic level

  • VM/container or JVM health checks - ideally something like New Relic agents on the box
  • Would be nice to have something we can run on vm1-robot that would automate a healthcheck on all the containers


Get the list of topics with this: 

curl -X GET http://dmaap-hostname:3904/topics

 

Create a missing topic with this:

curl -X POST -H "content-type: application/json" --data @bogus-empty-event.json http://dmaap-hostname:3904/events/POA-AUDIT-INIT


Integration Sanity Tests


  • No labels

7 Comments

  1. great idea

    Would like log file directories for each vm/container

    and  to have all vm/containers to have a verification script (like the sdc vm)

    Also need to have url's/ports for each web page and api.  

  2. Log directories in progress - including in/out of container shares

    ONAP Log Locations


  3. todo: verify aai 

    :9517/services/aai/webapp/index.html#/viewInspect

    /sdc/v1/catalog/services/Vfservice/1.0/resourceInstances/vsp0/artifacts/vf-license-model.xml


  4. Mike 

    Some notes I had 

    • If the SDC Gui throws 500 Error or does not show up  – Check for SDC Sanity container on SDC VM .We have seen this container getting exitted . Shall raise a ticket if seen again .

          -   for MSO Logs check for 2 places inside testlab container of MSO  .

    • /var/log/ecomp/MSO/ individual directories to look for SDNC Adaptor , tenant Adaptor , VNF Adaptor . 

          Another logs in SO /var/logs/../error.log 

         For SDC also I shall look up at my notes and provide the log location inside SDC FE and SDC BE Containers . 

    but all this data I have is for Heat .





  5. Hi ,

          I have created customer , subscription for a service, But when I tried instantiating the service in VID I could see neither the subscriber name nor the service instance name.  Here are the steps which I followed ,

    1)created complex object

    2)Registered cloud region

    3) updated tenant details

    4) created customer

    5) created service instance

    6) Associated customer with tenant info

    While creating the customer, in the service-type field I gave the service name which I modeled in sdc. Can someone help me solve this issue ?

  6. todo add

    URL = http://1.2.3.4:8080/epsdk-apps-os/welcome.htm

    REST URL = Blank

    User = demo

    Password = demo

  7. can we run demo-k8s.sh to create demo customer with a dummy openstack?

    or is working openstack mandatory?

    I have installed onap but openstack is not setup. When I run the script ./demo-k8s.sh onap init - it fails due to connection time with dummy openstack url