diff options
| author | Michal Jastrzebski (inc0) <michal.jastrzebski@intel.com> | 2015-08-20 21:59:16 +0200 |
|---|---|---|
| committer | inc0 <michal.jastrzebski@intel.com> | 2015-08-21 20:21:41 +0200 |
| commit | 598fe7bad1380547fef4a4354e194da56757767d (patch) | |
| tree | e3aabfac64c4dd3307c4f51ca1d229303870447e | |
| parent | fd9d11aeb47aeda4bed86edd8217dc99a09fe1cb (diff) | |
| download | kolla-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
| -rwxr-xr-x[-rw-r--r--] | docker_templates/base/Dockerfile.j2 | 2 | ||||
| -rwxr-xr-x | tools/build.py | 8 |
2 files changed, 10 insertions, 0 deletions
diff --git a/docker_templates/base/Dockerfile.j2 b/docker_templates/base/Dockerfile.j2 index 2c5777e7e..f1e9ecdc3 100644..100755 --- a/docker_templates/base/Dockerfile.j2 +++ b/docker_templates/base/Dockerfile.j2 @@ -1,6 +1,8 @@ FROM {{ base_distro }}:{{ base_distro_tag }} MAINTAINER Kolla Project (https://launchpad.net/kolla) +{{ include_header }} + {% if base_distro in ['fedora', 'centos', 'oraclelinux'] %} {% if install_type == 'binary' %} {% if base_distro in ['centos', 'oraclelinux'] %} 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) |
