This commit implements binding for rados_read_op_assert_version
RADOS Read operation as well as rados_write_op_assert_version
RADOS Write operation.
Includes unit tests for both.
Signed-off-by: Robert Vasek <robert.vasek@cern.ch>
This commit implements binding for rados_write_op_remove RADOS Write operation.
Includes a unit test.
Signed-off-by: Robert Vasek <robert.vasek@cern.ch>
This issue should have been fixed in ceph-containers already but for
whatever reason we don't seem to be getting the fix.
For now, disable the apache-arrow-centos repo.
Based on: 8b4c8dc730
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Mergify has not been working for weeks as they removed support for the
deprecated style we were relying on. This is my first attempt to
update it to the new style.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
This commit implements binding for rados_write_op_cmpext RADOS Write operation.
Includes a unit test.
Signed-off-by: Robert Vasek <robert.vasek@cern.ch>
When testing the mirroing workflow, we will not explicitly check
on the mgr for the presence of the mirroring module before proceeding
with the tests. The plan is to have this cut down on test flakes.
The previous workaround also had a bug in that the 2nd sleep was in the
wrong location. Perhaps, fixing this alone would resolve the test
flakes, but this is more proper anyway.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add a function for getting the lists of enabled/disabled mgr modules
from ceph. This is private for the moment as general module management
probably shouldn't be part of cephfs admin. It's bad enough we hacked
in the functions for enabling mirroring. :-)
Signed-off-by: John Mulligan <jmulligan@redhat.com>
When running things by hand it's nice to reuse the same build of
implements over and over, but for the casual contributor
who may need to run implements as part of adding a new API we want to
ensure the tool being run is up-to-date with the repo.
Cleaning the binary first is a quick and dirty way of getting there.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Specifically, this provides examples of the newly standardized
methods for marking deprecated and preview as well as telling
the user how to update the api-status docs.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Add new rules to build/run the implements tool via the test container,
an only the implements tool, when apiage is to be run and the
implements.json is not present.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The rules added to the makefile help contributors and maintainers follow
the recent api stability policy by allowing one to check the state,
update the state (using the git tags for versioning info) and update
only the generated markdown doc.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The implements tool just does static code (ast) analysis. Support
running it in the container, but on its own in the case you only
want the implements tool output.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
It is kind of pointless to let the tool run if no source data is
present, so treat empty/missing source as an error.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
We no longer support ceph luminous, and have not for a while. This
test case was kept separately from the others because it didn't function
correctly when tested against luminous clusters. As part of the effort
to remove the unsupported build tags, there's no longer even a reason
to keep this as it's own file with the tags removed, so merge it
together.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Luminous and mimic have not been supported for a few releases now.
There's no need to keep these build tags any more.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
Luminous and mimic have not been supported for a few releases now.
There's no need to keep these build tags any more.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
This is a workaround for the common test flake:
```
=== RUN TestMirroring
mirror_workflow_test.go:63:
Error Trace: mirror_workflow_test.go:63
Error: Received unexpected error:
rados: ret=-95, Operation not supported:
"Module 'mirroring' is not enabled (required by command 'fs snapshot
mirror enable'): use `ceph mgr module enable mirroring` to enable it"
Test: TestMirroring
```
at even though we've certainly requested the mode be enabled the mgr
has apparently not fully processed the request and the module is
not yet available. We add a half-second sleep after each call
to hopefully give the mgr time enough to completely enable the module.
A future improvement would be to poll the mgr until we know it is ready to
use the cephfs mirroring module, but that would take some research and
(probably) new API calls. So this is a temporary workaround just
to try and reduce the number of test flakes sooner rather than later.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
We can now get an s3 user from the rgw admin ops API with its access
key. No validation on the key is performed other than not being empty.
Closes: https://github.com/ceph/go-ceph/issues/600
Signed-off-by: Sébastien Han <seb@redhat.com>
It's too easy to forget to triage a PR with the API label, and then
if the PR looks good and is approved the mergify system will merge
it. Move to using an explicit "no-API" label for marking the PR as truly
not having API changes and not requiring a 2nd review.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
While working on this patch series new APIs were added to the rbd/admin
package. This patch includes them in the initial set of apis being
tracked.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The file api-status.json is designed to track changes to the go-ceph
APIs, especially the 'deprecated' and 'preview' apis. It also stores
lists of stable apis so that we can see if something new but not
explicitly stable appears.
The api-status.md file is actually meant to be read by users of go-ceph
so to help make decisions about the use of new preview apis or
deprecated apis. It is generated from api-status.json.
Signed-off-by: John Mulligan <jmulligan@redhat.com>