Skip to content

Release v0.14.0

Compare
Choose a tag to compare
@phlogistonjohn phlogistonjohn released this 15 Feb 15:50
· 368 commits to master since this release

The maintainers and contributors to go-ceph are pleased to announce the v0.14.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.

Another round of thanks to contributor Robert Vasek for adding more API calls to the rados module. Both ReadOp and WriteOp types have been extended with new function calls, including the ability to assert the rados version preventing
unexpected state changes. See the features list for an expanded list of the new function calls.

As this is a v0.x release we do not guarantee backwards compatibility with previous versions of the code. However, we aim not to disrupt existing consumers of the library and thus make an effort not to immediately implement
breaking changes without very good justification. Please see the "Deprecations & Removals" section to get a sense of what you can expect to change in the future and prepare your code ahead of time. You may also want to view "Deprecations & Removals" of previous releases as they are not repeated here.

New Features

  • In the rados package (preview APIs):

    • Add ReadOp method Read implementing rados_read_op_read
    • Add WriteOp method Remove implementing rados_write_op_remove
    • Add ReadOp method AssertVersion implementing rados_read_op_assert_version
    • Add WriteOp method AssertVersion implementing rados_write_op_assert_version
    • Add WriteOp method SetXattr implementing rados_write_op_setxattr
    • Add ReadOp method GetOmapValuesByKeys implementing read_op_omap_get_vals_by_keys
    • Add Watcher type
    • Add NotifyEvent type
    • Add WatchWithTimeout and Watch implementing rados_watch3
    • Add Watcher method Check implementing rados_watch_check
    • Add Watcher method Delete implementing rados_unwatch2
    • Add NotifyWithTimeout and Notify implementing rados_notify2
    • Add NotifyEvent method Ack implementing rados_notify_ack
    • Add WatcherFlush implementing rados_watch_flush
  • In the common admin manager package:

    • Create a new package for ceph mgr module functions
    • Move EnableModule from cephfs admin
    • Move DisableModule from cephfs admin
    • Move ListModules from cephfs admin

Now Stable

  • In the rados package:
    • The WriteOp CmpExt function

Deprecations & Removals

The functions EnableModule and DisableModule present in cephfs admin are now deprecated. Use the same functions from the new "common/admin/manager" location instead.

Ceph "Nautilus" continues to be deprecated.

Other

  • Improve reliability of cephfs mirroring tests
  • Improve doc comments for rbd Read and Write functions
  • Fix project workflow automation
  • Document centos specific package dependency hints
  • Improve api documentation workflow
  • Fix issues building container images
  • Fix running static checks on preview APIs
  • Fix code style issue in cutil package
  • Fix doc comments in the rados package
  • Add internal library code for writing tests
  • Other fixes and improvements