El uso de extra_settings no es posible establecer valores de cadena en las claves de configuración de AWX, ya que no incluye el valor de cadena entre comillas, lo que genera un error de python, ya que settings.py lo trata como un nombre de variable, por lo que no se pueden mostrar los contenedores web y de tareas.
Establezca debajo de extra_settings en la plantilla del operador,
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
Aplique la plantilla para implementar AWX en el espacio de nombres de kubenetes.
kubectl aplicar -f
El operador debe analizar con seguridad extra_settings para agregar la siguiente línea en /etc/tower/settings.py
AUTH_LDAP_BIND_DN = "cn=admin,dc=ejemplo,dc=com"
Y los contenedores AWX deberían poder leer esta clave y funcionar bien sin ningún error.
El operador no agrega comillas alrededor de la cadena DN, por lo que la ejecución de python falla con el siguiente error.
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/asgi.py", línea 12, en
preparar_env() # NOQA
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/__init__.py", línea 103, en prepare_env
si no settings.DEBUG: # pragma: sin portada
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", línea 79, en __getattr__
self._setup(nombre)
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", línea 66, en _setup
self._wrapped = Configuración (módulo de configuración)
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", línea 157, en __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
Archivo "/usr/lib64/python3.8/importlib/__init__.py", línea 127, en import_module
return _bootstrap._gcd_import(nombre[nivel:], paquete, nivel)
Expediente "
Expediente "
Expediente "
Expediente "
Expediente "
Expediente "
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/settings/production.py", línea 62, en
include(settings_file, opcional(settings_files), scope=locals())
Archivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/split_settings/tools.py", línea 107, en incluir
exec(código_compilado, alcance) # noqa: S102, WPS421
Archivo "/etc/tower/settings.py", línea 75, en
AUTH_LDAP_BIND_DN = cn=admin,dc=ejemplo,dc=com
NameError: el nombre 'com' no está definido
No hay errores en los registros del operador, ya que la evaluación del mapa de configuración se realiza correctamente sin problemas: https://github.com/ansible/awx-operator/blob/0.13.0/roles/installer/templates/config.yaml.j2#L93
Esto parece ser un efecto secundario no deseado de #432. Por lo menos, la documentación (LÉAME) debe actualizarse para mostrar correctamente la cotización de los valores, ya que el ejemplo actual no funciona.
El ejemplo en la descripción de pr no parece ser un yaml válido. Supongo que hay una mejor verificación de tipo que podríamos hacer aquí.
¿Te refieres al ejemplo en la descripción del _problema_? Sí, hay un error tipográfico allí, sin el extra `, debería ser:
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
Para el registro, aunque el uso de citas en bloque YAML funciona:
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: >-
"cn=admin,dc=example,dc=com"
…eso no es realmente intuitivo, ya que el valor en el primer ejemplo ya es una cadena; no deberíamos necesitar citar las comillas.
¿Te refieres al ejemplo en la descripción del _problema_? Sí, hay un error tipográfico allí, sin el extra `, debería ser:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: "cn=admin,dc=example,dc=com"
Para el registro, aunque el uso de citas en bloque YAML funciona:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: >- "cn=admin,dc=example,dc=com"
…eso no es realmente intuitivo, ya que el valor en el primer ejemplo ya es una cadena; no deberíamos necesitar citar el
El ejemplo en la descripción de pr no parece ser un yaml válido. Supongo que hay una mejor verificación de tipo que podríamos hacer aquí.
Corregido el error tipográfico, gracias @shanemcd
¿Te refieres al ejemplo en la descripción del _problema_? Sí, hay un error tipográfico allí, sin el extra `, debería ser:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: "cn=admin,dc=example,dc=com"
Para el registro, aunque el uso de citas en bloque YAML funciona:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: >- "cn=admin,dc=example,dc=com"
…eso no es realmente intuitivo, ya que el valor en el primer ejemplo ya es una cadena; no deberíamos necesitar citar las comillas.
Gracias, esto funciona. Puede ser bueno si actualizamos el LÉAME por el momento para que otros no encuentren el mismo problema.
Comentario más útil
Esto parece ser un efecto secundario no deseado de #432. Por lo menos, la documentación (LÉAME) debe actualizarse para mostrar correctamente la cotización de los valores, ya que el ejemplo actual no funciona.