diff --git a/kolla/cmd/build.py b/kolla/cmd/build.py
index d21109647d..1bb8d80762 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 2eeb8c9ca5..3816230af0 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,