check_uptodate handling
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Solum |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Currently we have generate_sample.sh and check_uptodate.sh scripts in our tools/config/
The check_uptodate checks whether our configuration file (.conf.sample) is upto date. The check happens in our pep8 gate.
This is defined in our tox.ini
[testenv:pep8]
commands =
flake8
{toxinidir}
{toxinidir}
The problem we have been running into is when some upstream project adds/removes configuration variables our sample file becomes out of date. And this is caught by our pep8 gate. An example of this error can be seen here:
http://
And since our pep8 check is part of the Jenkins gate, which has voting powers, our patches end up getting -1 from Jenkins.
While it is good to always have a sample configuration file that is uptodate, there are some issues:
1) The file is called solum.conf but it does not list configuration options only for Solum. It has config options for other projects as well. So it is kind of misleading to say that this is solum.conf
2) We provide generate_sample.sh, which could be used by whoever wants to generate a conf file. Providing a sample becomes moot when we have a way to generate it whenever required.
3) Gating on it reduces our velocity of merging patches.
There are several ways to move forward:
1) Separate out sample checking from pep8 checking. We could add another tox testing environment which just does sample checking and remove it from pep8 checking
2) Remove check_uptodate completely. We provide a sample solum.conf still but it could be stale (in that, it may not have most upto date configuration values from other projects). We also document the procedure for generating a conf file for releases and such.
The decision on this was to separate sample checking into its own gate job.
Check this email for details: www.mail- archive. com/openstack- dev%40lists. openstack. org/msg36361. html
http://