Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1509137

Summary: [quick installer][3.7]installer failed during configure nfs
Product: OpenShift Container Platform Reporter: Wenkai Shi <weshi>
Component: InstallerAssignee: Scott Dodson <sdodson>
Status: CLOSED ERRATA QA Contact: Johnny Liu <jialiu>
Severity: high Docs Contact:
Priority: high    
Version: 3.7.0CC: aos-bugs, erich, jokerman, mmccomas, pprakash, trankin
Target Milestone: ---   
Target Release: 3.7.z   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Previously the quick installer did not properly configure the registry for NFS based storage when a storage host had been configured. This error has been corrected and now POC environments making use of an NFS storage host can be installed using the quick installer.
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-11-29 15:32:55 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Wenkai Shi 2017-11-03 07:36:10 UTC
Description of problem:
Installer failed during configure nfs

Version-Release number of the following components:
atomic-openshift-utils-3.7.0-0.190.0.git.0.129e91a.el7

How reproducible:
100%

Steps to Reproduce:
1. install OCP by quick installer
2. 
3.

Actual results:
# atomic-openshift-installer -u install
...
Play 22/88 (Configure nfs)
...........................fatal: [master.example.com]: FAILED! => {"failed": true, "msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'storage'\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_storage_nfs/tasks/main.yml': line 20, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Ensure exports directory exists\n  ^ here\n\nexception type: <class 'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'dict object' has no attribute 'storage'"}

master.example.com : ok=49   changed=3    unreachable=0    failed=0   
node.example.com : ok=138  changed=41   unreachable=0    failed=1   
...

Expected results:
Should be good here.

Additional info:

Comment 1 Scott Dodson 2017-11-03 13:35:12 UTC
Only treating this as a 3.7 blocker because i think it'll happen whether the quick installer is used or not.

Comment 2 Scott Dodson 2017-11-06 16:34:44 UTC
This only happens when one has defined an nfs host but hasn't defined any components that use nfs storage. This is not likely to happen so deferring to 3.8.

Comment 4 Wenkai Shi 2017-11-28 04:19:52 UTC
Check with version openshift-ansible-3.7.9-1.git.35.36453c1.el7, installation still failed.

# atomic-openshift-installer -u install
...
Play 22/88 (Configure nfs)
...........................fatal: [master.example.com]: FAILED! => {"failed": true, "msg": "The task includes an option with an undefined variable. The error was: 'dict object' has no attribute 'storage'\n\nThe error appears to have been in '/usr/share/ansible/openshift-ansible/roles/openshift_storage_nfs/tasks/main.yml': line 20, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: Ensure exports directory exists\n  ^ here\n\nexception type: <class 'ansible.errors.AnsibleUndefinedVariable'>\nexception: 'dict object' has no attribute 'storage'"}
...

Comment 5 Wenkai Shi 2017-11-28 10:33:23 UTC
Quick installer will always force customer to define the nfs host. But this could work around by set nfs parameters [1] inside [2].

[1]. 
  openshift_hosted_registry_storage_kind: nfs
  openshift_hosted_registry_storage_nfs_options: "*(rw,root_squash,sync,no_wdelay)"
  openshift_hosted_registry_storage_nfs_directory: /var/lib/exports
  openshift_hosted_registry_storage_volume_name: regpv
  openshift_hosted_registry_storage_access_modes: ["ReadWriteMany"]
  openshift_hosted_registry_storage_volume_size: 17G
[2]. .config/openshift/installer.cfg.yml

Comment 6 Scott Dodson 2017-11-28 19:01:43 UTC
https://github.com/openshift/openshift-ansible/pull/6298 fixes this

Comment 8 Wenkai Shi 2017-11-29 02:43:57 UTC
Verified with version openshift-ansible-3.7.9-1.git.7.eedd332.el7, code has been merged, nfs service can install succeed in nfs host without any extra work around parameters.

# grep -nir "nfs" /usr/lib/python2.7/site-packages/ooinstall/cli_installer.py
348:        existing_host.other_variables['openshift_hosted_registry_storage_kind'] = 'nfs'
353:        host_props['openshift_hosted_registry_storage_kind'] = 'nfs'

Comment 11 errata-xmlrpc 2017-11-29 15:32:55 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-2017:3280

Comment 12 Red Hat Bugzilla 2023-09-14 04:11:12 UTC
The needinfo request[s] on this closed bug have been removed as they have been unresolved for 1000 days