我最近更新了我的 ubuntu 12.04
VM 实例(在 OpenStack 中)到 ubuntu 14.04
其中 puppet master 和 puppet agent 分别安装。
在进行操作系统升级时,我的 puppet master 和 agent 都从 2.7.11
升级至3.4.3
.
我通过简单地在代理的/tmp 目录中创建一个文件来运行一个示例测试 puppet 目录,它是成功的。
但是当我尝试将文件从我的主节点移动到代理节点时,我收到以下错误 [在 puppet 升级之前工作正常]。
我在/etc/puppet/modules/中有几个模块,它们在 puppet 2.7.11 上运行良好
root@appserver-mgr:~# puppet agent --test
Info: Retrieving plugin
Info: Loading facts in /var/lib/puppet/lib/facter/java_home.rb
Info: Caching catalog for appserver-mgr.openstacklocal
Info: Applying configuration version '1416908414'
Notice: /Stage[main]/Appserver::Config_mgr/Exec[Stop_process_and_remove_CARBON_HOME]/returns: executed successfully
Notice: /Stage[main]/Appserver::Config_mgr/Exec[remove_java_dirs]/returns: executed successfully
Error: /Stage[main]/Appserver::Config_mgr/File[/opt/wso2as-5.2.1.zip]: Could not evaluate: Error 400 on SERVER: Not authorized to call find on /file_metadata/appserver/wso2as-5.2.1.zip with {:links=>"manage"} Could not retrieve file metadata for puppet:///appserver/wso2as-5.2.1.zip: Error 400 on SERVER: Not authorized to call find on /file_metadata/appserver/wso2as-5.2.1.zip with {:links=>"manage"}
Error: /Stage[main]/Appserver::Config_mgr/File[/opt/jdk1.6.0_24.tar.gz]: Could not evaluate: Error 400 on SERVER: Not authorized to call find on /file_metadata/packs/jdk1.6.0_24.tar.gz with {:links=>"manage"} Could not retrieve file metadata for puppet:///packs/jdk1.6.0_24.tar.gz: Error 400 on SERVER: Not authorized to call find on /file_metadata/packs/jdk1.6.0_24.tar.gz with {:links=>"manage"}`
puppet 类文件内容:
file { '/opt/wso2as-5.2.1.zip':
replace => "no",
ensure => present,
source => "puppet:///appserver/wso2as-5.2.1.zip",
}
file { '/opt/jdk1.6.0_24.tar.gz':
replace => "no",
ensure => present,
source => "puppet:///packs/jdk1.6.0_24.tar.gz",
}
我的文件位置也没有改变。
很高兴有人能提供从这里开始的方向。
最佳答案
找到了答案。
file { '/opt/wso2as-5.2.1.zip':
replace => "no",
ensure => present,
source => "puppet:///modules/appserver/wso2as-5.2.1.zip",
}
file { '/opt/jdk1.6.0_24.tar.gz':
replace => "no",
ensure => present,
source => "puppet:///modules/packs/jdk1.6.0_24.tar.gz",
}
puppet 升级后,我不得不通过在///之后添加/modules/部分来重命名文件路径
早期版本在没有模块/部分的情况下工作,尽管它自 Puppet v 0.25 以来已被弃用。在此处查看详细信息:http://docs.puppetlabs.com/puppet/3/reference/release_notes.html#break-puppet-urls-pointing-to-module-files-must-contain-modules
然后新版本的 puppet 目录运行成功。
关于ubuntu - puppet 目录运行错误 SERVER : Not authorized to call find on/<path/to/my/file> 上的错误 400,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125371/