add "--template-only" flag for tools/build.py

Add "--template-only" flag for tools/build.py
to generate dockerfile for read easily.

Change-Id: Ic4cf43d925b5f2d3dae809c11f3f95c51b4bbce2
Closes-Bug: #1501671
This commit is contained in:
Kuo-tung Kao 2015-10-05 10:01:29 +08:00
parent d55be10ddd
commit 9bacf1bdbd

View File

@ -282,6 +282,9 @@ def merge_args_and_config(settings_from_config_file):
help=('Path to custom file to be added at ' help=('Path to custom file to be added at '
'end of Dockerfiles for final images'), 'end of Dockerfiles for final images'),
type=str) type=str)
parser.add_argument('--template-only',
help=("Don't build images. Generate Dockerfile only"),
action='store_true')
return vars(parser.parse_args()) return vars(parser.parse_args())
@ -297,6 +300,7 @@ class KollaWorker(object):
self.install_type = config['install_type'] self.install_type = config['install_type']
self.tag = config['tag'] self.tag = config['tag']
self.image_prefix = self.base + '-' + config['install_type'] + '-' self.image_prefix = self.base + '-' + config['install_type'] + '-'
self.images = list()
if '-' in config['install_type']: if '-' in config['install_type']:
self.install_type, self.install_metatype = \ self.install_type, self.install_metatype = \
@ -445,7 +449,6 @@ class KollaWorker(object):
self.image_statuses_unmatched) self.image_statuses_unmatched)
def build_image_list(self): def build_image_list(self):
self.images = list()
for path in self.docker_build_paths: for path in self.docker_build_paths:
# Reading parent image name # Reading parent image name
with open(os.path.join(path, 'Dockerfile')) as f: with open(os.path.join(path, 'Dockerfile')) as f:
@ -543,6 +546,10 @@ def main():
kolla.find_dockerfiles() kolla.find_dockerfiles()
kolla.create_dockerfiles() kolla.create_dockerfiles()
if config['template_only']:
LOG.info('Dockerfiles are generated in {}'.format(kolla.working_dir))
return
# We set the atime and mtime to 0 epoch to preserve allow the Docker cache # We set the atime and mtime to 0 epoch to preserve allow the Docker cache
# to work like we want. A different size or hash will still force a rebuild # to work like we want. A different size or hash will still force a rebuild
kolla.set_time() kolla.set_time()