Releases: ceph/go-ceph
Release v0.21.0
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:
- @maitredede made their first contribution in #832
- @Nikhil-Ladha made their first contribution in #848
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
- cephfs admin: deprecate the New function by @phlogistonjohn in #849
Other Changes
rados
- rados: free object list results after listing by @nickjanus in #845
rgw/admin
- rgw/admin: Add missing uid member to usage struct by @Nikhil-Ladha in #848
Internal
- Go: bump tested Go version to 1.19.5 by @ansiwen in #831
- build: propagation of GOPROXY env var by @maitredede in #834
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.197 to 1.44.212 by @dependabot in #839
- go-ceph: bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #840
- Dockerfile: Add missing GOPROXY build argument by @anoopcs9 in #843
- go-ceph: bump golang.org/x/sys from 0.5.0 to 0.6.0 by @dependabot in #853
- go-ceph: bump actions/stale from 7 to 8 by @dependabot in #856
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.212 to 1.44.234 by @dependabot in #854
- go-ceph: bump actions/setup-go from 3 to 4 by @dependabot in #855
- docs: fix version numbers of recently added APIs by @phlogistonjohn in #860
- nfs admin: create directories used by nfs tests by @phlogistonjohn in #859
- rbd: document SparsifyWithProgress callback's arguments by @phlogistonjohn in #861
- docs: fix version for newest api additions by @phlogistonjohn in #863
- go-ceph: update README.md for v0.21.0 release by @phlogistonjohn in #865
Full Changelog: v0.20.0...v0.21.0
Release v0.20.0
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:
- @omidyoosefi made their first contribution in #797
- @TheMoti made their first contribution in #801
- @synarete made their first contribution in #817
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.
- Adds the
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!
- Adds the
general
Other Changes
common/admin/nfs
- nfs admin: fix handling of non-existing psuedo_paths for export info by @phlogistonjohn in #821
cephfs/admin
internal
- Remove left over
ceph_preview
tags from test related files by @anoopcs9 in #799 - go-ceph: bump actions/stale from 6 to 7 by @dependabot in #804
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.151 to 1.44.172 by @dependabot in #805
- go-ceph: bump golang.org/x/sys from 0.2.0 to 0.4.0 by @dependabot in #806
- contrib: better warning for apiage by @phlogistonjohn in #808
- github: update PR template with new checklist item and helpful links by @phlogistonjohn in #809
- docs: fix version values for new rdb migration APIs by @phlogistonjohn in #813
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.172 to 1.44.192 by @dependabot in #823
- go-ceph: bump github.com/gofrs/uuid from 4.3.1+incompatible to 4.4.0+incompatible by @dependabot in #824
- github: fix linebreaks in pr template by @phlogistonjohn in #828
- github: remove deprecated and failing rebase_fallback attribute by @phlogistonjohn in #833
- docs: fix api versions for new ListBucketWithStat API by @anoopcs9 in #836
Full Changelog: v0.19.0...v0.20.0
Release v0.19.0
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
- apiage: Remove empty tables from API status markdown by @anoopcs9 in #775
- go-ceph: update README.md for v0.18.0 release by @phlogistonjohn in #776
- docs: update the release document by @phlogistonjohn in #778
- github: enable dependabot for github-actions by @phlogistonjohn in #784
- go-ceph: bump github.com/stretchr/testify from 1.8.0 to 1.8.1 by @dependabot in #781
- go-ceph: bump actions/checkout from 2 to 3 by @dependabot in #786
- go-ceph: bump actions/stale from 3 to 6 by @dependabot in #787
- go-ceph: bump github.com/gofrs/uuid from 4.3.0+incompatible to 4.3.1+incompatible by @dependabot in #782
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.109 to 1.44.138 by @dependabot in #789
- ci: automatically file issues with api stability changes by @phlogistonjohn in #783
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.138 to 1.44.151 by @dependabot in #792
- go-ceph: bump golang.org/x/sys from 0.1.0 to 0.2.0 by @dependabot in #791
- cephfs admin: remove test skip in TestCancelClone by @phlogistonjohn in #684
- Update readme for next release (v0.19) by @phlogistonjohn in #796
Bug fixes
- rbd: increase maximum number of trash entries listable by @phlogistonjohn in #785
Full Changelog: v0.18.0...v0.19.0
Release v0.18.0
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
- apiage: add commands to detect and report on APIs needing to be updated by @phlogistonjohn in #759
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.67 to 1.44.90 by @dependabot in #763
- readme: replace "office hours" with a new contact section by @phlogistonjohn in #765
- docs: add official documentation for how go-ceph does errors by @phlogistonjohn in #762
- apiage: ability to promote apis tracked in JSON from preview to stable by @phlogistonjohn in #761
- cephfs: fix a minor typo in a doc comment by @phlogistonjohn in #768
- go-ceph: bump github.com/gofrs/uuid from 4.2.0+incompatible to 4.3.0+incompatible by @dependabot in #769
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.90 to 1.44.109 by @dependabot in #770
- docs: add a reminder to keep local git in sync before tagging by @phlogistonjohn in #772
- apiage fixes by @phlogistonjohn in #774
Full Changelog: v0.17.0...v0.18.0
Release v0.17.0
The maintainers and contributors to go-ceph are pleased to announce the v0.17.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
Many thanks to our new contributors:
- @anoopcs9 made their first contribution in #715
- @riya-singhal31 made their first contribution in #716
- @baergj made their first contribution in #713
- @Okhoshi made their first contribution in #710
- @oneto1 made their first contribution in #704
- @dmlambea made their first contribution in #740
- @maksim-kharitonov made their first contribution in #654
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 AtStatxDontSync and deprecate AtNoAttrSync by @ansiwen in #747
- Adds the
AtStatxDontSync
flag, that replaces the deprecatedAtNoAttrSync
.
- Adds the
rados
- rados: Implement rados_set_alloc_hint2 by @Okhoshi in #710
- Adds
IOContext.SetAllocationHint
andWriteOp.SetAllocationHint
methods.
- Adds
- rados: add support for retrieving the alignment (stripe) size by @dmlambea in #740
- Adds the
IOContext.Alignment
andIOContext.RequiresAlignment
methods.
- Adds the
rgw/admin
- Rgw/admin: add num_shards to bucket struct field by @oneto1 in #704
- Adds
NumShards
field to theBucket
struct.
- Adds
- Rgw admin more actions by @maksim-kharitonov in #654
- Adds the
API
methodsListUsersBuckets
,ListUsersBucketsWithStat
,CreateKey
,RemoveKey
andSetIndividualBucketQuota
- Adds the
API Stability Updates
rados
IOContext.SetLocator
method is stable
rgw/admin
API
methodsUnlinkBucket
,LinkBucket
,CreateSubuser
,RemoveSubuser
andModifySubuser
are stable.
common/log
SetWarnf
andSetDebugf
are stable.
cephfs
- The
AtNoAttrSync
is deprecated.
Other Changes
rados package
rbd package
- rbd: add mirroring support for nautilus by @Sanford137 in #714
cephfs/admin package
- cephfs/admin: Fix compile errors by @anoopcs9 in #721
- cephfs/admin: Replace 'untested' with pre-release tags by @anoopcs9 in #742
- cephfs admin: remove unnecessary import C lines by @phlogistonjohn in #751
Internal
- makefile: use
pacific
as our default ceph version by @anoopcs9 in #715 - fix: fixed few typos by @riya-singhal31 in #716
- Dockerfile: Remove an unused CEPH_TAG env variable by @anoopcs9 in #717
- CI: also disable TestCancelClone for pacific by @ansiwen in #724
- rebase: bump github.com/aws/aws-sdk-go from 1.44.28 to 1.44.43 by @dependabot in #719
- rebase: bump github.com/stretchr/testify from 1.7.2 to 1.8.0 by @dependabot in #726
- Add MacOS instructions to README by @ansiwen in #727
- CI: remove non-ptrguard tests by @ansiwen in #723
- Makefile: Use
?=
for initial variable definitions by @anoopcs9 in #725 - rebase: bump github.com/aws/aws-sdk-go from 1.44.43 to 1.44.47 by @dependabot in #730
- gitignore: Add vi/vim backup files by @anoopcs9 in #732
- entrypoint: Store bootstrap token in variable by @anoopcs9 in #733
- go-ceph: bump Go version of module to 1.17 by @ansiwen in #731
- CI: Add mechanism to test against pre-release Ceph images by @anoopcs9 in #729
- rebase: bump github.com/aws/aws-sdk-go from 1.44.47 to 1.44.52 by @dependabot in #735
- Run shellcheck on our shell scripts by @phlogistonjohn in #737
- go-ceph: add warn logs to finalizers. by @ansiwen in #736
- github: update dependabot configuration to better match go-ceph style by @phlogistonjohn in #746
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.52 to 1.44.64 by @dependabot in #748
- workflows: update archive action by @phlogistonjohn in #745
- workflows: Add pre-release targets to ceph version matrix by @anoopcs9 in #743
- go-ceph: bump github.com/aws/aws-sdk-go from 1.44.64 to 1.44.67 by @dependabot in #750
- contrib: add new fix-versions mode to apiage.py by @phlogistonjohn in #749
- Fix recent revive failures by @phlogistonjohn in #755
- apiage: Do not leave empty sections for packages in markdown by @anoopcs9 in #753
New Contributors
Full Changelog: v0.16.0...v0.17.0
Release v0.16.0
The maintainers and contributors to go-ceph are pleased to announce the v0.16.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
Many thanks to our new contributors:
- @nickjanus made their first contribution in #663
- @Sanford137 made their first contribution in #687
- @pkalever made their first contribution in #691
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/admin package:
- cephfs/admin: add CloneStatus.GetFailure() by @nixpanic in #696
- Add GetFailure method to fetch volume clone failure details
- This is a preview API. In order to use it in this release the
ceph_preview
build tag must be set.
- cephfs: add subvolume metadata APIs by @pkalever in #691
- Add SetMetadata, GetMetadata, RemoveMetadata, ForceRemoveMetadata, and ListMetadata methods for CephFS volume metadata management
- NOTE: this is a preliminary implementation. It is untested due to issues with CI dependencies. In order to use it in this release both the build tags
ceph_preview
andceph_ci_untested
must be set.
- cephfs: add subvolume snapshot metadata APIs by @pkalever in #698
- Add SetSnapshotMetadata, GetSnapshotMetadata, RemoveSnapshotMetadata, ForceRemoveSnapshotMetadata, and ListSnapshotMetadata methods for CephFS snapshot metadata management
- NOTE: this is a preliminary implementation. It is untested due to issues with CI dependencies. In order to use it in this release both the build tags
ceph_preview
andceph_ci_untested
must be set.
rbd package
- rbd: expose rbd_snap_rename to Go clients by @Sanford137 in #687
- Add Snapshot method Rename implementing rbd_snap_rename
- This is a preview API. In order to use it in this release the
ceph_preview
build tag must be set.
API Stability Updates
rados package:
- rados: stabilze some APIs by @phlogistonjohn in #706
- APIs for watchers and ReadOp and WriteOp methods are now stable
common/admin packge:
- nfs admin: remove untested build tag by @phlogistonjohn in #689
- the nfs admin API is now considered a preview API.
Deprecations and Removals
- cephfs admin: remove deprecated EnableModule, DisableModule funcs by @phlogistonjohn in #705
Other Changes
rados package
- List oids null by @nickjanus in #663
- OIDs with null characters in the name can now be listed using IOContext.ListObjects
rbd package
- rbd: don't cap the buffer size used in GetImageNames by @Sanford137 in #700
rgw/admin package
Internal
- CI: disable fail-fast in test-suite by @ansiwen in #669
- implements: analyze all but internal packages by @ansiwen in #665
- docs: document release processes in greater detail by @phlogistonjohn in #647
- go-ceph: require a newer version of testify by @phlogistonjohn in #671
- github: add Dependabot for managing versions in go.mod by @nixpanic in #667
- implements: a public function's type must be exported too by @phlogistonjohn in #674
- cutil: enable PtrGuard by default by @ansiwen in #677
- Add quincy support to our CI tests by @phlogistonjohn in #659
- containers: update the go version used in the CI container by @phlogistonjohn in #682
- implements: don't rely on PREVIEW comments but on
ceph_preview
tag by @ansiwen in #693 - rbd admin: enable TestMirrorSnapshotScheduleStatus on qunicy by @phlogistonjohn in #686
- readme: note v0.16.0 has preliminary quincy support by @phlogistonjohn in #707
- dependency updates by @dependabot
Full Changelog: v0.15.0...v0.16.0
Release v0.15.0
The maintainers and contributors to go-ceph are pleased to announce the v0.15.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
Many thanks to our new contributors:
- @Anthrazz made their first contribution in #651
- @elrondwong made their first contribution in #646
- @sebastianriese made their first contribution in #644
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
- rados package
- rgw package
- Adds support for the subuser calls in the rgw admin interface by @sebastianriese in #644
- Adds
API
methodsCreateSubuser
,RemoveSubuser
andModifySubuser
- Adds
- rgw/admin: add suport for link/unlink bucket by @elrondwong in #646
- Adds
API
methodsLinkBucket
andUnlinkBucket
- Adds
- Adds support for the subuser calls in the rgw admin interface by @sebastianriese in #644
- common package
- nfs: admin APIs for managing nfs exports by @phlogistonjohn in #655
- Adds function
NewFromConn
andAdmin
methodsCreateCephFSExport
RemoveExport
ListDetailedExports
ExportInfo
- NOTE: this is a preliminary implementation, that is untested due to issues with CI dependencies. In order to use it now already, both the build tags
ceph_preview
andceph_ci_untested
must be set.
- Adds function
- common: implement a common log package by @ansiwen in #638
- Adds functions
SetWarnf
andSetDebugf
- Adds functions
- nfs: admin APIs for managing nfs exports by @phlogistonjohn in #655
Other changes
- rados package
- internals
Full Changelog: v0.14.0...v0.15.0
Release v0.14.0
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
Release v0.13.0
The maintainers and contributors to go-ceph are pleased to announce the v0.13.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
Big thanks to contributor Robert Vasek for providing a new function to the WriteOp type. The CmpExt function supports comparing a byte sequence against one within a rados object allowing one to add an assertion of matching content as part of a single write operation.
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:
- Add WriteOp CmpExt implementing rados_write_op_cmpext (preview)
-
In the rbd package:
- Add GetName accessor function
Now Stable
-
In the rbd admin package:
- The ImageSpec type
- The TaskAdmin function AddFlatten
- The TaskAdmin function AddRemove
- The TaskAdmin function AddTrashRemove
- The TaskAdmin function Cancel
- The TaskAdmin function GetTaskByID
- The TaskAdmin function List
-
In the rgw admin package:
- The AddUserCap function
- The RemoveUserCap function
Deprecations & Removals
In go-ceph v0.12.0 support for Ceph "Nautilus" was deprecated. Support for nautilus will be removed in a future release.
Other
- Improve reliability of cephfs mirroring tests
- All remaining build tags for "luminous" and "mimic" were removed. Previous
releases had already removed support for those ceph versions - Add workflow automation for deprecated and preview apis
- Document processes around deprecated and preview apis
- Improve C memory allocations in rados
- Fix rgw admin example documentation
- Other fixes and improvements
Release v0.12.0
The maintainers and contributors to go-ceph are pleased to announce the v0.12.0 release. This is another great step towards making it possible to use the power of the Ceph APIs in the Go language.
With this release go-ceph, via the rbd admin package, can now interact with RBD asynchronous tasks. These tasks perform actions like flattening or removing an image in the background. The tasks run within the Ceph cluster (the MGR) rather than synchronously from the (go-ceph) client. We'd like to extend our thanks to contribtor Rakshith R. for these changes!
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.
Please note that with this release we have started using the ceph_preview
build tag to demarcate new APIs that we want tested and tried out but we do not commit to keeping the API stable. The details of this policy are available in the API Stability Document [1] and information about the status of deprecated and preview APIs can be found in the API Status Document [2].
New Features
-
In the rbd package:
- Add MirrorImageInstanceIDList and MirrorImageInstanceIDIter implementing rbd_mirror_image_instance_id_list
-
In the rbd admin package:
- Add ImageSpec type
- Add TaskAdmin function AddFlatten
- Add TaskAdmin function AddRemove
- Add TaskAdmin function AddTrashRemove
- Add TaskAdmin function Cancel
- Add TaskAdmin function GetTaskByID
- Add TaskAdmin function List
-
In the rgw admin package:
- Add AddUserCap function
- Add RemoveUserCap function
Deprecations & Removals
With go-ceph v0.12.0 support for Ceph "Nautilus" is offically deprecated.
Other
- Fixes for PtrGuard tests
- Standardization of many internal variable names
- Enable previously skipped cephfs tests
- Improvements to cephfs test cases
- Use ceph/ceph as the base image for test containers
- Add a mirror state option to the entrypoint script
- Reuse running ceph container(s) in makefile, when possible
- Run tests with the
ceph_preview
build tag - Improve
implements
the go-ceph API analysis tool - Add a tool to help track the status of APIs
- Improve documentation visibilty of some deprecated items
- Other fixes and improvements
[1] - https://github.com/ceph/go-ceph/blob/master/docs/api-stability.md
[2] - https://github.com/ceph/go-ceph/blob/master/docs/api-status.md