mirror of
https://github.com/ceph/ceph
synced 2025-01-29 14:34:40 +00:00
qa/workunits: cephtool: don't remove self's key on auth tests
Suites run with CEPH_TEST_CLI_DUP_COMMAND=1, which will send a duplicate command for every command issued with the 'ceph' tool. Behavior is to get a reply from the command and then send a duplicate, looking for the same outcome (guaranteeing idempotency of the operations). However, it so happens that if you remove the entity's own key from the keyring and you happen to be unlucky enough so that the client's connection gets failed (we also run tests with connection failure injections), the 'ceph' tool won't be able to reconnect to the cluster to send the duplicate command (as it's entity no longer exists in the cluster's keyring). We rewrite the test instead of resorting to ugly hacks to work around this behavior, simply having a new 'role-definer' added by the existing 'role-definer' (which we weren't testing anyway, so bonus points for that) and then have one removing the other (to test the procedure) and finally using 'client.admin' to remove the last 'role-definer'. Fixes: #9820 Signed-off-by: Joao Eduardo Luis <joao@redhat.com>
This commit is contained in:
parent
22877ba735
commit
ac3c1cb5d0
@ -344,8 +344,18 @@ function test_auth_profiles()
|
||||
|
||||
ceph -n client.xx-profile-rd -k client.xx.keyring auth del client.xx-profile-ro
|
||||
ceph -n client.xx-profile-rd -k client.xx.keyring auth del client.xx-profile-rw
|
||||
ceph -n client.xx-profile-rd -k client.xx.keyring auth del client.xx-profile-rd
|
||||
rm -f client.xx.keyring
|
||||
|
||||
# add a new role-definer with the existing role-definer
|
||||
ceph -n client.xx-profile-rd -k client.xx.keyring \
|
||||
auth add client.xx-profile-rd2 mon 'allow profile role-definer'
|
||||
ceph -n client.xx-profile-rd -k client.xx.keyring \
|
||||
auth export > client.xx.keyring.2
|
||||
# remove old role-definer using the new role-definer
|
||||
ceph -n client.xx-profile-rd2 -k client.xx.keyring.2 \
|
||||
auth del client.xx-profile-rd
|
||||
# remove the remaining role-definer with admin
|
||||
ceph auth del client.xx-profile-rd2
|
||||
rm -f client.xx.keyring client.xx.keyring.2
|
||||
}
|
||||
|
||||
function test_mon_misc()
|
||||
|
Loading…
Reference in New Issue
Block a user