diff options
| author | SamYaple <sam@yaple.net> | 2016-02-18 03:01:49 +0000 |
|---|---|---|
| committer | Martin André <m.andre@redhat.com> | 2016-03-09 18:36:13 +0900 |
| commit | 279594ab6456694de883f0a6873de65d41e0ca8f (patch) | |
| tree | 5350f33efe0668f9e1bea7512d482bf0b025b5b2 /kolla | |
| parent | 13a60622601a3fc8535c0ee8c10a1da2d0ea928b (diff) | |
| download | kolla-279594ab6456694de883f0a6873de65d41e0ca8f.tar.gz kolla-279594ab6456694de883f0a6873de65d41e0ca8f.zip | |
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
Diffstat (limited to 'kolla')
| -rwxr-xr-x | kolla/cmd/build.py | 10 | ||||
| -rw-r--r-- | kolla/common/config.py | 2 |
2 files changed, 11 insertions, 1 deletions
diff --git a/kolla/cmd/build.py b/kolla/cmd/build.py index d21109647..1bb8d8076 100755 --- a/kolla/cmd/build.py +++ b/kolla/cmd/build.py @@ -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')) diff --git a/kolla/common/config.py b/kolla/common/config.py index 2eeb8c9ca..3816230af 100644 --- a/kolla/common/config.py +++ b/kolla/common/config.py @@ -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, |
