Я получаю эту ошибку, когда пытаюсь применить свой файл состояния к моему миньону:
клиент.школа.тест:
Не удалось скомпилировать данные:
Ошибка рендеринга 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, но безрезультатно. Надеюсь, кто-нибудь поможет мне это исправить!