Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

All the events during a VF creation so we can understand all the orchestration steps at a granular REST level.

Passwords in /testsuite/properties/integration_robot_properties.py

Variables

IAD region

keynamevalue

servicec54316d8-464e-4967-bece-8c2b2f458b66

VNF6229cdee-10f6-4ec4-a5e0-0593154e6d83

VfModule5a08199b-4161-4181-9b2d-da29f6df1410


Prerequisites 

SeqNameSourceTargetActorREST writeREST read

License Model



http://{{sdc_ip}}:8080/onboarding-api/v1.0/vendor-license-models

FD0FBEDB1AB64D1CA1A4E266862CAEE7


Licence Key Group



where id is from LM above

http://{{sdc_ip}}:8080/onboarding-api/v1.0/vendor-license-models/FD0FBEDB1AB64D1CA1A4E266862CAEE7/license-key-groups


Entitlement Pool



where id is from LM above

http://{{sdc_ip}}:8080/onboarding-api/v1.0/vendor-license-models/FD0FBEDB1AB64D1CA1A4E266862CAEE7/entitlement-pools


Feature Group



where id is from LM above

http://{{sdc_ip}}:8080/onboarding-api/v1.0/vendor-license-models/FD0FBEDB1AB64D1CA1A4E266862CAEE7/feature-groups


License Aggreement



where id is from LM above

http://{{sdc_ip}}:8080/onboarding-api/v1.0/vendor-license-models/FD0FBEDB1AB64D1CA1A4E266862CAEE7/license-agreements


VSP



http://{{sdc_ip}}:8080/onboarding-api/v1.0/vendor-software-products

get index by LM id "vendorId": "FD0FBEDB1AB64D1CA1A4E266862CAEE7"

...

SeqNameSourceTargetActorREST writeREST read

create customerrobotaai./demo.sh init

PUT

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

{ "global-customer-id": "ONAP-User",
"service-subscriptions": {
"service-subscription": [{
"relationship-list": {
"relationship": [{
"related-to": "tenant",
"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": "{{tenant_id}}"
}] }]},
"service-type": "vFW"
}] },
"subscriber-name": "ONAP-User",
"subscriber-type": "INFRA"}

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

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


create service modelrobotaai./demo.sh inithttps://{{aai_ip}}:8443/
PUT aai/v8/service-design-and-creation/
models"
services
{   "service-id": "${UUID}",
"service-description": "${service_type}"}

https://{{aai_ip}}:8443/aai/v8/service-design-and-creation/models

"model-name-version-id": "dcb40136-9cec-45be-b080-2a36b31c2f06",
"model-type": "service", "model-name": "vfservice",
"model-id": "43d59b70-8829-4a50-a3f7-d261b220ceef"

...

SeqNameSourceTargetActorREST writeREST read

deploy service modelvidaaidemo user
9023f592-5c64-4a5b-9333-3287fdc9d304

create service instancevidaaidemo user

Input:

InstanceName=DemoInstance
Subscriber=Demonstration
ServiceType=vFW

Output:
SIID=c54316d8-464e-4967-bece-8c2b2f458b66

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

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

{ "service-instance": [{
"service-instance-id": "c54316d8-464e-4967-bece-8c2b2f458b66",
"service-instance-name": "DemoInstance",
"persona-model-id": "2a01ef12-9bb1-4205-9941-a506cbae99c9",

...

SeqNameSourceTargetActorREST writeREST read

create Vf module <DemoModule>vid
demo user

Output:

VfModuleID=5a08199b-4161-4181-9b2d-da29f6df1410
HeatStackID=DemoModule/55bd16d6-6bac-4638-9e87-9063df6d03c3

via OpenStack

openstack server list

4be336b3-a31c-4be0-9261-0cb1cb51227d | demofwl01fwl  | ACTIVE | oam_ecomp_LbMf=10.1.0.11; demofwl_unprotected=192.168.110.100; public=104.239.230.93, | ||  | |  | 2001:4802:7803:104:be76:4eff:fe20:377b; demofwl_protected=192.168.120.100 










...

// require: cert, username, password, headers(X-FromAppId,Accept), Authenticator
public String run(boolean isSSL, String url, String port, String path) {
  String record = null;
Client client = null;
WebTarget latestTarget = null;
WebTarget rootTarget = null;
if(isSSL) {
SslConfigurator sslConfig = SslConfigurator.newInstance();
SSLContext sslContext = sslConfig.createSSLContext();
HostnameVerifier verifier = new HostnameVerifier() {
public boolean verify(String hostname, SSLSession sslSession) {
return true; // TODO: security breach
}};
client = ClientBuilder.newBuilder().sslContext(sslContext).hostnameVerifier(verifier).build();
client.register(new Authenticator("AAI","AAI"));
} else {
      client = ClientBuilder.newClient();
}
rootTarget = client.target(url);
latestTarget = rootTarget.path(path);
try {
try { Thread.sleep(1); } catch (InterruptedException ie) { Thread.currentThread().interrupt(); }
record = finalTarget.request()
.header("X-FromAppId", "AAI").header("Accept", "application/json")
.get(String.class);
public class Authenticator implements ClientRequestFilter {
private final String user;
private final String pass;

public Authenticator(String user, String password) {
this.user = user; this.pass = password;
}

public void filter(ClientRequestContext requestContext) throws IOException {
MultivaluedMap<String, Object> headMap = requestContext.getHeaders();
String basicAuth = null;
try {
String aToken = user + ":" + pass;
basicAuth = "BASIC " + DatatypeConverter.printBase64Binary(aToken.getBytes("UTF-8"));
} catch (UnsupportedEncodingException uee) { throw new IllegalStateException("Encoding with UTF-8 failed", uee);}
headMap.add("Authorization", basicAuth);
}
}

DI 2: 20170712: Spring Boot Backend Framework

...

DI 12: 20170712: Three js Text

DI 13: 20170721: Demo Robot REST extraction

Reverse engineer the orchestration rest calls coming out of demo.sh

/testsuite/properties/demo.sh not /testsuite/docker/demo.sh

/testsuite/runtags.sh

/testsuite/resources/demo_preload.robot "Load Customer And Models"
"Create Customer For VNF Demo"

create_customer.robot (aai put /aai/v8//business/customers/customer/)

create_service.robot (aai put /aai/v8/service-design-and-creation/services

"Load Models" | Distribute Model | Model Distribution For Directory in model_test_template.robot | Distribute Model From ASDC in addc_interface.robot

(Add ASDC Catalog Service, Setup ASDC Catalog Resource, Get ASDC Catalog Resource, 
Add ASDC Resource Instance, Get ASDC Catalog Service, Checkin ASDC Catalog Service,
Request Certify ASDC Catalog Service, Start Certify ASDC Catalog Service, Certify ASDC Catalog Service, Approve ASDC Catalog Service, 
Distribute ASDC Catalog Service, Get ASDC Catalog Service, Check Catalog Service Distributed)
 
Preload VNF:demo.robot (
  Preload User Model:demo_preload.robot (
    Get Service Instance
    Get Relationship Data
    Get Persona Model Id
    Login To VID GUI
    Get Module Names from VID
    Preload Vnf:sdngc_interface.robot(
      Update Module Name
      Preload Vnf Profile(
        Login To SDNGC Admin GUI

goto sdnc:8843/mobility/getVnfProfile

        click add_vnf_profile

)

      Preload One Vnf Topology

)))


  


DI 20: 20170721: Rest API Chaining