ubuntu - puppet 目录运行错误 SERVER : Not authorized to call find on/<path/to/my/file> 上的错误 400

标签 ubuntu puppet

我最近更新了我的 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/

相关文章:

linux - Puppet 找不到我刚安装的模块

ruby - 如何为 Ubuntu 打包 Ruby 应用程序,包括它的 gem 依赖项?

linux - sshd_config 编辑后 ssh 连接被拒绝

puppet - 尝试将 Puppet 配置为高可用时出错

syntax-error - Puppet:语法错误, '$x.each...'

yaml - 使用嵌套键在 puppet list 中获取 hiera 值

php - CLI php 在命令提示符下运行 php

ruby - Ansible "Permission denied"尝试安装/检查 gem 时

android - 从命令行删除持久僵尸进程

Puppet - 将哈希作为类参数传递