Change Management Extensions
Flexible designer and orchestrator
Traffic migration
https://docs.onap.org/en/casablanca/submodules/integration.git/docs/docs_vFWDT.html
5G RAN PNF In-place software upgrade
https://git.onap.org/integration/tree/docs/docs_5G_PNF_Software_Upgrade.rst?h=casablanca
Change schedule optimizer
https://docs.onap.org/en/casablanca/submodules/optf/cmso.git/docs/index.html
M4 is GREEN for all Change Management Functionalities.
For Casablanca release, we propose the following functionalities.
API Freeze | M3 | 23-Aug-18 |
Code Freeze | M4 | 20-Sep-18 |
Integration | RC0 | 11-Oct-18 |
RC1 | 25-Oct-18 |
1) Flexible workflow designer and orchestrator Committed M4READY
Impacted components: SDC, SO, and VID (nice-to-have)
Contributors: AT&T, Amdocs, Huawei (?)
Functionalities
Catalog in SDC for meta-data about the building blocks – completed by Amdocs
Designer/editor in SDC for creating workflow – committed to develop by Amdocs
Convert already existing building blocks/activities to be workflow designer ready
Move workflow out of service model to independent artifact – priority nice to have
Distribution of workflow to SO – preferably with workflow as independent artifact
Deployment of workflow in SO
User interface (VID) to select workflow and input parameters for execution
Execute workflow in SO
Rainy day handling for unsuccessful workflow steps
Visualize the execution results on VID dashboard
Ability to cancel workflow execution (VID)
Flow Designer Orchestration High Level Diagram
Run-time support of User Designed Workflows
2) Traffic migration building block Committed M4READY
Impacted components: SDNC, APPC
Contributors: AT&T, Orange, Intel
Functionalities
Traffic to one or multiple (V)NFs is distributed by a Traffic Distribution/Balancing Entity
For Casablanca, we will focus on the LCM action necessary for traffic migration. For Dublin and beyond, we will create a workflow within SO for traffic migration
New LCM action to control traffic distribution (to achieve traffic migration) - will also have to update CDT Design tool
DistributeTraffic LCM action (Alternative is ConfigModify LCM action if PTLs recommend to push DistributeTraffic LCM to Dublin)
Anchor point ID (VNF ID in action identifier)
Traffic distribution weights for all nodes covered by the anchor point that require changes - this will be in the payload section in the form of "ConfigFileName" The config file (json) would be stored in the Ansible docker.
The playbook would read a Traffic Distribution Configuration file associated with the DistribConfigName value sent by the Controller
If we want to test/try various traffic distributions (many tests), we could have many Traffic Distribution Configuration files, each with it own DistribConfigName.
The Playbook could also include a step to take a backup of the Traffic Distribution/Balancing Entity current traffic distrib/configuration and save it locally at some dir path. If the new traffic distribution action is rejected/failed then the playbook can restore previous traffic distribution/config. The Playbook can offer lots of flexibility and it is up to the entity SME to decide what he/she wants to do upon a DistributeTraffic action request.
Mechanisms for traffic migration - implemented by controller
Assessment report on commonalities/differences across VNF types – e.g., IP based redirection, DNS based or load balancer
Integration/testing
For Casablanca, we will demonstrate traffic migration across 2 vFWs using traffic source as the anchor point
Ansible playbook for adjusting the traffic weight on the traffic source (anchor point)
Traffic weight before migration: 100,0 and traffic weight after migration: to 0,100
Second test case would be traffic migration (quiesece / resume) on vGW/vCPE
Execution flow:
User → DMAAP → SDNC/APPC → Ansible → VNF(s)
Design flow:
User uploads Ansible playbook into CCSDK
For the LCM action :
If the payload contains pnf-flag and it is set to true then that indicates request for PNF.
If it is set to false, then the request is for VNF, and we will use vnf-id in input and nf-naming-code in payload.
nf-naming-code = vgw for example.
SDNC will look up nf-naming-code in AAI if not passed in payload.
For PNF, we will use the following in payload: pnf-name and ipaddress-v4-oam
3) 5G RAN PNF Software upgrade Committed M4READY
Impacted components: SDNC, Ansible (CCSDK)
Contributors: AT&T, China Mobile, Huawei
Functionalities
Leverage in-place software upgrade Beijing use case (minor changes) to demonstrate application to 5G RAN PNFs
Complete generic building blocks for flexible upgrade workflow design
Enhance precheck and postcheck steps with vendor specific rules
External controller would receive instructions from Ansible SDNC
PNF ID, Expected Software Version, Controller Type, EC type, Rule Name and corresponding parameters can be specified at run time
Update A&AI entry with new PNF software version, as ‘active version’
Support Batch software upgrade operations (stretch goal)
More details: 5G - PNF Software Update
4) Change Management Scheduler Committed M4READY
Impacted components: OOF
Contributors: AT&T
Functionalities
Discover schedule based on the change management constraints
Constraints
Time-based - e.g., execute the change activity during the maintenance window and weekdays
Concurrency of how many NF instances to change at a time - this is concurrency within a single user request
NF conflicts (if time permits) - avoid work scheduled at the same time on the same NF instance
Input
List of NF instances - request details as depicted in the Beijing script
Start/end times
Expected duration
Constraint/policy
Type of change (workflow name)
Concurrency value
Output
Schedule - time and instance at which the workflow would be executed
Integration/Testing plan
Use Beijing vGW in-place software upgrade to demo execution based on the schedule output by OOF