pt-config-diff should identify missing options when comparing option files

Registered by Ben Mildren on 2013-07-18

pt-config-diff can be used to compare different configuration files, however currently as described in the documentation, pt-config-diff only compares values of the variables present in both configs. This makes sense when comparing a config file to running variables, because as mentioned, the config file will probably only have a few variables, however this doesn't make so much sense when comparing two option files together where in many cases you would indeed want to know if there was a missing / additional config option.
In the below example when comparing the option files, it would definitely be useful to know that log-slave-updates + slave-skip-errors is included in the option file on one slave and not the other.

Example - compare two slaves option files:
cat my.cnf1
[mysqld]
port = 3306
server-id = 1
query-cache-type = 0

cat my.cnf2
[mysqld]
port = 3306
server-id = 2
query-cache-type = 1
log-slave-updates
slave-skip-errors =1062,1146

./pt-config-diff --ignore-variables="server_id" my.cnf1 my.cnf2
1 config difference
Variable my.cnf1 my.cnf2
========================= ======= =======
query_cache_type 0 1

Blueprint information

Status:
Not started
Approver:
None
Priority:
Undefined
Drafter:
None
Direction:
Needs approval
Assignee:
None
Definition:
New
Series goal:
None
Implementation:
Unknown
Milestone target:
None

Related branches

Sprints

Whiteboard

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.