saltstack-formulas/mysql-formula — pull request #38 by davidjb (2014-10-10 06:53:02+00:00)
Title: Add scripted parsing of all MySQL options

This solves #36 by pulling in and parsing the various MySQL documentation pages for the different executables. As best I can ascertain, there are only two canonical places for what options exist: the web documentation, or the executables themselves (eg ``--help``). Installing MySQL to interrogate the applications could lead to massive version discrepancies, so scraping the web documentation it is.

This includes an updater script for the supported_params.yaml file. See the README.rst file updates for how it works. Essentially, the script only needs to be run when the supported_params need updating.

Beyond that, *all* known options for the applications formerly listed in ``supported_params.yaml`` are now included in this yaml file. The YAML/Jinja now has some smarts around sections that support the same options (eg ``[mysql]`` vs ``[client]``) to avoid duplication. Other mysql applications may exist; the support is not currently exhaustive. In order to be added for option file support, then check the documentation page's format, and add the section/URL details into the ``scripts/parse_supported_params.py`` script & re-run it.

As a final aside/rant, the MySQL documentation sucks for consistency. There are at least 3 different types of options pages that exist (two different table-style layouts, and a command-line options only layout).