Introduction

Docker containers provide app portability across any platform and also provide VM functionality like isolation and resource limits. Yet, they are light weight and provide high density and better performance for workloads.

Many cloud service providers are beginning to consider offering containers as a service to their customers. This will usually be with running Docker containers on top of a Hypervisor technology.

CoreOS is emerging as the most popular choice for host OS to run Docker containers.

By leveraging CoreOS Support in CloudStack, Service Providers and Enterprises will be able to offer Containers as a Service to their customers.

Purpose

Deploy CoreOS guest Vms on CloudStack


References

https://coreos.com/os/docs/latest/booting-on-cloudstack.html

JIRA:  CLOUDSTACK-8654 - Getting issue details... STATUS

Template Location: http://dl.openvm.eu/cloudstack/coreos/x86_64/

Branch: coreos branch on https://github.com/kishankavala/cloudstack


Functional Requirements

  • While registering a template/ISO, include CoreOS as the supported Operation System version
  • GuestOS mapping for all supported hypervisors should be updated to include CoreOS

Assumptions

Design

To support CoreOS while registering templates, below tables need to updated:

guest_os_category - Use existing entry "Other" or add new category "CoreOS"

guest_os - Add new entry for "CoreOS"

guest_os_hypervisor - Entries for all supported hypervisors

 

Once the above entries are added, CoreOS templates can be registered with OS Type - "CoreOS"

Optionally cloud-config can be supplied via userdata (Length is limited to 32768).

Sample cloud-config:

#cloud-config

users:
  - name: deploy
    coreos-ssh-import-github: clouduser
    groups:
      - sudo
      - docker

 

Upgrade

  • Include queries to add CoreOS guest OS mapping

Usage

None

API Changes

None

DB changes

  • No schema changes

UI Changes

  • Add option to supply user data (cloud-config) while deploying Vm

Hypervisors Supported

Open Items

  • Document supported versions for Hypervisors
  • CoreOS Version - 681+ ?
  • No labels