Bug 1688188
Summary: | Need glusterd configuration via ansible roles for IPV6 cases | |||
---|---|---|---|---|
Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | SATHEESARAN <sasundar> | |
Component: | gluster-ansible | Assignee: | Sachidananda Urs <surs> | |
Status: | CLOSED CURRENTRELEASE | QA Contact: | SATHEESARAN <sasundar> | |
Severity: | high | Docs Contact: | ||
Priority: | unspecified | |||
Version: | rhhiv-1.6 | CC: | amukherj, godas, pasik, rhs-bugs, sabose, sasundar, surs | |
Target Milestone: | --- | |||
Target Release: | RHGS 3.5.0 | |||
Hardware: | x86_64 | |||
OS: | Linux | |||
Whiteboard: | ||||
Fixed In Version: | gluster-ansible-features-1.0.5-2 | Doc Type: | Enhancement | |
Doc Text: |
Gluster-ansible can now configure IPv6 networking for Red Hat Gluster Storage.
|
Story Points: | --- | |
Clone Of: | ||||
: | 1688217 (view as bug list) | Environment: | ||
Last Closed: | 2019-10-22 12:19:19 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: | ||||
Bug Depends On: | ||||
Bug Blocks: | 1688217, 1696803 |
Description
SATHEESARAN
2019-03-13 10:54:46 UTC
PR: https://github.com/gluster/gluster-ansible-features/pull/23 fixes the issue. This bug is the MUST fix for the forthcoming RHHI-V release, providing the qa_ack The setup is validating the host with 'dig' command which always queries the DNS server. This needs to be changed with 'getent ahosts' as there are chances for PoC and other simple customer deployments, DNS records may be replaced with entry in /etc/hosts @Sac, Can we remove 'dig' command in the following code path: Code in: roles/gluster_hci/tasks/glusterd_ipv6.yml <code> # Check if the FQDN maps to ipv6, get the AAAA record - name: Check if given hosts have ipv6 configured command: args: argv: - dig - +short - "{{ item }}" - AAAA register: v6result with_items: "{{ groups['all'] }}" failed_when: v6result.stdout_lines|length == 0 delegate_to: localhost run_once: true </code> @sas ack. I will be moving this to pre_tasks in our playbook. This will no longer be part of rhhi role. (In reply to SATHEESARAN from comment #5) > The setup is validating the host with 'dig' command which always queries the > DNS server. > This needs to be changed with 'getent ahosts' as there are chances for PoC > and other simple > customer deployments, DNS records may be replaced with entry in /etc/hosts > > > @Sac, > > Can we remove 'dig' command in the following code path: > > Code in: roles/gluster_hci/tasks/glusterd_ipv6.yml > > <code> > # Check if the FQDN maps to ipv6, get the AAAA record > - name: Check if given hosts have ipv6 configured > command: > args: > argv: > - dig > - +short > - "{{ item }}" > - AAAA > register: v6result > with_items: "{{ groups['all'] }}" > failed_when: v6result.stdout_lines|length == 0 > delegate_to: localhost > run_once: true > </code> What is the reason? We use dig here to determine if the network is ipv4 or ipv6. I think you are confusing this with `valid hostname' check, where we decided to use getent instead of dig. I am moving this to ON_QA. (In reply to Sachidananda Urs from comment #7) > (In reply to SATHEESARAN from comment #5) > > The setup is validating the host with 'dig' command which always queries the > > DNS server. > > This needs to be changed with 'getent ahosts' as there are chances for PoC > > and other simple > > customer deployments, DNS records may be replaced with entry in /etc/hosts > > > > > > @Sac, > > > > Can we remove 'dig' command in the following code path: > > > > Code in: roles/gluster_hci/tasks/glusterd_ipv6.yml > > > > <code> > > # Check if the FQDN maps to ipv6, get the AAAA record > > - name: Check if given hosts have ipv6 configured > > command: > > args: > > argv: > > - dig > > - +short > > - "{{ item }}" > > - AAAA > > register: v6result > > with_items: "{{ groups['all'] }}" > > failed_when: v6result.stdout_lines|length == 0 > > delegate_to: localhost > > run_once: true > > </code> > > What is the reason? We use dig here to determine if the network is ipv4 or > ipv6. > > I think you are confusing this with `valid hostname' check, where we decided > to use > getent instead of dig. > > I am moving this to ON_QA. Additional note: In this part of the role, we check if the given host is valid ipv6. If we go ahead with `getent ahostsv6 <host>', we do not have a deterministic test. Can you please add comment with the tests that you run? @sas, after discussion with Sahina we decided we will remove that check. Since we enable ipv6 in glusterd based on user input, we can get rid of this check. Patch: https://github.com/gluster/gluster-ansible-features/pull/29 should fix the issue. Tested with RHVH 4.3.5 + RHEL 7.7 + RHGS 3.4.4 ( interim build - glusterfs-6.0-6 ) with ansible 2.8.1-1 with: gluster-ansible-features-1.0.5-2.el7rhgs.noarch gluster-ansible-roles-1.0.5-2.el7rhgs.noarch gluster-ansible-infra-1.0.4-3.el7rhgs.noarch glusterd volfile has the required configuration as below: # cat /etc/glusterfs/glusterd.vol volume management type mgmt/glusterd option working-directory /var/lib/glusterd option transport-type socket,rdma option transport.socket.keepalive-time 10 option transport.socket.keepalive-interval 2 option transport.socket.read-fail-log off option transport.socket.listen-port 24007 option transport.rdma.listen-port 24008 option ping-timeout 0 option event-threads 1 # option lock-timer 180 option transport.address-family inet6 # option base-port 49152 option max-port 60999 end-volume |