On 24/06/20 8:34 pm, Thomas Goirand wrote:
But of all the things to change, the config layer is the least of our problems in Horizon, and with a good erb template (or jinja with ansible) I have never had much pain with it. The biggest issue with a .erb template, is that it quickly gets outdated, and needs care for each new version of Horizon. I felt that
If it really is that painful for you, it is just python, you can easily enough make a custom local_settings.py that imports your primary settings from an .ini file of your choice/design! :P A custom thing is really not what we want/need. I am using
On 6/24/20 4:40 AM, Adrian Turjak wrote: pain multiple times recently. But that happens for every service adding new config really. The pain for a total rework for Horizon's config layer would be felt by everyone, and not everyone would want it. puppet-openstack (and contribute to it), and I do expect it to be able to work the same way on both CentOS and Debian/Ubuntu. So, I'd like Horizon to behave just like the rest of OpenStack.
I do understand the point about nested config. For these, probably we could keep these in separate .py files, or even yaml as you suggested, but this doesn't prevent from fixing everything that doesn't need nested config.
I like the ability to make it custom! But then again I'm used to Django configs. What really bugs me with Horizon is the enabled files for managing panels/plugins etc. That's a nightmare to deal with depending on where you deploy it and what panels you want. These days we build one big Horizon container (all panels, all themes), and then on start up it reads our custom config and copies/deletes the enabled files you want: http://paste.openstack.org/show/795183/ We used to control plugins at build time, but that was worse. Not being able to change which plugins were enabled when starting/restarting the service was painful. With this, we can stop the container, update the config, and on the next start it will setup the panels/plugins we want. This used to be a NIGHTMARE with puppet. Better config in general is definitely something to think about if a New Horizon ever happens, although non '.ini', because that's too limited a config format.