Add local directory or file for source build
This change allows using a local directory or tarball to build from sources by specifying the 'local' type in your kolla-build.conf: [keystone-base] type=local location=/home/martin/src/keystone [neutron-server-plugin-networking-cisco] type=local location=/tmp/networking-cisco.tar.gz Closes-Bug: #1509625 Co-Authored-By: Martin André <m.andre@redhat.com> Change-Id: I3f6f68b0f44efdac653d186d2625591ad7cb3b2a
This commit is contained in:
parent
13a6062260
commit
279594ab64
@ -208,6 +208,16 @@ class WorkerThread(threading.Thread):
|
||||
with tarfile.open(dest_archive, 'w') as tar:
|
||||
tar.add(clone_dir, arcname=os.path.basename(clone_dir))
|
||||
|
||||
elif source.get('type') == 'local':
|
||||
LOG.debug("%s:Getting local archive from %s", image['name'],
|
||||
source['source'])
|
||||
if os.path.isdir(source['source']):
|
||||
with tarfile.open(dest_archive, 'w') as tar:
|
||||
tar.add(source['source'],
|
||||
arcname=os.path.basename(source['source']))
|
||||
else:
|
||||
shutil.copyfile(source['source'], dest_archive)
|
||||
|
||||
else:
|
||||
LOG.error("%s:Wrong source type '%s'", image['name'],
|
||||
source.get('type'))
|
||||
|
@ -241,7 +241,7 @@ SOURCES = {
|
||||
|
||||
|
||||
def get_source_opts(type_=None, location=None, reference=None):
|
||||
return [cfg.StrOpt('type', choices=['git', 'url'],
|
||||
return [cfg.StrOpt('type', choices=['local', 'git', 'url'],
|
||||
default=type_,
|
||||
help='Source location type'),
|
||||
cfg.StrOpt('location', default=location,
|
||||
|
Loading…
Reference in New Issue
Block a user