Versions Compared

Key

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

...

HPA SO External Sequence Flow for Casablanca

Image RemovedImage Added

HPA SO External API Interaction for Casablanca

Policy

Still Under Discussion: There Utilize existing SO generic-rest-adapter. This is a possible interaction with Policy to obtain service specific flow path decision for CSAR/Service.

OOF

TBD

MultiCloud

TBDService 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. 

OOF-SO Interaction in R2 

OOF/HAS API Specifications


Addition of oofDirectives as part of

"assignmentInfo"

to R2 (doesn't change api): 

                     {  
"key":"oofDirectives",
"value":{
"directives":[
{
"vnfc_directives":[
{
"vnfc_id":"<ID of VNFC>",
"directives":[
{
"directive_name":"<Name of directive,example flavor_directive>",
"attributes":[
{
"attribute_name":"<name of attribute, such as flavor label>",
"attribute_value":"<value such as cloud specific flavor>"
}
]
},
{
"directive_name":"<Name of directive,example vnic-info>",
"attributes":[
{
"attribute_name":"<name of attribute, such as vnic-type>",
"attribute_value":"<value such as direct/normal>"
},
{
"attribute_name":"<name of attribute, such as provider netweork>",
"attribute_value":"<value such as physnet>"
}
]
}
]
}
]
},
{
"vnf_directives":{
"directives":[
{
"directive_name":"<Name of directive>",
"attributes":[
{
"attribute_name":"<name of attribute>",
"attribute_value":"<value>"
}
]
},
{
"directive_name":"<Name of directive>",
"attributes":[
{
"attribute_name":"<name of attribute>",
"attribute_value":"<value >"
},
{
"attribute_name":"<name of attribute>",
"attribute_value":"<value >"
}
]
}
]
}
}
]
}
}

OOF Homing Response:

Code Block
languagejs
themeDJango
{  
   "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":{  
                        "directives":[  
                           {  
                              "vnfc_directives":[  
                                 {  
                                    "vnfc_id":"<ID of VNFC>",
                                    "directives":[  
                                       {  
                                          "directive_name":"<Name of directive,example flavor_directive>",
                                          "attributes":[  
                                             {  
                                                "attribute_name":"<name of attribute, such as flavor label>",
                                                "attribute_value":"<value such as cloud specific flavor>"
                                             }
                                          ]
                                       },
                                       {  
                                          "directive_name":"<Name of directive,example vnic-info>",
                                          "attributes":[  
                                             {  
                                                "attribute_name":"<name of attribute, such as vnic-type>",
                                                "attribute_value":"<value such as direct/normal>"
                                             },
                                             {  
                                                "attribute_name":"<name of attribute, such as provider netweork>",
                                                "attribute_value":"<value such as physnet>"
                                             }
                                          ]
                                       }
                                    ]
                                 }
                              ]
                           },
                           {  
                              "vnf_directives":{  
                                 "directives":[  
                                    {  
                                       "directive_name":"<Name of directive>",
                                       "attributes":[  
                                          {  
                                             "attribute_name":"<name of attribute>",
                                             "attribute_value":"<value>"
                                          }
                                       ]
                                    },
                                    {  
                                       "directive_name":"<Name of directive>",
                                       "attributes":[  
                                          {  
                                             "attribute_name":"<name of attribute>",
                                             "attribute_value":"<value >"
                                          },
                                          {  
                                             "attribute_name":"<name of attribute>",
                                             "attribute_value":"<value >"
                                          }
                                       ]
                                    }
                                 ]
                              }
                           }
                        ]
                     }
                  }
               ]
            }
         ]
      ]
   }
}


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” ===================)

Code Block
languagejs
themeDJango
{  
   "generic-vnf-id":"<generic-vnf-id>",
   "vf-module-id":"<vf-module-id>",
   "oof_directives":{  
      "directives":[  
         {  
            "vnfc_directives":[  
               {  
                  "vnfc_id":"<ID of VNFC>",
                  "directives":[  
                     {  
                        "directive_name":"<Name of directive,example flavor_directive>",
                        "attributes":[  
                           {  
                              "attribute_name":"<name of attribute, such as flavor label>",
                              "attribute_value":"<value such as cloud specific flavor>"
                           }
                        ]
                     },
                     {  
                        "directive_name":"<Name of directive,example vnic-info>",
                        "attributes":[  
                           {  
                              "attribute_name":"<name of attribute, such as vnic-type>",
                              "attribute_value":"<value such as direct/normal>"
                           },
                           {  
                              "attribute_name":"<name of attribute, such as provider netweork>",
                              "attribute_value":"<value such as physnet>"
                           }
                        ]
                     }
                  ]
               }
            ]
         },
         {  
            "vnf_directives":{  
               "directives":[  
                  {  
                     "directive_name":"<Name of directive>",
                     "attributes":[  
                        {  
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value>"
                        }
                     ]
                  },
                  {  
                     "directive_name":"<Name of directive>",
                     "attributes":[  
                        {  
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value >"
                        },
                        {  
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value >"
                        }
                     ]
                  }
               ]
            }
         }
      ]
   },
   "sdnc_directives":{  
      "directives":[  
         {  
            "vnfc_directives":[  
               {  
                  "vnfc_id":"<ID of VNFC>",
                  "directives":[  
                     {  
                        "directive_name":"<Name of directive,example flavor_directive>",
                        "attributes":[  
                           {  
                              "attribute_name":"<name of attribute, such as flavor label>",
                              "attribute_value":"<value such as cloud specific flavor>"
                           }
                        ]
                     },
                     {  
                        "directive_name":"<Name of directive,example vnic-info>",
                        "attributes":[  
                           {  
                              "attribute_name":"<name of attribute, such as vnic-type>",
                              "attribute_value":"<value such as direct/normal>"
                           },
                           {  
                              "attribute_name":"<name of attribute, such as provider netweork>",
                              "attribute_value":"<value such as physnet>"
                           }
                        ]
                     }
                  ]
               }
            ]
         },
         {  
            "vnf_directives":{  
               "directives":[  
                  {  
                     "directive_name":"<Name of directive>",
                     "attributes":[  
                        {  
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value>"
                        }
                     ]
                  },
                  {  
                     "directive_name":"<Name of directive>",
                     "attributes":[  
                        {  
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value >"
                        },
                        {  
                           "attribute_name":"<name of attribute>",
                           "attribute_value":"<value >"
                        }
                     ]
                  }
               ]
            }
         }
      ]
   },
   "template_type":"<heat/tosca/etc.>",





   "files":{  

   },
   "disable_rollback":true,
   "parameters":{  
      "flavor":"m1.heat"
   },
   "stack_name":"teststack",
   "template":"\nheat_template_version: 2013-05-23\ndescription: Simple template to test heat commands\nparameters:\n  flavor: {default: m1.tiny, type: string}\nresources:\n  hello_world:\n    type: OS::Nova::Server\n    properties:\n      key_name: heat_key\n      flavor: {get_param: flavor}\n      image: 40be8d1a-3eb9-40de-8abd-43237517384f\n      user_data: |\n        #!/bin/bash -xv\n        echo \"hello world\" > /root/hello-world.txt",
   "timeout_mins":60
}


HPA SO Casablanca Stories

Jira Legacy
serverSystem Jira
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
maximumIssues20
jqlQuerykey in (SO-743,SO-744,SO-745,SO-746,SO-747) Order by id
serverId4733707d-2057-3a0f-ae5e-4fd8aff50176