Although this code path is not used for creating entities yet, it is
better to fix the bug sooner than later. Method
AuthMonitor::_update_or_create_entity() must exit (with appropriate
error code) when entity to be created on the Ceph cluster is already
present.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
doc: remove egg fragment from dev/developer_guide/running-tests-locally
Reviewed-by: John Mulligan <jmulligan@redhat.com>
Reviewed-by: Rishabh Dave <ridave@redhat.com>
Reviewed-by: Anthony D'Atri <anthony.datri@gmail.com>
Reviewed-by: Zac Dover <zac.dover@proton.me>
The use of an exception as an assertion mostly works but has the side
effect of hiding other errors. Hiding these errors can make it hard to
debug problems in this code path, as it did for me recently. Update the
test to use a standard assertion as well as asserting that the assertion
must have been called.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
The gateways list property of the Ceph type was used in exactly one
place. In order to provide a clearer structure to the classes in
cephadm, remove this property and simply list the daemon types
specifically where they are needed.
In the future, I hope to see these handled in a class/object based
manner but this is still better for now.
Signed-off-by: John Mulligan <jmulligan@redhat.com>
when RGWHTTPManager encounters an http error, it uses
rgw_http_error_to_errno() to map that to a negative posix error code.
RGWHTTPClient::process() returns that mapped error code, and exposes the
original http error via get_http_status()
the http client code for keystone, barbican, and vault were returning
early on the errors from process(), so weren't getting to the http error
checks
these clients now check for specific http errors before testing the
result of process()
Fixes: https://tracker.ceph.com/issues/62989
Signed-off-by: Casey Bodley <cbodley@redhat.com>
DEPRECATION: git+https://github.com/ceph/teuthology#egg=teuthology
[test] contains an egg fragment with a non-PEP 508 name pip 25.0 will enforce
this behaviour change. A possible replacement is to use the req @ url syntax,
and remove the egg fragment. Discussion can be found at
https://github.com/pypa/pip/issues/11617
Signed-off-by: Dhairya Parmar <dparmar@redhat.com>
Symbols imported into current namespace should be used directly; there
is no need to mention their parent namespace while using them. IOW, to use
"std::string" after it has been imported, just write "string" instead of
"std::string".
Signed-off-by: Rishabh Dave <ridave@redhat.com>
and switch to it only once installation is done.
this is needed for cases where installation can happen
while RGW is running
Signed-off-by: Yuval Lifshitz <ylifshit@ibm.com>
There's no need to mention the "home" namespace of a symbol while using
it after it has been imported into the current namespace. IOW, no need to
write, for example, "std::string" after it has been imported from its
namespace; instead simply writing "string" will suffice.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
Once a symbol has been imported into the current namespace, no need to
mention the original namespace while using it. IOW, no need to write
"std::string" after it has been imported from the namespace "std" into the
current namespace.
Signed-off-by: Rishabh Dave <ridave@redhat.com>
"ip route list" may list default route, and that needs to be excluded
while doing cluster setup
Typical o/p of ip route list:
$ ip route list
default via 10.8.159.254 dev eno1 proto dhcp src 10.8.152.13 metric 100
10.8.152.0/21 dev eno1 proto kernel scope link src 10.8.152.13 metric 100
Signed-off-by: Sachin Punadikar <sachin.punadikar@ibm.com>
The cephadm agent is a bit special in that it will not be converted
to a ContainerDaemonForm (it is not containerized) but we still want
to have it registered as a DeamonForm so that the deamon_type can be
passed to create and have it resolve correctly.
Signed-off-by: John Mulligan <jmulligan@redhat.com>