Рейтинг:0

Файл состояния соли не загружает информацию из столба

флаг no

Я получаю эту ошибку, когда пытаюсь применить свой файл состояния к моему миньону: клиент.школа.тест: Не удалось скомпилировать данные:

Ошибка рендеринга SLS «base: nextcloud2»: переменная Jinja «объект списка» не имеет атрибута «db_name»

Я пытаюсь ввести данные, необходимые для создания базы данных mysql и пользователя. Данные представляют собой файл mysql.sls в каталоге /srv/pillar.

  MySQL:
  - пользователь: dbuser
  - пароль: Пароль91!
  - имя_базы_данных: следующее облако

В этом каталоге также есть необходимый файл top.sls:

база:
  'Г@ос: Рокки':
  - mysql

В каталоге /srv/salt у меня есть файл состояния, в который я пытаюсь вставить данные столба:

{% set config = столб.get("mysql", {}) %}

install_network_packages:
  пакет.установлен:
    - упаковок:
      - httpd
      - редис
      - wget
  архив:
      - извлечено
      - имя: /var/www/html/
      - источник: https://download.nextcloud.com/server/releases/nextcloud-22.2.0.tar.bz2
      - skip_verify: правда
      - if_missing: /var/www/html/nextcloud

копиконф:
 файл.управляемый:
 - имя: /etc/httpd/conf.d/nextcloud.conf
 - источник: соль://nextcloud.conf
 - режим: 777

редис:
  pkg.installed: []
  сервис.работает:
    - включить: Истина
    - требовать:
      - пакет: редис

брандмауэр:
  cmd.run:
  - имя: |
      брандмауэр-cmd --add-service=http --постоянный
      брандмауэр-cmd --перезагрузить
      dnf -y модуль переключения на php: 7.4
      dnf install -y php-7.4.* php-gd-7.4.* php-mbstring-7.4.* php-intl-7.4.* php-pecl-apcu php-mysqlnd-7.4.* php-opcache-7.4.* php -json-7.4.* php-pecl-zip
      mkdir/var/www/html/nextcloud/данные
      dnf install -y mariadb mariadb-сервер python3-PyMySQL
      systemctl включить mariadb.service
      systemctl запустить mariadb.service

/var/www/html/:
  файл.каталог:
    - пользователь: апач
    - группа: апач
    - рекурсия:
      - пользователь
      - группа

httpd:
  pkg.installed: []
  сервис.работает:
    - включить: Истина
    - требовать:
      - пакет: httpd

MySQL:
  mysql_database.present:
    - имя: {{ config["db_name"] }}
  mysql_user.присутствует:
    - имя: {{ config["пользователь"] }}
    - хост: локальный
    - пароль: {{ config["пароль"] }}
  mysql_grants.present:
    - предоставить: все привилегии
    - база данных: nextcloud.*
    - пользователь: {{ config["пользователь"] }}
    - хост: локальный

Я перезапустил службу мастера соли, попытался найти возможные решения в Google, но безрезультатно. Надеюсь, кто-нибудь поможет мне это исправить!

Рейтинг:0
флаг mx

Судя по всему, отступ в вашем топ.sls выключен. - mysql часть должна иметь отступ с еще двумя пробелами, например:

база:
  'Г@ос: Рокки':
    - mysql

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.