From 2af90a1dda53c577bb6e18b70cd5356350b5dea1 Mon Sep 17 00:00:00 2001 From: sekharhuawei Date: Mon, 17 Aug 2020 17:54:53 +0530 Subject: [PATCH] Developer guide for mso-openstack-adapters Issue-ID: SO-3154 Signed-off-by: sekharhuawei Change-Id: I2f69daac75cb69c694ca8e2a69f8a108bd15efc6 --- docs/developer_info/Mso_Openstack_Adapter.rst | 796 ++++++++++++++++++++++++++ docs/developer_info/developer_information.rst | 1 + docs/images/DeleteInventory.png | Bin 0 -> 23922 bytes docs/images/InventoryAddAudit.png | Bin 0 -> 23291 bytes docs/images/InventoryCreate.png | Bin 0 -> 23140 bytes docs/images/InventoryDeleteAudit.png | Bin 0 -> 23275 bytes docs/images/InventoryQueryAudit.png | Bin 0 -> 23456 bytes docs/images/OpenstackAdapterInvoke.png | Bin 0 -> 25753 bytes docs/images/OpenstackAdapterPoller.png | Bin 0 -> 26486 bytes docs/images/OpenstackAdapterRollback.png | Bin 0 -> 25984 bytes 10 files changed, 797 insertions(+) create mode 100644 docs/developer_info/Mso_Openstack_Adapter.rst create mode 100644 docs/images/DeleteInventory.png create mode 100644 docs/images/InventoryAddAudit.png create mode 100644 docs/images/InventoryCreate.png create mode 100644 docs/images/InventoryDeleteAudit.png create mode 100644 docs/images/InventoryQueryAudit.png create mode 100644 docs/images/OpenstackAdapterInvoke.png create mode 100644 docs/images/OpenstackAdapterPoller.png create mode 100644 docs/images/OpenstackAdapterRollback.png diff --git a/docs/developer_info/Mso_Openstack_Adapter.rst b/docs/developer_info/Mso_Openstack_Adapter.rst new file mode 100644 index 0000000000..a8ca362537 --- /dev/null +++ b/docs/developer_info/Mso_Openstack_Adapter.rst @@ -0,0 +1,796 @@ +.. This work is licensed under a Creative Commons Attribution 4.0 International License. +.. http://creativecommons.org/licenses/by/4.0 +.. Copyright 2020 Huawei Technologies Co., Ltd. + +MSO-OPENSTACK-ADAPTER : +======================= + +.. contents:: :depth: 3 + +Cloud site operations +++++++++++++++++++++++ +* Here we have 3 api's createCloudRegion, updateCloudRegion, deleteCloudRegion. + +1.Create Cloud site/Cloud region: + +Path: /v1/cloud-region + +Method Type: POST + +Request Body: +************* +{ + "id": "MTN13", + "regionId": "mtn13", + "cloudVersion": "3.0", + "clli": "MDT13", + "platform": "testFlatform", + "orchestrator": "testOrchestrator", + "cloudifyId": "mtn13", + "cloudOwner": "testCloudOwner", + + "identityService": { + "identityUrl": "testUrl", + "msoId": "admin", + "msoPass": "admin", + "projectDomainName": "testDomain", + "userDomainName": "testDomain", + "adminTenant": "test", + "memberRole": "test", + "tenantMetadata": "test", + "identityServerType": "test", + "identityAuthenticationType": "test", + "lastUpdatedBy": "test", + "created": "date", + "updated": "date" + + }, + + "identityServiceId": "123", + "lastUpdatedBy": "test", + "created": "test", + "updated": "test", + "supportFabric": "true", + "uri": "test" + +} + +* In this api we can create cloud region and cloud site and saving in catalog db and in AAI. + +* This api requires cloud-region-id and cloudSite as inputs. + +* In createCloudRegion two steps are there. + +* CreateRegionInCatalogDb(cloudSite) :- here we are creating cloud region in catalogdb if it is not exists in db(cloud_sites). + +* CreateCloudRegionInAAI(cloudSite) :- mapping cloudSite into cloudregion , this cloudregion we are creating in AAI and create CloudRegion NetworkTechnology Relationship. + +2.Delete Cloud site: + +* Path:/v1/cloud-region/{cloud-region-id}/{cloud-owner} + +* Here we can delete Cloud site by cloud region id + +3.Update Cloud site: + +* Path:/v1/cloud-region/{cloud-region-id}/{cloud-owner} + +* Here we can update Cloud site by cloud region id + +Create Tenant in Cloud: +++++++++++++++++++++++++ + +Path: http://host:port/vnfs/rest/v1/tenants + +Method Type: POST + +Request Body: +************* + +{ +"cloudSiteId": "DAN", +"tenantName":"RAA_1", +"failIfExists": true, +"msoRequest": { +"requestId": "ra1", +"serviceInstanceId":"sa1" +} +} + +RESPONSE: +********** + +{ + +"cloudSiteId": "DAN", +"tenantId": "128e10b9996d43a7874f19bbc4eb6749", +"tenantCreated": true, +"tenantRollback": { +"tenantId": "128e10b9996d43a7874f19bbc4eb6749", +"cloudId": "DAN", // RAA? cloudId instead of cloudSiteId +"tenantCreated": true, +"msoRequest": { +"requestId": "ra1", +"serviceInstanceId": "sa1" + +} +} +} + +Code Flow: + +* Call to MSO createTenant adapter then call to catalog db for cloud site info and from cloud site get IdentityServerType. +* based on Cloud IdentityServerType it returns ORM or KEYSTONE Utils +* Query for a tenant with the specified name in the given cloud. If the tenant exists, return an MsoTenant object. If not, return null. +* Create a tenant with the specified name in the given cloud. If the tenant already exists, an Exception will be thrown. The MSO User will also be added to the "member" list of the new tenant to perform subsequent Nova/Heat commands in the tenant. If the MSO User association fails, the entire transaction will be rolled back. + +TaskServices +++++++++++++++ +**1. CreateInventory** + +Flow Diagram: + +.. image :: ../images/InventoryCreate.png + +Code Flow: + +* Get cloud site using cloud region id from catalog db. + +* Instantiate heat bridge client by passing required values. + +* Authenticate heat bridge client. + +* If authentication is success we are getting all stack resources(openstack servers. servers contains openstack images and flavours.) + +* From stack resources we are getting osServers/ compute resources. + +* CreatePserversAndPinterfacesIfNotPresentInAai --Transform Openstack Server object to AAI Pserver object. create pserver in AAI if it is not exist. and get openstackresource id's / ports -- transform ports to pinterface Object in AAI. + +* After extract osimages and os flavours from osservers. + +* After that transform osimages to AAI images and osflavours to AAI flavors and add to AAI. + +* Create Vservers in AAI and make relationships to AAI image, AAI flavor, AAI pserver, vf-module. + +* Add Vservers and Linterfaces to AAI--Transform port to Linterface and for that port Get Ip addresses and updateLInterfaceIps and updateLInterfaceVlan. + +* Finally update AAI. + +**2. AuditCreateStack** + +Flow Diagram: + +.. image :: ../images/InventoryAddAudit.png + +Code Flow: + +* First we are capturing entry timestamp, MSO REQUESTID, Servicename/topic name,partnername as openstack adapter, invocation id is generating one random uuid. + +* After that getting auditInventory details from externalTask object + +* From auditInventory object we are getting cloud region,clowd owner,tenant id, heatstack name.these details we are passing to get AAIObjectAuditList. + +* Use cloudRegion, tenantId, heatStackName to get resources from Heat client. + +* To get resources we need heat client it means getting keystone url and token. + +* Get keystone url based on server type(keystone/keystonev3) + +* From resources object we are getting novaResources and resource groups and neutronPortDetails. + +* Create VserverSet by passing resources, novaResources, neutronPortDetails and setting up servers with ports to Set of Servers. + +* From resource groups we are getting Link(stackLink) from that link we are extracting resource path .if path is present we are Fetching nested Resource Stack Information. + +* audit all vservers,l-interfaces and sub l-interfaces. and checking in these vservers , l-interfaces and sub interfaces are existed or not in AAI. + +* If AAIObjectAuditList is present then we are setting audit type as create and Heat stack name to AAIObjectAuditList. + +* If Audit create success putting in variable to complete external task other wise sending exception. + +* If retrycount=1 sending error as retrycount exhausted. + +**3. AuditQueryStack** + +Flow Diagram: + +.. image :: ../images/InventoryQueryAudit.png + + +Code Flow: + +* Get AuditInventory details from external task. + +* Get AAIObjectAuditList from auditHeatStack by passing these parametersauditInventory.getCloudRegion(),auditInventory.getCloudOwner(), auditInventory.getTenantId(), auditInventory.getHeatStackName(). + +* Fetching Top Level Stack Information.i.e get all the heat model resources. + +* From heat model resources get all OS::Nova::Servers and OS::Heat::ResourceGroups and neutronPortDetails. + +* Once u got all the stack info u create vserverset and add that vserverset to AAIObjectAuditList. + +* After add AAIObjectAuditList to requestdb if it is not exist in requestdb. + +* If it is success complete the external task. + +**4. AuditDeleteStack** + +Flow Diagram: + +.. image :: ../images/InventoryDeleteAudit.png + +Code Flow: + +* Get AuditInventory details from external task + +* GetStackDataFromRequestDb usiing AuditInventory details. + +* Get RequestProcessingData from requestdb using auditInventory.getVfModuleId(),auditInventory.getHeatStackName(), "AuditStackData". + +* From RequestProcessingData get AAIObjectAuditList. + +* If AAIObjectAuditList is empty check vservers is exist or not in AAI and set that result as setDoesObjectExist(true/false). + +* Else Auditing Vservers based on vf module relationships--i.e based on genericVnfId and vfModuleName get all the vservers and create AAIObject and set setDoesObjectExist(true) and set that object to list. + +* After that set audit type as delete and heatstackname and check that audit create success or not. + +* If it is success complete the external task. + +**5. DeleteInventory** + +Flow Diagram: + +.. image :: ../images/DeleteInventory.png + + +Code Flow: + +* Get CloudInformation from external task. + +* First get CloudSite details from catalog db by using regionid. + +* From CloudSite get CloudIdentity details. + +* Create a heatbridgeclient. and authenticate the heatbridge. + +* After that delete the VFmodule data using vnfid and vf moduleid. + +* Once delete success complete the external task. + +**6. StackService** + +Flow Diagram: + +.. image :: ../images/OpenstackAdapterInvoke.png + + +Code Flow: + +* From external task getting openstackAdapterTaskRequest and adding to string(xmlRequest). + +* From xmlrequest we are getting requestType. + +1. If requestType is createVolumeGroupRequest then we are creating volume group. + +* Marshalling xmlRequest to CreateVolumeGroupRequest. + +* From CreateVolumeGroupRequest getting completeVnfVfModuleType. + +* After that we are creating vf module by passing required paremeters. + +* If request type Start with X then we are orchestrating a VNF - *NOT* a module! + +* RequestType start with Volume then then we are sending true as volume request. + +* Creating a VnfRollback object by passing required parameters. + +* If nestedStackId is not null we are getting nested heat stack(stack information). + +* If nested heat stack is not null we are getting that output and storing into nestedVolumeOutputs object. + +* If nestedBaseStackId is not null we are getting nestedBaseHeatStack information and setting output to nestedBaseHeatStack. + +* If modelCustomizationUuid is available then with that mcu we are getting VFModuleCustomization(vfmc); + +* If we get VFModuleCustomization then we are extracting VfModule. + +* If vf version is not null then we will get vnfresource by passing vnftype and vnfversion. + +* By here - we would have either a vf or vnfResource. + +* If vf module is not null we are geting vnfresource from vf and from this vnfresource we are getting minversionvnf and maxversionvnf. + +* If minversionvnf and maxversionvnf are not null we are checking cloudConfig is null or not, if cloudConfig is not null then we are getting cloud site intormation by passing cloud site id. once we get the cloud site details we are getting min and max cloud site versions. + +* By the time we get here - heatTemplateId and heatEnvtId should be populated (or null) + +* If it is old way we will get heatTemplate directly. else if vf module is not null then +* If it is a volume request then we will get volumeheattemplate and volumeheatenvironment. +* If it is not a volume request then we will get ModuleHeatTemplate and HeatEnvironment. + +* Once we get heat templates we are getting nestedtemplates. + +* Also add the files: for any get_files associated with this vnf_resource_id + +* Add ability to turn on adding get_files with volume requests (by property). + +* If it is not a volume request get heat files from vf module. + +* CheckRequiredParameters in MsoVnfAdapterImpl.CHECK_REQD_PARAMS. + +* Parse envt entries to see if reqd parameter is there (before used a simple grep + +* Only submit to openstack the parameters in the envt that are in the heat template + +* Convert what we got as inputs (Map) to a Map - where the object matches the param type identified in the template This will also not copy over params that aren't identified in the template + +* Now simply add the outputs as we received them - no need to convert to string + +* Add in the volume stack outputs if applicable + +* Get all heat template parameters and add to list. + +* Check for missing parameters null or not.if no missing parameters we can proceed for next step. + +* Next create stack with all required values. + +* After creating add heat stackname to vfrollback and copy heatstack outputs to outputs value. so now vf module is created successfully. + +* After sending the response to create volume group.once it is created that response we are setting to VolumeGroup response object. + +2. If requestType is createVfModuleRequest then we are creating VfModule. + +* Marshalling xmlRequest to CreateVolumeGroupRequest. + +* From CreateVolumeGroupRequest getting completeVnfVfModuleType. + +* After that we are creating vf module by passing required paremeters. + +* If request type Start with X then we are orchestrating a VNF - *NOT* a module! + +* RequestType start with Volume then then we are sending true as volume request. + +* Creating a VnfRollback object by passing required parameters. + +* If nestedStackId is not null we are getting nested heat stack(stack information). + +* If nested heat stack is not null we are getting that output and storing into nestedVolumeOutputs object. + +* If nestedBaseStackId is not null we are getting nestedBaseHeatStack information and setting output to nestedBaseHeatStack. + +* If modelCustomizationUuid is available then with that mcu we are getting VFModuleCustomization(vfmc); + +* If we get VFModuleCustomization then we are extracting VfModule. + +* If vf version is not null then we will get vnfresource by passing vnftype and vnfversion. + +* By here - we would have either a vf or vnfResource. + +* If vf module is not null we are geting vnfresource from vf and from this vnfresource we are getting minversionvnf and maxversionvnf. + +* If minversionvnf and maxversionvnf are not null we are checking cloudConfig is null or not, if cloudConfig is not null then we are getting cloud site intormation by passing cloud site id. once we get the cloud site details we are getting min and max cloud site versions. + +* By the time we get here - heatTemplateId and heatEnvtId should be populated (or null) + +* If it is old way we will get heatTemplate directly. else if vf module is not null then + +* If it is a volume request then we will get volumeheattemplate and volumeheatenvironment. + +* If it is not a volume request then we will get ModuleHeatTemplate and HeatEnvironment. + +* Once we get heat templates we are getting nestedtemplates. + +* Also add the files: for any get_files associated with this vnf_resource_id + +* Add ability to turn on adding get_files with volume requests (by property). + +* If it is not a volume request get heat files from vf module. + +* CheckRequiredParameters in MsoVnfAdapterImpl.CHECK_REQD_PARAMS. + +* Parse envt entries to see if reqd parameter is there (before used a simple grep + +* Only submit to openstack the parameters in the envt that are in the heat template + +* Convert what we got as inputs (Map) to a Map - where the object matches the param type identified in the template This will also not copy over params that aren't identified in the template + +* Now simply add the outputs as we received them - no need to convert to string + +* Add in the volume stack outputs if applicable + +* Get all heat template parameters and add to list. + +* Check for missing parameters null or not.if no missing parameters we can proceed for next step. + +* Next create stack with all required values. + +* After creating add heat stackname to vfrollback and copy heatstack outputs to outputs value. so now vf module is created successfully. + +3. If requestType is deleteVfModuleRequest then we are deleting VfModule . + +* Get stackinfo using msoHeatUtils by passing cloudSiteId, cloudOwner, tenantId, vnfName parameters. + +* After that using modelCustomizationUuid we are getting VFModuleCustomizaiton--VFModule--heattemplate. + +* After that we are callling msoHeatUtils.deleteStack to delete StackInfo once it deletes we are updating status as deleted using msoHeatUtils.updateResourceStatus. + +4. If requestType is deleteVolumeGroupRequest then we are deleting volume group. + +* Making DeleteVolumeGroupRequest by Unmarshalling xml request. + +* Getting stack information by passing stackName, cloudSiteId, tenantId. + +* If current stack is null then we confirm that heat status not found. + +* If current stack is not null then we are deleting the stack. + +* Once volumegroup is deleted we are setting the response to perticular response class. + +5. If requestType is createNetworkRequest then we are creating network. + +* Making CreateNetworkRequest by Unmarshalling xmlrequest. + +* Check request is contrailRequest or not if it is contrailRequest we are setting shared,external,routeTargets,fqdns,routeTable values else we are setting physicalNetworkName and vlans. + +* Now all the above required values we are passing to create network. + +* Build a default NetworkRollback object (if no actions performed). + +* Getting the cloud site by passing cloudsite id. + +* After we are doing a network check and Retrieve the Network Resource definition. + +* If modelCustomizationUuid null and networkType is not null based on networkType we are getting Network Resource. + +* If modelCustomizationUuid not null then based on modelCustomizationUuid we are getting NetworkResourceCustomization and from that we are getting Network Resource. + +* If NetworkResourceCustomization is null then based on modelCustomizationUuid we are getting CollectionNetworkResourceCustomization and from that we are getting Network Resource. + +* Even though Network Resource is null we are sending error Unable to get network resource with NetworkType. + +* From the network resource we are extracting mode and network type. + +* All Networks are orchestrated via HEAT or Neutron if it is other than that we are sending error. + +* After that we are checking network resorce min and max versions with cloud site version if version is not supported throwing error. + +* After that validating the network parameters that if any parameter is missing. + +* Once we Retrieve the Network Resource we are getting heat template and NetworkType from that. + +* From the heat template we are getting template and checking that template contains os3nw if it is contains making flag is true. + +* First, look up to see if the Network already exists (by name).For HEAT orchestration of networks, the stack name will always match the network name + +* If stack is already exist with the network name throw an error. + +* After that from stackinfo get network id and network fqdn and get outputs from Stackinfo. + +* After that get subnetIdMap based on one subnet_id output or multiples subnet_%aaid% outputs from Stackinfo outputs. + +* After that update the updateResourceStatus as exits in requestdb. + +* Now we are Ready to deploy the new Network and Build the common set of HEAT template parameters + +* Validate (and update) the input parameters against the DB definition + +* Shouldn't happen unless DB config is wrong, since all networks use same inputs and inputs were already validated. + +* If subnets are not null and template is os3template then mergesubnetsAIC3. + +* If subnets are not null and template is not os3template then merge subnets. + +* If policyFqdns are not null & os3template true then mergePolicyRefs. + +* After that deploy the network stack-- create stack and once stack is created save into stackinfo. + +* For Heat-based orchestration, the MSO-tracked network ID is the heat stack, and the neutronNetworkId is the network UUID returned in stack outputs. + +* After update the resource status like network created successfully. + +* After set response to CreateNetworkResponse object. + + +6. If requestType is deleteNetworkRequest then we are deleting network. + +* Form a DeleteNetworkRequest by unmarshlling Xml request. + +* check for mandatory fields networkId, cloudSiteId, tenantId. + +* If it is there Retrieve the Network Resource definition. + +* After that get networkResource.from networkResource get heat template. + +* After that delete stackinfo udpate resource status as deleted. + +7. If requestType is updateNetworkRequest then we are updating Network. + +* Make UpdateNetworkRequest by unmarshalling xmlRequest. + +* Check the params contains key shared and external if it is contains get that shared and external keys. + +* Check the request is ContrailRequest or not, if it is ContrailRequest then get routeTargets , fqdns, routeTable from the actual request. + +* If it is not ContrailRequest then get the ProviderVlanNetwork details like physicalNetworkName and vlans. + +* Params to update network-req.getCloudSiteId(), req.getTenantId(), req.getNetworkType(),req.getModelCustomizationUuid(), req.getNetworkStackId(), req.getNetworkName(), physicalNetworkName,vlans, routeTargets, shared, external, req.getSubnets(), fqdns, routeTable, req.getMsoRequest(), subnetIdMap, networkRollback. + +* Update Network adapter with Network using networkName, networkType,cloudSiteId, tenantId. + +* Capture execution time for metrics. + +* Build a default rollback object (no actions performed) + +* Get cloud site details from catalog db using cloud site id. + +* If cloud site is not present send the error message like CloudSite does not exist in MSO Configuration. + +* Getting the cloud site by passing cloudsite id. + +* After we are doing a network check and Retrieve the Network Resource definition. + +* If modelCustomizationUuid null and networkType is not null based on networkType we are getting Network Resource. + +* If modelCustomizationUuid not null then based on modelCustomizationUuid we are getting NetworkResourceCustomization and from that we are getting Network Resource. + +* If NetworkResourceCustomization is null then based on modelCustomizationUuid we are getting CollectionNetworkResourceCustomization and from that we are getting Network Resource. + +* Even though Network Resource is null we are sending error Unable to get network resource with NetworkType. + +* From the network resource we are extracting mode and network type. + +* All Networks are orchestrated via HEAT or Neutron if it is other than that we are sending error. + +* After that we are checking network resorce min and max versions with cloud site version if version is not supported throwing error. + +* After that validating the network parameters that if any parameter is missing. + +* Once we Retrieve the Network Resource we are getting heat template and NetworkType from that. + +* Use an MsoNeutronUtils for all Neutron commands + +* If Orchestaration mode is NEUTRON Verify that the Network exists and For Neutron-based orchestration, the networkId is the Neutron Network UUID. + +* Get NetworkInfo from cloud site using networkId, tenantId, cloudSiteId as params. + +* If NetworkInfo is null then throw the error message as Network is does not exist. + +* Update the network in cloud site which is in catalog db using cloudSiteId,tenantId,networkId, neutronNetworkType, physicalNetworkName, vlans as params. + +* Add the network ID and previously queried vlans to the rollback object. + +* Save previous parameters such as NetworkName,PhysicalNetwork,Vlans to the NetworkRollback. + +* If Orchestaration mode is HEAT then First, look up to see that the Network already exists. For Heat-based orchestration, the networkId is the network Stack ID. + +* Get StackInfo by querystack using cloudSiteId, CLOUD_OWNER, tenantId, networkName. + +* If StackInfo is null throw error as Network not found else continue the flow. + +* Get the previous parameters such as previousNetworkName and previousPhysicalNetwork for rollback from StackInfo. + +* Get the previous vlans from the heat params and Update Stack with Previous VLANS. + +* Now we are Ready to deploy the updated Network via Heat. + +* Get the HeatTemplate from NetworkResource and now we got HEAT Template from DB. + +* Now get the OS::ContrailV2::VirtualNetwork property from property file , if template contains os3nw set flag as true. + +* Build the common set of HEAT template parameters such as neutronNetworkType, networkName, physicalNetworkName, vlans, routeTargets, shared, external, os3template. + +* Validate and update the input parameters against the DB definition and Shouldn't happen unless DB config is wrong, since all networks use same inputs. + +* If subnets are not null and template is os3template then mergesubnetsAIC3. + +* If subnets are not null and template is not os3template then merge subnets. + +* If policyFqdns are not null & os3template true then mergePolicyRefs. + +* If routeTableFqdns are not null os3template not null then mergeRouteTableRefs using routeTableFqdns, stackParams as params. + +* Get outputs from StackInfo and if key is contains subnet and os3template not null then one subnet output expected else multiples subnet outputs allowed. + +* Reach this point if createStack is successful.Populate remaining rollback info and response parameters and save previous parameters. + +* Now Network successfully updated via HEAT. + +8. If requestType is rollbackNetworkRequest then we are doing rollbackNetwork. + +* Make RollbackNetworkRequest by unmarshalling xmlRequest. + +* Get NetworkRollback from RollbackNetworkRequest. + +* If pollForCompletion is null then set flag as true. + +* Get the elements of the VnfRollback object for easier access. + +* ROLLBACK Network using networkId, cloudSiteId, tenantId. + +* If NetworkCreated then use tenantId, CLOUD_OWNER, cloudSiteId, networkId, pollForCompletion, timeoutMinutes params to delete stack. + +* Once deletion is success set the response to RollbackNetworkResponse. + +* Once task stack service is success set the status completed for the external task. + + +**7. PollService** + +Flow Diagram: + +.. image :: ../images/OpenstackAdapterPoller.png + + +Code Flow: + +* Get openstackAdapterTaskRequest as xmlRequest from the the external task. + +* Get requestType from the xmlRequest. + +1. If request type is createVolumeGroupRequest then Execute External Task Rollback Service for Create Volume Group. + +* Create CreateVolumeGroupRequest by unmarshalling xmlRequest. + +* Use CloudSiteId, CloudOwner, TenantId,VolumeGroupName, MsoRequest ,pollStackStatus as params to delete vnf. + +* Call to openstack to delete vnf if it is success nothing to return if it is failure return failure exception. + +* Once it is success set the boolean flags pollRollbackStatus and status as true. + +2. If request type is createVfModuleRequest then Execute External Task Rollback Service for Create Vf Module. + +* Create CreateVfModuleRequest by unmarshalling xmlRequest. + +* Use CloudSiteId, CloudOwner, TenantId,VfModuleName, VnfId, VfModuleId, ModelCustomizationUuid,MsoRequest ,Holder as params to delete vf module. + +* Call to openstack to get the stack outputs. + +* If modelCustomizationUuid is not null then use as a param to get the VfModuleCustomization and from VfModuleCustomization get the vf module details. + +* Use tenantId, cloudOwner, cloudSiteId, vnfName, pollForCompletion, timeoutMinutes as params to delete the stack .once it is success update the resources. + +* Once it is success set the boolean flags pollRollbackStatus and status as true. + +3. If requestType is deleteVfModuleRequest then Execute External Task Poll Service for Delete Vf Module. + +* Create DeleteVfModuleRequest by unmarshalling xmlRequest. + +* Get stackId from external task by using that get Stack. + +* Get pollingFrequency from properties file and calculate no.of polling attempts. + +* Using cloudSiteId, tenantId get Heatclient and once you got heatclient querystack to get the Stack object. + +* If Stack object is not null update the stack status in requestdb and it returns Stack object. + +* If Stack object is not null check the status is DELETE_COMPLETE then Stack Deletion completed successfully. + + +4. If requestType is deleteVolumeGroupRequest then Execute Execute External Task Poll Service for Delete Volume Group. + +* Create DeleteVfModuleRequest by unmarshalling xmlRequest. + +* Get stackId from external task by using that get Stack. + +* Get pollingFrequency from properties file and calculate no.of polling attempts. + +* Using cloudSiteId, tenantId get Heatclient and once you got heatclient querystack to get the Stack object. + +* If Stack object is not null update the stack status in requestdb and it returns Stack object. + +* If Stack object is not null check the status is DELETE_COMPLETE then Stack Deletion completed successfully. + +5. If requestType is deleteNetworkRequest then Execute External Task Poll Service for Delete Network. + +* Create DeleteVfModuleRequest by unmarshalling xmlRequest. + +* Get stackId from external task by using that get Stack. + +* Get pollingFrequency from properties file and calculate no.of polling attempts. + +* Using cloudSiteId, tenantId get Heatclient and once you got heatclient querystack to get the Stack object. + +* If Stack object is not null update the stack status in requestdb and it returns Stack object. + +* If Stack object is not null check the status is DELETE_COMPLETE then Stack Deletion completed successfully. + +6. If requestType is createNetworkRequest then get the PollRollbackStatus from the external task. + +* If pollRollbackStatus is true then Execute External Task Poll Service for Rollback Create Network. + +* Get stackId from external task by using that get Stack. + +* Get pollingFrequency from properties file and calculate no.of polling attempts. + +* Using cloudSiteId, tenantId get Heatclient and once you got heatclient querystack to get the Stack object. + +* If Stack object is not null update the stack status in requestdb and it returns Stack object. + +* If Stack object is not null check the status is DELETE_COMPLETE then Stack Deletion completed successfully. + +* If pollRollbackStatus is false then Execute External Task Poll Service for Create Network. + +* Get stackId from external task by using that get Stack. + +* Get pollingFrequency from properties file and calculate no.of polling attempts. + +* Using cloudSiteId, tenantId get Heatclient and once you got heatclient querystack to get the Stack object. + +* If Stack object is not null update the stack status in requestdb and it returns Stack object. + +* If Stack object is not null check the status is CREATE_COMPLETE then Stack Creation completed successfully. + +7. If requestType is createNetworkRequest then Execute External Task Rollback Service for Create Network. + +* Get stackId from external task by using that get Stack. + +* Get pollingFrequency from properties file and calculate no.of polling attempts. + +* Using cloudSiteId, tenantId get Heatclient and once you got heatclient querystack to get the Stack object. + +* If Stack object is not null update the stack status in requestdb and it returns Stack object. + +* If Stack object is not null check the status is UPDATE_COMPLETE then Stack Updation completed successfully. + +* Once task stack service is success set the status completed for the external task. + +**8. RollbackService** + +Flow Diagram: + +.. image :: ../images/OpenstackAdapterRollback.png + + +Code Flow: + +* Get openstackAdapterTaskRequest as xmlRequest from the the external task. + +* Get requestType from the xmlRequest. + +1. If request type is createVolumeGroupRequest then Execute External Task Rollback Service for Create Volume Group. + +* Making DeleteVolumeGroupRequest by Unmarshalling xml request. + +* Getting stack information by passing stackName, cloudSiteId, tenantId. + +* If current stack is null then we confirm that heat status not found. + +* If current stack is not null then we are deleting the stack. + +* Once volumegroup is deleted we are setting the response to perticular response class. + +2. If request type is createVfModuleRequest then Execute External Task Rollback Service for Create Vf Module. + +* Get stackinfo using msoHeatUtils by passing cloudSiteId, cloudOwner, tenantId, vnfName parameters. + +* After that using modelCustomizationUuid we are getting VFModuleCustomizaiton--VFModule--heattemplate. + +* After that we are callling msoHeatUtils.deleteStack to delete StackInfo once it deletes we are updating status as deleted using msoHeatUtils.updateResourceStatus. + +* Once it is success set the boolean flags pollRollbackStatus and status as true. + +3. If request type is createNetworkRequest then Execute External Task Rollback Service for Create Network. + +* Form a DeleteNetworkRequest by unmarshlling Xml request. + +* Check for mandatory fields networkId, cloudSiteId, tenantId. + +* If it is there Retrieve the Network Resource definition. + +* After that get networkResource.from networkResource get heat template. + +* After that delete stackinfo udpate resource status as deleted. + +* Once task stack service is success set the status completed for the external task. + + + + + + + + + + + diff --git a/docs/developer_info/developer_information.rst b/docs/developer_info/developer_information.rst index 570861345c..1b9e83b840 100644 --- a/docs/developer_info/developer_information.rst +++ b/docs/developer_info/developer_information.rst @@ -20,5 +20,6 @@ SO Developer Information BPMN_Subprocess_Process_Flows.rst BPMN_Project_Deployment_Strategy.rst BPMN-INFRA_Workflow_Understanding.rst + Mso_Openstack_Adapter.rst instantiate/index.rst FAQs.rst diff --git a/docs/images/DeleteInventory.png b/docs/images/DeleteInventory.png new file mode 100644 index 0000000000000000000000000000000000000000..0fd6629db8647937fa1f8f021ae04e994f48b2fe GIT binary patch literal 23922 zcmeFYc{o(>|M=fRR1!lW``DA6F_Ya4W?}66z8lMoF_sxZRQ8=HYqq39W#1LqvJ^%3 z>>&vuYro_5dcUvh^Zk84fBydbUDud%=A3gc=egbY{dnG@^{`r3F5S3v=FFKZC?vw* z%$f5<;M|M$0`Pq`>bumLGqg^=8fLy;WEY&L^BDmd_`hcY(vofjlCOXaLO@#D-rHN; z31{!>WA8;0$2Lghi0>WMl;}mG&jP>=S{96g$ z9_Z~q^3?-GBPR84CGsYo4vsK_tfroNrMyj@9Q1X3J^a;WP-vJQQCD3JWhfx6?uMdZjnuS}5H&c$+{BBZ4~Wgk z3y09u!fFH%&2^mJz4Qo@1_Uj*4${ZZ*A;8vZ(^cBMyRQ~BLda5h&U(=jt5>)9c`{A z3%ru1tCv=Qwx&5CHFYx7108_TBq6-fey%{p>SmsfuE0T_?CBnW*D^staDfJ{I0qkp zxVAsmThGJUMINYuVCD~eOPk0L^!(-hfKwNL|3HGFm$8dkAjVTq4Wq7OCM^YV*HkkB zZt4PmJ~AW?JsjCfO3p>g!4c}@BrWaj>}sO#?MLwp^zaD`ARzPsqtvu8M#C*6ar!!r zYBGj?#uhHF+Ir@0W>5=PPqc%aI}!=kN9(Hl${`HR)Qpi7xSN+G8m(oBM9S!)fqql; zWeI_@Bn>=*Xa+UV*Fd9?Qg9=0X%nQpnjr@24bdd4BR$XC|jh4~>Yv`uj8p1weJn(ltCKI#Sm z8jj95v@0?|9j6(HQpdxM<-EOs3Sf?Et{9vr$yC~08iCU`)x^M!NJw`d7;q17W`Q9} zIYP}`T-=@AJPma<{M2;xOzox2PbDBLuVaE%H}J#z7*dEhn3spCoDbe!#!Fq+*cT(` z0l{MBQ5r7N?i4joFB5OH3(>_3?x*XZ;bo$$?;$B|qU-2k0<*vdQk)2Zp0egZjkS7X`{MMaEnK}&aCr*U z2!cTC0TsaU&hiu;Jy(pD1;S9rUQJEb6i%_%(ZRwH7-yUjN)G32sOJwSc<8z4_!>df zH847O526|rhbQ=uQ6AD7fQhJ^QRERuCP?Q%drxzx06D;b)aBf9S_WF4SPN625m!UJ znWU771;*7y4(3KMFn2f7^pVEtLLsIoHEBmVH8)L|s~p5%&CLYrYwv7Kk;hWhFvf-u zyg{J57SYgE7Hgqt?5*Z%rh~>{%{-m_C9!}e)cuXzbqM4D6MqLU54bB-K7iz?dkq~6Uk9?cxdFkR93ZW(@2Rh)V+eg(ez ze35cyIv70z7|~JAQ^SA+RPKs0F?4WsCCM6{8mqR6MIdlM*gN8!jP$&S9t17C589BV zjrM|`Ix@yYnnLjkGa0M-zfHF`&4cqvbHCI>STpP$KXizz2$#BA)*A0nQzPTV}wK zh?PZYYCAza@cy_!M+6ZGT+_w|ASq@DX*@#D<+PaQY2<+!0H+v3tXH6{xhu-RTMvOW zAUpVLnPdE%12r>~1{zS;fy&uyAxN_J2sf=jF9LAISYOk_TTLA=i8!qZ z=jm;#L6L-5cw1PYbo_vhX=0@vDRK^u^2TIC89yIyQlKP>;GiRo*YebI0803h&HeO@ z31;f<_73V!Fua2^(N6<{Fm*%$UMOiH=kADiMnE-voGBis`f)-N^_&6o*EBGo1o-0d zriQvkI1f)K*~`a6-&@`f1Gut0S>DG-O+CO9=0oual-8EhkT=61T};$vU_hL~>wEg? z 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 literal 0 HcmV?d00001 diff --git a/docs/images/InventoryAddAudit.png b/docs/images/InventoryAddAudit.png new file mode 100644 index 0000000000000000000000000000000000000000..9e61c158040b86eeac544d973cbab93c659ae80e GIT binary patch literal 23291 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

