So, secure in the knowledge that it *can* happen, I'm still looking; but there's nothing to indicate where the missing link is; so, if you ever come across it again, please:
* set logging config to contain `juju.worker.leadership=DEBUG;juju.state.leadership=TRACE;state.lease=TRACE` in addition to whatever else you usually use
* let it run for 60s or so to capture whatever's happening to begin with
* bounce the affected unit agent, see if the unit gets elected (will happen within a few seconds or not at all)
* bounce the state server, see if the unit gets elected (similarly)
...and post the logs for the state server and the unit agent to the bug.
So, secure in the knowledge that it *can* happen, I'm still looking; but there's nothing to indicate where the missing link is; so, if you ever come across it again, please:
* set logging config to contain `juju.worker. leadership= DEBUG;juju. state.leadershi p=TRACE; state.lease= TRACE` in addition to whatever else you usually use
* let it run for 60s or so to capture whatever's happening to begin with
* bounce the affected unit agent, see if the unit gets elected (will happen within a few seconds or not at all)
* bounce the state server, see if the unit gets elected (similarly)
...and post the logs for the state server and the unit agent to the bug.