aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKuo-tung Kao <jelly.k@inwinstack.com>2015-10-14 16:19:45 +0800
committerKuo-tung Kao <ya790206@gmail.com>2015-10-17 10:08:03 +0800
commit52b72538114fdf3de5b71ce399bb0992d2748d75 (patch)
treefa60fd599594ef47e750de30c46cc51f407e51e7
parentbd010bdee2794990de381adf99f841ab237f58c6 (diff)
downloadkolla-52b72538114fdf3de5b71ce399bb0992d2748d75.tar.gz
kolla-52b72538114fdf3de5b71ce399bb0992d2748d75.zip
add "registry" flag to "tools/build.py"
With registry flag, build image using `tools/build.py --registry 172.22.2.81:4000` the image name looks like `172.22.2.81:4000/kollaglue/data` When user use kolla-ansible, user set `docker_registry` to `172.22.2.81:4000` in `/etc/kolla/globals.yml`. Build image using `tools/build.py -n abcd` the image name looks like `abcd/data` When user use kolla-ansible, user set `docker_namespace:` to `abcd` in `/etc/kolla/globals.yml`. build image using `tools/build.py -n abcd --registry 172.22.2.81:4000` the image name looks like `abcd/data` When user use kolla-ansible, user set `docker_namespace:` to `abcd` in `/etc/kolla/globals.yml`. user set `docker_registry` to `172.22.2.81:4000` in `/etc/kolla/globals.yml`. With the feature, it will reduce user confusing and mistaking. Change-Id: I18ac7a3ccec032888e35f5e9a79fc190760cc8a0 Closes-Bug: #1505056
-rw-r--r--doc/deploy-all-in-one-node.rst2
-rw-r--r--doc/image-building.rst10
-rw-r--r--etc/kolla/kolla-build.conf2
-rwxr-xr-xkolla/cmd/build.py12
4 files changed, 17 insertions, 9 deletions
diff --git a/doc/deploy-all-in-one-node.rst b/doc/deploy-all-in-one-node.rst
index 04f62780d..b59bbb1b5 100644
--- a/doc/deploy-all-in-one-node.rst
+++ b/doc/deploy-all-in-one-node.rst
@@ -37,7 +37,7 @@ The guide assumes that you have build images using the following command.
::
- tools/build.py -n 172.22.2.81:4000/kollaglue --base ubuntu --type source --push
+ tools/build.py --registry 172.22.2.81:4000 --base ubuntu --type source --push
The IP, "172.22.2.81", is the host running private docker registry.
To deploy a private docker registry,
diff --git a/doc/image-building.rst b/doc/image-building.rst
index ee18c153d..d02c8322c 100644
--- a/doc/image-building.rst
+++ b/doc/image-building.rst
@@ -56,14 +56,12 @@ want to push images to your dockerhub, change the namespace like:
$ tools/build.py -n yourusername --push
-To push images to local registry, change the namespace, too. If the ip
-of the machine running local registry is ``172.22.2.81`` and the port
-which local registry listens to is ``4000``, use the following command
-to push images to local registry.
+To push images to local registry, use ``--registry`` flag like the
+following command:
::
- tools/build.py --namespace 172.22.2.81:4000/kollaglue --push
+ tools/build.py --registry 172.22.2.81:4000 --push
To trigger buid.py to pull images from local registry,
the Docker configuration needs to be modified. See
@@ -180,7 +178,7 @@ To build and push images to local registry, use the following command:
::
- tools/build.py --namespace 172.22.2.81:4000/kollaglue --push
+ tools/build.py --registry 172.22.2.81:4000 --push
Kolla-ansible with Local Registry
+++++++++++++++++++++++++++++++++
diff --git a/etc/kolla/kolla-build.conf b/etc/kolla/kolla-build.conf
index c4281248f..dc3e20816 100644
--- a/etc/kolla/kolla-build.conf
+++ b/etc/kolla/kolla-build.conf
@@ -42,6 +42,8 @@
# Path to custome file to be addded at end of Dockerfiles for final images
#include_footer = /path/to/footer_file
+# The registry host. The default registry host is Docker Hub.
+#registry = None
# Provide location of sources for source install builds.
# Example:
diff --git a/kolla/cmd/build.py b/kolla/cmd/build.py
index e6e43dd70..55969c9bd 100755
--- a/kolla/cmd/build.py
+++ b/kolla/cmd/build.py
@@ -225,7 +225,8 @@ def merge_args_and_config(settings_from_config_file):
"keep": False,
"push": False,
"threads": 8,
- "retries": 3
+ "retries": 3,
+ "registry": None
}
defaults.update(settings_from_config_file.items('kolla-build'))
parser.set_defaults(**defaults)
@@ -285,6 +286,9 @@ def merge_args_and_config(settings_from_config_file):
parser.add_argument('--template-only',
help=("Don't build images. Generate Dockerfile only"),
action='store_true')
+ parser.add_argument('--registry',
+ help=("the docker registry host"),
+ type=str)
return vars(parser.parse_args())
@@ -294,7 +298,11 @@ class KollaWorker(object):
self.base_dir = os.path.abspath(find_base_dir())
LOG.debug("Kolla base directory: " + self.base_dir)
self.images_dir = os.path.join(self.base_dir, 'docker')
- self.namespace = config['namespace']
+ self.registry = config['registry']
+ if self.registry:
+ self.namespace = self.registry + '/' + config['namespace']
+ else:
+ self.namespace = config['namespace']
self.base = config['base']
self.base_tag = config['base_tag']
self.install_type = config['install_type']