diff --git a/kolla/__init__.py b/kolla/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8cc4759c03bcef56f7144af3aa619440fb91d807
--- /dev/null
+++ b/kolla/__init__.py
@@ -0,0 +1,22 @@
+# Licensed under the Apache License, Version 2.0 (the "License"); you may
+# not use this file except in compliance with the License. You may obtain
+# a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+# License for the specific language governing permissions and limitations
+# under the License.
+
+import threading
+
+import pbr.version
+
+
+__version__ = pbr.version.VersionInfo(
+    'kolla').version_string()
+
+# Make a project global TLS trace storage repository
+TLS = threading.local()
diff --git a/kolla/cmd/__init__.py b/kolla/cmd/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/tools/build.py b/kolla/cmd/build.py
similarity index 100%
rename from tools/build.py
rename to kolla/cmd/build.py
diff --git a/requirements.txt b/requirements.txt
index 4c7ccfae1056ceb5a70d58d9e77da9221e236cc8..194ddbbd1a8753579bc1c83f783517e4fddbed9a 100755
--- a/requirements.txt
+++ b/requirements.txt
@@ -1,2 +1,3 @@
+pbr<2.0,>=1.4
 docker-py>=1.1.0  # Apache-2.0
 Jinja2>=2.6  # BSD License (3 clause)
diff --git a/setup.cfg b/setup.cfg
new file mode 100644
index 0000000000000000000000000000000000000000..1e5d7130568763e9d6275e4e9d37a8349418c8ad
--- /dev/null
+++ b/setup.cfg
@@ -0,0 +1,50 @@
+[metadata]
+name = kolla
+version = 0.1.0
+summary = Kolla OpenStack Deployment
+description-file =
+    README.rst
+author = OpenStack
+author-email = openstack-dev@lists.openstack.org
+home-page = http://www.openstack.org/
+classifier =
+    Environment :: OpenStack
+    Intended Audience :: Information Technology
+    Intended Audience :: System Administrators
+    License :: OSI Approved :: Apache Software License
+    Operating System :: POSIX :: Linux
+    Programming Language :: Python
+    Programming Language :: Python :: 2
+    Programming Language :: Python :: 2.7
+
+[files]
+packages =
+    kolla
+data_files =
+    share/kolla/ansible = ansible/*
+    share/kolla/devenv = devenv/*
+    share/kolla/docker = docker/*
+    share/kolla/docker_templates = docker_templates/*
+    share/kolla/docs = docs/*
+    share/kolla/etc_examples = etc/*
+    share/kolla/vagrant = vagrant/*
+    share/kolla = tools/init-runonce
+    share/kolla = tools/openrc-example
+
+scripts =
+    tools/kolla-ansible
+
+[entry_points]
+console_scripts =
+    kolla-build = kolla.cmd.build:main
+
+[global]
+setup-hooks =
+    pbr.hooks.setup_hook
+
+[pbr]
+
+[build_sphinx]
+all_files = 1
+build-dir = doc/build
+source-dir = docs
diff --git a/setup.py b/setup.py
new file mode 100644
index 0000000000000000000000000000000000000000..d8080d05c867a158c3c1544f93595d7c92df17c9
--- /dev/null
+++ b/setup.py
@@ -0,0 +1,29 @@
+# Copyright (c) 2013 Hewlett-Packard Development Company, L.P.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#    http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+# THIS FILE IS MANAGED BY THE GLOBAL REQUIREMENTS REPO - DO NOT EDIT
+import setuptools
+
+# In python < 2.7.4, a lazy loading of package `pbr` will break
+# setuptools if some other modules registered functions in `atexit`.
+# solution from: http://bugs.python.org/issue15881#msg170215
+try:
+    import multiprocessing  # noqa
+except ImportError:
+    pass
+
+setuptools.setup(
+    setup_requires=['pbr>=1.3'],
+    pbr=True)
diff --git a/tests/test_build.py b/tests/test_build.py
index e83698c2cf4f396d24c50f6e81c1e63aacd233b4..125c62540697d27173eaf15e9e1959849175a929 100644
--- a/tests/test_build.py
+++ b/tests/test_build.py
@@ -19,7 +19,7 @@ from oslotest import base
 
 import sys
 sys.path.append(path.abspath(path.join(path.dirname(__file__), '../tools')))
-from tools import build
+from kolla.cmd import build
 
 LOG = logging.getLogger(__name__)