Supply version whenever counting or claiming spare nodes in jetpants clone_slave, shard_split, or shard_cutover. Topology may ignore it (and will do so unless a plugin specifically cares to look for it) but at least it will always be supplied.
Tweak yesterdays changes to spare claiming/counting to use :pool instead of :version. This is more flexible since custom plugins can interpret as needed.
On closer inspection, supplying :pool to count_spares or claim_spares is not specific enough either -- we need to pass an actual example node to handle all cases. So :pool has been replaced with :like.
More changes related to MySQL version detection --
DB#version_tuple: fall back to mysqld --version if query fails
DB#version_cmp: new method for comparing versions between DB objects
DB#promotable_to_master?: new method for checking if node can be its pool's master
jetpants clone_slave will now refuse to clone to a machine running a different version of MySQL.
For clarity, negate the parameter of DB#promotable_to_master
Pool#master_promotion! can now optionally orphan the old master (not enslave it) even if mysql is still running fine there.
increase width of hostname field in Pool#summary
fix additional alignment issue in Pool#summary