Bug 1696867

Summary: [gluster-ansible] Order of th e hosts are not preserved, when creating the volume
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: SATHEESARAN <sasundar>
Component: gluster-ansibleAssignee: Sachidananda Urs <surs>
Status: CLOSED NOTABUG QA Contact: SATHEESARAN <sasundar>
Severity: urgent Docs Contact:
Priority: unspecified    
Version: rhhiv-1.6CC: rhs-bugs, sabose, sankarshan, sasundar
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of:
: 1696868 (view as bug list) Environment:
Last Closed: 2019-04-07 06:42:18 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: 1696868    

Description SATHEESARAN 2019-04-05 19:42:56 UTC
Description of problem:
------------------------
Order of the hosts is not preserved and it won't be the problem for replicated volume, but for the arbitrated volume, gluster-ansible role would place the arbiter brick on any of the host against the users expectation.

Version-Release number of selected component (if applicable):
-------------------------------------------------------------
gluster-ansible-roles-1.0.4-4

How reproducible:
-----------------
Always

Steps to Reproduce:
--------------------
1. Create the vars file with hostnames in order host1, host2, host3
2. Create volumes

Actual results:
---------------
volumes are created with different order of bricks - say host2, host3, host1

Expected results:
-----------------
Volume should be created in the same order as listed in the vars file


Additional info:

Comment 1 Sachidananda Urs 2019-04-07 06:17:16 UTC
When I tested I see the bricks are created in the order provided:

Vars:
     gluster_features_hci_volumes:
        - { volname: 'data', brick: '/data-1/data' }
        - { volname: 'engine', brick: '/data-1/engine' }
        - { volname: 'store', brick: '/data-1/store' }
     gluster_features_hci_cluster:
        - host2
        - host3
        - host1


Result:

Volume Name: store
Type: Replicate
Volume ID: 7b03f1d3-8dac-4235-a6a6-fb2e650a6f57
Status: Started
Snapshot Count: 0
Number of Bricks: 1 x 3 = 3
Transport-type: tcp
Bricks:
Brick1: host2:/data-1/store
Brick2: host3:/data-1/store
Brick3: host1:/data-1/store
Options Reconfigured:

Volume Name: engine                                                                                                               
Type: Replicate                                                                                                                   
Volume ID: acc4b7a9-2eec-4116-819b-ae8f51d19ed3                                                                                   
Status: Started                                                                                                                   
Snapshot Count: 0                                                                                                                 
Number of Bricks: 1 x 3 = 3                                                                                                       
Transport-type: tcp                                                                                                               
Bricks:                                                                                                                           
Brick1: host2:/data-1/engine                                                                                                      
Brick2: host3:/data-1/engine                                                                                                      
Brick3: host1:/data-1/engine                                                                                                      
Options Reconfigured:                                    

Volume Name: data                                                                                                                 
Type: Replicate                                                                                                                   
Volume ID: aeeb2cd5-6c53-4365-baaa-016ab07059d8                                                                                   
Status: Started                                                                                                                   
Snapshot Count: 0                                                                                                                 
Number of Bricks: 1 x 3 = 3                                                                                                       
Transport-type: tcp                                                                                                               
Bricks:                                                                                                                           
Brick1: host2:/data-1/data                                                                                                        
Brick2: host3:/data-1/data                                                                                                        
Brick3: host1:/data-1/data                                                                                                        
Options Reconfigured:                                                                                                             
cluster.granular-entry-heal: enable       

======================================================

There is no sorting happening.

Comment 2 Sachidananda Urs 2019-04-07 06:41:06 UTC
The same bug was raised in earlier version and please see my comment below:

https://bugzilla.redhat.com/show_bug.cgi?id=1636427#c3

If this is still happening, could be a regression in cockpit plugin.
Please attach the generated variable file as well.


The reason for this is using groups['hosts'] and we should not be using that till
Ansible fixes the bug: https://github.com/ansible/ansible/issues/34861

Comment 3 Sachidananda Urs 2019-04-07 06:42:18 UTC
I will be closing this bug and will add the comments to rhhi bug.