aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
authorPaul Bourke <paul.bourke@oracle.com>2016-09-07 18:15:01 +0100
committerPaul Bourke <paul.bourke@oracle.com>2016-09-13 16:53:31 +0100
commitb41247c6569974d8b8591070076845e652d684ba (patch)
tree88a13a896d3888e71b8e43b84165076d74ee266f /docker
parent7db277b1459effca5e8b3a13090d7b08639346cc (diff)
downloadkolla-b41247c6569974d8b8591070076845e652d684ba.tar.gz
kolla-b41247c6569974d8b8591070076845e652d684ba.zip
Add header blocks to all Dockerfiles
Change needed to add header blocks to all Dockerfiles, similar to the base. Use case is to easily run something before packages are installed, e.g. to COPY a local rpm in that can be added to the package list. Change-Id: I1bbfdf0b762da0a392aa8bf47781315b45377bee Closes-Bug: 1618969
Diffstat (limited to 'docker')
-rw-r--r--docker/aodh/aodh-api/Dockerfile.j23
-rw-r--r--docker/aodh/aodh-base/Dockerfile.j22
-rw-r--r--docker/aodh/aodh-evaluator/Dockerfile.j22
-rw-r--r--docker/aodh/aodh-expirer/Dockerfile.j22
-rw-r--r--docker/aodh/aodh-listener/Dockerfile.j22
-rw-r--r--docker/aodh/aodh-notifier/Dockerfile.j22
-rw-r--r--docker/barbican/barbican-api/Dockerfile.j22
-rw-r--r--docker/barbican/barbican-base/Dockerfile.j22
-rw-r--r--docker/barbican/barbican-keystone-listener/Dockerfile.j22
-rw-r--r--docker/barbican/barbican-worker/Dockerfile.j22
-rw-r--r--docker/bifrost/bifrost-base/Dockerfile.j22
-rw-r--r--docker/bifrost/bifrost-deploy/Dockerfile.j23
-rw-r--r--docker/ceilometer/ceilometer-api/Dockerfile.j22
-rw-r--r--docker/ceilometer/ceilometer-base/Dockerfile.j22
-rw-r--r--docker/ceilometer/ceilometer-central/Dockerfile.j22
-rw-r--r--docker/ceilometer/ceilometer-collector/Dockerfile.j22
-rw-r--r--docker/ceilometer/ceilometer-compute/Dockerfile.j22
-rw-r--r--docker/ceilometer/ceilometer-notification/Dockerfile.j22
-rw-r--r--docker/ceph/ceph-base/Dockerfile.j23
-rw-r--r--docker/ceph/ceph-mon/Dockerfile.j22
-rw-r--r--docker/ceph/ceph-osd/Dockerfile.j22
-rw-r--r--docker/ceph/ceph-rgw/Dockerfile.j22
-rw-r--r--docker/cinder/cinder-api/Dockerfile.j22
-rw-r--r--docker/cinder/cinder-backup/Dockerfile.j22
-rw-r--r--docker/cinder/cinder-base/Dockerfile.j22
-rw-r--r--docker/cinder/cinder-rpcbind/Dockerfile.j22
-rw-r--r--docker/cinder/cinder-scheduler/Dockerfile.j22
-rw-r--r--docker/cinder/cinder-volume/Dockerfile.j22
-rw-r--r--docker/cloudkitty/cloudkitty-api/Dockerfile.j22
-rw-r--r--docker/cloudkitty/cloudkitty-base/Dockerfile.j22
-rw-r--r--docker/cloudkitty/cloudkitty-processor/Dockerfile.j22
-rw-r--r--docker/collectd/Dockerfile.j22
-rw-r--r--docker/congress/congress-api/Dockerfile.j22
-rw-r--r--docker/congress/congress-base/Dockerfile.j23
-rw-r--r--docker/congress/congress-datasource/Dockerfile.j22
-rw-r--r--docker/congress/congress-policy-engine/Dockerfile.j22
-rw-r--r--docker/cron/Dockerfile.j23
-rw-r--r--docker/designate/designate-api/Dockerfile.j23
-rw-r--r--docker/designate/designate-backend-bind9/Dockerfile.j23
-rw-r--r--docker/designate/designate-base/Dockerfile.j23
-rw-r--r--docker/designate/designate-central/Dockerfile.j23
-rw-r--r--docker/designate/designate-mdns/Dockerfile.j23
-rw-r--r--docker/designate/designate-pool-manager/Dockerfile.j23
-rw-r--r--docker/designate/designate-sink/Dockerfile.j23
-rw-r--r--docker/dind/Dockerfile.j22
-rw-r--r--docker/elasticsearch/Dockerfile.j22
-rw-r--r--docker/etcd/Dockerfile.j22
-rw-r--r--docker/glance/glance-api/Dockerfile.j22
-rw-r--r--docker/glance/glance-base/Dockerfile.j22
-rw-r--r--docker/glance/glance-registry/Dockerfile.j22
-rw-r--r--docker/gnocchi/gnocchi-api/Dockerfile.j23
-rw-r--r--docker/gnocchi/gnocchi-base/Dockerfile.j214
-rw-r--r--docker/gnocchi/gnocchi-metricd/Dockerfile.j22
-rw-r--r--docker/gnocchi/gnocchi-statsd/Dockerfile.j22
-rw-r--r--docker/haproxy/Dockerfile.j22
-rw-r--r--docker/heat/heat-api-cfn/Dockerfile.j22
-rw-r--r--docker/heat/heat-api/Dockerfile.j23
-rw-r--r--docker/heat/heat-base/Dockerfile.j22
-rw-r--r--docker/heat/heat-engine/Dockerfile.j22
-rw-r--r--docker/heka/Dockerfile.j22
-rw-r--r--docker/horizon/Dockerfile.j22
-rw-r--r--docker/influxdb/Dockerfile.j23
-rw-r--r--docker/ironic/ironic-api/Dockerfile.j22
-rw-r--r--docker/ironic/ironic-base/Dockerfile.j22
-rw-r--r--docker/ironic/ironic-conductor/Dockerfile.j22
-rw-r--r--docker/ironic/ironic-inspector/Dockerfile.j22
-rw-r--r--docker/ironic/ironic-pxe/Dockerfile.j22
-rw-r--r--docker/iscsid/Dockerfile.j22
-rw-r--r--docker/keepalived/Dockerfile.j23
-rw-r--r--docker/keystone/keystone-base/Dockerfile.j23
-rw-r--r--docker/keystone/keystone-fernet/Dockerfile.j23
-rw-r--r--docker/keystone/keystone-ssh/Dockerfile.j23
-rw-r--r--docker/keystone/keystone/Dockerfile.j22
-rw-r--r--docker/kibana/Dockerfile.j22
-rw-r--r--docker/kolla-toolbox/Dockerfile.j22
-rw-r--r--docker/kuryr/Dockerfile.j22
-rw-r--r--docker/magnum/magnum-api/Dockerfile.j23
-rw-r--r--docker/magnum/magnum-base/Dockerfile.j23
-rw-r--r--docker/magnum/magnum-conductor/Dockerfile.j23
-rw-r--r--docker/manila/manila-api/Dockerfile.j22
-rw-r--r--docker/manila/manila-base/Dockerfile.j22
-rw-r--r--docker/manila/manila-scheduler/Dockerfile.j22
-rw-r--r--docker/manila/manila-share/Dockerfile.j22
-rw-r--r--docker/mariadb/Dockerfile.j22
-rw-r--r--docker/memcached/Dockerfile.j22
-rw-r--r--docker/mistral/mistral-api/Dockerfile.j23
-rw-r--r--docker/mistral/mistral-base/Dockerfile.j22
-rw-r--r--docker/mistral/mistral-engine/Dockerfile.j22
-rw-r--r--docker/mistral/mistral-executor/Dockerfile.j22
-rw-r--r--docker/mongodb/Dockerfile.j22
-rw-r--r--docker/multipathd/Dockerfile.j22
-rw-r--r--docker/murano/murano-api/Dockerfile.j23
-rw-r--r--docker/murano/murano-base/Dockerfile.j22
-rw-r--r--docker/murano/murano-engine/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-base/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-dhcp-agent/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-l3-agent/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-lbaas-agent/Dockerfile.j23
-rw-r--r--docker/neutron/neutron-linuxbridge-agent/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-metadata-agent/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-metering-agent/Dockerfile.j23
-rw-r--r--docker/neutron/neutron-networking-sfc-agent/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-openvswitch-agent/Dockerfile.j22
-rw-r--r--docker/neutron/neutron-server/Dockerfile.j22
-rw-r--r--docker/nova/nova-api/Dockerfile.j22
-rw-r--r--docker/nova/nova-base/Dockerfile.j22
-rw-r--r--docker/nova/nova-compute-ironic/Dockerfile.j22
-rw-r--r--docker/nova/nova-compute/Dockerfile.j22
-rw-r--r--docker/nova/nova-conductor/Dockerfile.j22
-rw-r--r--docker/nova/nova-consoleauth/Dockerfile.j22
-rw-r--r--docker/nova/nova-libvirt/Dockerfile.j22
-rw-r--r--docker/nova/nova-network/Dockerfile.j22
-rw-r--r--docker/nova/nova-novncproxy/Dockerfile.j22
-rw-r--r--docker/nova/nova-scheduler/Dockerfile.j22
-rw-r--r--docker/nova/nova-spicehtml5proxy/Dockerfile.j22
-rw-r--r--docker/nova/nova-ssh/Dockerfile.j22
-rw-r--r--docker/openstack-base/Dockerfile.j22
-rw-r--r--docker/openvswitch/openvswitch-base/Dockerfile.j23
-rw-r--r--docker/openvswitch/openvswitch-db-server/Dockerfile.j22
-rw-r--r--docker/openvswitch/openvswitch-vswitchd/Dockerfile.j22
-rw-r--r--docker/rabbitmq/Dockerfile.j22
-rw-r--r--docker/rally/Dockerfile.j22
-rw-r--r--docker/sahara/sahara-api/Dockerfile.j23
-rw-r--r--docker/sahara/sahara-base/Dockerfile.j22
-rw-r--r--docker/sahara/sahara-engine/Dockerfile.j22
-rw-r--r--docker/senlin/senlin-api/Dockerfile.j22
-rw-r--r--docker/senlin/senlin-base/Dockerfile.j22
-rw-r--r--docker/senlin/senlin-engine/Dockerfile.j22
-rw-r--r--docker/swift/swift-account/Dockerfile.j22
-rw-r--r--docker/swift/swift-base/Dockerfile.j22
-rw-r--r--docker/swift/swift-container/Dockerfile.j22
-rw-r--r--docker/swift/swift-object/Dockerfile.j22
-rw-r--r--docker/swift/swift-proxy-server/Dockerfile.j22
-rw-r--r--docker/swift/swift-rsyncd/Dockerfile.j22
-rw-r--r--docker/telegraf/Dockerfile.j23
-rw-r--r--docker/tempest/Dockerfile.j22
-rw-r--r--docker/tgtd/Dockerfile.j22
-rw-r--r--docker/trove/trove-api/Dockerfile.j23
-rw-r--r--docker/trove/trove-base/Dockerfile.j22
-rw-r--r--docker/trove/trove-conductor/Dockerfile.j22
-rw-r--r--docker/trove/trove-guestagent/Dockerfile.j22
-rw-r--r--docker/trove/trove-taskmanager/Dockerfile.j22
-rw-r--r--docker/vmtp/Dockerfile.j22
-rw-r--r--docker/watcher/watcher-api/Dockerfile.j22
-rw-r--r--docker/watcher/watcher-applier/Dockerfile.j22
-rw-r--r--docker/watcher/watcher-base/Dockerfile.j22
-rw-r--r--docker/watcher/watcher-engine/Dockerfile.j22
-rw-r--r--docker/zaqar/Dockerfile.j22
148 files changed, 332 insertions, 6 deletions
diff --git a/docker/aodh/aodh-api/Dockerfile.j2 b/docker/aodh/aodh-api/Dockerfile.j2
index 275be3aff..23288c9b0 100644
--- a/docker/aodh/aodh-api/Dockerfile.j2
+++ b/docker/aodh/aodh-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}aodh-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block aodh_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/aodh/aodh-base/Dockerfile.j2 b/docker/aodh/aodh-base/Dockerfile.j2
index 68d2c4a20..ad9cd4375 100644
--- a/docker/aodh/aodh-base/Dockerfile.j2
+++ b/docker/aodh/aodh-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block aodh_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/aodh/aodh-evaluator/Dockerfile.j2 b/docker/aodh/aodh-evaluator/Dockerfile.j2
index f6b258f73..342d4b1c9 100644
--- a/docker/aodh/aodh-evaluator/Dockerfile.j2
+++ b/docker/aodh/aodh-evaluator/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}aodh-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block aodh_evaluator_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/aodh/aodh-expirer/Dockerfile.j2 b/docker/aodh/aodh-expirer/Dockerfile.j2
index e893dd06b..235c7d369 100644
--- a/docker/aodh/aodh-expirer/Dockerfile.j2
+++ b/docker/aodh/aodh-expirer/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}aodh-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block aodh_expirer_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/aodh/aodh-listener/Dockerfile.j2 b/docker/aodh/aodh-listener/Dockerfile.j2
index 2d2afcf9b..894d44f67 100644
--- a/docker/aodh/aodh-listener/Dockerfile.j2
+++ b/docker/aodh/aodh-listener/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}aodh-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block aodh_listener_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/aodh/aodh-notifier/Dockerfile.j2 b/docker/aodh/aodh-notifier/Dockerfile.j2
index 8775a3a1a..c83de2af5 100644
--- a/docker/aodh/aodh-notifier/Dockerfile.j2
+++ b/docker/aodh/aodh-notifier/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}aodh-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block aodh_notifier_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/barbican/barbican-api/Dockerfile.j2 b/docker/barbican/barbican-api/Dockerfile.j2
index a15cbf52e..df83638e9 100644
--- a/docker/barbican/barbican-api/Dockerfile.j2
+++ b/docker/barbican/barbican-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}barbican-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block barbican_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/barbican/barbican-base/Dockerfile.j2 b/docker/barbican/barbican-base/Dockerfile.j2
index 4843ffee0..3eb5b8845 100644
--- a/docker/barbican/barbican-base/Dockerfile.j2
+++ b/docker/barbican/barbican-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block barbican_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/barbican/barbican-keystone-listener/Dockerfile.j2 b/docker/barbican/barbican-keystone-listener/Dockerfile.j2
index d25d144f3..c35c1696a 100644
--- a/docker/barbican/barbican-keystone-listener/Dockerfile.j2
+++ b/docker/barbican/barbican-keystone-listener/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}barbican-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block barbican_keystone_listener_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/barbican/barbican-worker/Dockerfile.j2 b/docker/barbican/barbican-worker/Dockerfile.j2
index 1d648ce25..65208e0cc 100644
--- a/docker/barbican/barbican-worker/Dockerfile.j2
+++ b/docker/barbican/barbican-worker/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}barbican-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block barbican_worker_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/bifrost/bifrost-base/Dockerfile.j2 b/docker/bifrost/bifrost-base/Dockerfile.j2
index 661688017..ac251b57a 100644
--- a/docker/bifrost/bifrost-base/Dockerfile.j2
+++ b/docker/bifrost/bifrost-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block bifrost_base_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' && /bin/false
diff --git a/docker/bifrost/bifrost-deploy/Dockerfile.j2 b/docker/bifrost/bifrost-deploy/Dockerfile.j2
index 2f4149ea7..aee377e2b 100644
--- a/docker/bifrost/bifrost-deploy/Dockerfile.j2
+++ b/docker/bifrost/bifrost-deploy/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}bifrost-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block bifrost_deploy_header %}{% endblock %}
+
ENV container docker
{% import "macros.j2" as macros with context %}
diff --git a/docker/ceilometer/ceilometer-api/Dockerfile.j2 b/docker/ceilometer/ceilometer-api/Dockerfile.j2
index 6e65a658e..422ecefc1 100644
--- a/docker/ceilometer/ceilometer-api/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceilometer_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-base/Dockerfile.j2 b/docker/ceilometer/ceilometer-base/Dockerfile.j2
index 8c7f8d15a..bc39a8fcf 100644
--- a/docker/ceilometer/ceilometer-base/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceilometer_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-central/Dockerfile.j2 b/docker/ceilometer/ceilometer-central/Dockerfile.j2
index 46bcc5540..1d54a9f3b 100644
--- a/docker/ceilometer/ceilometer-central/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-central/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceilometer_central_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-collector/Dockerfile.j2 b/docker/ceilometer/ceilometer-collector/Dockerfile.j2
index 164ed1e76..40c02155d 100644
--- a/docker/ceilometer/ceilometer-collector/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-collector/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceilometer_collector_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-compute/Dockerfile.j2 b/docker/ceilometer/ceilometer-compute/Dockerfile.j2
index d1b63ac21..bdb119be8 100644
--- a/docker/ceilometer/ceilometer-compute/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-compute/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceilometer_compute_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ceilometer/ceilometer-notification/Dockerfile.j2 b/docker/ceilometer/ceilometer-notification/Dockerfile.j2
index edf6ac2dd..d2cdf5fe6 100644
--- a/docker/ceilometer/ceilometer-notification/Dockerfile.j2
+++ b/docker/ceilometer/ceilometer-notification/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceilometer-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceilometer_notification_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ceph/ceph-base/Dockerfile.j2 b/docker/ceph/ceph-base/Dockerfile.j2
index aec79be74..19c9c6f80 100644
--- a/docker/ceph/ceph-base/Dockerfile.j2
+++ b/docker/ceph/ceph-base/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block ceph_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/ceph/ceph-mon/Dockerfile.j2 b/docker/ceph/ceph-mon/Dockerfile.j2
index f0c084f6b..0627eff00 100644
--- a/docker/ceph/ceph-mon/Dockerfile.j2
+++ b/docker/ceph/ceph-mon/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceph-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceph_mon_header %}{% endblock %}
+
COPY fetch_ceph_keys.py /usr/bin/
COPY extend_start.sh /usr/local/bin/kolla_extend_start
diff --git a/docker/ceph/ceph-osd/Dockerfile.j2 b/docker/ceph/ceph-osd/Dockerfile.j2
index 41c0b6d20..3f38fd016 100644
--- a/docker/ceph/ceph-osd/Dockerfile.j2
+++ b/docker/ceph/ceph-osd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceph-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceph_osd_header %}{% endblock %}
+
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start
diff --git a/docker/ceph/ceph-rgw/Dockerfile.j2 b/docker/ceph/ceph-rgw/Dockerfile.j2
index ccdbdebf7..721bd8f05 100644
--- a/docker/ceph/ceph-rgw/Dockerfile.j2
+++ b/docker/ceph/ceph-rgw/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ceph-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ceph_rgw_header %}{% endblock %}
+
{% block ceph_rgw_footer %}{% endblock %}
{% block footer %}{% endblock %}
{{ include_footer }}
diff --git a/docker/cinder/cinder-api/Dockerfile.j2 b/docker/cinder/cinder-api/Dockerfile.j2
index 629de733f..13756c997 100644
--- a/docker/cinder/cinder-api/Dockerfile.j2
+++ b/docker/cinder/cinder-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cinder_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-backup/Dockerfile.j2 b/docker/cinder/cinder-backup/Dockerfile.j2
index 3c616f793..773fc72fc 100644
--- a/docker/cinder/cinder-backup/Dockerfile.j2
+++ b/docker/cinder/cinder-backup/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cinder_backup_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-base/Dockerfile.j2 b/docker/cinder/cinder-base/Dockerfile.j2
index ac9922d03..b5b321cc4 100644
--- a/docker/cinder/cinder-base/Dockerfile.j2
+++ b/docker/cinder/cinder-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cinder_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-rpcbind/Dockerfile.j2 b/docker/cinder/cinder-rpcbind/Dockerfile.j2
index 3a9c1b53a..6516b55ae 100644
--- a/docker/cinder/cinder-rpcbind/Dockerfile.j2
+++ b/docker/cinder/cinder-rpcbind/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cinder_rpcbind_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/cinder/cinder-scheduler/Dockerfile.j2 b/docker/cinder/cinder-scheduler/Dockerfile.j2
index 9233d09ca..b19cb8359 100644
--- a/docker/cinder/cinder-scheduler/Dockerfile.j2
+++ b/docker/cinder/cinder-scheduler/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cinder_scheduler_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/cinder/cinder-volume/Dockerfile.j2 b/docker/cinder/cinder-volume/Dockerfile.j2
index 329ef49b4..fd4f1c6bb 100644
--- a/docker/cinder/cinder-volume/Dockerfile.j2
+++ b/docker/cinder/cinder-volume/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cinder-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cinder_volume_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/cloudkitty/cloudkitty-api/Dockerfile.j2 b/docker/cloudkitty/cloudkitty-api/Dockerfile.j2
index cdbff832d..897808b1d 100644
--- a/docker/cloudkitty/cloudkitty-api/Dockerfile.j2
+++ b/docker/cloudkitty/cloudkitty-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cloudkitty-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cloudkitty_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/cloudkitty/cloudkitty-base/Dockerfile.j2 b/docker/cloudkitty/cloudkitty-base/Dockerfile.j2
index 839d29b5a..ff01520d2 100644
--- a/docker/cloudkitty/cloudkitty-base/Dockerfile.j2
+++ b/docker/cloudkitty/cloudkitty-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cloudkitty_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2 b/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2
index 0b0c0d250..9d78b260f 100644
--- a/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2
+++ b/docker/cloudkitty/cloudkitty-processor/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}cloudkitty-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block cloudkitty_processor_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/collectd/Dockerfile.j2 b/docker/collectd/Dockerfile.j2
index c04b367b9..31722f69e 100644
--- a/docker/collectd/Dockerfile.j2
+++ b/docker/collectd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block collectd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% set collectd_packages = ['collectd'] %}
diff --git a/docker/congress/congress-api/Dockerfile.j2 b/docker/congress/congress-api/Dockerfile.j2
index b23548746..4a47d6b94 100644
--- a/docker/congress/congress-api/Dockerfile.j2
+++ b/docker/congress/congress-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}congress-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block congress_api_header %}{% endblock %}
+
COPY extend_start.sh /usr/local/bin/kolla_congress_extend_start
RUN chmod 755 /usr/local/bin/kolla_congress_extend_start
diff --git a/docker/congress/congress-base/Dockerfile.j2 b/docker/congress/congress-base/Dockerfile.j2
index a7a19f82c..7a399fe0b 100644
--- a/docker/congress/congress-base/Dockerfile.j2
+++ b/docker/congress/congress-base/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix}}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block congress_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/congress/congress-datasource/Dockerfile.j2 b/docker/congress/congress-datasource/Dockerfile.j2
index 5a62891ec..f807ddb69 100644
--- a/docker/congress/congress-datasource/Dockerfile.j2
+++ b/docker/congress/congress-datasource/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}congress-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block congress_datasource_header %}{% endblock %}
+
{% block congress_datasource_footer %}{% endblock %}
{% block footer %}{% endblock %}
{{ include_footer }}
diff --git a/docker/congress/congress-policy-engine/Dockerfile.j2 b/docker/congress/congress-policy-engine/Dockerfile.j2
index 6a1a6d056..88de85571 100644
--- a/docker/congress/congress-policy-engine/Dockerfile.j2
+++ b/docker/congress/congress-policy-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}congress-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block congress_policy_engine_header %}{% endblock %}
+
{% block congress_policy_engine_footer %}{% endblock %}
{% block footer %}{% endblock %}
{{ include_footer }}
diff --git a/docker/cron/Dockerfile.j2 b/docker/cron/Dockerfile.j2
index 6921ee1b6..d90f53933 100644
--- a/docker/cron/Dockerfile.j2
+++ b/docker/cron/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block cron_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/designate/designate-api/Dockerfile.j2 b/docker/designate/designate-api/Dockerfile.j2
index 9a69e9b28..9b6a5bf3a 100644
--- a/docker/designate/designate-api/Dockerfile.j2
+++ b/docker/designate/designate-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/designate/designate-backend-bind9/Dockerfile.j2 b/docker/designate/designate-backend-bind9/Dockerfile.j2
index 975d82c37..b912ffacd 100644
--- a/docker/designate/designate-backend-bind9/Dockerfile.j2
+++ b/docker/designate/designate-backend-bind9/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_backend_bind9_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/designate/designate-base/Dockerfile.j2 b/docker/designate/designate-base/Dockerfile.j2
index 2ae661d05..fdadee6df 100644
--- a/docker/designate/designate-base/Dockerfile.j2
+++ b/docker/designate/designate-base/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/designate/designate-central/Dockerfile.j2 b/docker/designate/designate-central/Dockerfile.j2
index 858fbe723..f2caebad1 100644
--- a/docker/designate/designate-central/Dockerfile.j2
+++ b/docker/designate/designate-central/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_central_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/designate/designate-mdns/Dockerfile.j2 b/docker/designate/designate-mdns/Dockerfile.j2
index 660184b7f..a1729826f 100644
--- a/docker/designate/designate-mdns/Dockerfile.j2
+++ b/docker/designate/designate-mdns/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_mdns_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/designate/designate-pool-manager/Dockerfile.j2 b/docker/designate/designate-pool-manager/Dockerfile.j2
index 37776f477..815ceb5e8 100644
--- a/docker/designate/designate-pool-manager/Dockerfile.j2
+++ b/docker/designate/designate-pool-manager/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_pool_manager_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/designate/designate-sink/Dockerfile.j2 b/docker/designate/designate-sink/Dockerfile.j2
index 9d0ff85fa..3c98d64ed 100644
--- a/docker/designate/designate-sink/Dockerfile.j2
+++ b/docker/designate/designate-sink/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}designate-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block designate_sink_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/dind/Dockerfile.j2 b/docker/dind/Dockerfile.j2
index f41409e2b..628d62b73 100644
--- a/docker/dind/Dockerfile.j2
+++ b/docker/dind/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block dind_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/elasticsearch/Dockerfile.j2 b/docker/elasticsearch/Dockerfile.j2
index 73b320889..1b3a2badf 100644
--- a/docker/elasticsearch/Dockerfile.j2
+++ b/docker/elasticsearch/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block elasticsearch_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/etcd/Dockerfile.j2 b/docker/etcd/Dockerfile.j2
index d03df4131..dae3ec398 100644
--- a/docker/etcd/Dockerfile.j2
+++ b/docker/etcd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block etcd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/glance/glance-api/Dockerfile.j2 b/docker/glance/glance-api/Dockerfile.j2
index c9de79c7a..51693533d 100644
--- a/docker/glance/glance-api/Dockerfile.j2
+++ b/docker/glance/glance-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}glance-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block glance_api_header %}{% endblock %}
+
COPY extend_start.sh /usr/local/bin/kolla_glance_extend_start
RUN chmod 755 /usr/local/bin/kolla_glance_extend_start
diff --git a/docker/glance/glance-base/Dockerfile.j2 b/docker/glance/glance-base/Dockerfile.j2
index e645ae53d..549599def 100644
--- a/docker/glance/glance-base/Dockerfile.j2
+++ b/docker/glance/glance-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block glance_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/glance/glance-registry/Dockerfile.j2 b/docker/glance/glance-registry/Dockerfile.j2
index d57831637..2f214f853 100644
--- a/docker/glance/glance-registry/Dockerfile.j2
+++ b/docker/glance/glance-registry/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}glance-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block glance_registry_header %}{% endblock %}
+
{% block glance_registry_footer %}{% endblock %}
{% block footer %}{% endblock %}
{{ include_footer }}
diff --git a/docker/gnocchi/gnocchi-api/Dockerfile.j2 b/docker/gnocchi/gnocchi-api/Dockerfile.j2
index 64517108b..a1070de05 100644
--- a/docker/gnocchi/gnocchi-api/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block gnocchi_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/gnocchi/gnocchi-base/Dockerfile.j2 b/docker/gnocchi/gnocchi-base/Dockerfile.j2
index eeb566ddd..c740e376f 100644
--- a/docker/gnocchi/gnocchi-base/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-base/Dockerfile.j2
@@ -1,13 +1,15 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block gnocchi_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
-
+
{% set gnocchi_base_packages = [
- 'openstack-gnocchi-common',
+ 'openstack-gnocchi-common',
'python-gnocchiclient',
'httpd',
'mod_wsgi',
@@ -19,7 +21,7 @@ RUN mkdir -p /var/www/cgi-bin/gnocchi \
&& cp -a /usr/lib/python2.7/site-packages/gnocchi/rest/app.wsgi /var/www/cgi-bin/gnocchi/app \
&& sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf
{% elif base_distro in ['ubuntu'] %}
-
+
{% set gnocchi_base_packages = [
'gnocchi-common',
'apache2',
@@ -35,7 +37,7 @@ RUN mkdir -p /var/www/cgi-bin/gnocchi \
{% endif %}
{% elif install_type == 'source' %}
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
-
+
{% set gnocchi_base_packages = [
'httpd',
'mod_wsgi',
@@ -45,7 +47,7 @@ RUN mkdir -p /var/www/cgi-bin/gnocchi \
RUN mkdir -p /var/www/cgi-bin/gnocchi \
&& sed -i -r 's,^(Listen 80),#\1,' /etc/httpd/conf/httpd.conf
{% elif base_distro in ['ubuntu', 'debian'] %}
-
+
{% set gnocchi_base_packages = [
'apache2',
'libapache2-mod-wsgi',
@@ -76,6 +78,6 @@ RUN usermod -a -G kolla gnocchi \
&& chmod 640 /etc/sudoers.d/kolla_gnocchi_sudoers \
&& chmod 755 /var/www/cgi-bin/gnocchi \
&& touch /usr/local/bin/kolla_gnocchi_extend_start \
- && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_gnocchi_extend_start
+ && chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_gnocchi_extend_start
{% block gnocchi_base_footer %}{% endblock %}
diff --git a/docker/gnocchi/gnocchi-metricd/Dockerfile.j2 b/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
index 7e791dca2..e0bec4166 100644
--- a/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-metricd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block gnocchi_metricd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2 b/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
index 1b46b789a..9b3827379 100644
--- a/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
+++ b/docker/gnocchi/gnocchi-statsd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}gnocchi-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block gnocchi_statsd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/haproxy/Dockerfile.j2 b/docker/haproxy/Dockerfile.j2
index c6561a064..db21b55fd 100644
--- a/docker/haproxy/Dockerfile.j2
+++ b/docker/haproxy/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block haproxy_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% set haproxy_packages = ['haproxy'] %}
diff --git a/docker/heat/heat-api-cfn/Dockerfile.j2 b/docker/heat/heat-api-cfn/Dockerfile.j2
index 501622cb6..4183ed781 100644
--- a/docker/heat/heat-api-cfn/Dockerfile.j2
+++ b/docker/heat/heat-api-cfn/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block heat_api_cfn_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/heat/heat-api/Dockerfile.j2 b/docker/heat/heat-api/Dockerfile.j2
index 5adf39578..836f42539 100644
--- a/docker/heat/heat-api/Dockerfile.j2
+++ b/docker/heat/heat-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block heat_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/heat/heat-base/Dockerfile.j2 b/docker/heat/heat-base/Dockerfile.j2
index e337a0afc..9bd7f9d4f 100644
--- a/docker/heat/heat-base/Dockerfile.j2
+++ b/docker/heat/heat-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block heat_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/heat/heat-engine/Dockerfile.j2 b/docker/heat/heat-engine/Dockerfile.j2
index 8f9ed23f7..3afe0b108 100644
--- a/docker/heat/heat-engine/Dockerfile.j2
+++ b/docker/heat/heat-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}heat-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block heat_engine_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/heka/Dockerfile.j2 b/docker/heka/Dockerfile.j2
index eba658383..5428ff508 100644
--- a/docker/heka/Dockerfile.j2
+++ b/docker/heka/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block heka_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/horizon/Dockerfile.j2 b/docker/horizon/Dockerfile.j2
index 5076804e6..5a589615f 100644
--- a/docker/horizon/Dockerfile.j2
+++ b/docker/horizon/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block horizon_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/influxdb/Dockerfile.j2 b/docker/influxdb/Dockerfile.j2
index fc1d9fe2c..fdd1cf614 100644
--- a/docker/influxdb/Dockerfile.j2
+++ b/docker/influxdb/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block influxdb_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% set influxdb_packages = ['influxdb'] %}
diff --git a/docker/ironic/ironic-api/Dockerfile.j2 b/docker/ironic/ironic-api/Dockerfile.j2
index 7325051a5..3f9d13359 100644
--- a/docker/ironic/ironic-api/Dockerfile.j2
+++ b/docker/ironic/ironic-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ironic_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-base/Dockerfile.j2 b/docker/ironic/ironic-base/Dockerfile.j2
index ca45f13a1..027c49f7d 100644
--- a/docker/ironic/ironic-base/Dockerfile.j2
+++ b/docker/ironic/ironic-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ironic_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-conductor/Dockerfile.j2 b/docker/ironic/ironic-conductor/Dockerfile.j2
index 444826099..c919027b2 100644
--- a/docker/ironic/ironic-conductor/Dockerfile.j2
+++ b/docker/ironic/ironic-conductor/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ironic_conductor_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-inspector/Dockerfile.j2 b/docker/ironic/ironic-inspector/Dockerfile.j2
index d3ea30786..b4ad685fa 100644
--- a/docker/ironic/ironic-inspector/Dockerfile.j2
+++ b/docker/ironic/ironic-inspector/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ironic_inspector_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/ironic/ironic-pxe/Dockerfile.j2 b/docker/ironic/ironic-pxe/Dockerfile.j2
index 6a4b13b9d..cac474faa 100644
--- a/docker/ironic/ironic-pxe/Dockerfile.j2
+++ b/docker/ironic/ironic-pxe/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}ironic-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block ironic_pxe_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/iscsid/Dockerfile.j2 b/docker/iscsid/Dockerfile.j2
index 7f4425964..4d57038b0 100644
--- a/docker/iscsid/Dockerfile.j2
+++ b/docker/iscsid/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block iscsid_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/keepalived/Dockerfile.j2 b/docker/keepalived/Dockerfile.j2
index ea1d1b47d..673edfd57 100644
--- a/docker/keepalived/Dockerfile.j2
+++ b/docker/keepalived/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block keepalived_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/keystone/keystone-base/Dockerfile.j2 b/docker/keystone/keystone-base/Dockerfile.j2
index 336437732..6f5a40fdd 100644
--- a/docker/keystone/keystone-base/Dockerfile.j2
+++ b/docker/keystone/keystone-base/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block keystone_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/keystone/keystone-fernet/Dockerfile.j2 b/docker/keystone/keystone-fernet/Dockerfile.j2
index 0488ceb91..bda73bcf3 100644
--- a/docker/keystone/keystone-fernet/Dockerfile.j2
+++ b/docker/keystone/keystone-fernet/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}keystone-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block keystone_fernet_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
diff --git a/docker/keystone/keystone-ssh/Dockerfile.j2 b/docker/keystone/keystone-ssh/Dockerfile.j2
index 2f5389742..cf3e90851 100644
--- a/docker/keystone/keystone-ssh/Dockerfile.j2
+++ b/docker/keystone/keystone-ssh/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}keystone-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block keystone_ssh_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/keystone/keystone/Dockerfile.j2 b/docker/keystone/keystone/Dockerfile.j2
index e6baa9349..4efca8744 100644
--- a/docker/keystone/keystone/Dockerfile.j2
+++ b/docker/keystone/keystone/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}keystone-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block keystone_header %}{% endblock %}
+
COPY keystone_bootstrap.sh /usr/local/bin/kolla_keystone_bootstrap
COPY extend_start.sh /usr/local/bin/kolla_extend_start
RUN chmod 755 /usr/local/bin/kolla_extend_start /usr/local/bin/kolla_keystone_bootstrap
diff --git a/docker/kibana/Dockerfile.j2 b/docker/kibana/Dockerfile.j2
index 3f4d8ab82..9ea010a73 100644
--- a/docker/kibana/Dockerfile.j2
+++ b/docker/kibana/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block kibana_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
RUN useradd -r -m --user-group kibana \
diff --git a/docker/kolla-toolbox/Dockerfile.j2 b/docker/kolla-toolbox/Dockerfile.j2
index 25b8bcce8..b05d1a512 100644
--- a/docker/kolla-toolbox/Dockerfile.j2
+++ b/docker/kolla-toolbox/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block kolla_toolbox_header %}{% endblock %}
+
{% set os_client_config='/usr/lib/python2.7/site-packages/os_client_config/defaults.json' %}
{% import "macros.j2" as macros with context %}
diff --git a/docker/kuryr/Dockerfile.j2 b/docker/kuryr/Dockerfile.j2
index d43edf265..21c07e370 100644
--- a/docker/kuryr/Dockerfile.j2
+++ b/docker/kuryr/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block kuryr_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/magnum/magnum-api/Dockerfile.j2 b/docker/magnum/magnum-api/Dockerfile.j2
index e230b72e9..e1f2285e6 100644
--- a/docker/magnum/magnum-api/Dockerfile.j2
+++ b/docker/magnum/magnum-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}magnum-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block magnum_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/magnum/magnum-base/Dockerfile.j2 b/docker/magnum/magnum-base/Dockerfile.j2
index 7fd1211dc..f9b7abc33 100644
--- a/docker/magnum/magnum-base/Dockerfile.j2
+++ b/docker/magnum/magnum-base/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block magnum_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/magnum/magnum-conductor/Dockerfile.j2 b/docker/magnum/magnum-conductor/Dockerfile.j2
index 3284ab461..b4d3f5fd3 100644
--- a/docker/magnum/magnum-conductor/Dockerfile.j2
+++ b/docker/magnum/magnum-conductor/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}magnum-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block magnum_conductor_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/manila/manila-api/Dockerfile.j2 b/docker/manila/manila-api/Dockerfile.j2
index 9338861c0..70908d82c 100644
--- a/docker/manila/manila-api/Dockerfile.j2
+++ b/docker/manila/manila-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block manila_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/manila/manila-base/Dockerfile.j2 b/docker/manila/manila-base/Dockerfile.j2
index 1ba4007e3..cf2d34a59 100644
--- a/docker/manila/manila-base/Dockerfile.j2
+++ b/docker/manila/manila-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block manila_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/manila/manila-scheduler/Dockerfile.j2 b/docker/manila/manila-scheduler/Dockerfile.j2
index 4eba22019..56ee3ad3f 100644
--- a/docker/manila/manila-scheduler/Dockerfile.j2
+++ b/docker/manila/manila-scheduler/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block manila_scheduler_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/manila/manila-share/Dockerfile.j2 b/docker/manila/manila-share/Dockerfile.j2
index 81f12907c..d1eaff279 100644
--- a/docker/manila/manila-share/Dockerfile.j2
+++ b/docker/manila/manila-share/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}manila-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block manila_share_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/mariadb/Dockerfile.j2 b/docker/mariadb/Dockerfile.j2
index 50b0a0513..537985830 100644
--- a/docker/mariadb/Dockerfile.j2
+++ b/docker/mariadb/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block mariadb_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/memcached/Dockerfile.j2 b/docker/memcached/Dockerfile.j2
index 5ebab7fc5..7b921803f 100644
--- a/docker/memcached/Dockerfile.j2
+++ b/docker/memcached/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block memcached_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/mistral/mistral-api/Dockerfile.j2 b/docker/mistral/mistral-api/Dockerfile.j2
index 80f0c7871..6d9cb5575 100644
--- a/docker/mistral/mistral-api/Dockerfile.j2
+++ b/docker/mistral/mistral-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}mistral-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block mistral_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/mistral/mistral-base/Dockerfile.j2 b/docker/mistral/mistral-base/Dockerfile.j2
index 5c7c90ed7..e3c5c3e6e 100644
--- a/docker/mistral/mistral-base/Dockerfile.j2
+++ b/docker/mistral/mistral-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block mistral_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/mistral/mistral-engine/Dockerfile.j2 b/docker/mistral/mistral-engine/Dockerfile.j2
index ed55401eb..295bc265d 100644
--- a/docker/mistral/mistral-engine/Dockerfile.j2
+++ b/docker/mistral/mistral-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}mistral-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block mistral_engine_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/mistral/mistral-executor/Dockerfile.j2 b/docker/mistral/mistral-executor/Dockerfile.j2
index e52af6093..b594bbaf4 100644
--- a/docker/mistral/mistral-executor/Dockerfile.j2
+++ b/docker/mistral/mistral-executor/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}mistral-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block mistral_executor_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/mongodb/Dockerfile.j2 b/docker/mongodb/Dockerfile.j2
index 727667bee..1edece5d9 100644
--- a/docker/mongodb/Dockerfile.j2
+++ b/docker/mongodb/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block mongodb_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/multipathd/Dockerfile.j2 b/docker/multipathd/Dockerfile.j2
index 66a675480..70e499d2f 100644
--- a/docker/multipathd/Dockerfile.j2
+++ b/docker/multipathd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block multipathd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/murano/murano-api/Dockerfile.j2 b/docker/murano/murano-api/Dockerfile.j2
index 76dc174f4..d1f09480f 100644
--- a/docker/murano/murano-api/Dockerfile.j2
+++ b/docker/murano/murano-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}murano-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block murano_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/murano/murano-base/Dockerfile.j2 b/docker/murano/murano-base/Dockerfile.j2
index 295f327a4..ef2d7bd01 100644
--- a/docker/murano/murano-base/Dockerfile.j2
+++ b/docker/murano/murano-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block murano_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/murano/murano-engine/Dockerfile.j2 b/docker/murano/murano-engine/Dockerfile.j2
index 825831e49..d00e6998a 100644
--- a/docker/murano/murano-engine/Dockerfile.j2
+++ b/docker/murano/murano-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}murano-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block murano_engine_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-base/Dockerfile.j2 b/docker/neutron/neutron-base/Dockerfile.j2
index 5e9b6218e..58c946f2b 100644
--- a/docker/neutron/neutron-base/Dockerfile.j2
+++ b/docker/neutron/neutron-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-dhcp-agent/Dockerfile.j2 b/docker/neutron/neutron-dhcp-agent/Dockerfile.j2
index 0f0ab4c7c..497f22002 100644
--- a/docker/neutron/neutron-dhcp-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-dhcp-agent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_dhcp_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['ubuntu', 'debian'] %}
diff --git a/docker/neutron/neutron-l3-agent/Dockerfile.j2 b/docker/neutron/neutron-l3-agent/Dockerfile.j2
index cf069f4ab..235ced6a3 100644
--- a/docker/neutron/neutron-l3-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-l3-agent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_l3_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-lbaas-agent/Dockerfile.j2 b/docker/neutron/neutron-lbaas-agent/Dockerfile.j2
index dfda7ddd9..9b21622a8 100644
--- a/docker/neutron/neutron-lbaas-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-lbaas-agent/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block neutron_lbaas_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% set neutron_lbaas_agent_packages = [
diff --git a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2 b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
index c9323b536..6fcbade2f 100644
--- a/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-linuxbridge-agent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_linuxbridge_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-metadata-agent/Dockerfile.j2 b/docker/neutron/neutron-metadata-agent/Dockerfile.j2
index 748011c3f..7aeaea12c 100644
--- a/docker/neutron/neutron-metadata-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-metadata-agent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_metadata_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['ubuntu', 'debian'] %}
diff --git a/docker/neutron/neutron-metering-agent/Dockerfile.j2 b/docker/neutron/neutron-metering-agent/Dockerfile.j2
index bed3fefe4..abc875e91 100644
--- a/docker/neutron/neutron-metering-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-metering-agent/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block neutron_metering_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2 b/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2
index e5d2d348c..1582ea9a7 100644
--- a/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-networking-sfc-agent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_networking_sfc_agent_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2 b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
index a89534846..d5ce88eee 100644
--- a/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
+++ b/docker/neutron/neutron-openvswitch-agent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_openvswitch_agent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/neutron/neutron-server/Dockerfile.j2 b/docker/neutron/neutron-server/Dockerfile.j2
index 07d31e83e..40016be5e 100644
--- a/docker/neutron/neutron-server/Dockerfile.j2
+++ b/docker/neutron/neutron-server/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}neutron-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block neutron_server_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-api/Dockerfile.j2 b/docker/nova/nova-api/Dockerfile.j2
index 1997b4c61..869a9801d 100644
--- a/docker/nova/nova-api/Dockerfile.j2
+++ b/docker/nova/nova-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-base/Dockerfile.j2 b/docker/nova/nova-base/Dockerfile.j2
index b093a94e7..3382975ee 100644
--- a/docker/nova/nova-base/Dockerfile.j2
+++ b/docker/nova/nova-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-compute-ironic/Dockerfile.j2 b/docker/nova/nova-compute-ironic/Dockerfile.j2
index ace1259bd..03176db83 100644
--- a/docker/nova/nova-compute-ironic/Dockerfile.j2
+++ b/docker/nova/nova-compute-ironic/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_compute_ironic_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-compute/Dockerfile.j2 b/docker/nova/nova-compute/Dockerfile.j2
index 3c5b5cc21..ed832f441 100644
--- a/docker/nova/nova-compute/Dockerfile.j2
+++ b/docker/nova/nova-compute/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_compute_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-conductor/Dockerfile.j2 b/docker/nova/nova-conductor/Dockerfile.j2
index 4bb5658aa..c666359d1 100644
--- a/docker/nova/nova-conductor/Dockerfile.j2
+++ b/docker/nova/nova-conductor/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_conductor_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-consoleauth/Dockerfile.j2 b/docker/nova/nova-consoleauth/Dockerfile.j2
index 9b2205c8e..68173e23b 100644
--- a/docker/nova/nova-consoleauth/Dockerfile.j2
+++ b/docker/nova/nova-consoleauth/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_consoleauth_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-libvirt/Dockerfile.j2 b/docker/nova/nova-libvirt/Dockerfile.j2
index 9bc485fc9..4e5e1a9fb 100644
--- a/docker/nova/nova-libvirt/Dockerfile.j2
+++ b/docker/nova/nova-libvirt/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_libvirt_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/nova/nova-network/Dockerfile.j2 b/docker/nova/nova-network/Dockerfile.j2
index 5baa132a0..33cd477a3 100644
--- a/docker/nova/nova-network/Dockerfile.j2
+++ b/docker/nova/nova-network/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_network_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-novncproxy/Dockerfile.j2 b/docker/nova/nova-novncproxy/Dockerfile.j2
index 78e78f2f6..c5ed90a84 100644
--- a/docker/nova/nova-novncproxy/Dockerfile.j2
+++ b/docker/nova/nova-novncproxy/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_novncproxy_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-scheduler/Dockerfile.j2 b/docker/nova/nova-scheduler/Dockerfile.j2
index 97d205f2f..4b2164625 100644
--- a/docker/nova/nova-scheduler/Dockerfile.j2
+++ b/docker/nova/nova-scheduler/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_scheduler_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2 b/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
index a6f76c2ec..994915cff 100644
--- a/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
+++ b/docker/nova/nova-spicehtml5proxy/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_spicehtml5proxy_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/nova/nova-ssh/Dockerfile.j2 b/docker/nova/nova-ssh/Dockerfile.j2
index 08041a573..2ec3b5a5b 100644
--- a/docker/nova/nova-ssh/Dockerfile.j2
+++ b/docker/nova/nova-ssh/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}nova-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block nova_ssh_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% set nova_ssh_packages = [
diff --git a/docker/openstack-base/Dockerfile.j2 b/docker/openstack-base/Dockerfile.j2
index 3ec33f1be..ae02b657d 100644
--- a/docker/openstack-base/Dockerfile.j2
+++ b/docker/openstack-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block openstack_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
diff --git a/docker/openvswitch/openvswitch-base/Dockerfile.j2 b/docker/openvswitch/openvswitch-base/Dockerfile.j2
index b41cc2634..5dbe14c1c 100644
--- a/docker/openvswitch/openvswitch-base/Dockerfile.j2
+++ b/docker/openvswitch/openvswitch-base/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block openvswitch_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/openvswitch/openvswitch-db-server/Dockerfile.j2 b/docker/openvswitch/openvswitch-db-server/Dockerfile.j2
index 1cc28e168..cf85de2bd 100644
--- a/docker/openvswitch/openvswitch-db-server/Dockerfile.j2
+++ b/docker/openvswitch/openvswitch-db-server/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openvswitch-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block openvswitch_db_server_header %}{% endblock %}
+
COPY ovs_ensure_configured.sh /usr/local/bin/kolla_ensure_openvswitch_configured
COPY extend_start.sh /usr/local/bin/kolla_openvswitch_extend_start
COPY start_ovsdb_server.sh /usr/local/bin/start-ovsdb-server
diff --git a/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2 b/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
index 5e6880ce5..ef7a5e6ed 100644
--- a/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
+++ b/docker/openvswitch/openvswitch-vswitchd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openvswitch-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block openvswitch_vswitchd_header %}{% endblock %}
+
COPY extend_start.sh /usr/local/bin/kolla_openvswitch_extend_start
RUN chmod 755 /usr/local/bin/kolla_openvswitch_extend_start
diff --git a/docker/rabbitmq/Dockerfile.j2 b/docker/rabbitmq/Dockerfile.j2
index d11041fb9..8e25ec65a 100644
--- a/docker/rabbitmq/Dockerfile.j2
+++ b/docker/rabbitmq/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block rabbitmq_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/rally/Dockerfile.j2 b/docker/rally/Dockerfile.j2
index 503fcad7f..7674f6e8b 100644
--- a/docker/rally/Dockerfile.j2
+++ b/docker/rally/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block rally_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/sahara/sahara-api/Dockerfile.j2 b/docker/sahara/sahara-api/Dockerfile.j2
index dcd03f586..4b4a191d5 100644
--- a/docker/sahara/sahara-api/Dockerfile.j2
+++ b/docker/sahara/sahara-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}sahara-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block sahara_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/sahara/sahara-base/Dockerfile.j2 b/docker/sahara/sahara-base/Dockerfile.j2
index 755421b8d..14c642c60 100644
--- a/docker/sahara/sahara-base/Dockerfile.j2
+++ b/docker/sahara/sahara-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block sahara_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/sahara/sahara-engine/Dockerfile.j2 b/docker/sahara/sahara-engine/Dockerfile.j2
index aa5803890..50ee5fbea 100644
--- a/docker/sahara/sahara-engine/Dockerfile.j2
+++ b/docker/sahara/sahara-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}sahara-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block sahara_engine_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/senlin/senlin-api/Dockerfile.j2 b/docker/senlin/senlin-api/Dockerfile.j2
index 6be9fd8f0..e556b4086 100644
--- a/docker/senlin/senlin-api/Dockerfile.j2
+++ b/docker/senlin/senlin-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}senlin-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block senlin_api_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/senlin/senlin-base/Dockerfile.j2 b/docker/senlin/senlin-base/Dockerfile.j2
index 9c6c783b9..369b0bf4e 100644
--- a/docker/senlin/senlin-base/Dockerfile.j2
+++ b/docker/senlin/senlin-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block senlin_base_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/senlin/senlin-engine/Dockerfile.j2 b/docker/senlin/senlin-engine/Dockerfile.j2
index 42d5f3cd0..625796d07 100644
--- a/docker/senlin/senlin-engine/Dockerfile.j2
+++ b/docker/senlin/senlin-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}senlin-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block senlin_engine_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/swift/swift-account/Dockerfile.j2 b/docker/swift/swift-account/Dockerfile.j2
index dacde88b0..640475977 100644
--- a/docker/swift/swift-account/Dockerfile.j2
+++ b/docker/swift/swift-account/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block swift_account_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/swift/swift-base/Dockerfile.j2 b/docker/swift/swift-base/Dockerfile.j2
index 5fe04a0a2..a4fdb533d 100644
--- a/docker/swift/swift-base/Dockerfile.j2
+++ b/docker/swift/swift-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block swift_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/swift/swift-container/Dockerfile.j2 b/docker/swift/swift-container/Dockerfile.j2
index c59cac0e9..c03c2e6fd 100644
--- a/docker/swift/swift-container/Dockerfile.j2
+++ b/docker/swift/swift-container/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block swift_container_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/swift/swift-object/Dockerfile.j2 b/docker/swift/swift-object/Dockerfile.j2
index d575af047..4edb02d4e 100644
--- a/docker/swift/swift-object/Dockerfile.j2
+++ b/docker/swift/swift-object/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block swift_object_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/swift/swift-proxy-server/Dockerfile.j2 b/docker/swift/swift-proxy-server/Dockerfile.j2
index 54895ff65..ae01f71c6 100644
--- a/docker/swift/swift-proxy-server/Dockerfile.j2
+++ b/docker/swift/swift-proxy-server/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block swift_proxy_server_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/swift/swift-rsyncd/Dockerfile.j2 b/docker/swift/swift-rsyncd/Dockerfile.j2
index b85a7a492..7f781700c 100644
--- a/docker/swift/swift-rsyncd/Dockerfile.j2
+++ b/docker/swift/swift-rsyncd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}swift-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block swift_rsyncd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['fedora', 'centos', 'oraclelinux', 'rhel'] %}
diff --git a/docker/telegraf/Dockerfile.j2 b/docker/telegraf/Dockerfile.j2
index 81906ced7..dcd08e8b7 100644
--- a/docker/telegraf/Dockerfile.j2
+++ b/docker/telegraf/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block telegraf_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% set telegraf_packages = ['telegraf'] %}
diff --git a/docker/tempest/Dockerfile.j2 b/docker/tempest/Dockerfile.j2
index 08c6c2471..801edaa2b 100644
--- a/docker/tempest/Dockerfile.j2
+++ b/docker/tempest/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block tempest_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/tgtd/Dockerfile.j2 b/docker/tgtd/Dockerfile.j2
index 7115732d7..b0ca4003b 100644
--- a/docker/tgtd/Dockerfile.j2
+++ b/docker/tgtd/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block tgtd_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if base_distro in ['centos', 'fedora', 'oraclelinux', 'rhel'] %}
diff --git a/docker/trove/trove-api/Dockerfile.j2 b/docker/trove/trove-api/Dockerfile.j2
index 1a022b7f4..d4e09e0a6 100644
--- a/docker/trove/trove-api/Dockerfile.j2
+++ b/docker/trove/trove-api/Dockerfile.j2
@@ -1,5 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}trove-base:{{ tag }}
MAINTAINER {{ maintainer }}
+
+{% block trove_api_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/trove/trove-base/Dockerfile.j2 b/docker/trove/trove-base/Dockerfile.j2
index 86521191f..e09bda1d2 100644
--- a/docker/trove/trove-base/Dockerfile.j2
+++ b/docker/trove/trove-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block trove_base_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/trove/trove-conductor/Dockerfile.j2 b/docker/trove/trove-conductor/Dockerfile.j2
index 464a35023..cc7adfe58 100644
--- a/docker/trove/trove-conductor/Dockerfile.j2
+++ b/docker/trove/trove-conductor/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}trove-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block trove_conductor_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/trove/trove-guestagent/Dockerfile.j2 b/docker/trove/trove-guestagent/Dockerfile.j2
index 56823fb8e..174cf22ac 100644
--- a/docker/trove/trove-guestagent/Dockerfile.j2
+++ b/docker/trove/trove-guestagent/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}trove-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block trove_guestagent_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/trove/trove-taskmanager/Dockerfile.j2 b/docker/trove/trove-taskmanager/Dockerfile.j2
index 9930f3df2..3ac251b31 100644
--- a/docker/trove/trove-taskmanager/Dockerfile.j2
+++ b/docker/trove/trove-taskmanager/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}trove-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block trove_taskmanager_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}
diff --git a/docker/vmtp/Dockerfile.j2 b/docker/vmtp/Dockerfile.j2
index b286ac03e..3bc1cc53e 100644
--- a/docker/vmtp/Dockerfile.j2
+++ b/docker/vmtp/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block vmtp_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/watcher/watcher-api/Dockerfile.j2 b/docker/watcher/watcher-api/Dockerfile.j2
index d428f69d4..03fc31c28 100644
--- a/docker/watcher/watcher-api/Dockerfile.j2
+++ b/docker/watcher/watcher-api/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}watcher-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block watcher_api_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/watcher/watcher-applier/Dockerfile.j2 b/docker/watcher/watcher-applier/Dockerfile.j2
index a3469103c..9a5ffa573 100644
--- a/docker/watcher/watcher-applier/Dockerfile.j2
+++ b/docker/watcher/watcher-applier/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}watcher-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block watcher_applier_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/watcher/watcher-base/Dockerfile.j2 b/docker/watcher/watcher-base/Dockerfile.j2
index 5e475f562..1e695dc0b 100644
--- a/docker/watcher/watcher-base/Dockerfile.j2
+++ b/docker/watcher/watcher-base/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block watcher_base_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/watcher/watcher-engine/Dockerfile.j2 b/docker/watcher/watcher-engine/Dockerfile.j2
index bae251c92..3b924d0c7 100644
--- a/docker/watcher/watcher-engine/Dockerfile.j2
+++ b/docker/watcher/watcher-engine/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}watcher-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block watcher_engine_header %}{% endblock %}
+
{% if install_type == 'binary' %}
RUN echo '{{ install_type }} not yet available for {{ base_distro }}' \
diff --git a/docker/zaqar/Dockerfile.j2 b/docker/zaqar/Dockerfile.j2
index e60efdfa8..77cb95fb9 100644
--- a/docker/zaqar/Dockerfile.j2
+++ b/docker/zaqar/Dockerfile.j2
@@ -1,6 +1,8 @@
FROM {{ namespace }}/{{ image_prefix }}openstack-base:{{ tag }}
MAINTAINER {{ maintainer }}
+{% block zaqar_header %}{% endblock %}
+
{% import "macros.j2" as macros with context %}
{% if install_type == 'binary' %}