Implement a docker DSL

Registered by Steven Dake

Implement a docker DSL. The DSL builds Dockerfiles in place of our jinja2 Docker templates. The driving user requirement behind this is complete customization of the built images. This is mandatory to implement plugins.

It would be possible with a dsl (which I call elemental).

elemental.yml (ships with kolla)
/etc/kolla/elemental-merge.yaml (merges yaml sections with the global yaml namespace of elemental.yml)
/etc/kolla/elemental-override.yaml (after merging, overridding can be used to override complete sections of one or more containers.)

Blueprint information

Status:
Complete
Approver:
None
Priority:
Medium
Drafter:
Steven Dake
Direction:
Needs approval
Assignee:
Steven Dake
Definition:
Obsolete
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Steven Dake
Completed by
Swapnil Kulkarni

Related branches

Sprints

Whiteboard

moving to newton-3 expected to be released on 2016-09-02. Please try to finish it before that otherwise it will be moved to Octata. - coolsvap

Gerrit topic: https://review.openstack.org/#q,topic:bp/docker-dsl,n,z

Addressed by: https://review.openstack.org/321468
    DSL to generate dockerfiles

Addressed by: https://review.openstack.org/322336
    Enable aodh with elemental.yml implementation

Addressed by: https://review.openstack.org/322337
    Implements elemental.yml DSL for mariadb

Addressed by: https://review.openstack.org/322345
    Documentation for elemental DSL

Addressed by: https://review.openstack.org/322346
    Implement elemental DSL parser

Addressed by: https://review.openstack.org/322350
    Implements elemental.yml DSL for openstack-base

Addressed by: https://review.openstack.org/325313
    [WIP] Implements elemental.yml DSL for nova

(?)

Work Items

Work items:
(sdake)parser: INPROGRESS
(unassigned)elements-merge code: TODO
(unassigned)elements-override code: TODO
(sdake)aodh: DONE
(unassigned)ceilometer: TODO
(unassigned)ceph: TODO
(unassigned)cinder: TODO
(unassigned)cron: TODO
(unassigned)designate: TODO
(unassigned)dind: TODO
(unassigned)elasticsearch: TODO
(unassisgned)glance: TODO
(unassigned gnocchi: TODO
(unassigned)haproxy: TODO
(unassigned)heat: TODO
(unassigned)heka: TODO
(unassigned)horizon: TODO
(unassigned)ironic: TODO
(unassigned)iscsid: TODO
(unassigned)keepalived: TODO
(unassigned)keystone: TODO
(unassigned)kibana: TODO
(unassigned)kolla-toolbox: TODO
(unassigned)magnum: TODO
(unassigned)manila: TODO
(unassigned)mariadb: TODO
(unassigned)memcahed: TODO
(unassigned)mistral: TODO
(unassigned)mongodb: TODO
(unassigned)murano: TODO
(unassigned)neutron: TODO
(unassigned)nova: TODO
(sdake)openstack-base: TODO
(unassigned)openvswitch: TODO
(unassigned)rabbitmq: TODO
(unassisgned)swift: TODO
(unassigned)tempest: TODO
(unassigned) tgtd: TODO
(unassigned)trove: TODO
(unassignedzaqar: TODO

This blueprint contains Public information 
Everyone can see this information.