0
我有Hiera与puppet/vagrant结合运行。傀儡清单脚本内的Hiera变量
说我有一个傀儡高管做以下
exec { create-project-database:
command => 'mysql -u root -e "CREATE DATABASE project_db DEFAULT CHARACTER SET = \'utf8\';"',
unless => 'mysql -u root information_schema -e "select * from information_schema.schemata;" | grep "project_db"',
require => Package[mysql-server],
}
我想用一个变量我里面有替换的字符串"project_db"
我hiera
---
machine_message: 'This is the dev machine!'
codes_path: '/vagrant/code/laravel/'
project_db: 'project_db'
我如何去这样的common.yaml
?语法是不明确的我,像这样的错误带来的:
command => 'mysql -u root -e "CREATE DATABASE 'hiera('project_db)' DEFAULT CHARACTER SET = \'utf8\';"',
'命令之前宣布从hiera变量=> '的mysql -u根-e “CREATE DATABASE $ DB_NAME默认字符集= \ 'UTF8 \';”','这带来一个错误做'vagrant provision'...我认为'$ DB_NAME'仍然n提供某种引用或者不同的东西。 – Confidence
我在exec中使用几乎相同,它运行良好。你可以在调试模式下运行puppet provisioning,并在exec块中添加debug(“”CREATE DATABASE $ DB_NAME“)以查看它打印的内容 –
'==>默认:错误:mysql -u root -e”CREATE DATABASE $ dbName DEFAULT CHARACTER SET ='utf8';“返回1而不是[0] ==>默认值:错误:/ Stage [main]/Initenv/Exec [create-project-database]/returns:从notrun更改为0失败:mysql -u root -e“CREATE DATABASE $ dbName DEFAULT CHARACTER SET ='utf8';”返回1而不是[0]中的一个' – Confidence