Go Ceph Versions Save

Go bindings for Ceph :octopus: :octopus: :octopus:

v0.27.0

1 month ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

Special thanks to our new contributors:

New Features

cephfs/admin

rbd

API Stability Updates

The following APIs are now stable:

rbd

  • Image.Resize2

rgw/admin

  • API.GetInfo

Other Changes

rbd

cephfs/admin

Internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.26.0...v0.27.0

v0.26.0

3 months ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

Special thanks to our new contributors:

Changes

rgw/admin

Internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.25.0...v0.26.0

v0.25.0

5 months ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

Special thanks to our new contributors:

Changes

cephfs

rbd

rgw/admin

Internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.24.0...v0.25.0

v0.24.0

7 months ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

Special thanks to our new contributors:

Changes

RGW Admin

rados

rbd

Internal

Deprecations and Removals

  • The New method in the cephfs/admin module, that was previously deprecated, has been removed according to schedule. Use NewFromConn if you had been previously using New.

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.23.0...v0.24.0

v0.23.0

9 months ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

Notice: With the recently released latest Go version 1.21 we are seeing a CI test in the rados package regularly failing with a segmentation fault. We believe it is an old issue in our tests that now shows up differently. But just in case you are experiencing new stability issues in the rados package with the latest Go version, consider going back to Go 1.20 for now. We expect this issue to be investigated and solved in the next go-ceph release.

API Stability Updates

The following APIs are now stable:

rbd

  • SiteMirrorImageStatus.UnmarshalDescriptionJSON
  • SiteMirrorImageStatus.DescriptionReplayStatus
  • AddMirrorPeerSite
  • RemoveMirrorPeerSite
  • GetAttributesMirrorPeerSite
  • SetAttributesMirrorPeerSite
  • ListMirrorPeerSite
  • SetMirrorPeerSiteClientName
  • SetMirrorPeerSiteName
  • SetMirrorPeerSiteDirection
  • Image.SparsifyWithProgress

cephfs

  • MountInfo.MakeDirs

cephfs/admin

  • FSAdmin.PinSubVolume
  • FSAdmin.PinSubVolumeGroup
  • FSAdmin.FetchVolumeInfo

Other Changes

rbd

rgw/admin

Internal

New Contributors

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.22.0...v0.23.0

v0.22.0

11 months ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

New Features

cephfs

rbd

  • rbd: Add locking rbd APIs by @Nikhil-Ladha in https://github.com/ceph/go-ceph/pull/852
    • Adds LockAcquire implementing rbd_lock_acquire
    • Adds LockBreak implementing rbd_lock_break
    • Adds LockGetOwners implementing rbd_lock_get_owners
    • Adds LockIsExclusiveOwner implementing rbd_is_exclusive_lock_owner
    • Adds LockRelease implementing rbd_lock_release

Other Changes

rbd

Internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.21.0...v0.22.0

v0.21.0

1 year ago

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

Special thanks to our new contributors:

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

New Features

rbd

  • rbd: add functions to parse json in mirroring status description field by @phlogistonjohn in https://github.com/ceph/go-ceph/pull/842
    • Adds UnmarshalDescriptionJSON method to SiteMirrorImageStatus
    • Adds DescriptionReplayStatus method to SiteMirrorImageStatus
  • rbd: Add mirror peer site API components by @Nikhil-Ladha in https://github.com/ceph/go-ceph/pull/850
    • Adds AddMirrorPeerSite implementing rbd_mirror_peer_site_add
    • Adds RemoveMirrorPeerSite implementing rbd_mirror_peer_site_remove
    • Adds GetAttributesMirrorPeerSite implementing rbd_mirror_peer_site_get_attributes
    • Adds SetAttributesMirrorPeerSite implementing rbd_mirror_peer_site_set_attributes
    • Adds ListMirrorPeerSite implementing rbd_mirror_peer_site_list
    • Adds SetMirrorPeerSiteClientName implementing rbd_mirror_peer_site_set_client_name
    • Adds SetMirrorPeerSiteDirection implementing rbd_mirror_peer_site_set_direction
    • Adds SetMirrorPeerSiteName implementing rbd_mirror_peer_site_set_name
  • rbd: Add rbd_sparsify_with_progress rbd API by @Nikhil-Ladha in https://github.com/ceph/go-ceph/pull/851
    • Adds SparsifyWithProgress implementing rbd_sparsify_with_progress

cephfs

cephfs/admin

Deprecations & Removals

cephfs/admin

Other Changes

rados

rgw/admin

Internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.20.0...v0.21.0

v0.20.0

1 year ago

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

Special thanks to our new contributors:

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

New Features

rbd

  • rbd: implement live migration functions by @omidyoosefi in https://github.com/ceph/go-ceph/pull/797
    • Adds MigrationPrepare implementing rbd_migration_prepare
    • Adds MigrationPrepareImport implementing rbd_migration_prepare_import
    • Adds MigrationExecute implementing rbd_migration_execute
    • Adds MigrationCommit implementing rbd_migration_commit
    • Adds MigrationAbort implementing rbd_migration_abort
    • Adds MigrationStatus implementing rbd_migration_status

rgw/admin

cephfs

  • cephfs: add SelectFilesystem, a 2nd fs to micro-osd.sh etc, and tests by @phlogistonjohn in https://github.com/ceph/go-ceph/pull/827
    • Adds the MountInfo.SelectFilesystem method.
    • Special thanks to @aep for initiating this work!

general

Other Changes

common/admin/nfs

cephfs/admin

internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.19.0...v0.20.0

v0.19.0

1 year ago

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

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 (if present) 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. All newly introduced APIs(if any) in the following section are labeled as preview APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as stable in a later release.

API Stability Updates

rados

  • The IOContext.SetAllocationHint is now stable
  • The WriteOp.SetAllocationHint is now stable
  • The IOContext.Alignment is now stable
  • The IOContext.RequiresAlignment is now stable

rgw/admin

  • The API.ListUserBuckets is now stable
  • The API.ListUserBucketsWithStat is now stable
  • The API.CreateKey is now stable
  • The API.RemoveKey is now stable
  • The API.SetIndividualBucketQuota is now stable

Deprecations and Removals

With go-ceph v0.19.0 support for Ceph "Octopus" is offically deprecated.

Other changes

Internal

Bug fixes

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.18.0...v0.19.0

v0.18.0

1 year ago

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

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 (if present) 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. All newly introduced APIs in the following section are labeled as "preview" APIs first, and are only available if the ceph_preview build tag is set. There is explicitly no backwards compatibility guaranteed for these until they are labeled as "stable" in a later release.

New Features

common/admin/nfs package:

API Stability Updates

cephfs/admin

  • The CloneStatus.GetFailure method is now stable

rbd

  • The Snapshot.Remove method is now stable

common/admin/nfs

  • All API methods in the package are now stable

Other Changes

Internal

Full Changelog: https://github.com/ceph/go-ceph/compare/v0.17.0...v0.18.0