Merge "Document the containers prepare command"

This commit is contained in:
Jenkins 2017-07-31 19:33:20 +00:00 committed by Gerrit Code Review
commit 433158b6bd
1 changed files with 53 additions and 19 deletions

View File

@ -41,38 +41,76 @@ To prepare your environment, you must follow all the steps described in the
:ref:`basic-deployment-cli` documentation. Stop right at the :ref:`basic-deployment-cli` documentation. Stop right at the
:ref:`deploy-the-overcloud` section. :ref:`deploy-the-overcloud` section.
It is necessary to generate a heat environment file which specifies the
container image parameters. These parameters will deploy the overcloud with
images from a specific repository with specific tags.
The ``openstack overcloud container image prepare`` command is used to generate
these parameters. The following command will generate a heat environment file
`~/docker_registry.yaml` to deploy an overcloud with images from the
`Docker Hub`_::
openstack overcloud container image prepare \
--namespace tripleoupstream \
--tag latest \
--env-file ~/docker_registry.yaml
The options ``--namespace tripleoupstream`` and ``--tag latest`` will typically
be replaced with values specific to the environment. Run with ``--help`` to see
the other options available for controlling what is generated.
For production deployments (or for testing upgrades and rollbacks) stable tags
like `latest` should never be used, instead explicit versioned tags are
required to specify the exact images which will be deployed.
Populate local docker registry Populate local docker registry
.............................. ..............................
It's useful to run a local docker registry on the undercloud to speed up the Serving container images from a local registry is optional, but it can make
overcloud deployment. A docker registry is normally already setup to listen on overcloud deployment faster and more reliable. For development purposes an
port 8787 as part of the undercloud install. insecure docker registry is already setup to listen on port 8787 as part of the
undercloud install.
To use the pre-built images coming from the `tripleoupstream` registry on the To copy the images from one registry to another, the `prepare` command is run
dockerhub, use the following command:: to generate the `overcloud_containers.yaml` file. This describes the source and
destination image locations consumed by the `upload` command.
openstack overcloud container image upload --config-file /usr/share/openstack-tripleo-common/container-images/overcloud_containers.yaml To copy the pre-built images coming from the `tripleoupstream` registry on
`Docker Hub`_ to the local repository, the following commands are run::
Or use `kolla-build` to build the images yourself:: openstack overcloud container image prepare \
--namespace tripleoupstream \
--tag latest \
--push-destination 192.168.24.1:8787
--images-file overcloud_containers.yaml \
openstack overcloud container image upload --config-file overcloud_containers.yaml
Or use ``kolla-build`` to build and push the images yourself::
kolla-build --base centos --type binary --namespace tripleoupstream --registry 192.168.24.1:8787 --tag latest --template-override /usr/share/tripleo-common/container-images/tripleo_kolla_template_overrides.j2 --push kolla-build --base centos --type binary --namespace tripleoupstream --registry 192.168.24.1:8787 --tag latest --template-override /usr/share/tripleo-common/container-images/tripleo_kolla_template_overrides.j2 --push
Finally, point the heat templates to your local registry, for example in The command ``openstack overcloud container image prepare`` then needs to be
a `$HOME/docker_registry.yaml` file:: called again to generate the `~/docker_registry.yaml` file that specifies the
containers available in the local registry::
parameter_defaults: openstack overcloud container image prepare \
DockerNamespace: 192.168.24.1:8787/tripleoupstream --namespace 192.168.24.1:8787/tripleoupstream \
DockerNamespaceIsRegistry: true --tag latest \
--env-file ~/docker_registry.yaml
echo " DockerInsecureRegistryAddress: 192.168.24.1:8787" >> \
~/docker_registry.yaml
Deploying the containerized Overcloud Deploying the containerized Overcloud
------------------------------------- -------------------------------------
A containerized overcloud deployment follows all the steps described in the A containerized overcloud deployment follows all the steps described in the
baremetal :ref:`deploy-the-overcloud` documentation with the exception that it baremetal :ref:`deploy-the-overcloud` documentation with the exception that it
requires an extra environment file to be added to the `openstack overcloud requires extra environment files to be added to the ``openstack overcloud
deploy` command:: deploy`` command::
-e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/docker.yaml
-e ~/docker_registry.yaml
If deploying with highly available controller nodes, include the If deploying with highly available controller nodes, include the
following extra environment file in addition to the above and in place following extra environment file in addition to the above and in place
@ -80,11 +118,6 @@ of the `environments/puppet-pacemaker.yaml` file::
-e /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml -e /usr/share/openstack-tripleo-heat-templates/environments/docker-ha.yaml
In case of a local docker registry, also add the path to the override file::
-e $HOME/docker_registry.yaml
Using TripleO Quickstart Using TripleO Quickstart
------------------------ ------------------------
@ -98,3 +131,4 @@ The command below will deploy a containerized overcloud on top of a baremetal un
bash quickstart.sh --config=~/.quickstart/config/general_config/containers_minimal.yml $VIRTHOST bash quickstart.sh --config=~/.quickstart/config/general_config/containers_minimal.yml $VIRTHOST
.. _TripleO Quickstart: https://docs.openstack.org/developer/tripleo-quickstart/ .. _TripleO Quickstart: https://docs.openstack.org/developer/tripleo-quickstart/
.. _Docker Hub: https://hub.docker.com/