Commit Graph

1531 Commits

Author SHA1 Message Date
Sven Anderson
84b02c5a56 release: update README.md
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-12-17 09:57:57 +00:00
Sven Anderson
df6e065a6d release: make api-fix-versions
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-12-17 09:57:57 +00:00
Sven Anderson
366fda6c62 release: make api-promote
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-12-17 09:57:57 +00:00
Sven Anderson
96f4c44a43 release: remove preview-tag from now stable APIs
Signed-off-by: Sven Anderson <sven@redhat.com>
2024-12-17 09:57:57 +00:00
John Mulligan
394136c25f entrypoint: try to ensure CEPH_VERSION is set
Our test code uses CEPH_VERSION but (at least for now) the quay.ceph.io
ci container no longer sets that environment variable.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-12-17 05:10:31 +00:00
John Mulligan
098a730327 cephfs: disable failing fallocate tests for more branches
In pr#1045 we disabled the test for main. It seems that the change
has now been backported to many other branches as the test began
failing on all pre-{quincy,reef,squid} cli jobs too.
Disable the test for pretty much all the active ceph branches.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-12-17 05:10:31 +00:00
John Mulligan
6820cad14d containers: work around changes to ceph ci container build process
Recent changes to the ceph ci images are removing the repo files, as
well as some other minor changes. We're working with ceph maintainers
to come up with a clean solution for all, but in the meantime
re-installing the ceph-release rpm recreates the file we need to
continue.

Signed-off-by: John Mulligan <jmulligan@redhat.com>
2024-12-17 05:10:31 +00:00
Anoop C S
daad7cc53a containers: Avoid version specific installation of packages
Now that we have removed the `yum update` step, it doesn't make sense to
install the matching development packages based on the version already
present with the base container image. This is due to the fact that
their availability is not always guaranteed. Instead leave it up to DNF
to figure out if higher versions are available with the repositories.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-12-16 06:33:53 +00:00
Anoop C S
e25a3ebb64 containers: Remove the yum update step
In general it is not desirable to blindly update packages as a whole
while building another from a base container image.

Historically this step was required due to the introduction of version
specific installation[1] of packages i.e, we extract the package version
that comes with the base container image and try to install the matching
development libraries which might be unavailable close to a new release
happening in upstream. In order to overcome this short gap we came up
with the idea of `yum update`[2] to fetch whatever is the latest and
then extract the version for further installation of development
libraries.

This seemed to work until we discovered a different issue where updated
versions for particular dependencies are pushed to standard repositories
causing problems[3] during `yum update`.

Ceph repositories(and packages) are now more robust and DNF is capable
of handling such situations to figure out the new/updated versions for
packages even if a match is not found with the already installed package
versions. Ideally it can never be the case that matching packages for
each version are missing from a particular repository directory(only the
links to the directories is supposed to change).

Thus in our best interest we avoid running `yum update`.

[1] https://github.com/ceph/go-ceph/pull/331
[2] https://github.com/ceph/go-ceph/pull/510
[3] https://github.com/ceph/go-ceph/pull/1038

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-12-16 06:33:53 +00:00
Anoop C S
9a895f96a0 Revert "containers: workaround for ganesha package error on reef"
This reverts commit d4eac7d990.
2024-12-16 06:33:53 +00:00
Anoop C S
ea04c0fac8 Revert "containers: work around protobuf package issues"
This reverts commit df3b6a95ad.
2024-12-16 06:33:53 +00:00
dependabot[bot]
87d3ae154b go-ceph: bump github.com/stretchr/testify from 1.9.0 to 1.10.0
Bumps [github.com/stretchr/testify](https://github.com/stretchr/testify) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/stretchr/testify/releases)
- [Commits](https://github.com/stretchr/testify/compare/v1.9.0...v1.10.0)

---
updated-dependencies:
- dependency-name: github.com/stretchr/testify
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-03 15:42:25 +00:00
dependabot[bot]
44047fca58 go-ceph: bump golang.org/x/sys from 0.26.0 to 0.27.0
Bumps [golang.org/x/sys](https://github.com/golang/sys) from 0.26.0 to 0.27.0.
- [Commits](https://github.com/golang/sys/compare/v0.26.0...v0.27.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-12-02 09:16:57 +00:00
Anoop C S
19165ed55a rbd: Remove invalid snap ID test skip
Fix for https://tracker.ceph.com/issues/47287 is now available with
quincy and above releases. Therefore do not skip GetSnapTimestamp
API test for an invalid snap ID.

Signed-off-by: Anoop C S <anoopcs@cryptolab.net>
2024-11-26 15:14:46 +00:00
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