Bug 1422361 - [3.4] Advanced installer fails if python-six not available
Summary: [3.4] Advanced installer fails if python-six not available
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: OpenShift Container Platform
Classification: Red Hat
Component: Installer
Version: 3.4.0
Hardware: Unspecified
OS: Unspecified
medium
medium
Target Milestone: ---
: 3.4.z
Assignee: Scott Dodson
QA Contact: Gan Huang
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-02-15 06:05 UTC by Marko Myllynen
Modified: 2017-03-06 16:39 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Recent changes to improve Python 3 compatibility introduced a dependency on python-six which was not enforced when executing playbooks. python-six has been added as a requirement in all sections of the code which require it ensuring proper installation.
Clone Of:
Environment:
Last Closed: 2017-03-06 16:39:11 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHSA-2017:0448 0 normal SHIPPED_LIVE Important: ansible and openshift-ansible security and bug fix update 2017-03-06 21:36:25 UTC

Description Marko Myllynen 2017-02-15 06:05:45 UTC
Description of problem:
...
TASK [openshift_facts : set_fact] **********************************************
ok: [master01.example.com]
ok: [node01.example.com]

TASK [openshift_facts : Ensure PyYaml and yum-utils are installed] *************
ok: [master01.example.com] => (item=[u'PyYAML', u'yum-utils'])
ok: [node01.example.com] => (item=[u'PyYAML', u'yum-utils'])

TASK [openshift_facts : Gather Cluster facts and set is_containerized if needed] ***
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: ImportError: No module named six
fatal: [master01.example.com]: FAILED! => {
    "changed": false, 
    "failed": true, 
    "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_Nhdmp7/ansible_module_openshift_facts.py\", line 29, in <module>\n    from six import string_types\nImportError: No module named six\n", 
    "module_stdout": ""
}

MSG:

MODULE FAILURE

Manually installing python-six and rerunning allows installation to continue.

Version-Release number of selected component (if applicable):
openshift-ansible-3.4.56-1.git.0.7ba9968.el7.noarch

Comment 1 Johnny Liu 2017-02-15 09:14:27 UTC
python-six will be installed as dependency of ansible, if you are using our official ansible.
 
# rpm -q ansible
ansible-2.2.0.0-1.el7.noarch

# rpm -qR ansible|grep six
python-six


So this should be NOTABUG.

Comment 2 Marko Myllynen 2017-02-15 10:06:30 UTC
This is about the target nodes being installed, not about the bastion host initiating the installation. Thanks.

Comment 3 Scott Dodson 2017-02-15 18:02:56 UTC
https://github.com/openshift/openshift-ansible/pull/3372 backported fix

Comment 6 Gan Huang 2017-02-16 03:32:27 UTC
Tested with origin openshift-ansible-3.4.63-1

1) make sure the packages aren't installed into the RHEL image. iproute is depended by many other packages (NetworkManager, yum-rhn-plugin, etc) so I didn't remove it.

# rpm -qa |grep "iproute\|python-dbus\|python-six\|PyYAML\|yum-utils"
iproute-3.10.0-74.el7.x86_64

2) Trigger the installation with that image

3) Installation succeed and works well

Will test again when openshift-ansible-3.4.63-1 is in puddle.

Comment 7 Gan Huang 2017-02-20 12:05:17 UTC
Verified with rpm package openshift-ansible-3.4.63-1.git.0.54f8923.el7.noarch

Comment 9 errata-xmlrpc 2017-03-06 16:39:11 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/RHSA-2017:0448


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