Commit Graph

1484 Commits

Author SHA1 Message Date
John Mulligan
6143ff682d rados/striper: add an initial set of tests for the striper package
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan
72e2ac4d8f rados/striper: add xattr support to striper package
Add support for xattr APIs to the Striper object.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan
33ed5cea3d rados/striper: start new striper package
Start a new `rados/striper` package that wraps Ceph's libradosstriper.
The libradosstriper library builds on top of the librados library to
support striping large "objects" over multiple RADOS objects.

Fixes: #1011

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan
60ea53dabd containers: add rados striper ceph packages to container image
Add libradosstriper devel and debug packages to the test container
image. This is in preparation for adding a future `rados/striper`
package to go-ceph that will wrap these APIs.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan
795ed073da containers: reorganize dockerfile command setting up repos and packages
Reorganize the RUN command in the Dockerfile that sets up distro based
repositories and ceph packages. Move the `&&` to the beginning of the
lines to highlight when commands begin (and end). Change the indent
level of items that are arguments to commands to further clarify
what is part of what.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
dependabot[bot]
f60137a0ee go-ceph: bump github.com/aws/aws-sdk-go from 1.54.12 to 1.55.5
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.54.12 to 1.55.5.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.54.12...v1.55.5)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 06:31:45 +00:00
dependabot[bot]
c0c9e100d0 go-ceph: bump golang.org/x/sys from 0.21.0 to 0.22.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.21.0 to 0.22.0.
- [Commits](https://github.com/golang/sys/compare/v0.21.0...v0.22.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-08-02 05:03:35 +00:00
John Mulligan
d564eff523 workflows: enable squid job
Enable the squid ci job now that the squid RC is available. This won't
be required for merge until after the full release.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-07-25 13:52:06 +00:00
Niels de Vos
a9ce294dbb rbd: let CloneImageByID check for rbd_clone4 at runtime
Some versions of librbd provide the rbd_clone4 function, and others do
not. Squid will have the function backported in the 1st update, the
initial release of Squid does not have it. This makes checking for the
function based on the named Ceph version impractical.

With the new dlsym.LookupSymbol() function, it is now possible to check
the availability of rbd_clone4 during runtime. If the symbol is not
found ErrNotImplemented is returned, which can be used to detect the
unavailability of the function.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-07-25 12:03:15 +00:00
Niels de Vos
8bced26404 rbd: fix cleanup of CloneFromGroupSnap test case
When there is a failure during the CloneFromGroupSnap test case, the
rbd-group snapshot was not removed, preventing images from being deleted
as well.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-07-25 12:03:15 +00:00
Niels de Vos
0460442cba internal: add dlsym package for working with dynamically loaded symbols
The dlsym package provides LookupSymbol() which resolves a named symbol
(like "rbd_clone4") and returns a unsafe.Pointer to it. The caller is
expected to cast the symbol to function that can be called.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-07-25 12:03:15 +00:00
Peter Willis
9531dd692a rgw/admin: add test for bucket creation date 2024-07-22 09:13:10 +00:00
Peter Willis
f9dc7c1dcf rgw/admin: add creation time to bucket 2024-07-22 09:13:10 +00:00
dependabot[bot]
1046b034a1 go-ceph: bump golang.org/x/sys from 0.20.0 to 0.21.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.20.0 to 0.21.0.
- [Commits](https://github.com/golang/sys/compare/v0.20.0...v0.21.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 08:16:11 +00:00
Anoop C S
83cd6ac097 Makefile: Use ?= for initial variable definitions(part 2)
:= is not capable of accepting values(for variables) from execution
environment. Therefore replace := with ?= for completeness.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-07-02 18:50:35 +00:00
dependabot[bot]
3e480cd9ae go-ceph: bump github.com/aws/aws-sdk-go from 1.53.14 to 1.54.12
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.53.14 to 1.54.12.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.53.14...v1.54.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-02 18:16:42 +00:00
John Mulligan
edcd508bfd makefile: remove nautilus CEPH_VERSION
Remove nautilus from the make file's "known ceph codenames". This
change goes along with the removal of nautilus from the CI as
the makefile is really only used by developers/contributors and
not by codebases that use go-ceph.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-07-02 23:22:37 +05:30
John Mulligan
d9c4b8127a github: do not require nautilus CI jobs for mergify
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-07-02 23:22:37 +05:30
John Mulligan
1cff47afe3 workflows: remove nautilus from CI test matrix
This change removes nautilus from our github CI tests.

The original plan was to remove nautilus from our test matrix when Ceph
Squid was released. However, while Squid is not released yet, it is very
very soon. In the meantime, CentOS 7 is now EOL and the container images
for nautilus can not be updated. From the Ceph POV nautilus has been
long unsupported and they will not be making any changes to the base OS
for nautilus images. We have no desire to do workarounds for the EOLing
of CentOS7 either. As such we're ending direct support for nautilus a
little early but not by much.

Note that this is only disabling our testing of nautilus - we're not
going to be stripping the build tag from the sources. But we will no
longer require new code to to add it either.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-07-02 23:22:37 +05:30
Niels de Vos
ee25db94c6 rbd: add support for CloneImageByID()
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>
2024-06-25 20:40:23 +00:00
Vladimir Kavlakan
0fc95cf6fe rados: read & write op exec added
Signed-off-by: Vladimir Kavlakan <vkavlakan@gmail.com>
2024-06-19 13:40:42 +00:00
Simon Jürgensmeyer
9604e19a0e rgw/admin: add ErrNoSuchSubUser
Signed-off-by: Simon Jürgensmeyer <simon.juergensmeyer@hetzner-cloud.de>
2024-06-13 14:37:59 +00:00
Anoop C S
9e30a52ae4 gitignore: Add default results directory
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-06-07 18:55:15 +00:00
Anoop C S
99e49bff34 docs: update README for release v0.28.0
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-06-07 18:55:15 +00:00
Anoop C S
7d15378d4c rgw/admin: Promote {Get,Set}BucketQuota APIs to stable
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-06-07 18:55:15 +00:00
John Mulligan
e0e4115a01 containers: work around centos 8 stream getting archived
The centos 8 stream distribution is now EOL and the yum repo mirrors are
now offline. However, our CI is designed to test older released versions
of ceph where the container images are still using centos 8 stream.
Borrow and adapt a line from the ceph-csi project in order to use the
centos 8 archives (vault) until either we stop testing these versions of
ceph or the ceph project changes the base distro for these release
versions.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-06-04 18:33:19 +00:00
Anoop C S
26ac6fa291 Dockerfile: Avoid conflict with curl-minimal package
With CentOS Stream 8 reaching end of builds phase most of our ceph
images are migrating their bases to CentOS Stream 9. Since they come
with curl by default in a minimal rpm package we switch to attempt the
install by directly linking the binary than the package name. This is
due to the conflict between curl and curl-minimal packages in CentOS
Stream 9 images.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-06-03 14:47:01 -04:00
dependabot[bot]
96aac32a34 go-ceph: bump github.com/aws/aws-sdk-go from 1.52.0 to 1.53.14
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.52.0 to 1.53.14.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.52.0...v1.53.14)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-03 06:30:49 +00:00
dependabot[bot]
e61512c969 go-ceph: bump golang.org/x/sys from 0.19.0 to 0.20.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.19.0 to 0.20.0.
- [Commits](https://github.com/golang/sys/compare/v0.19.0...v0.20.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-02 03:17:28 +00:00
Anoop C S
2b9a021118 cephfs/admin: Rename fs quiesce test file
We do have a test file named fs_quiesce_reef_test.go to make sure
that the feature is supported only from upcoming squid release. The
'reef' keyword doesn't make sense as the test itself is applicable
for any version prior to squid(upcoming). Therefore use a generic
'unsupported' keyword in the test file name.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-05-30 12:08:51 +00:00
Jiffin Tony Thottan
be5dff01c9 rgw/admin: remove unknown user test case from user_bucket_test.go
Fixes: #984

Signed-off-by: Jiffin Tony Thottan <thottanjiffin@gmail.com>
2024-05-07 15:30:17 +00:00
dependabot[bot]
56bd2f1961 go-ceph: bump golang.org/x/sys from 0.18.0 to 0.19.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.18.0 to 0.19.0.
- [Commits](https://github.com/golang/sys/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: golang.org/x/sys
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-02 06:23:27 +00:00
dependabot[bot]
0c37e4ad9f go-ceph: bump github.com/aws/aws-sdk-go from 1.51.12 to 1.52.0
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.51.12 to 1.52.0.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.51.12...v1.52.0)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-02 05:11:02 +00:00
John Mulligan
26e7ee73eb docs: update README for release v0.27.0
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-04-09 13:13:56 +00:00
John Mulligan
593a097473 docs: fix version numbers for apis added prior to v0.27
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-04-09 13:13:56 +00:00
John Mulligan
f9290c87cc rgw/admin: promote GetInfo API to stable
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-04-09 13:13:56 +00:00
John Mulligan
0a787041f3 rbd: promote Image.Resize2 api to stable
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-04-09 13:13:56 +00:00
zxysilent
2146f1af0c rbd: trigger an error on invalid max snaps value
In file include from rbd.go:931
var cMaxSnaps C.int
ret := C.rbd_snap_list(image.image, nil, &cMaxSnaps)
cSnaps := make([]C.rbd_snap_info_t, cMaxSnaps)
It is necessary to determine whether cMaxSnaps is a large 0. Otherwise, the following code will panic
ret = C.rbd_snap_list(image.image,&cSnaps[0], &cMaxSnaps)

Signed-off-by: zxysilent <zxysilent@outlook.com>
2024-04-05 17:33:05 +00:00
Jose A. Rivera
cfae965d25 rbd: remove features_nautilus.go
Signed-off-by: Jose A. Rivera <jarrpa@redhat.com>
2024-04-05 14:05:43 +00:00
dependabot[bot]
3075e6340a go-ceph: bump github.com/aws/aws-sdk-go from 1.50.32 to 1.51.12
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.50.32 to 1.51.12.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.50.32...v1.51.12)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-02 09:19:07 +00:00
Anoop C S
5e9984afe8 cephfs/admin: Adjust build tags for subvolume quiescing API tests
With the feature itself getting a backport to upcoming squid release
build tags calls for adjustments so that pre-squid and main CI jobs
can run the real tests from fs_quiesce_test.go. Until the real squid
job is enabled(after ceph squid GA) we could refrain from mentioning
'squid' build tag in those related test files.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-03-25 15:19:41 +00:00
Niels de Vos
8d71b1f760 rbd: prevent warning about redefining _POSIX_C_SOURCE
While building an application with the latest version of go-ceph, the
following warning is spit out:

In file included from _cgo_export.c:4:
resize.go:7: warning: "_POSIX_C_SOURCE" redefined
In file included from /usr/include/bits/libc-header-start.h:33,
                 from /usr/include/stdlib.h:26,
                 from _cgo_export.c:3:
/usr/include/features.h:292: note: this is the location of the previous definition
  292 | # define _POSIX_C_SOURCE        200809L

When _POSIX_C_SOURCE is already defined, ther is no need to define it
again.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-03-21 16:13:54 +00:00
John Mulligan
bb2a449faf rbd: add a test to verify that encrypted volumes can be resized
Add a test to verify that an encrypted volume can be resized to
the desired unencrypted size similar to how the rbd command line
tool is documented as able to do.

Fixes: #972

Original-Version-By: Will Gorman <will.gorman@gmail.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-03-21 15:52:09 +00:00
Manish
755481f8c2 cephfs/admin: API for quiesceing io on a cephfs
cephfs has new quiesce feature for cephfs volume. This change add the
feature to go-ceph.

Signed-off-by: Manish <myathnal@redhat.com>
2024-03-19 11:34:21 +00:00
Anoop C S
9a3796f853 Dockerfile: Bump golang version to 1.21
This bumps the Go version of the test container to 1.21.8, which is the
oldest supported Go version as of now.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-03-10 04:47:56 +00:00
Anoop C S
708a7409af workflows: Add squid jobs to the CI matrix
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-03-07 12:34:58 +00:00
Anoop C S
d3c41696f7 Makefile: Add ceph squid versions
Add CEPH_VERSION values for squid and pre-squid. This will allow
building and testing with ceph squid images.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-03-07 12:34:58 +00:00
Anoop C S
f03f7bcac3 cephfs/admin: Add vesion check for squid
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-03-07 12:34:58 +00:00
Niels de Vos
947b7d312f rbd: add GetSnapGroupNamespace() to get details about group snapshots
rbd_snap_get_group_namespace() can be used to get details about
snapshots of an image, that were created as part of a group.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-03-06 12:42:29 +00:00
dependabot[bot]
95c9d7ade5 go-ceph: bump github.com/aws/aws-sdk-go from 1.50.9 to 1.50.32
Bumps [github.com/aws/aws-sdk-go](https://github.com/aws/aws-sdk-go) from 1.50.9 to 1.50.32.
- [Release notes](https://github.com/aws/aws-sdk-go/releases)
- [Commits](https://github.com/aws/aws-sdk-go/compare/v1.50.9...v1.50.32)

---
updated-dependencies:
- dependency-name: github.com/aws/aws-sdk-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-05 21:50:45 +00:00