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>
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>
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>
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>
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>
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>
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>
'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>
'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>
- 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>
!! 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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
:= 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>
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>