Versions Compared

Key

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

...

to R2 (doesn't change api): 

{ "key": "oofDirectives", "value": [{ "key": "flavor", "value": "hpa.flavor1" }, {                     {  
"key": "sriovParamoofDirectives",
"value": "param" }] }

OOF Homing Response:

...

languagexml

...

                 "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 >"
                        }
                     ]
 

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": [  {"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": { }
      ]
   },
   "template_type": "OS::Nova::Server",
         "<heat/tosca/etc.>",





   "files":{  

   },
   "propertiesdisable_rollback":true,
 {
  "parameters":{  
      "flavor":"m1.heat"
   },
   "keystack_name": "heat_keyteststack",
                "flavor": {
                    "get_param": "flavor"
        "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         "user_data": "#!/bin/bash -xv\nechon        echo \"hello world\" &gt;> /root/hello-world.txt\n",
            }
        }
    }
},
"timeout_mins": 60,
}


HPA SO Casablanca Stories

...