Hi all,

We are planning to introduce a new tool/script which would help with the problem of visibility of the changes done to Ceph configuration options. Currently there are two main limitations:

Some context on ceph configuration management system:
 
The default values for all the configuration options for a ceph cluster when starting up are in the yaml files present in the `src/common/options` directory. 

For example: `osd.yaml.in` file tells us all the configuration options available for `ceph-osd` daemon. 

The config options from yaml files are directly injected to the `CephContext` and these files are the sole source of truth to know about the configurations present for all the systems of ceph. It is important to note that, the values in the yaml files only represent the default values with which the cluster starts with, any changes made to these config options are not reflected in the yaml files.

The detailed information about the configuration management is present here: https://docs.ceph.com/en/latest/dev/config/

Proposal to solve this problem is two fold:

1. Tool to compare configuration options between releases or commit hashes

2.  A Github action runs on every PR (it only executes when the yaml files are updated). This will be added as an optional check.

I believe, these two options should help solve the current visibility problems in ceph configuration system.

Please let us know your thoughts about this feature. All inputs are welcome.

Thanks,
Naveen