What is Fenix?
Fenix implements rolling infrastructure maintenance, upgrade and scaling. It can do this also in interaction with the application on top of it if the 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 the application manager to guarantee zero downtime for its service. Interaction gives the ability for 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 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.
The architecture is pluggable to manage different use cases, clouds and payloads. There will be a plugin for workflow used and for the pre-, host- and post-actions.
Fenix is based on the work done in the OPNFV Doctor.
Doctor maintenance design guideline
Doctor presentation in OpenStack Vancouver summit that lead to the 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