summaryrefslogtreecommitdiff
path: root/tools/build.py
diff options
context:
space:
mode:
authorMichal Jastrzebski (inc0) <michal.jastrzebski@intel.com>2015-08-20 21:59:16 +0200
committerinc0 <michal.jastrzebski@intel.com>2015-08-21 20:21:41 +0200
commit598fe7bad1380547fef4a4354e194da56757767d (patch)
treee3aabfac64c4dd3307c4f51ca1d229303870447e /tools/build.py
parentfd9d11aeb47aeda4bed86edd8217dc99a09fe1cb (diff)
downloadkolla-598fe7bad1380547fef4a4354e194da56757767d.tar.gz
kolla-598fe7bad1380547fef4a4354e194da56757767d.zip
Add custom code to base docker templates
Sometimes you need custom code in Docerfiles to solve for example proxy problems or preconfigure base image in some specific way. With this commit you can insert content of custom file to the beggining of base Dockerfile to provide these changes Partially-implements: bp rhel-based-image-support Partially-implements: bp add-proxy-to-dockerfiles Partially-implements: bp build-script Change-Id: Idbfec764aad627f5c00dc09c4854d5fa1c5ac9cf
Diffstat (limited to 'tools/build.py')
-rwxr-xr-xtools/build.py8
1 files changed, 8 insertions, 0 deletions
diff --git a/tools/build.py b/tools/build.py
index 63477a148..e199e0a4d 100755
--- a/tools/build.py
+++ b/tools/build.py
@@ -173,6 +173,10 @@ def argParser():
parser.add_argument('-d', '--debug',
help='Turn on debugging log level',
action='store_true')
+ parser.add_argument('-i', '--include-header',
+ help=('Path to custom file to be added at '
+ 'beginning of base Dockerfile'),
+ type=str)
return vars(parser.parse_args())
@@ -191,6 +195,7 @@ class KollaWorker(object):
self.prefix = self.base + '-' + self.type_ + '-'
self.config = ConfigParser.SafeConfigParser()
self.config.read(os.path.join(sys.path[0], '..', 'build.ini'))
+ self.include_header = args['include_header']
self.image_statuses_bad = {}
self.image_statuses_good = {}
@@ -225,6 +230,9 @@ class KollaWorker(object):
'install_type': self.type_,
'namespace': self.namespace,
'tag': self.tag}
+ if self.include_header:
+ with open(self.include_header, 'r') as f:
+ values['include_header'] = f.read()
content = template.render(values)
with open(os.path.join(path, 'Dockerfile'), 'w') as f:
f.write(content)