[PYTHON] oslo.config Chemin de recherche du fichier de configuration

Oslo.config développé et utilisé pour fonctionner facilement autour du fichier de configuration dans OpenStack.

Si vous ne spécifiez pas le fichier de paramètres auquel faire référence dans l'option cli, le fichier de paramètres sera recherché à partir du dossier spécifié avec le nom de fichier spécifié.

Les dossiers sont d'abord référencés dans l'ordre suivant. (fonction https://github.com/openstack/oslo.config/blob/2.5.0/oslo_config/cfg.py#L498 _get_config_dirs)

  1. ~/.${project}/
  2. ~/
  3. /etc/${project}/
  4. /etc/

${project}Est la valeur spécifiée lors de l'initialisation. Si vous spécifiez ce qui suit, il sera recherché à partir de ~ / .foo / etc.

from oslo.config import cfg

def init_oslo_config():
    cfg.CONF(project='foo')

Le nom du fichier est recherché pour ce qui suit. (https://github.com/openstack/oslo.config/blob/2.5.0/oslo_config/cfg.py#L542 fonction find_config_files)

${project}Est le même que ci-dessus${prog}Ceci est également spécifié au moment de l'initialisation.

from oslo.config import cfg

def init_oslo_config():
    cfg.CONF(project='foo', prog='bar')

Cependant, si prog n'est pas spécifié lors de l'initialisation, le nom du processus (```os.path.basename (sys.argv [0]) `) sera` $ {prog} `` `. ..

Les règles de référence sont

Par exemple, si $ {project} est * foo *, $ {prog} '' est * bar * et que le fichier existe comme ci-dessous, il sera appelé fichier de configuration `/ etc / foo / foo.conf `,` ~ / bar.conf`` .

Ce comportement peut être confirmé comme suit, essayez-le lorsqu'un fichier de paramètres inattendu est référencé.

from oslo.config import cfg
print cfg.find_config_files('foo', 'bar')

Si la même option est spécifiée dans le fichier de configuration référencé, $ {prog} '' est prioritaire. Parce que le fichier de configuration à charger est second arrivé, premier servi et est référencé dans l'ordre de $ {project} , $ {prog} ''.

Cependant, ces fichiers ne seront pas utilisés si au moins un --config-file` '' est spécifié comme paramètre au démarrage du processus.

Recommended Posts

oslo.config Chemin de recherche du fichier de configuration
[Linux] Recherche de fichiers
Fichier de configuration Nginx
Recherche de chemin dans le graphique à l'aide de Networkx
Manipulation de chemin de fichier / dossier en Python
Comment créer un fichier de configuration
Obtenez le chemin du fichier à l'aide de Pathlib