FUEL Master Node on CentOS 7


Problem description

FUEL master nodes up to MOS 7.0 were built on CentOS6 base with many packages rebuild internally even when there are suitable versions available in upstream repositories. This becomes a problem since codebase becomes outdated and there is a growing amount of security patches that must be applied.

Updating master node to CentOS7 solves the following issues:

  • Update system packages (including kernel) to newer versions
  • Update core packages (docker, puppet, ruby, openstack components) to newer versions
  • Update a lot of other packages to newer versions
  • Use upstream repositories with MOS repos together

Proposed changes

The proposal is to update all packages that are built internally to versions from CentOS 7 repositories, then rebuild ISO using CentOS7 base repositories and updated internal repository. Since updating the packages will affect some puppet manifests logic they should be updated too.

The way how services on master node and inside docker containers are managed also should be changed in favor of systemd which is a default init system in CentOS7. This should help to make those services unified and managed in the same way. Another advantage is that they become less dependent on docker containers (now many of them are managed by supervisord service, which doesn’t allow them to be moved easily to, say, master node itself).

Web UI



Python requirements should be updated to work with versions available in base repo or compatible with OpenStack global requirements.

Data model




RPC Protocol


Fuel Client

Python requirements should be updated to support version available from base repos or be compatible with OpenStack global requirements.



Fuel Library

CentOS 7 uses systemd so puppet manifests should be checked and updated to be compatible:

  • templates for services should be updated
  • components that tries to use scripts in /etc/init.d directly should be rewritten
  • templates for other components should be updated to match configuration files from updated packages



Upgrade impact

There is a separate blueprint that describes update procedure:


Security impact


Notifications impact


End user impact


Performance impact

None, or slightly improved performance.

Deployment impact

CentOS7 uses predictable network interface naming schema, which is covered by network-interfaces-naming-schemes spec.

Developer impact

Developers should update components to support requirements from CentOS7.

Infrastructure impact

QA infrastructure should be updated to support systemd based ISO.

Documentation impact




Primary assignee:
Mandatory design review:
Anastasia Urlapova <aurlapova@mirantis.com> Oleg Gelbukh <ogelbukh@mirnatis.com> Sergii Golovatiuk <sgolovatiuk@mirantis.com>

Work Items

  • Fuel Library

    Review all the changes tagged with ‘centos7-master-node’ topic, and merge.

  • Fuel Main

    Review all the changes tagged with ‘centos7-master-node’ topic, and merge.

  • Fuel OSTF

    Review all the changes tagged with ‘centos7-master-node’ topic, and merge.

  • Fuel Astute

    Review all the changes tagged with ‘centos7-master-node’ topic, and merge.

  • Fuel Web

    Review all the changes tagged with ‘centos7-master-node’ topic, and merge.



Testing, QA


Acceptance criteria

Custom ISO passes BVT, swarm, and scale tests.