Vanilla means downloading the source code without vendor customized changes. In theory this sounds great, since it give you the flexibility of manipulating with the original code without having a vendor customizing it and putting their unnecessary in it, right? I wish it is that simple.

Here are few things that you can consider when you choose your vanilla vs OpenStack distribution:

1) Know your requirements

  • What is the base OS that you are currently using. In the industry today, there are four major distributions: susu, juju, redhat, and mirantis. Sometimes it is better to go with a distribution which your Network engineer already familiar with. For example if most of your workload is CentOS or RHEL, and you are redhat shop, then going with RHEL OSP Director (or packstack) makes sense.
  • What specific openstack components/services do you really need? and how mature are they? Keep in mind that not all openstack components are supported by all the major distributions.
  • What kind of storage do you need?
  • Who will do openstack automation (yourself, ubuntu juju, mirants, etc…)
  • Who will do CI/CD and openstack release Management ?
  • Pricing, legal and contract requirements

2) Know who will fix your bugs and missing features. Is it the open community or a a vendor?

3) Do you have openstack developers in your organization that you can rely on ?

In attempt to answer some of these questions, I am providing a high-level comparison table between the the 4 main openstack distributions:

  Redhat SUSE Mirantis Ubuntu
Distribution Version OSP v11 based on RHEL 7.3 Cloud 7 on SLES 12 SP2. Note: SUSE acquired HPE cloud Assets (HPE HELION) Only Distribution – no OS owned by mirantis. MCP 1.1 supports Ubuntu 16.04 LTS. Used to offer redhat but not anymore. Ubuntu openstack is community edition while Canonical is enterprise edition. Have different packages. Version 16.04 LTS
Openstack supported version Ocata Newton Ocata Pike
Kernel 3.10-based 4.4-based 4.4-based 4.4-based
Virtualization KVM and ESXI (vCenter) KVM, XEN, VMware vSphere, IBM, Kubernetes Docker via Magnum KVM, Kubernetes, Docker KVM, Hyper-V, LXD
Deployment Orchestration OSP director using TripleO/Ironic and Ansible or Packstack (for test environments) Crowbar and Chef MCP Drivetrain based on Saltstack Ubuntu Openstack (Devstack, puppet, Ansible, chef, saltstack)

Canonical (Juju and MaaS)

Openstack main supported projects AODH (alarming)

CEILOMETER (telemetry)

GNOCCHI (TDBaaS)

HEAT (orchestration)

HORIZON (dashboard)

IRONIC (bare-Metal Provisioning)

MANILA (shared file system)

PANKO (event, metadate indexing)

TEMPEST (integration test suite)

SAHARA (elastic map reduce)

AODH (alarming)

CEILOMETER (telemetry)

HEAT (orchestration)

HORIZON (dashboard)

IRONIC (bare-Metal Provisioning)

MAGNUM (containers)

MANILA (shared file system)

MONASCA (monitoring)

AODH (alarming)

CEILOMETER (telemetry)

DESIGNATE (dns service)

HEAT (orchestration)

HORIZON (dashboard)

IRONIC (bare-Metal Provisioning)

MURANO (application catalog)

SAHARA (elastic map reduce)

CEILOMETER (telemetry)

DESIGNATE (dns service)

HORIZON (dashboard)

 

Life cycle New downstream version with every upstream release They always skip one release. New downstream version with every 2nd upstream release New downstream version with every upstream release New downstream version with every upstream release
Support 1 yr for Intermediate releases and up to 5 yrs for LTS releases 27 months after cloud 7 GA. Starting from cloud 8, it will be 36 months Similar to Ubuntu 1 yr for Intermediate releases and up to 5 yrs for LTS releases
Container platform supported Redhat Openshift (based on Kubernetes and

Docker) and uses wither

Atomic or RHEL OS

SUSE CaaS Platform (based on Kubernetes and

Docker). Also offers SUSE CaaS on SUSE MicroOS

MCP CaaS based on Kubernetes and docker LXD, Kubernetes, Docker (CS), JUJU

If you are interested in more info, I highly recommend watching the openstack session recording that was given in Sydney 2017 by Danny Al-Gaaf https://www.openstack.org/videos/sydney-2017/vanilla-vs-openstack-distributions-update-on-distinctions-status-and-statistics-1