KmBw*w_2F0uRZgl5=Y-5 zI;_S5gK&PvxE(PXKFm9Gx;DKi-JoUbshYA$LsG)uO2le~ReLMj9Zrnt&o2nRWA%_G zES=;2qY`Xhr(%y`c=C3STh)?xZb@Vxc&|2B+PF|&xq`E}pCq{ZG&RsOnJk%GsbQU_K_NFc| zbj@jHlRDOCpB`xXdJnyFQ z>Y6gwEvGG;L#>I(8^7GiLkzoOy&ZAIFA{NLe0;_NzY0ch^d;TEx}udJJgoN8exZ8d zi}p)-<^g#=0l8mf27jO*+SL&_t%#8as=hzgTh-I8+s~TH?FhxLT@gng*tpjaEgCS?>H@H}*})K+P9F9^94?j z3nUq`@WXErJIrBKn~Z9G_WtITa`OuT}g+T}`&FttCFC^2$u?-(UW-nm4H3{V6bcGqzv#9JrHaDK2^9)_hwZ98CF7 zgt~8PZC^dB8eDh`@tf{|u@&C)Hr2H2qxDf;CdhpY~jWgBhK z`y8OM=cAM43kpt^oPB4YAREy^S3Ez>{dzoa=-|fNJRKrfuUQI*X9@0jm3RKC`=U)c zzwlV@9L&2*5_$oRvfKTOZs@9Vx3W|+fO-#OS4_jiJ;z#OtiE2tcdy+kgnvd$5@AD2n;Jo)b z3PP!tEXgH(sLnPusKK2RhQvqfYTlf0y{gAJh#jrXl}aHK`tqZ%+d!$l;poLUH*0G(G-F?%5ieStN*Gy{OI7CZbovqw&AQ6VXP9 zvLVnE3>WQan*`XtE&H2iY?|6a;e1RR_^&+$xWt{0taF>u33#?tFeS>ELugj3V*Cv~ z76(fy=&x1tku5AdSddpX{@iyOhot#9@nxiE4K0E>u-F~h%Wiu&qs9dGz)LTi&AR@x zfqZnw1BV?C&<)e*6!VAMmvVYT2{1P?ym zp?fYCroB&`zoBwJfA~>GM+84H{G=hz$ndK;dipoRQ?(jl+rf*48kel}6N#+JeW+A! z-#e`x5$Ws≶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 literal 0 HcmV?d00001 diff --git a/docs/images/OpenstackAdapterInvoke.png b/docs/images/OpenstackAdapterInvoke.png new file mode 100644 index 0000000000000000000000000000000000000000..998c4721b07b8ad8183196379b1e9d8278392352 GIT binary patch literal 25753 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 Ur3JwM(>bM~qOF{-X!h#A0B&n45C8xG literal 0 HcmV?d00001 diff --git a/docs/images/OpenstackAdapterRollback.png b/docs/images/OpenstackAdapterRollback.png new file mode 100644 index 0000000000000000000000000000000000000000..1e554263b0beed983256d8b3c24772da30201d84 GIT binary patch literal 25984 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 I_dMW#0Nk_`-v9sr literal 0 HcmV?d00001 -- 2.16.6