Commit Graph

1517 Commits

Author SHA1 Message Date
Anoop C S ab45bcd33a cephfs: Add a separate test file for fallocate with mode 0
There are backports created for fallocate API changes[1] that got merged
recently. Considering the time taken for these backports to get in to
release branches and finally as a released version we create a separate
test file to have more fine grained control over various pre-release CI
jobs with the help of corresponding build tags.

Modification of build tags should go hand-in-hand with the version
detection logic used in file_test.go once a backport is available in
released version.

[1] https://github.com/ceph/ceph/pull/59725

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-11-12 17:19:57 +00:00
Anoop C S 8f3beb622f cephfs: Skip fallocate with mode 0 test on main
There has been an internal change with fallocate API[1] forcing us not
to run those fallocate tests which uses mode as 0. For now we skip those
tests on main branch.

[1] https://github.com/ceph/ceph/pull/59725

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-11-12 17:19:57 +00:00
dependabot[bot] 75d1af3ed6 go-ceph: bump golang.org/x/sys from 0.25.0 to 0.26.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.25.0 to 0.26.0.
- [Commits](https://github.com/golang/sys/compare/v0.25.0...v0.26.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-11-02 14:31:09 +00:00
Nikhil-Ladha a0de92354f cephfs: add clone progress report in clone status
add clone progress report in clone status output

Signed-off-by: Nikhil-Ladha <nikhilladha1999@gmail.com>
2024-10-25 17:41:32 +00:00
Anoop C S 2c86010017 github: Require squid job to pass in mergify config
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-10-24 11:56:46 +00:00
Robert Vasek da1e31354b rados: implement rados_getaddrs
This commit implements binding for rados_getaddrs.

Includes a unit test.

Signed-off-by: Robert Vasek <robert.vasek@clyso.com>
2024-10-23 14:25:10 +00:00
John Mulligan df3b6a95ad containers: work around protobuf package issues
Work around errors related to protobuf package locations on centos.
This is triggered by our squid jobs failing with errors like:
```
22.40  Problem: protobuf-3.14.0-13.el9.i686 from appstream  does not
belong to a distupgrade repository
22.40   - package protobuf-compiler-3.14.0-13.el9.x86_64 from @System
requires protobuf = 3.14.0-13.el9, but none of the providers can be
installed
22.40   - cannot install both protobuf-3.14.0-14.el9.x86_64 from
appstream and protobuf-3.14.0-13.el9.x86_64 from @System
22.40   - cannot install both protobuf-3.14.0-14.el9.x86_64 from
appstream and protobuf-3.14.0-13.el9.x86_64 from appstream
22.40   - cannot install the best update candidate for package
protobuf-3.14.0-13.el9.x86_64
22.40   - problem with installed package
protobuf-compiler-3.14.0-13.el9.x86_64
22.40 (try to add '--allowerasing' to command line to replace
conflicting packages or '--skip-broken' to skip uninstallable packages
or '--nobest' to use not only best candidate packages)
------
```

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-10-23 11:08:02 +00:00
Anoop C S 10ec36044b docs: Remove references to invalid error APIs
Following APIs have been replaced with more generic cephError type to
jointly indicate the source and error.

cephFSError.Error
cephFSError.ErrorCode
radosError.Error
radosError.ErrorCode
rbdError.Error
rbdError.ErrorCode

Therefore remove corresponding entries from API docs.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-10-14 17:49:08 +00:00
Niels de Vos 73d2b2c14d tests: validate comparing with common cephError
Signed-off-by: Niels de Vos <ndevos@ibm.com>
Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-10-14 17:49:08 +00:00
Niels de Vos b712180b45 cephfs: replace cephfsError by cephError
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-14 17:49:08 +00:00
Niels de Vos 3dbd875587 rbd: replace rbdError by cephError
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-14 17:49:08 +00:00
Niels de Vos 7154dac048 rados: replace radosError by cephError
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-14 17:49:08 +00:00
Niels de Vos e2ab47085a util: add cephError as error type for all packages
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-14 17:49:08 +00:00
John Mulligan a551a9c354 docs: update README for release v0.30.0
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-10-14 13:02:39 +00:00
John Mulligan dc94307955 docs: fix version number for new GroupSnapGetInfo api
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-10-14 05:13:02 +00:00
Niels de Vos 08e5b6217b doc: include GroupSnapGetInfo in API status
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-09 17:39:49 +00:00
Niels de Vos b8573d486e rbd: dlsym-ify GroupSnapGetInfo
Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-09 17:39:49 +00:00
Niels de Vos b3b70bc6da rbd: implement librbd.rbd_group_snap_get_info
The new GroupSnapGetInfo function can be used to get a list of the RBD
image snapshots that were created as part of the RBD group snapshot.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-10-09 17:39:49 +00:00
Anoop C S 065319c787 internal/dlsym: Define _GNU_SOURCE for RTLD_DEFAULT
man dlsym(3) says the following:
. . .
The _GNU_SOURCE feature test macro must be defined in order to obtain
the definitions of RTLD_DEFAULT and RTLD_NEXT from <dlfcn.h>.
. . .

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-09-25 14:14:13 +00:00
Niels de Vos 5a7f9c9050 rbd: add ErrExist as standard error
Certain operations with RBD can return the C errno EEXIST. Applications
using go-ceph benefit from easily detecting this error.

Signed-off-by: Niels de Vos <ndevos@ibm.com>
2024-09-25 11:52:59 +00:00
Anoop C S b4bdfbdb23 rbd: Do not use standard names as function arguments
'len' is already a standard library function. revive v1.4.0[1] started
looking into function related variables for such standard names as part
of redefines-builtin-id rule. Therefore use a different variable name
instead of 'len'.

[1] https://github.com/mgechev/revive/releases/tag/v1.4.0

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-09-24 13:45:41 +00:00
Anoop C S b52c04c231 rados: Do not use standard names as function arguments
'len' is already a standard library function. revive v1.4.0[1] started
looking into function related variables for such standard names as part
of redefines-builtin-id rule. Therefore use a different variable name
instead of 'len'.

[1] https://github.com/mgechev/revive/releases/tag/v1.4.0

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-09-24 13:45:41 +00:00
pkthapa d442b121db go-ceph: Versions upgrade
- bump github.com/gofrs/uuid from v4.4.0+incompatible to v5.3.0
- bump golang.org/x/sys from v0.24.0 to v0.25.0

Signed-off-by: Pankaj Thapa <pk.thapa66@gmail.com>
2024-09-11 13:42:19 +00:00
dependabot[bot] 740235b3c4 go-ceph: bump golang.org/x/sys from 0.22.0 to 0.24.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.22.0 to 0.24.0.
- [Commits](https://github.com/golang/sys/compare/v0.22.0...v0.24.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-09-02 09:27:12 +00:00
Anoop C S 7b57465142 github: Update mergify config to replace deprecated attributes
!! Action Required !!

The configuration uses the deprecated merge_method attribute of the
queue action in one or more pull_request_rules. It must now be used
under the queue_rules configuration.
A brownout is planned on August 26th, 2024.
This option will be removed on September 23rd, 2024.
For more information: https://docs.mergify.com/configuration/file-format/#queue-rules

!! Action Required !!

The configuration uses the deprecated update_method attribute of the
queue action in one or more pull_request_rules. It must now be used
under the queue_rules configuration.
A brownout is planned on August 26th, 2024.
This option will be removed on September 23rd, 2024.
For more information: https://docs.mergify.com/configuration/file-format/#queue-rules

ref: https://docs.mergify.com/workflow/actions/queue/#parameters

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-08-20 12:05:09 +00:00
Sven Anderson fcfb1d4d37 docs: improve release-process.md 2024-08-13 09:00:47 +00:00
Sven Anderson db214dbc97 docs: update README for release v0.29.0
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-08-13 09:00:47 +00:00
Sven Anderson 530af708c9 go-ceph: promote mature APIs to stable
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-08-13 09:00:47 +00:00
Sven Anderson 70eb2f14fb docs: update api-status for release v0.29.0
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-08-13 09:00:47 +00:00
John Mulligan 5eb565f480 docs: add new rados/striper package to api status
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan 498214f580 implements: add rados/striper (sub)package support
Add rados/striper to the implements tool. It needs to be recognized
as a new C-API wrapping library.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan 9ade640fd0 rados/striper: add a package doc comment for striper
Add a package doc comment that also points out some things I learned
about how `rados` command line tool lists striped objects to preempt
being asked later on. :-)

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
John Mulligan 0606388f9e rados/striper: add some xattr file tests for the striper package
Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-08-08 14:07:59 +00:00
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