aboutsummaryrefslogtreecommitdiff
path: root/docker
diff options
context:
space:
mode:
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' %}