Usando extra_settings, não é possível definir valores de string para chaves de configuração do AWX, pois não abrange o valor de string entre aspas, resultando em erro python, pois settings.py o trata como nome de variável, resultando em falha ao abrir contêineres da Web e de tarefas.
Defina abaixo extra_settings no modelo do operador,
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
Aplique o modelo para implantar o AWX no namespace kubenetes.
kubectl apply -f
O operador deve analisar com segurança o extra_settings para adicionar a linha abaixo em /etc/tower/settings.py
AUTH_LDAP_BIND_DN = "cn=admin,dc=exemplo,dc=com"
E os contêineres AWX devem ser capazes de ler essa chave e aparecer bem sem erros.
O operador não adiciona aspas ao redor da string DN, fazendo com que a execução do python falhe com o erro abaixo.
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/asgi.py", linha 12, em
prepare_env() # NOQA
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/__init__.py", linha 103, em prepare_env
se não configurações.DEBUG: # pragma: sem capa
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", linha 79, em __getattr__
self._setup(nome)
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", linha 66, em _setup
self._wrapped = Configurações(settings_module)
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/django/conf/__init__.py", linha 157, em __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
Arquivo "/usr/lib64/python3.8/importlib/__init__.py", linha 127, em import_module
return _bootstrap._gcd_import(nome[nível:], pacote, nível)
Arquivo "
Arquivo "
Arquivo "
Arquivo "
Arquivo "
Arquivo "
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/awx/settings/production.py", linha 62, em
include(settings_file, optional(settings_files), scope=locals())
Arquivo "/var/lib/awx/venv/awx/lib64/python3.8/site-packages/split_settings/tools.py", linha 107, em include
exec(compiled_code, scope) # noqa: S102, WPS421
Arquivo "/etc/tower/settings.py", linha 75, em
AUTH_LDAP_BIND_DN = cn=admin,dc=exemplo,dc=com
NameError: nome 'com' não está definido
Nenhum erro nos logs do operador, pois a avaliação do mapa de configuração passa bem sem problemas - https://github.com/ansible/awx-operator/blob/0.13.0/roles/installer/templates/config.yaml.j2#L93
Este parece ser um efeito colateral não intencional do #432. Se nada mais, a documentação (README) deve ser atualizada para mostrar corretamente citando os valores, pois o exemplo atual não funciona.
O exemplo na descrição do pr não parece ser yaml válido. Eu estou supondo que há alguma verificação de tipo melhor que poderíamos fazer aqui.
Você quer dizer o exemplo na descrição do _issue_? Sim, há um erro de digitação, sem o ` extra, deve ser:
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: "cn=admin,dc=example,dc=com"
Para constar, embora o uso da citação em bloco YAML funcione:
spec:
extra_settings:
- setting: AUTH_LDAP_BIND_DN
value: >-
"cn=admin,dc=example,dc=com"
…isso não é muito intuitivo, pois o valor no primeiro exemplo já é uma string — não deveríamos precisar citar as aspas.
Você quer dizer o exemplo na descrição do _issue_? Sim, há um erro de digitação, sem o ` extra, deve ser:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: "cn=admin,dc=example,dc=com"
Para constar, embora o uso da citação em bloco YAML funcione:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: >- "cn=admin,dc=example,dc=com"
…isso não é muito intuitivo, pois o valor no primeiro exemplo já é uma string — não precisaríamos citar o
O exemplo na descrição do pr não parece ser yaml válido. Eu estou supondo que há alguma verificação de tipo melhor que poderíamos fazer aqui.
Corrigido o erro de digitação, obrigado @shanemcd
Você quer dizer o exemplo na descrição do _issue_? Sim, há um erro de digitação, sem o ` extra, deve ser:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: "cn=admin,dc=example,dc=com"
Para constar, embora o uso da citação em bloco YAML funcione:
spec: extra_settings: - setting: AUTH_LDAP_BIND_DN value: >- "cn=admin,dc=example,dc=com"
…isso não é muito intuitivo, pois o valor no primeiro exemplo já é uma string — não deveríamos precisar citar as aspas.
Obrigado, isso funciona. Pode ser bom se atualizarmos o README por enquanto para que outros não encontrem o mesmo problema.
Comentários muito úteis
Este parece ser um efeito colateral não intencional do #432. Se nada mais, a documentação (README) deve ser atualizada para mostrar corretamente citando os valores, pois o exemplo atual não funciona.