Improving upgradability, updatability and configurability in OPNFV

Fuel@OPNFV is an open source project of Fuel (a tool which deploys and manages OpenStack, developed by Mirantis), integrated on the OPNFV platform. It is supported by the open source comunity and is the first OPNFV installer that was ported on aarch64 architecture. The aarch64 support in OPNFV is driven by the „Armband” project, initiated by Arm and delivered by Enea.

By Cristina Pauna

Transitioning from Fuel to MCP

Fuel is easy to install but difficult to upgrade, update, and reconfigure. Enea helped integrating its successor in OPNFV – the Mirantis Cloud Platform (MCP) – a more dynamic architecture that gives more flexibility in production.

Differences between Fuel and MCP

The project in OPNFV remained under the Fuel” name, but has a completly different backend.

Fuel is packed in an iso and supports offline mirrors, making possible a deploy without an internet connection. MCP is installed by scripts and needs an internet connection to get all the needed packages (at least for now).

Fuel installs all components on baremetal, while MCP has a Virtual Control Plane: all the controller components are installed in VMs on the controller targets while the compute components are directly on baremetal. This approach makes it easier to recover from individual component failure and is what makes updates easier. For installation and cofiguration, Fuel uses puppet while MCP uses salt. Also the provisioning of the targets is done with MaaS for MCP while Fuel uses an internal mechanism for that.

A bigger impact on users is that MCP no longer has a GUI for Openstack deployment. Everything is contained in configuration files. The approach to netorking is only slighly different and the end result of the both is common: a deployed and properly configured OpenStack.

Images taken from the OPNFV git hub statistics, entering *fuel in the search box.

Click to open the stats in a new window!

Challenges

The work for transitioning to MCP in OPNFV started late May 2017. Everything from the Fuel implementation was removed and MCP had to be build from scratch. Both Fuel and Armband projects had to fit into the OPNFV milestones. While the Fuel project is now driven by Mirantis, the Armband project is exclusevly driven by Enea and has to rely on the work provided by upstream.

MCP for Armband meant learning new tools, a whole new way of doing things and a better coordination with other projects in OPNFV; not only Fuel, but also testing projects . After two delays in the schedule we managed to catchup in time for the Euphrates release. There was a true community effort between Fuel and Armband projects to sync and help each other in order to be ready on time.

The drawback of this effort was that all the work focused on basic scenarios, thus delivering less features than in Danube release.

Achievements and future work

After the OPNFV Euphrates” release, Fuel@OPNFV is closer to become a project that supports both x86_64 and aarch64 architectures in the same repo. Many of the Armband patches were upstreamed in the Fuel project, and the two have now a common documentation. As an acknowledgment of the effort, three out of the four nominated team members – from both projects – won OPNFV Euphrates awards.

The plans for the future are to bring back into OPNFV the features supported by Fuel while continuing the aarch64 support for them.

During the OPNFV Euphrates Plugfest at Intel in Oregon in November, the Linux Foundation announced the Euphrates Release Awards winners.

Alex Avadanii and Cristina Pauna from the Enea ARMBand team won awards in the Integration category (and Delia Popescu was nominated in Testing). Michael Polenchiuk from Mirantins won the Code development category.

Read more about Enea's commitment to OPNFV