add-nodes 1 voters=(1) index=2
----
INFO 1 switched to configuration voters=(1)
INFO 1 became follower at term 0
INFO newRaft 1 [peers: [1], term: 0, commit: 2, applied: 2, lastindex: 2, lastterm: 1]

campaign 1
----
INFO 1 is starting a new election at term 0
INFO 1 became candidate at term 1
INFO 1 received MsgVoteResp from 1 at term 1
INFO 1 became leader at term 1

propose-conf-change 1
v2 v3
----
ok

add-nodes 2

process-ready 1
----
INFO 2 switched to configuration voters=()
INFO 2 became follower at term 0
INFO newRaft 2 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]
INFO 3 switched to configuration voters=()
INFO 3 became follower at term 0
INFO newRaft 3 [peers: [], term: 0, commit: 0, applied: 0, lastindex: 0, lastterm: 0]

stabilize 1
----
> 1 handling Ready
  INFO 1 switched to configuration voters=(1 2 3)&&(1) autoleave
  INFO initiating automatic transition out of joint configuration voters=(1 2 3)&&(1) autoleave
  Ready MustSync=true:
  Lead:1 State:StateLeader
  HardState Term:1 Vote:1 Commit:4
  Entries:
  1/3 EntryNormal ""
  1/4 EntryConfChangeV2 v2 v3
  CommittedEntries:
  1/3 EntryNormal ""
  1/4 EntryConfChangeV2 v2 v3
> 1 handling Ready
  Ready MustSync=true:
  Entries:
  1/5 EntryConfChangeV2

# NB: this test is broken from here on because the leader doesn't propagate the
# commit index proactively, see the buglet #11002.

stabilize 2
----
ok

stabilize 1
----
ok

stabilize 2
----
ok

stabilize 1
----
ok

stabilize 2
----
ok

stabilize 1
----
ok

stabilize 2
----
ok
