Bug 1901507
| Summary: | Add pre-flight in cockpit deployment flow to check for disk block sizes used for bricks and LV cache to be identical | ||
|---|---|---|---|
| Product: | [Red Hat Storage] Red Hat Gluster Storage | Reporter: | SATHEESARAN <sasundar> |
| Component: | rhhi | Assignee: | Gobinda Das <godas> |
| Status: | CLOSED CURRENTRELEASE | QA Contact: | SATHEESARAN <sasundar> |
| Severity: | medium | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | rhhiv-1.8 | CC: | aoconnor, bugs, godas, rcyriac, rhs-bugs |
| Target Milestone: | --- | Keywords: | ZStream |
| Target Release: | RHHI-V 1.8.z Async Update | ||
| Hardware: | x86_64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | cockpit-ovirt-0.14.15 | Doc Type: | If docs needed, set a value |
| Doc Text: | Story Points: | --- | |
| Clone Of: | 1895553 | Environment: | |
| Last Closed: | 2021-01-11 07:15:28 UTC | Type: | --- |
| 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: | 1895553 | ||
| Bug Blocks: | |||
|
Description
SATHEESARAN
2020-11-25 13:15:13 UTC
The dependent ovirt bug is already in MODIFIED state Tested with cockpit-ovirt-dashboard-0.14.15 The deployment fails in one particular scenario, when there is a combination of 4K and 512B block sized devices in the same host. For example: host1 host2 host3 sdb(4K) sdb(4K) sdb(4K) sdc(512B) sdc(512B) sdb(512B) sdd(512B) sdd(512B) sdd(512B) In the above case, this is the valid scenario, but still the deployment fails. Deployment fails: 1. when one of the disk for volume is 4K while the rest are 512B, also vice versa The above situation is correct. Deployment is successful: 1. When all disks are 512B 2. When all disks are 4K Problematic scenario is when the usage of 4K and 512B on the hosts, though the devices for the volume are of the same disk block size. I have got the code that performs the check correctly:
<snip>
- name: Check if block device is 4KN
shell: >
blockdev --getss {{ item.pvname }} | grep -Po -q "4096" && echo true || echo false
register: is4KN
with_items: "{{ gluster_infra_volume_groups }}"
- set_fact:
numdisks: "{{ hostvars[ansible_play_hosts[0]]['is4KN']['results'] | length - 1}}"
mylist: []
- name: Create the list of indexes
set_fact:
mylist: "{{ mylist + [item] }}"
with_sequence: start=0 end={{numdisks}}
- assert:
that:
- hostvars[ansible_play_hosts[0]]['is4KN']['results'][{{item.1}}]['stdout'] == hostvars["{{item.0}}"]['is4KN']['results'][{{item.1}}]['stdout']
fail_msg: Mix of 4KN and 512B block size disks
with_nested:
- "{{ ansible_play_hosts }}"
- "{{ mylist }}"
run_once: true
</snip>
But this may need more testing
Gobinda has clarified on the mail to RHHI Program list, that this is restriction of usage of 4K and 512B on the same host
is the restriction, as per design.
<mail_snip>
On Thu, Dec 3, 2020 at 8:01 PM Gobinda Das <godas> wrote:
Hi sas,
I don't think this is an issue, the result of what you are getting is by the design.
The idea of this fix is to solve performance issues. So at any point of time we should not allow mix of block size across volumes.
For example if data volume is 4k and vmstore is 512B then even though customers invested more for 4k devices, they will not get expected performance for 4k because another volume is slower.
Also another scenario is for lvm cache, if you have mix of block size and lvm cache disk is 512B then again will end up with the same situation.
</mail_snip>
Verified with cockpit-ovirt-dashboard-0.11.15 When using different block sized disks for gluster volumes across the host or on the same host, the deployment fails testcase1: Following scenario is a deployment failure host1 host2 host3 sdb(4k) sdb(512B) sdb(4K) sdc sdc sdc sdd sdd sdd testcase2: Following scenario is also the deployment failure, as there are mixed block size devices on the same host host1 host2 host3 sdb(4k) sdb(4K) sdb(4K) sdc(512B) sdc(512B) sdc(512B) sdd sdd sdd Closing this bug as the fix is shipped with latest RHHI-V 1.8.2 |