DRAFT
This is a work in progress. Comments and suggestions gladly accepted. Draft will be removed once this is finalized.
HPA SO External Sequence Flow for Casablanca
HPA SO External API Interaction for Casablanca
Policy
Still Under Discussion: Utilize existing SO generic-rest-adapter. This is a possible interaction with Policy to obtain service specific flow path decision for Service Model.
OOF
Still Under Discussion: Utilize existing SO Homing code. SO will adhere the OOF/SO R2 APIs updated for R3 to fix issues from R2 and include passing on a set of generic key value pairs that could contain such values as flavor_name:HPA2 or SRIOV attributes. These key value pairs will be passed to Multicloud during instantiation as OOF_Directives.
Addition of oofDirectives as part of
"assignmentInfo"
to R2 (doesn't change api):
{ "key": "oofDirectives", "value": [{ "key": "flavor", "value": "hpa.flavor1" }, { "key": "sriovParam", "value": "param" }] }
OOF Homing Response:
{ "transactionId": "xxx-xxx-xxxx", "requestId": "yyy-yyy-yyyy", "requestStatus": "completed", "statusMessage": "", "solutions": { "placementSolutions": [ [ { "resourceModuleName": "vGMuxInfra", "serviceResourceId": "someResourceId", "solution": { "identifierType": "serviceInstanceId", "identifiers": ["gjhd-098-fhd-987"] }, "assignmentInfo": [ { "key": "cloudOwner", "value": "amazon" }, { "key": "vnfHostName", "value": "ahr344gh" }, { "key": "isRehome", "value": "False" }, { "key": "cloudRegionId", "value": "1ac71fb8-ad43-4e16-9459-c3f372b8236d" } ] }, { "resourceModuleName": "vG", "serviceResourceId": "someResourceId", "solution": { "identifierType": "cloudRegionId", "cloudOwner": "amazon", "identifiers": ["gjhd-098-fhd-987"] }, "assignmentInfo": [ { "key": "cloudOwner", "value": "amazon" }, { "key": "cloudRegionId", "value": "1ac71fb8-ad43-4e16-9459-c3f372b8236d" }, { "key": "oofDirectives", "value": [{ "key": "flavor", "value": "hpa.flavor1" }, { "key": "sriovParam", "value": "param" }] } ] } ] ] }
MultiCloud
Still Under Discussion: Utilize existing so-opendstack-adapter and extend, or clone to so-multicloud-adapater and extend. Use Multicloud OpenStack Proxy API and extend HEAT API payload with generic-vnf-id, vf-module-id, oof_directives, sdnc_directives and template_type.
API URI http://{msb IP}:{msb port}/api/multicloud /v1/{cloud-owner}/{cloud-region-id}/infra_workload
REQUEST BODY
( =================== parameters below template type are valid for request with “template_type”:“heat” ===================)
{ "generic-vnf-id" : <generic-vnf-id>, "vf-module-id" : <vf-module-id>, "oof_directives" : { "directives": [ {"key":"flavor", "value": "hpa.flavor1" }, {"key": "sriovParam", "value": "param"} ] }, "sdnc_directives" : {"directives": [ {"key":"oamNetwork", "value": "oam1" }, {"key": "oamIpAddress", "value": "10.11.23.56"} ] }, "template_type" : <heat/tosca/etc.>, "files": {}, "disable_rollback": true, "parameters": { "flavor": "m1.heat" }, "stack_name": "teststack", "template": { "heat_template_version": "2013-05-23", "description": "Simple template to test heat commands", "parameters": { "flavor": { "default": "m1.tiny", "type": "string" } }, "resources": { "hello_world": { "type": "OS::Nova::Server", "properties": { "key_name": "heat_key", "flavor": { "get_param": "flavor" }, "image": "40be8d1a-3eb9-40de-8abd-43237517384f", "user_data": "#!/bin/bash -xv\necho \"hello world\" > /root/hello-world.txt\n" } } } }, "timeout_mins": 60, }
HPA SO Casablanca Stories