Известные проблемы и методы их решения

Известные проблемы и методы их решения#

При возникновении ошибок в работе контроллера Event-Driven Ansible для их устранения следуйте приведенным ниже инструкциям.

Ошибка «CSRF verification failed»#

Описание#

При подключении к контроллеру EDA возникает ошибка 500. В журнале работы контроллера EDA присутствуют сообщения следующего вида:

django.core.exceptions.DisallowedHost: Invalid HTTP_HOST header: '<eda.controller.domain.name>`
You may need to add '<eda.controller.domain.name>' to ALLOWED_HOSTS
...
CSRF verification failed: https://<eda.controller.domain.name>:35815/

Здесь <eda.controller.domain.name> – доменное имя узла, на котором развернут контроллер EDA.

Решение#

Описанная проблема связана с использованием полного доменного имени (FQDN) узла контроллера EDA в инвентаре установщика платформы Astra Automation. Для решения этой проблемы выполните следующие действия на узле контроллера Event-Driven Ansible:

  1. В конфигурационном файле /etc/eda/environment задайте значения переменных EDA_ALLOWED_HOSTS и EDA_CSRF_TRUSTED_ORIGINS.

    В значении переменной EDA_ALLOWED_HOSTS одной строкой через запятую укажите FQDN и IP-адреса, используемые для доступа к контроллеру EDA.

    В значении перменной EDA_CSRF_TRUSTED_ORIGINS укажите одной строкой через запятую URL, используемые для доступа к контроллеру EDA. В URL укажите схему (HTTP, HTTPS) и номер порта, если он отличается от используемого по умолчанию для выбранной схемы.

    Пример настройки переменных EDA_ALLOWED_HOSTS и EDA_CSRF_TRUSTED_ORIGINS

    EDA_ALLOWED_HOSTS="edac.example.com,edac.local"
    EDA_CSRF_TRUSTED_ORIGINS="https://edac.example.com:35815,http://edac.local"
    

    Здесь контроллер EDA доступен по FQDN edac.example.com и edac.local. Для доступа к контроллеру EDA используются следующие схемы:

    • HTTPS – через FQDN edac.example.com и порт 35815;

    • HTTP – через FQDN edac.local и порт 80 (не указан в примере, так как для схемы HTTP используется по умолчанию).

  2. Перезапустите службы контроллера EDA:

    sudo systemctl restart automation-eda-controller
    
  3. Проверьте журнал служб контроллера EDA на наличие ошибок:

    sudo journalctl -u automation-eda-controller -f
    

    Если настройки заданы верно, в журнале отсутствуют строки с меткой [ERROR]:

    -- Logs begin at Thu 2025-02-13 09:36:53 MSK. --
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32976] [INFO] Starting gunicorn 23.0.0
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32976] [DEBUG] Arbiter booted
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32976] [INFO] Listening at: unix:/run/eda/automation-eda-controller.sock (32976)
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32976] [INFO] Using worker: sync
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32990] [INFO] Booting worker with pid: 32990
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32991] [INFO] Booting worker with pid: 32991
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32992] [INFO] Booting worker with pid: 32992
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32976] [DEBUG] 5 workers
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32993] [INFO] Booting worker with pid: 32993
    фев 13 15:45:40 eda automation-eda-controller[32976]: [2025-02-13 15:45:40 +0300] [32994] [INFO] Booting worker with pid: 32994