If we are creating the initial state and initial proposal, start with an
empty keyring. Specifically, we want to clear out any rotating secrets
from a previously failed paxos round so that the subsequent call to
check_rotate() will correctly populate the initial proposal with new
rotating keys. (When we don't do this, the leader OSD will have the
keys from an earlier round in memory but no other mons will.)
Fixes: http://tracker.ceph.com/issues/40634
Signed-off-by: Sage Weil <sage@redhat.com>
dout(10) << "create_initial -- creating initial map" << dendl;
// initialize rotating keys
+ mon->key_server.clear_secrets();
last_rotating_ver = 0;
check_rotate();
ceph_assert(pending_auth.size() == 1);