Skip to content

Releases: ceph/go-ceph

v0.27.0

15 Apr 19:06
Compare
Choose a tag to compare

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

  • API for quiesceing io on a subvolume. by @manishym in #958
    • Adds FSQuiesce similar to ceph fs quiesce <volume>

rbd

  • rbd: add GetSnapGroupNamespace() to get details about group snapshots by @nixpanic in #968
    • Adds GetSnapGroupNamespace implementing rbd_snap_get_group_namespace

API Stability Updates

The following APIs are now stable:

rbd

  • Image.Resize2

rgw/admin

  • API.GetInfo

Other Changes

rbd

  • rbd: add a test to verify that encrypted volumes can be resized by @phlogistonjohn in #973
  • rbd: prevent warning about redefining _POSIX_C_SOURCE by @nixpanic in #974
  • rbd: remove features_nautilus.go by @jarrpa in #980
  • rbd: trigger an error on invalid max snaps value by @zxysilent in #977

cephfs/admin

  • cephfs/admin: Adjust build tags for subvolume quiescing API tests by @anoopcs9 in #976

Internal

Full Changelog: v0.26.0...v0.27.0

v0.26.0

13 Feb 14:56
Compare
Choose a tag to compare

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: v0.25.0...v0.26.0

Release v0.25.0

12 Dec 13:03
Compare
Choose a tag to compare

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

  • rbd: adds support for librbd rbd_resize2 by @khayyamsaleem in #934
    • Adds Resize2 implementing rbd_resize2.
  • rbd: Fix a typo in comment for Image.Resize2 by @anoopcs9 in #947

rgw/admin

  • rgw/admin: Add support for /info section by @anoopcs9 in #936
    • Adds the GetInfo method.

Internal

  • internal: use runtime.Pinner in PtrGuard by @ansiwen in #935
  • go-ceph: bump golang.org/x/sys from 0.12.0 to 0.13.0 by @dependabot in #939
  • go-ceph: bump github.com/aws/aws-sdk-go from 1.45.19 to 1.47.1 by @dependabot in #938
  • CI: enable and collect core dumps in tests by @ansiwen in #941
  • CI: add a workflow option for tmate debugging by @ansiwen in #942
  • go-ceph: bump golang.org/x/sys from 0.13.0 to 0.15.0 by @dependabot in #944
  • go-ceph: bump github.com/aws/aws-sdk-go from 1.47.1 to 1.48.11 by @dependabot in #943
  • Miscellaneous fixes by @anoopcs9 in #945
  • docs: Update README.md for v0.25.0 by @anoopcs9 in #946

Full Changelog: v0.24.0...v0.25.0

Release v0.24.0

10 Oct 17:03
Compare
Choose a tag to compare

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:

  • @krafZLorG made their first contribution in #898
  • @DanWritesCode made their first contribution in #924

Changes

RGW Admin

rados

rbd

  • rbd: Fix global image status listing by @DanWritesCode in #924

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: v0.23.0...v0.24.0

Release v0.23.0

15 Aug 13:57
Compare
Choose a tag to compare

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

  • rbd: Remove redundant LastSeen property from MirrorPeerSite struct by @Nikhil-Ladha in #871
  • rbd: include details for parent image in the trash by @nixpanic in #906

rgw/admin

  • rgw/admin: fix getbucketpolicy api by @thotz in #886

Internal

New Contributors

Full Changelog: v0.22.0...v0.23.0

Release v0.22.0

13 Jun 07:52
Compare
Choose a tag to compare

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

  • cephfs: Add mknod cephfs API by @Nikhil-Ladha in #866
    • Adds Mknod implementing ceph_mknod
  • cephfs: Add futime cephfs API by @Nikhil-Ladha in #869
    • Adds Futime implementing ceph_futime
  • cephfs: Add futimens cephfs API by @Nikhil-Ladha in #874
    • Adds Futimens implementing ceph_futimens
  • cephfs: Add futimes cephfs API by @Nikhil-Ladha in #875
    • Adds Futimes implementing ceph_futimes

rbd

  • rbd: Add locking rbd APIs by @Nikhil-Ladha in #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

  • rbd: Remove redundant LastSeen property from MirrorPeerSite struct by @Nikhil-Ladha in #871

Internal

  • micro-osd.sh: Use ipv4 address for mon addr configuration by @anoopcs9 in #876
  • go-ceph: bump golang.org/x/sys from 0.6.0 to 0.7.0 by @dependabot in #878
  • go-ceph: bump github.com/aws/aws-sdk-go from 1.44.234 to 1.44.254 by @dependabot in #877
  • Remove useless test file package_test.go by @anoopcs9 in #880
  • docs: add some docs on how to find apis by @phlogistonjohn in #873
  • go-ceph: bump golang.org/x/sys from 0.7.0 to 0.8.0 by @dependabot in #883
  • go-ceph: bump github.com/stretchr/testify from 1.8.2 to 1.8.4 by @dependabot in #884
  • go-ceph: bump github.com/aws/aws-sdk-go from 1.44.254 to 1.44.275 by @dependabot in #887
  • docs: Fix versions for newest API additions by @anoopcs9 in #890
  • Make preview APIs stable for v0.22 by @anoopcs9 in #889
  • Update README.md for v0.22.0 release by @anoopcs9 in #891

Full Changelog: v0.21.0...v0.22.0

Release v0.21.0

11 Apr 11:51
Compare
Choose a tag to compare

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 #842
    • Adds UnmarshalDescriptionJSON method to SiteMirrorImageStatus
    • Adds DescriptionReplayStatus method to SiteMirrorImageStatus
  • rbd: Add mirror peer site API components by @Nikhil-Ladha in #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 #851
    • Adds SparsifyWithProgress implementing rbd_sparsify_with_progress

cephfs

  • cephfs: implementation of mkdirs by @maitredede in #832
    • Adds MakeDirs implementing ceph_mkdirs

cephfs/admin

  • cephfs/admin: Add Subvolume{Group} pinning API by @anoopcs9 in #844
    • Adds PinSubVolume similar to ceph fs subvolume pin
    • Adds PinSubVolumeGroup similar to ceph fs subvolumegroup pin
  • cephfs/admin: Add API to fetch volume info by @anoopcs9 in #846
    • Adds FetchVolumeInfo similar to ceph fs volume info

Deprecations & Removals

cephfs/admin

Other Changes

rados

rgw/admin

Internal

Full Changelog: v0.20.0...v0.21.0

Release v0.20.0

14 Feb 15:58
Compare
Choose a tag to compare

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 #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

  • rgw: add "ListBucketsWithStat" function by @TheMoti in #801
    • Adds the API.ListBucketsWithStat method.

cephfs

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

general

Other Changes

common/admin/nfs

  • nfs admin: fix handling of non-existing psuedo_paths for export info by @phlogistonjohn in #821

cephfs/admin

  • Add untracked Subvolume and Snapshot metadata APIs in api-status by @anoopcs9 in #811

internal

Full Changelog: v0.19.0...v0.20.0

Release v0.19.0

13 Dec 15:04
Compare
Choose a tag to compare

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: v0.18.0...v0.19.0

Release v0.18.0

18 Oct 14:06
Compare
Choose a tag to compare

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:

  • nfs admin: add SecType field by @phlogistonjohn in #767
    • This new field is an API extension and currently only functions on development versions of Ceph

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: v0.17.0...v0.18.0