server_id is calculated based on the ip, but some servers changed ip but did not change its server_id (puppet was not run before restart). Resulting on potential writes loss if they end up being part of the same replication cluster.
This:
while read host port; do diff -q <(../../mysql.py -BN --connect-timeout=3 -h $host -P $port -e "SELECT @@global.server_id") <(echo "print '$(dig +short $host)'.split('.').inject(0) {|total,value| (total << 8 ) + value.to_i}" | ruby; echo) || echo "$host $port is different"; done < hosts
Detected 2 cases, db1061 T195595 and db2045. Restart them.