Ocata -> Pike overcloud upgrade fails because the docker service is not started on overcloud node
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
tripleo |
Expired
|
Undecided
|
Unassigned |
Bug Description
Steps to reproduce:
1. Install Ocata undercloud
2. Deploy Ocata overcloud with one controller node:
source ~/stackrc
export THT=/usr/
openstack overcloud deploy --templates $THT \
-r ~/openstack_
-e $THT/environmen
-e $THT/environmen
-e $THT/environmen
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
roles_data.yaml:
http://
3. Upgrade undercloud to Pike
4. Download container images:
openstack overcloud container image upload --verbose --config-file /usr/share/
5. Replace repos on overcloud node to Pike repos:
sudo mv /etc/yum.
sudo curl -L -o /etc/yum.
sudo curl -L -o /etc/yum.
sudo sed -i 's/\[delorean\
sudo /bin/bash -c "cat <<EOF>>
includepkgs=
EOF"
sudo curl -L -o /etc/yum.
6. # create an env file to make overcloud fetch the images from the undercloud
# (192.168.0.1 is undercloud IP that must be pingable from the overcloud)
echo > ~/containers-
DockerNamespace: 192.168.
DockerNamespa
'
7. Upgrade overcloud:
source ~/stackrc
export THT=/usr/
openstack overcloud deploy --templates $THT \
-r ~/openstack_
-e $THT/environmen
-e $THT/environmen
-e $THT/environmen
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/openstack_
-e ~/containers-
-e /usr/share/
-e /usr/share/
Result:
Upgrade fails with:
http://
Trying to run 'python /var/lib/
Changed in tripleo: | |
importance: | Undecided → High |
Changed in tripleo: | |
milestone: | pike-3 → pike-rc1 |
Changed in tripleo: | |
milestone: | pike-rc1 → pike-rc2 |
Changed in tripleo: | |
milestone: | pike-rc2 → queens-1 |
Changed in tripleo: | |
milestone: | queens-1 → queens-2 |
Changed in tripleo: | |
milestone: | queens-2 → queens-3 |
Changed in tripleo: | |
milestone: | queens-3 → queens-rc1 |
Changed in tripleo: | |
milestone: | queens-rc1 → rocky-1 |
Changed in tripleo: | |
milestone: | rocky-1 → rocky-2 |
Changed in tripleo: | |
milestone: | rocky-2 → rocky-3 |
Changed in tripleo: | |
milestone: | rocky-3 → rocky-rc1 |
Changed in tripleo: | |
milestone: | rocky-rc1 → stein-1 |
Changed in tripleo: | |
milestone: | stein-1 → stein-2 |
After starting the docker service upgrade fails with errors like:
2017-06-20 18:03:29,330 DEBUG: Trying to pull repository 192.168. 0.1:8787/ tripleoupstream /centos- binary- memcached ...
2017-06-20 18:03:29,330 DEBUG: Get https:/ /192.168. 0.1:8787/ v1/_ping: http: server gave HTTP response to HTTPS client
It looks /etc/sysconfig/ docker is not configured:
[root@overcloud -controller- 0 heat-admin]# cat /etc/sysconfig/ docker docker
# /etc/sysconfig/
# Modify these options if you want to change the way the docker daemon runs '--selinux- enabled --log-driver= journald --signature- verification= false' CERT_PATH} " ]; then CERT_PATH= /etc/docker
OPTIONS=
if [ -z "${DOCKER_
DOCKER_
fi
# If you want to add your own registry to be used for docker search and docker '--add- registry registry. access. redhat. com'
# pull use the ADD_REGISTRY option to list a set of registries, each prepended
# with --add-registry flag. The first registry added will be the first registry
# searched.
#ADD_REGISTRY=
# If you want to block registries from being used, uncomment the BLOCK_REGISTRY '--block- registry'
# option and give it a set of registries, each prepended with --block-registry
# flag. For example adding docker.io will stop users from downloading images
# from docker.io
# BLOCK_REGISTRY=
# If you have a registry secured with https but do not have proper certs REGISTRY= '--insecure- registry'
# distributed, you can tell docker to not look for full authorization by
# adding the registry to the INSECURE_REGISTRY line and uncommenting it.
# INSECURE_
# On an SELinux system, if you remove the --selinux-enabled option, you transition_ unconfined boolean. transition_ unconfined 1
# also need to turn on the docker_
# setsebool -P docker_
# Location used for temporary files, such as those created by TMPDIR= /var/tmp
# docker load and build operations. Default is /var/lib/docker/tmp
# Can be overriden by setting the following environment variable.
# DOCKER_
# Controls the /etc/cron. daily/docker- logrotate cron job status.
# To disable, uncomment the line below.
# LOGROTATE=false
#
# docker-latest daemon can be used by starting the docker-latest unitfile. /usr/bin/ docker- latest /usr/bin/ dockerd- latest CONTAINERD_ BINARY= /usr/bin/ docker- containerd- latest CONTAINERD_ SHIM_BINARY= /usr/bin/ docker- containerd- shim-latest
# To use docker-latest client, uncomment below lines
#DOCKERBINARY=
#DOCKERDBINARY=
#DOCKER_
#DOCKER_