Fenix

What is Fenix?
Optimized rolling infrastructure pluggable one-click maintenance, upgrade, scaling and life-cycle workflow with VNFM interaction guaranteeing zero impact on VNF service.

Infrastructure admin can call Fenix API to start a pluggable workflow session. This session will make needed maintenance, upgrade and scaling operations to infrastructure optionally in interaction with the application manager (VNFM) to guarantee zero downtime for its service. Interaction gives the ability for the application manager to know about new capabilities coming over maintenance to make his own upgrade. The application can have a time window to finish what he is doing, make own action to re-instantiate his instance or have Fenix to make the migration. Also, seamless application scaling or retirement will be possible.

As Fenix has above described project-specific messaging with information about instances affected towards application manager, it also has admin-level messaging. This messaging can tell what host is down for maintenance, so any infrastructure components can have this information. Special case for this messaging would also be telling about adding or removing a host.

The architecture is pluggable to manage different use cases, clouds and payloads. There is plugin for workflow used and for the pre-, host- and post-actions.

The latest addition is also the ETSI FEAT03 defined constraints for instances and instance groups that can be used to optimize any rolling workflow to be done in the shortest possible time window, while at the same time keeping zero impact on VNF service.

Presentation in OIS Denver 2019:

Fenix Denver - forum presentation

Presentation in ONS Europe 2019:

Resiliency Closed Loop - Telco Self-healing and Maintenance

Live demo in ONS Europe 2019:

Resiliency Closed Loop - Telco Self-healing and Maintenance

Unconference in ONS Europe 2019:

Host maintenance with Fenix

OPNFV CLA WG March 2020:

Telco rolling maintenance and upgrade with ETSI FEAT03

Development

 * Storyboard: https://storyboard.openstack.org/#!/project/x/fenix
 * CLI: https://storyboard.openstack.org/#!/project/x/python-fenixclient
 * Source code:
 * https://opendev.org/x/fenix/
 * https://opendev.org/x/python-fenixclient

Stein release notes
During Stein release, Fenix most important new features were the stories below:
 * 2004147	Ability to download plug-ins and SW changes
 * 2004146	Support for one-click upgrade
 * 2003846	Support for action plug-in
 * 2003830	Fenix workflow error handling and use of database

Train priorities
There was a session in Denver PTG to define the priorities. As there were two non-Telco users wanting to start using Fenix, it was the most important thing driving the priorities: https://etherpad.openstack.org/p/DEN2019-fenix-PTG Also, there was a discussion about ETSI NFV harmonization:

https://etherpad.openstack.org/p/DEN2019-fenix-ETSI-NFV-PTG

Ussuri
Open Infrastructure Summit - Shanghai

PTG:https://etherpad.openstack.org/p/Shanghai2019-Fenix-PTG

The main priority:

Specification to start implementing ETSI FEAT03: NFVI software modification. https://fenix.readthedocs.io/en/latest/specifications/ussuri-etsi-feat03.html


 * Security
 * Update/continue failed session
 * Parallel execution
 * Kubernetes

Documentation

 * https://fenix.readthedocs.io/en/latest/

Meetings
bi-weekly meeting on Monday 5 AM UTC ("odd" weeks on #openstack-Fenix)

Topics for next meeting Topics (feel free to add one):
 * Status
 * AoB

Contact Us

 * IRC channel for regular daily discussions: #openstack-fenix
 * Use [fenix] tag for Fenix emails on OpenStack Mailing Lists
 * PTL Tomi Juvonen (tojuvone)