What is Fenix?
Fenix implements rolling infrastructure maintenance, upgrade and scaling. It can do this also in interaction with application on top of it, if application supports it. In Telco world we talk about VNFM, but one can implement own simple manager for any application.
Infrastructure admin can call Fenix API to start a maintenance workflow session. This session will make needed maintenance, upgrade and scaling operations to infrastructure optionally in interaction with application manager to guarantee zero down time for its service. Interaction gives ability for application manager to know about new capabilities coming over maintenance to make his own upgrade. 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 migration. Also seamless application scaling or retirement will be possible.
As Fenix will have project specific messaging with information about instances affected towards application manager, it will also have 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 would also be telling about adding or removing a host.
Architecture will be pluggable to manage different use cases, clouds and payloads. There will be plugin for workflow used and for the maintenance action for a host, like esw or OpenStack upgrade.
Fenix is based on the work done in the OPNFV Doctor.
Doctor maintenance design guideline
Doctor presentation in OpenStack Vancouver summit that lead to creation of the Fenix: How to gain VNF zero down-time during Infrastructure Maintenance and Upgrade
- Storyboard: https://storyboard.openstack.org/#!/project/openstack/fenix
- CLI: https://storyboard.openstack.org/#!/project/openstack/python-fenixclient
- Source code:
Communication and Meetings
- IRC channel for regular daily discussions: #openstack-fenix
- Use [Fenix] tag for Fenix emails on OpenStack Mailing Lists