It is very common to misconfigure or change the read_only variable during a failover, staying with the wrong value.
If they are masters, and there is load balancing, they could end up with read_only = 1, and we may not notice it immediately due to applications retrying on another host (this has happened on parser cache hosts).
If they are slaves, they could end up with read_only = 0, and potentially create out of band changes, like in T110115.
We do not want to do this automatized on puppet because there are a million of edge cases (failovers, slaves that are also masters, etc.), but we want it detected automatically. It should be only a warning, not an error. We may also want to start all servers in read_only = 1 by default, and only manually change it, and this would help avoid forgetting changing it on start.