Use Case proposal: ONAP Change Management
Project Name:
Proposed name for the project: Network Function Change Management
Proposed name for the repository: NFCM
Project description:
Network Functions (NFs) like any software have to be updated periodically (to support new features, fix bugs, security holes, etc). However, complex dependencies, upgrade mechanisms, SLAs etc require that the upgrades or changes are managed carefully. For example, NFs may by upgraded in-place or through a scale out and replace mechanism. The change may require draining, redirection, or load-balancing of traffic. It may also involve multiple NFs whose changes need to be coordinated for service continuity. It will also require capabilities like A/B testing, pre- and post- change testing, scheduling, etc. This project, Network Function Change management, provides the capability to design, schedule and manage configuration changes and software upgrades of network functions managed by ONAP. This project exposes the existing capabilities of ONAP components (like that of the service orchestrator and the controller) to users to help them stitch workflows that use these capabilities for managing NF changes or upgrades.
Scope:
Since Change Management is an E2E platform function the focus for R1 will be to define the flows and ensure that ONAP components provide the Interfaces and data needed.
This project provides users with the ability to design workflows based on a suite of existing capabilities exposed by other ONAP components. For example, a user can make calls to a controller to execute actions, to A&AI to get inventory status, and existing orchestration flows, and combine these calls to achieve a higher level orchestration function. SDC will be used for designing the workflows.
This project provides a capability to deploy (and undeploy) and upgrade the designed workflows to an execution environment (e.g., the service orchestrator). This assumes that the execution environment provides APIs to perform these functions.
This project provides runtime management (start, pause, resume, stop, rollback) and monitoring of the workflows. This project provides a portal for a user to come in and manually control these workflows or monitor them or track the history of workflows that have been executed. Again we assume that the execution environment provides APIs to perform these functions. We also assume that other ONAP components (e.g., Policy) can trigger one of these workflows as part of a control loop action.
This project provides capabilities for scheduling workflows. The schedule could range across a subset of the instances of an NF, across instances of multiple NFs or combinations therein. For complex scheduling use cases we foresee the use of SNIRO Optimization Framework to be used as a home for specific scheduling optimization micro-services.
This project provides capabilities for selecting the type and instances of the NFs that need to be associated with the workflows (as well as for scheduling).
This project will document the best practices for End-to-End workflow design.
Beijing Release: We have reduced the functionality scope for Change Management in Beijing to execute a pre-defined workflow to carry out in-place software upgrade.
Other functionalities would be considered in subsequent ONAP releases.
Beijing Pair-wise testing status: [In-progress] SB-07 environment
Status update as of 31st May 2018 - 12:15 AM
SO - DMAAP - SDNC issues resolved. Fixes in APPC client library with SO working nicely. Tremendous team work !!!! Special thanks to Ruchira, Arthur, Brian, Marco, Elena, Kang, Dan, Jimmy, Rob, Randa, Ryan and Patrick.
Successfully tested the SO CM workflow end to end - pre-check, software upgrade and post-check went through successfully and the vGW instance was successfully upgraded.
Next to work with VID on request to SO (31st May morning!) - this is non-blocking for CM Beijing. VID provides a graphical user interface and the same workflow can also be invoked using SO (Which is tested successfully with vGW so far!)
Status update as of 30th May 2018 - 5:15 PM
Tremendous progress made on testing SO-SDNC using the APPC client library within SO. The issue under investigation was SO not able to publish SDNC event onto DMAAP. The cambria partition was null before. APPC and SO fixed the code to now set it correctly to SDNC. But now SDNC is working on fixing the code to correctly read the cambria partition (upper case instead of lower case). SDNC code deployed, but event not reaching DMAAP from SO.
Status update as of 23rd May 2018: Testing is in Progress
vGW (vCPE) is now successfully instantiated using ONAP and is thus available to test with Change Management workflow. A&AI has the vGW instance and SO can proceed with the in-place software upgrade workflow testing.
The key issue is SO being able to publish SDNC-LCM messages on DMAAP and receive the response from SDNC. The team is investigating and making very good progress on resolving issues (e.g., setting variables correctly such as cloudRegion)
1) SDN-C To Ansible and Ansible to VNF instance: INT-476: CM Beijing Pair-wise testing: SDNC to Ansible and Ansible to VNFClosed
Successfully completed by Dan Timoney.
Given the manual instantiation, Ruchira Agarwal is working on testing the Ansible playbook execution from SDN-C to Ansible server and Ansible Server to VNF instance (vG/vCPE).
IP address of vG is 10.12.5.85
2) SO to SDN-C: INT-475: CM Beijing Pair-wise testing: SO to SDNC via DMAAPClosed
Issue currently with SO publishing on to DMAAP - Arthur Martella, Marco Platania, Brian Freeman, Ruchira Agarwal, Ajay Mahimkar, and Elena Kuleshov are actively working on troubleshooting & resolving the issue.
3) VID to SO: INT-474: CM Beijing Pair-wise testing: VID to SO Closed
NF role is important to be set in order to have VID start the change workflow execution. Currently, it is not set as part of instantiation flow. A&AI to provide API to set the NF role - robot will use during instantiation.
issue is resolved: VNF instantiation is not working with R2 - vCPE is not instantiated in SB-07 using SO.
https://jira.onap.org/browse/SO-618
Resolution: Kang Xi manually instantiated vG/vCPE in SB-07 but the instance is not seen in A&AI due to which SO cannot proceed with the in-place software upgrade workflow. However, SDN-C is able to now test the Ansible playbook execution on the VNF instance.
Beijing Development Completed - Code Delivered
Requirement | Project | Point of contact (PTL) | Status | JIRA Tickets | |
Lock/unlock VNF instance | A&AI | Jimmy Forysth | Default | ||
Ansible code for in-place software upgrade | vCPE / Demo | Eric Multanen | Default | CCSDK-221: Ansible playbooks for vG (vCPE) in-place software upgrade Closed | |
Software upgrade execution | SDN-C | Dan Timoney | Default | SDNC-278: Change management in-place software upgrade execution using Ansible Closed | |
Ansible server support | CCSDK | Dan Timoney | Default | ||
Change workflow design and execution | SO | Seshu Kumar | Default | SO-526: Change management in-place software upgrade workflowClosed | |
User inteface for invoking upgrade workflow | VID | Ofir Sonsino | Default | ||
Testing of change design and execution | Integration | Helen Chen | Default |
Architecture Alignment:
How does this project fit into the rest of the ONAP Architecture?
The figures below show sample E2E flows that will be executed as part of NF Change.
What other ONAP projects does this project depend on?
SDC
Portal
Service Orchestrator
Controllers
A&AI
Policy
DCAE
Optimization Framework(SNIRO)
How does this align with external standards/specifications?
It is not based on any external standards/specs
Are there dependencies with other open source projects?
There are no dependencies with other open source projects.
Resources:
Primary Contact Person: Ajay Mahimkar(AT&T) - mahimkar@research.att.com
Emmanouil Mavrogiorgis (emaurog@research.att.com)
Giritharan Rana (AT&T)
Jennifer Yates(AT&T)
Zihui Ge (AT&T)
Other Information:
link to seed code (if applicable)
In order to better align with target ONAP architecture all Change Management activities will be designed and executed through the appropriate components (SDC will be used to design and store workflows, SO will be used to execute them).
Vendor Neutral
No code will be delivered at least for Release 1
Use the above information to create a key project facts section on your project page
Key Project Facts
Project Name:
JIRA project name:Network Function Change Management
JIRA project prefix:NFCM
Repo name:NFCM
Lifecycle State: Incubation
Primary Contact:TBD
Project Lead:TBD
mailing list tag: NFCM
Committers:
Emmanouil Mavrogiorgis ( emaurog@research.att.com )
Giritharan Rana ( giri@research.att.com )
*Link to TSC approval: