[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[atomic-devel] Introducing Flamingo: A Lightweight Cloud Instance Contextualization Tool for CentOS Atomic Host



When using on-demand instantiation of virtual machines in cloud computing,
users pass configuration data to the cloud and that data is used for
configuring the instances.


This process is called contextualization. Contextualization includes
identity(users, groups), network, system services and disk configuration.

Flamingo is a contextualization tool that is being developed as a GSoC project

that aims to handle early initialization of cloud instances.


The current de facto standard for instance virtualization is cloud-init.
However, there are some problems with it. The most prominent ones are:

  • The usage of a scripting language (Python in this case), since scripting
    languages have the overhead of the interpreter, its dependencies and
    being slower than compiled ones due to their dynamic nature.
  • The documentation is lacking at best. There are examples of common
    use-cases. However, most of the code-base and plug-ins are undocumented.
    Inspecting the code-base is a prerequisite to extend the functionality or
    even understand it.
  • Test coverage is low. Making it hard to extend, maintain, and improve.

Flamingo is a replacement for cloud-init that solves these issues.

Flamingo aims to solve the following problems encountered in cloud contextualization;

  • Speed
  • Dependency
  • Maintainability
  • Extensibility

The current focus of Flamingo is Atomic Host and CentOS


Current work-in progress is to build test images that are using Flamingo instead of cloud-init as the

contextualization tool for EC2, GCE, Openstack, and OpenNebula.


You can find the source code for the tool here.


For more details please check this blog post


Feel free to make suggestions or ask questions.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]