Requesting help with OpenStack configuration files

Thomas Goirand zigo at
Tue Jan 19 23:17:45 UTC 2021

On 1/19/21 10:29 PM, Bessghaier, Narjes wrote:
> Dear OpenStack team,
> I’m a Ph.D. student in software engineering at the ETS Montreal,
> University of Quebec working on the quality and configuration of
> web-based software systems.
> I’m particularly interested in analyzing configuration files from
> different OpenStack files. One of the main challenges I am currently
> facing is the proper identification of configuration files. I’m mostly
> confused between the python files used for production and the python
> files used for configuration. I am kindly requesting your precious help
> with the following questions:
> 1- How to distinguish between python files used for configuration and
> python files used for production? It will be very helpful if there
> are some configuration-based patterns (eg, textual patterns or
> expressions) that we can find in python files to help us distinguish
> between source code and configuration files?


Appart from Horizon (that reads a "" as configuration
file), all projects are using the .ini file format for configuration,
and read them using the oslo.config library. So there's no such thing as
"python files used for configuration".

Also, from a downstream distribution, it's very easy how to identify
configuration files: they are all stored in /etc. If not, then this is a
bug which you may file against the package:

> 2- Certain python files use the oslo_config to access and define
> configuration options. Could "all" these python files be considered as
> configuration files?

None of them are.

> For example, the following python file of the
> keystone project: keystone/keystone/conf/, is it considered a
> source code or configuration file?

Definitively source code.

> 3- Why are there different source code and configuration repositories
> for OpenStack projects (eg, nova and puppet-nova)?

These are 2 different project. "nova" is the upstream code for the nova
service, and "puppet-nova" is a repository for the puppet configuration
management module for Nova.

> For instance, does
> the OpenStack-nova service have some configuration files in its
> repository

The nova repository doesn't contain any configuration file by itself,
these are generated by oslo-config-generator using the code of Nova.

> and have the puppet-nova as a separate configuration
> repository as well?

puppet-nova isn't holding any configuration for Nova. It is a module for
puppet that will configure (ie: tweak the configuration of) Nova.

You probably should read about what puppet is and what it does.

I hope this helps,

Thomas Goirand (zigo)

More information about the openstack-discuss mailing list