- Issued:
- 2018-09-12
- Updated:
- 2018-09-12
RHEA-2018:2691 - Product Enhancement Advisory
Synopsis
gluster-block and tcmu-runner bug fix and enhancement update
Type/Severity
Product Enhancement Advisory
Red Hat Insights patch analysis
Identify and remediate systems affected by this advisory.
Topic
Updated gluster-block and tcmu-runner packages that fixes several bugs and adds various enhancements are now available for Red Hat OpenShift Container Storage 3.10.
Description
gluster-block is a distributed management framework for block devices, provided as a command line utility. It aims to make Gluster-backed block storage creation and maintenance as simple as possible. gluster-block can provision block devices and export them as iSCSI LUNs across multiple nodes, and uses iSCSI protocol for data transfer as SCSI block/commands.
The tcmu-runner packages provide a service that handles the complexity of the LIO kernel target's userspace passthrough interface (TCMU). It presents a C plugin API for extension modules that handle SCSI requests in ways not possible or suitable to be handled by LIO's in-kernel backstores.
Block storage allows the creation of high performance individual storage units. Unlike the traditional file storage capability that glusterfs supports, each storage volume/block device can be treated as an independent disk drive, so that each storage volume/block device can support an individual file system.
The advisory adds the following enhancements:
- With this update, you can now replace block volume path from one node to another in case the node runs out of disk space or substitute with a faulty node. (BZ#1507767)
This advisory also fixes the following bugs:
- Previously, the gluster-block daemon depended on glusterd to be running and did not verify if the block hosting volumes were online and ready to be consumed before beginning its operations. This resulted in failures when the gluster-block daemon attempted to load target configuration. With this update, gluster-block daemon now waits for block hosting volumes bricks to be available before attempting to load target configuration. (BZ#1598322)
- Previously, when targets are not loaded due to block hosting volume being down or not ready or target_core_user module not loaded on host or targets loading failed, the preceding gluster-block operations calling global target saveconfig would override the non-loaded target's configuration. This resulted in loss of previously non-loaded targets configuration. With this update, the issue is addressed by introducing a target/block-volume level save configuration option. (BZ#1537170)
- Currently, multipathing priority configuration is set to constant with all the HA paths. Hence, it is possible that the load may not be distributed uniformly across the available HA nodes. With this update, priority based load balancing at gluster-block is introduced. The management daemon gluster-block reads the load balance information from the metadata and selects a high priority path from HA based on the data. When the block device is requested for creation, high priority is set on a path whose node is least used. While logging to the device, the initiator side multipath tools picks the high priority path and marks it as active. This way it is possible to distribute the balance across the nodes. (BZ#1575529)
- Previously, the close operation of gluster volume entity was missing. This caused 'df -Th' to show an incorrect used size for the brick of the block hosting volume in container. With this fix, tcmu-runner closes the gluster volume entity when removing the target device and ‘df-th’ shows correct used size of brick of block hosting volume. (BZ#1593124)
- Previously, if the block volume was deleted when block hosting volume was consumed 100%, the delete operation failed. As a consequence, the writes to metadata file residing in the same block hosting volume failed with ENOSPC and hence the overall delete operation failed. With this update, now at every new block volume create request the gluster-block checks for minimum free space equal to 'requested block volume size' + 10M which is reserved for block metadata on the block hosting volume, this way block volume delete operation succeeds even when block hosting volume is almost full. (BZ#1622681)
Users of gluster-block and tcmu-runner are advised to upgrade to these updated packages, which fix these bugs and add these enhancements.
Solution
Before applying this update, make sure all previously released errata
relevant to your system have been applied.
For details on how to apply this update, refer to:
Affected Products
- Red Hat Gluster Storage Server for On-premise 3 for RHEL 7 x86_64
Fixes
- BZ - 1467528 - [gluster-block]: Block creation of size greater than the free-space-in-volume errors out, leaving a file/block created in failed state.
- BZ - 1467531 - [gluster-block]: Block create help does not show the new option "prealloc <full|no>"
- BZ - 1470955 - Add a check to disallow block creation when size of block device is less than 1 sector i.e., 512 bytes
- BZ - 1475288 - tcmu-runner: logging fixes
- BZ - 1477091 - [Gluster-block]: Block-create with same name on another volume results in backend deletion of the original block volume.
- BZ - 1490818 - [Gluster-block]: Block continues to exist in a non-healthy state after a failed create
- BZ - 1507764 - [RFE] Add ability to re-size existing block devices
- BZ - 1507767 - [RFE] Replace block support
- BZ - 1514344 - [RFE] Allow import of existing files on the hosting volume
- BZ - 1533215 - backport resize related changes
- BZ - 1535780 - Poor Gluster Block Performance for PostgreSQL in CNS environment
- BZ - 1537170 - [GSS] Gluster Block Down and Targets Missing
- BZ - 1542336 - [RFE] Need versioning capability
- BZ - 1544435 - [Gluster-block]: Block creation failed in remote create after n successful blocks
- BZ - 1545049 - Gluster-block does not understand PVC's storage unit
- BZ - 1554826 - [RFE] Add tcmu-runner ALUA core to import tcmu_notify_conn_lost functionality
- BZ - 1555191 - [RFE]: gluster-block: cli command to generate the configuration
- BZ - 1559959 - gluster-block: Man page update
- BZ - 1560475 - tcmu-runner: drop batching commands.
- BZ - 1563615 - tcmu-runner: the daemon will crash when shutdown
- BZ - 1564736 - modify auth command fails
- BZ - 1569872 - Avoid busy loop on reconfig failure
- BZ - 1569892 - tcmur: fix set dev size
- BZ - 1569977 - [GSS] CNS gluster-block: Problem mounting existing volumes and provisioning new PVCs
- BZ - 1570976 - [GSS] OCP pods fail to mount gluster block volumes after cluster being rebooted
- BZ - 1575529 - [RFE] load balancing the IO connections (active paths) across HA nodes
- BZ - 1585197 - alua: allow glfs handlers missing lock routine
- BZ - 1585200 - runner: don't allow multiple instances of daemon to run
- BZ - 1585204 - config: fix missing attempt to saveconfig at block delete
- BZ - 1585985 - gluster-blockd service stops on 1 pod while creating app pod
- BZ - 1590633 - Block PVC fails to mount on Jenkins pod
- BZ - 1591694 - [Tracking] "gluster-block: targetcli in D state": APP pods crash with error "evaluating symlink from mount source",
- BZ - 1591924 - [Tracking] For each block device, Multipath lists one failed path from a particular target portal
- BZ - 1592397 - [Tracking] Gluster-blockd fails to start upon re-spin of glusterfs pod when its hosting node is also an initiator
- BZ - 1593124 - 'df -Th' is showing incorrect used size of brick of block hosting volume (replica with arbiter) in container
- BZ - 1595176 - gluster-blockd traceback seen with creation of a block with size specified in nB (bytes)
- BZ - 1596369 - [Tracking] Gluster-blockd fails to start after restarting tcmu-runner service in glusterfs pods
- BZ - 1596689 - [Tracking] Gluster-block-target service stuck in "activating" state upon manual restart
- BZ - 1597472 - tcmu-runner: add ring reset support
- BZ - 1598300 - Occasional 'Version check failed' errors seen while creating/deleting blocks
- BZ - 1598310 - gluster-block create command returns a non zero exit code even on success
- BZ - 1598322 - delay gluster-blockd start until all bricks come up
- BZ - 1598748 - Block device deletion returns "SUCCESS" even though deletion has failed on one of the nodes
- BZ - 1599071 - tcmu-runner: missing log file
- BZ - 1617436 - tcmu-runner: fix potential memory leakage of the tpg recovery list
- BZ - 1619532 - tcmu-runner: change loglevel from Err to Info
- BZ - 1622681 - Unable to delete pvc from a block hosting volume which is very low in available space
CVEs
(none)
References
(none)
Red Hat Gluster Storage Server for On-premise 3 for RHEL 7
SRPM | |
---|---|
gluster-block-0.2.1-26.el7rhgs.src.rpm | SHA-256: e3f30649db45902f356bac7f27c49636b1dd5c8deb988d924638f0dc5d9d624c |
tcmu-runner-1.2.0-24.el7rhgs.src.rpm | SHA-256: 692ebdd44a3f398347a05f9f308f7c757165b59466399d647aff4bb469cd44ef |
x86_64 | |
gluster-block-0.2.1-26.el7rhgs.x86_64.rpm | SHA-256: 58f0ed32fe00b876152f7709fd8761846b47bb38a8cfd008fc25c7771be396a2 |
gluster-block-debuginfo-0.2.1-26.el7rhgs.x86_64.rpm | SHA-256: 6191bc822c6d64974d4efce34b943bbbf3080d8ebc6298027fb49891123c2789 |
libtcmu-1.2.0-24.el7rhgs.x86_64.rpm | SHA-256: 2a10c611801bf59929be8c8576790be570c0e48792986a86f58758ea4ea2c9a7 |
libtcmu-devel-1.2.0-24.el7rhgs.x86_64.rpm | SHA-256: 73828aefd195cd861a1185a948fb0ce08d875539064972f478ea5dec446d6ed2 |
tcmu-runner-1.2.0-24.el7rhgs.x86_64.rpm | SHA-256: 2efcaf5c8a84060513f8b5224c9d3542e3fd58c9d5fe7d256455af1fec34b98a |
tcmu-runner-debuginfo-1.2.0-24.el7rhgs.x86_64.rpm | SHA-256: dd84239b9a54f9c4b5f09d4162a418da7560ad34b8e28c26c94e9f32266d3f2b |
The Red Hat security contact is secalert@redhat.com. More contact details at https://access.redhat.com/security/team/contact/.