Chapter 6. Notable Bug Fixes


This section describes bugs fixed in this release of Red Hat Ceph Storage that have significant impact on users.

"Operation not permitted" errors are no longer incorrectly returned

When using a client whose MDS capabilities are limited by the path= parameter, operations in newly created directories in certain cases failed with the "Operation not permitted" errors (EPERM). The underlying source code has been modified, and such errors are no longer returned. (BZ#1415260)

Buckets no longer have incorrect time stamps

Previously, buckets created by the Simple Storage Service (S3) API on the Ceph Object Gateway before mounting the Ganesha NFS interface had incorrect time stamps when viewed from NFS. With this update, the NFS service uses time stamps that are based on the correct times of creation or modification of buckets. As a result, buckets created by the S3 API no longer have incorrect time stamps. (BZ#1359404)

Setting file permissions and ownership attributes no longer fails on existing files and directories

Previously, the NFS Ganesha file system failed to serialize and store UNIX attributes on existing files and directories. Consequently, file permissions and ownership attributes that were set after file or directory creation were not correctly stored. The underlying source code has been modified, and setting file permissions and ownership attributes no longer fails on existing files and directories. (BZ#1358020)

The radosgw-admin orphan find command works as expected

When listing objects, a segment marker caused incorrect listing of a subset of the Ceph Object Gateway internal objects. This behavior caused the radosgw-admin orphan find command to enter an infinite loop. This bug has been fixed, and the radosgw-admin orphan find command now works correctly. (BZ#1371212)

The "ceph df" output no longer includes OSD nodes marked as "out"

The ceph df command shows cluster free space. Previously, the OSD node that were marked as out were incorrectly included in the output of ceph df. Consequently, if the Ceph cluster included an OSD node that was marked as out, the output of ceph df was incorrect. This bug has been fixed, and ceph df now correctly reports cluster free space. (BZ#1391250)

Listing bucket info data no longer causes the OSD daemon to terminate unexpectedly

Due to invalid memory access in an object class operation, the radosgw-admin bi list --max-entries=1 command in some cases caused the Ceph OSD daemon to terminate unexpectedly with a segmentation fault. This bug has been fixed, and listing bucket info data no longer causes the OSD daemon to crash. (BZ#1390716)

The Ceph Object Gateway now correctly logs when HTTP clients get disconnected

Due to incorrect error translation, unexpected disconnections by HTTP clients were incorrectly logged as HTTP 403: authorization failed errors. As a consequence, administrators could believe that an actual authentication failure had occurred, and that this failure was visible to clients. With this update, the Ceph Object Gateway handles the error translation correctly and logs a proper error message when the HTTP clients get disconnected. (BZ#1417178)

OSD nodes no longer fail to start after a reboot

When the ceph-osd service was enabled for a given OSD device, a race condition in some cases occurred between the ceph-osd and the ceph-disk services at boot time. As a consequence, the OSD did not start after a reboot. With this update, the ceph-disk utility now calls the systemctl enable and disable commands with the --runtime option so that the ceph-osd units are lost after a reboot. As result, OSD nodes start as expected after a reboot. (BZ#1391197)

Restart of the radosgw service on clients is no longer needed after rebooting the cluster

Previously, after rebooting the Ceph cluster, it was necessary to restart the radosgw service on the Ceph Object Gateway clients to restore the connection with the cluster. With this update, the restart of radosgw is no longer needed. (BZ#1363689)

Upgrading encrypted OSDs is now supported

Previously, the ceph-ansible utility did not support adding encrypted OSD nodes. As a consequence, an attempt to upgrade to a newer, minor, or major version failed on encrypted OSD nodes. In addition, Ansible returned the following error message during the disk activation task:

mount: unknown filesystem type 'crypto_LUKS'

With this update, ceph-ansible supports adding encrypted OSD nodes, and upgrading works as expected. (BZ#1366808)

The Ceph Object Gateway now passes all Swift tests in the RefSTack Tempest test suite version 10.0.0-3

Previously, the Ceph Object Gateway failed certain RefSTack Tempest tests, such as the TempURL and object versioning tests. With this update, the underlying source code has been modified, and the Ceph Object Gateway now correctly passes all tests.

In addition, to pass the "(0) content-length header after object deletion present" test, set the rgw print prohibited content length setting in the Ceph configuration file to true.

If the Ceph Object Gateway is configured for Object Store and not for Swift, perform the following steps to pass the tests:

  1. During the Tempest configuration, set the following parameters in the Ceph configuration file:

    rgw_swift_url_prefix = "/"
    rgw_enable_apis=swift, swift_auth, admin
  2. Once the configuration is complete, comment the parameters out:

    # rgw_swift_url_prefix
    # rgw_enable_apis

See the config_tempest.py breaks if Rados Gateway is configured for object-store solution for details. (BZ#1252600)

Removing a Ceph Monitor no longer returns an error

When removing a Ceph Monitor by using the ceph mon remove command, the Monitor was successfully removed, but an error message similar to the following was returned:

Error EINVAL: removing mon.magna072 at 10.8.128.72:6789/0, there will be 3 monitors

The underlying source code has been fixed, and the error is no longer returned when removing Ceph Monitors. (BZ#1394495)

OSD nodes no longer crash when an I/O error occurs

Previously, if an I/O error occurred on one of the objects in an erasure-coded pool during recovery, the primary OSD node of the placement group containing the object hit the runtime check. Consequently, this OSD terminated unexpectedly. With this update, Ceph leaves the object unrecovered without hitting the runtime check. As a result, OSDs no longer crash in such a case. (BZ#1414613)

Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.