Description of problem: Following the Ansible Advanced installer (*) it does not look to verify what version of glusterfs (and its subsequent packages) are installed. The latest install requires versions that are newer than the customer may have on their system. Version-Release number of selected component (if applicable): openshift-ansible-docs-3.6.173.0.21-2.git.0.44a4038.el7.noarch atomic-openshift-clients-3.6.173.0.21-1.git.0.f95b0e7.el7.x86_64 openshift-ansible-3.6.173.0.21-2.git.0.44a4038.el7.noarch openshift-ansible-lookup-plugins-3.6.173.0.21-2.git.0.44a4038.el7.noarch openshift-ansible-callback-plugins-3.6.173.0.21-2.git.0.44a4038.el7.noarch openshift-ansible-roles-3.6.173.0.21-2.git.0.44a4038.el7.noarch ansible-2.3.2.0-2.el7.noarch openshift-ansible-filter-plugins-3.6.173.0.21-2.git.0.44a4038.el7.noarch openshift-ansible-playbooks-3.6.173.0.21-2.git.0.44a4038.el7.noarch procps-ng-3.3.10-10.el7.x86_64 glusterfs-3.7.9 How reproducible: 100% Steps to Reproduce: 1. Install the glusterfs rpms of version 3.7.9 2. Attempt to do the ansible advanced install of CNS 3. Actual results: The ansible install will fail with this message: -> Scaling heketi-storage-1 to 1 --> Waiting up to 10m0s for pods in rc heketi-storage-1 to become ready error: update acceptor rejected heketi-storage-1: pods for rc "heketi-storage-1" took longer than 600 seconds to become ready In the glusterfs storage logs (var/lib/origin/openshift.local.volumes/plugins/kubernetes.io/glusterfs/db/heketi-storage-1-wg8pt-glusterfs.log) you see: [2017-10-02 21:32:25.196767] E [graph.y:212:volume_type] 0-parser: Volume 'heketidbstorage-client-0', line 2: type 'protocol/client' is not valid or not found on this machine [2017-10-02 21:32:25.196809] E [graph.y:321:volume_end] 0-parser: "type" not specified for volume heketidbstorage-client-0 [2017-10-02 21:32:25.196843] E [MSGID: 100026] [glusterfsd.c:2192:glusterfs_process_volfp] 0-: failed to construct the graph [2017-10-02 21:32:25.197020] E [graph.c:944:glusterfs_graph_destroy] (-->/usr/sbin/glusterfs(mgmt_getspec_cbk+0x331) [0x7f0cc159f891] -->/usr/sbin/glusterfs(glusterfs_process_volfp+0x149) [0x7f0cc159a1e9] -->/lib64/libglusterfs.so.0(glusterfs_graph_destroy+0x84) [0x7f0cc1105604] ) 0-graph: invalid argument: graph [Invalid argument] Expected results: If the required version of glusterfs is not installed, the ansible playbook should check and return an error stating what version is required. Additional info: *) https://docs.openshift.com/container-platform/3.6/install_config/install/advanced_install.html#configuring-ansible
I'm not sure sure this is something we can fix in the installer. The GlusterFS container, both upstream and downstream, change version independently of the releases of OpenShift. As such there were always be the risk that the installer would fall behind from the actual version it needs to check for. A more tenable alternative might be to do a check to make sure the right repo is enabled and then do a yum update. Thoughts?
Pushing back to 3.12. There's a chance this can be remedied with the introduction of a Gluster Operator, but that will only be tech preview in 3.11.
*** Bug 1656486 has been marked as a duplicate of this bug. ***
Changing target since this won't apply to 4.0.
There are now no plans to introduce this functionality in the 3.x lifetime. Admins will be responsible for making sure they follow all documentation to ensure the appropriate versions of the GlusterFS client software is installed on all nodes. The use of CSI drivers in future versions of OCP will alleviate this requirement.