En utilisant extra_settings, il n'est pas possible de définir des valeurs de chaîne sur les clés de paramètre AWX car elles n'englobent pas la valeur de chaîne entre guillemets, ce qui entraîne une erreur python car settings.py le traite comme un nom de variable, ce qui entraîne l'échec de l'affichage des conteneurs Web et de tâches.
Définissez ci-dessous extra_settings dans le modèle d'opérateur,
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
Appliquez le modèle pour déployer AWX dans l'espace de noms kubenetes.
kubectl appliquer -f
L'opérateur doit analyser en toute sécurité les extra_settings pour ajouter la ligne ci-dessous dans /etc/tower/settings.py
AUTH_LDAP_BIND_DN = "cn=admin,dc=exemple,dc=com"
Et les conteneurs AWX devraient pouvoir lire cette clé et fonctionner correctement sans aucune erreur.
L'opérateur n'ajoute pas de guillemets autour de la chaîne DN, ce qui entraîne l'échec de l'exécution de python avec l'erreur ci-dessous.
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/asgi.py", ligne 12, dans
prepare_env() # NOQA
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/__init__.py", ligne 103, dans prepare_env
sinon settings.DEBUG: # pragma: no cover
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", ligne 79, dans __getattr__
self._setup(nom)
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", ligne 66, dans _setup
self._wrapped = Paramètres (module_paramètres)
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", ligne 157, dans __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
Fichier "/usr/lib64/python3.8/importlib/__init__.py", ligne 127, dans import_module
return _bootstrap._gcd_import(name[level:], package, level)
Fichier "
Fichier "
Fichier "
Fichier "
Fichier "
Fichier "
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/settings/production.py", ligne 62, dans
include(settings_file, optionnel(settings_files), scope=locals())
Fichier "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/split_settings/tools.py", ligne 107, dans include
exec(compiled_code, scope) # noqa: S102, WPS421
Fichier "/etc/tower/settings.py", ligne 75, dans
AUTH_LDAP_BIND_DN = cn=admin,dc=exemple,dc=com
NameError : le nom 'com' n'est pas défini
Aucune erreur dans les journaux de l'opérateur car l'évaluation de la carte de configuration se déroule correctement sans aucun problème - https://github.com/ansible/awx-operator/blob/0.13.0/roles/installer/templates/config.yaml.j2#L93
Cela semble être un effet secondaire involontaire de #432. Si rien d'autre, la documentation (README) doit être mise à jour pour afficher correctement la citation des valeurs, car l'exemple actuel ne fonctionne pas.
L'exemple dans la description pr ne semble pas être yaml valide. Je suppose qu'il y a une meilleure vérification de type que nous pourrions faire ici.
Vous voulez dire l'exemple dans la description de _issue_ ? Oui, il y a une faute de frappe là-dedans, sans le ` supplémentaire, cela devrait être :
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
Pour mémoire, bien que l'utilisation des guillemets de blocs YAML fonctionne :
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: >-
"cn=admin,dc=example,dc=com"
… ce n'est pas vraiment intuitif, car la valeur dans le premier exemple est déjà une chaîne — nous ne devrions pas avoir besoin de citer les guillemets.
Vous voulez dire l'exemple dans la description de _issue_ ? Oui, il y a une faute de frappe là-dedans, sans le ` supplémentaire, cela devrait être :
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: "cn=admin,dc=example,dc=com"
Pour mémoire, bien que l'utilisation des guillemets de blocs YAML fonctionne :
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: >- "cn=admin,dc=example,dc=com"
… ce n'est pas vraiment intuitif, car la valeur dans le premier exemple est déjà une chaîne - nous ne devrions pas avoir besoin de citer le
L'exemple dans la description pr ne semble pas être yaml valide. Je suppose qu'il y a une meilleure vérification de type que nous pourrions faire ici.
Correction de la faute de frappe, merci @shanemcd
Vous voulez dire l'exemple dans la description de _issue_ ? Oui, il y a une faute de frappe là-dedans, sans le ` supplémentaire, cela devrait être :
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: "cn=admin,dc=example,dc=com"
Pour mémoire, bien que l'utilisation des guillemets de blocs YAML fonctionne :
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: >- "cn=admin,dc=example,dc=com"
… ce n'est pas vraiment intuitif, car la valeur dans le premier exemple est déjà une chaîne — nous ne devrions pas avoir besoin de citer les guillemets.
Merci, cela fonctionne. Peut-être que c'est bien si nous mettons à jour le README pour le moment afin que d'autres ne rencontrent pas le même problème.
Commentaire le plus utile
Cela semble être un effet secondaire involontaire de #432. Si rien d'autre, la documentation (README) doit être mise à jour pour afficher correctement la citation des valeurs, car l'exemple actuel ne fonctionne pas.