我到处寻找如何解决这个问题的提示,但没有找到任何具体的方法。我见过Puppet apache 模块导致“服务器上的错误 400:无效的参数标识符”,但我正在使用全新/单一环境安装,因此不相信我面临同样的问题。
我想要实现的目标:我想使用 Puppet Labs 网站上提供的模块通过 puppet 安装 Openstack。当我进入安装 mysql 的阶段时,我收到一个令人兴奋的错误,通知我模块 (openstack) 正在使用无效参数。
错误
错误:无法从远程服务器检索目录:服务器上出现错误 400:节点 controller.my.domain 上的 /etc/puppet/modules/openstack/manifests/db/mysql.pp:112 处的参数 config_hash 无效
以下是相应的代码。
# Install and configure MySQL Server
class { 'mysql::server':
config_hash => {
'root_password' => $mysql_root_password,
'bind_address' => $mysql_bind_address,
'ssl' => $mysql_ssl,
'ssl_ca' => $mysql_ca,
'ssl_cert' => $mysql_cert,
'ssl_key' => $mysql_key,
},
enabled => $enabled,
} <- Line 112
现在已经指定了 MySQL 密码和绑定地址,但尚未指定 ssl 参数,老实说,我认为这不会影响我正在做的事情。我已将它们注释掉,只是为了看看会发生什么,但我仍然收到相同的错误。我很确定代码本身没有问题,但我只是缺少一个库或类似的东西,但我的搜索没有找到任何有用的东西。
谷歌确实提出了一些建议,但我认为它们并不适用,https://groups.google.com/forum/#!topic/puppet-users/CC83xP0AGEg。在这种情况下,我使用的代码似乎格式正确。我还读到“postgresql::server 类的 config_hash 参数崩溃”,但我没有使用 postgresql(https://forge.puppetlabs.com/puppetlabs/postgresql- 向下滚动)。
我正在使用 puppetlabs openstack 模块及其依赖项,包括 stdlib、apache、mysql、contact 和 puppetdb。很可能我没有正确配置其中一个。感谢您提供的任何帮助!
答案1
mysql
您安装了哪个版本的模块?(检查其模块文件)
看起来openstack
模块依赖于旧版本模块的行为mysql
,并在其依赖关系中正确声明 - 它们似乎只对 0.9.0 感到满意。
假设您没有在其他地方使用 mysql 模块,请尝试降级到该版本。