Skip to content

Conversation

@nixpanic
Copy link
Member

@nixpanic nixpanic commented Jun 21, 2024

RBD image groups can be used to create consistent snapshots of all images that are part of the group. The new rbd_clone4() API makes it possible to create a new RBD image from a single snapshot that was created as part of the group snapshot.

Note about testing status

The rbd_clone4() API has only just been backported to Squid for version 19.1.1. There are no released container images available yet that contain this new API, only the ceph-ci/ceph:main image seems to have it.

Checklist

  • Added tests for features and functional changes
  • Public functions and types are documented
  • Standard formatting is applied to Go code
  • Is this a new API? Added a new file that begins with //go:build ceph_preview
  • Ran make api-update to record new APIs

New or infrequent contributors may want to review the go-ceph Developer's Guide including the section on how we track API Status and the API Stability Plan.

The go-ceph project uses mergify. View the mergify command guide for information on how to interact with mergify. Add a comment with @Mergifyio rebase to rebase your PR when github indicates that the PR is out of date with the base branch.

@phlogistonjohn
Copy link
Collaborator

Early feedback: can you please name the file after the feature and not a ceph version. This has caused confusion in the past (literally yesterday in #999) and isn't strictly needed. Something like clone_image_by_id.go would be fine IMO. Additionally, if you think it'll only be available for squid initially let's have build tags excluding it from pacific, quincy, and reef too - at least for now.

@nixpanic nixpanic marked this pull request as ready for review June 24, 2024 13:20
@nixpanic nixpanic force-pushed the rbd_clone4 branch 2 times, most recently from cdb01f3 to 4596b70 Compare June 24, 2024 13:52
@nixpanic
Copy link
Member Author

Tests seem to run in squid and main:
image

@phlogistonjohn phlogistonjohn added the API This PR includes a change to the public API of a go-ceph package label Jun 24, 2024
nixpanic added a commit to nixpanic/ceph-csi that referenced this pull request Jun 24, 2024
The new rbd_clone4() API is only available in Squid and newer. Squid is
not yet released, therefor it is required to use the container image
from the Ceph CI registry.

rbd_clone() is added in PR ceph/go-ceph#1000, that branch needs to be
vendored as well.
Copy link
Collaborator

@phlogistonjohn phlogistonjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor typo, code generally looks ok.

@nixpanic nixpanic force-pushed the rbd_clone4 branch 2 times, most recently from 6c99adc to 1d1bac3 Compare June 25, 2024 07:27
@nixpanic nixpanic requested a review from phlogistonjohn June 25, 2024 07:28
nixpanic added a commit to nixpanic/ceph-csi that referenced this pull request Jun 25, 2024
The new rbd_clone4() API is only available in Squid and newer. Squid is
not yet released, therefor it is required to use the container image
from the Ceph CI registry.

rbd_clone() is added in PR ceph/go-ceph#1000, that branch needs to be
vendored as well.
nixpanic added a commit to nixpanic/ceph-csi that referenced this pull request Jun 25, 2024
The new rbd_clone4() API is only available in Squid and newer. Squid is
not yet released, therefor it is required to use the container image
from the Ceph CI registry.

rbd_clone() is added in PR ceph/go-ceph#1000, that branch needs to be
vendored as well.
RBD image groups can be used to create consistent snapshots of all
images that are part of the group. The new rbd_clone4() API makes it
possible to create a new RBD image from a single snapshot that was
created as part of the group snapshot.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
Copy link
Collaborator

@anoopcs9 anoopcs9 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks.

Copy link
Collaborator

@phlogistonjohn phlogistonjohn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm, thanks

@mergify mergify bot merged commit ee25db9 into ceph:master Jun 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

API This PR includes a change to the public API of a go-ceph package

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants