Bug 1357751 - Failed to Get current version of Docker on Atomic Host
Summary: Failed to Get current version of Docker on Atomic Host
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Cluster Version Operator
Version: 3.2.1
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: ---
Assignee: Devan Goodwin
QA Contact: Anping Li
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-07-19 05:39 UTC by Anping Li
Modified: 2016-08-18 19:29 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
A section of the upgrade process was incorrectly running on RHEL Atomic Host systems during upgrades, which would fail due to a missing `repoquery` command. This bug fix modifies the upgrade process to skip this section that attempts to upgrade Docker, as this is not possible on RHEL Atomic Host. As a result, upgrades now complete successfully on RHEL Atomic Host systems.
Clone Of:
Environment:
Last Closed: 2016-08-18 19:29:10 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:1639 0 normal SHIPPED_LIVE OpenShift Enterprise atomic-openshift-utils bug fix and enhancement update 2016-08-18 23:26:45 UTC

Description Anping Li 2016-07-19 05:39:56 UTC
Description of problem:
epoquery isn't included in atomic host, so upgrade failed at step "Get current version of Docker". 

Version-Release number of selected component (if applicable):
atomic-openshift-utils-3.2.13
Atomic 7.2.5

How reproducible:
always

Steps to Reproduce:
1) install Openshift v3.2.0.41 on atomic 2.7.5 (docker 1.10.3)
2) set openshift_image_tag=v3.2.1.4
3) run upgrade playbook 
ansible-playbook -i config/hostatomic /usr/share/ansible/openshift-ansible/playbooks/byo/openshift-cluster/upgrades/v3_2/upgrade.yml -vvvv |tee upgrade.logs


Actual results:
TASK [Get current version of Docker] *******************************************
task path: /usr/share/ansible/openshift-ansible/playbooks/common/openshift-cluster/upgrades/docker/upgrade_check.yml:16
<host5master.example.com> ESTABLISH SSH CONNECTION FOR USER: root
<host5master.example.com> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%C host5master.example.com '/bin/sh -c '"'"'( umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1468905761.8-105784069657348 `" && echo ansible-tmp-1468905761.8-105784069657348="` echo $HOME/.ansible/tmp/ansible-tmp-1468905761.8-105784069657348 `" ) && sleep 0'"'"''
<host5master.example.com> PUT /tmp/tmp4i5PV2 TO /root/.ansible/tmp/ansible-tmp-1468905761.8-105784069657348/command
<host5master.example.com> SSH: EXEC sftp -b - -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%C '[host5master.example.com]'
<host5master.example.com> ESTABLISH SSH CONNECTION FOR USER: root
<host5master.example.com> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=root -o ConnectTimeout=10 -o ControlPath=/root/.ansible/cp/ansible-ssh-%C -tt host5master.example.com '/bin/sh -c '"'"'LANG=en_US.utf8 LC_ALL=en_US.utf8 LC_MESSAGES=en_US.utf8 /usr/bin/python /root/.ansible/tmp/ansible-tmp-1468905761.8-105784069657348/command; rm -rf "/root/.ansible/tmp/ansible-tmp-1468905761.8-105784069657348/" > /dev/null 2>&1 && sleep 0'"'"''
fatal: [host5master.example.com]: FAILED! => {"changed": false, "cmd": "repoquery --plugins --installed --qf '%{version}' docker", "failed": true, "invocation": {"module_args": {"_raw_params": "repoquery --plugins --installed --qf '%{version}' docker", "_uses_shell": false, "chdir": null, "creates": null, "executable": null, "removes": null, "warn": true}, "module_name": "command"}, "msg": "[Errno 2] No such file or directory", "rc": 2}
    to retry, use: --limit @/usr/share/ansible/openshift-ansible/playbooks/byo/openshift-cluster/upgrades/v3_2/upgrade.retry

PLAY RECAP *********************************************************************
host5master.example.com    : ok=104  changed=8    unreachable=0    failed=1   
host5node.example.com      : ok=57   changed=3    unreachable=0    failed=0   
localhost                  : ok=18   changed=7    unreachable=0    failed=0   



Expected results:
Don't use repoquery on atomic hosts, the upgrade playbook can be run against Openshift on Atomic Hosts

Additional info:

Comment 1 Anping Li 2016-07-19 05:46:48 UTC
The vars are as following
[OSEv3:vars]
ansible_ssh_user=root
openshift_set_hostname=True
openshift_master_default_subdomain=host5.example.com
deployment_type=openshift-enterprise
openshift_master_identity_providers=[{'name': 'allow_all', 'login': 'true', 'challenge': 'true', 'kind': 'AllowAllPasswordIdentityProvider'}]
openshift_release=3.2
openshift_image_tag=v3.2.1.4
docker_version=1.10.3
docker_upgrade=true

Comment 2 Anping Li 2016-07-19 06:33:54 UTC
The upgrade can be pass only when docker_upgrade=false.

On atomic hosts:
if docker_upgrade=true, it is better to report error message, or print warning message and skip docker checking and upgrade.
if docker_upgrade is absent, we should set docker_upgrade=false

Comment 3 Devan Goodwin 2016-07-20 11:26:33 UTC
Fixed yesterday via: https://github.com/openshift/openshift-ansible/issues/2172#event-726735316

Comment 6 Anping Li 2016-08-09 04:05:46 UTC
Verified and pass on atomic-openshift-utils-3.2.19

Comment 8 errata-xmlrpc 2016-08-18 19:29:10 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2016:1639


Note You need to log in before you can comment on or make changes to this bug.