EGI Cloud Middleware Distribution

From EGIWiki
Revision as of 16:18, 4 May 2016 by Spinoso (talk | contribs) ([B] Two distributions)
Jump to: navigation, search

Cloud Middleware Distribution

One or more new distributions, called Cloud Middleware Distributions (CMD), will be created and managed. No changes are needed to create a new distribution; composer has been built to support several distributions, but never used so it has just to be tested. Each distribution, just like UMD, will start from major release number 1, going in parallel with UMD (already used for separated grid products).

The new cloud distributions will be used to distribute OpenStack and OpenNebula integration components (not the framework themselves). All the products must be available both as CentOS7 and Ubuntu packages. Two or more versions of the same CMD distribution will be distributed in parallel, following the need of sites to stick with their installations.

No changes have been requested to the regular UMD workflow, so verifications, SR, etc. will be allowed and performed as well on the cloud distributions with no development needed on the repository side.

After creating the first CMD release we will use the experience to create a straightforward procedure to create the next major/minor versions.

Components can be classified as:

  • OpenStack specific components
  • OpenNebula specific components
  • common cloud components (BDII, SSM, VMCatcher...)
  • regular grid components (in current UMD3/UMD4)

Different granularities are possible when designing the set of the distributions, some proposals are shown below.

[A] Unique distribution

Unique.png
  • one unique CMD distribution will handle all the three kinds of cloud components
  • UMD handles only grid components
  • the unique CMD will follow the OpenStack release cycle (6 months) and the OpenNebula major release cycle (years)
  • every CMD major release will stick to a specific OpenStack release, while the OpenNebula components will be reincluded in a newer distribution when decommissioning of a specific release is needed
    • CMD1 Liberty+ONE5
    • CMD2 Mitaka+ONE5
    • ...

Comments:

  • - ONE support would need to migrate their packages to the new CMD about every 6 months following the OpenStack EOLs without real need but the fact that OpenStack is migrating to a new major
  • - OpenNebula sites should be asked to upgrade to a new major release (OpenStack-driven) without real changes for them, just because from time to time a release needs to be decommissioned

[B] Two distributions

Two-distros.png
  • two CMD distributions, one for OpenStack (CMD-OS) and one for OpenNebula (CMD-ONE), will handle the respective components and release cycles (6-months and years)
  • common components will be included in both the distributions
  • every CMD major release will stick to a specific OpenStack release or OpenNebula release, for instance
    • CMD-OS 1 (Liberty)
    • CMD-ONE 1 (ONE5)
    • CMD-OS 2 (Mitaka)
    • ...

Comments:

  • + components follow the natural release cycle of the CMF
  • + easy for the site, one repo and ready to go
  • + coherency in dependencies is guaranteed because all the packages are put together
  • + easier and less error-prone for the release manager
  • + if at some point a common package is not common anymore and used only by one fo the two frameworks, or frequent updates are related only to one of the two frameworks, updates are made only on the specific distribution
  • - common packages are duplicated into each CMF-related distribution

[C] Three distributions

  • three CMD distributions, one for OpenStack (CMD-OS), one for OpenNebula (CMD-ONE), one for the common components, will handle the respective components and release cycles
  • every CMD major release will still stick to a specific OpenStack release or OpenNebula release, for instance
    • CMD-OS 1 (Liberty)
    • CMD-ONE 1 (ONE5)
    • CMD-common 1
    • CMD-OS 2 (Mitaka)
    • ...

Comments:

  • + avoid duplicating common packages
  • + if issues arise with a common distribution, we can always switch to [B] and dismiss the common distribution
  • - if one project evolves faster than the other, supporting backward compatibility with the slower one could be an issue
  • - can bring to dependency problems

[D] Three distributions, using UMD for commons

  • three CMD distributions, one for OpenStack (CMD-OS), one for OpenNebula (CMD-ONE), and UMD4 for the common components, will handle the respective components and release cycles
  • every CMD major release will still stick to a specific OpenStack release or OpenNebula release, for instance
    • CMD-OS 1 (Liberty)
    • CMD-ONE 1 (ONE5)
    • UMD4 (common)
    • CMD-OS 2 (Mitaka)
    • ...

Comments:

  • + avoid duplicating common packages
  • + reuse UMD4 instead of creating a separated cloud distribution for common products
  • + handle automatically complex dependencies that might be brought by grid-related components
  • - if one project evolves faster than the other, supporting backward compatibility with the slower one could be an issue
  • - UMD4 sticks to grid components and their release cycle, which may diverge from the cloud-specific ones
  • - can bring to dependency problems