Module 流浪木偶找不到班级

Module 流浪木偶找不到班级,module,vagrant,puppet,librarian,Module,Vagrant,Puppet,Librarian,大家好, 我给了流浪汉一个机会,并将其与木偶配对,看看是否可以启动一个虚拟项目。我正在使用配置脚本在ubuntu框中安装必要的组件,我正在使用vagrant up命令进行旋转;然而,当木偶的规定只是失败,我不知道为什么,因为我刚刚开始玩它。我的目录结构如下: Project |--puppet |--manifests |--site.pp |--modules(empty) |--Puppetfile |--provision scripts |--Vagrantfil

大家好,

我给了流浪汉一个机会,并将其与木偶配对,看看是否可以启动一个虚拟项目。我正在使用配置脚本在ubuntu框中安装必要的组件,我正在使用vagrant up命令进行旋转;然而,当木偶的规定只是失败,我不知道为什么,因为我刚刚开始玩它。我的目录结构如下:

Project
|--puppet
   |--manifests
      |--site.pp
   |--modules(empty)
|--Puppetfile
|--provision scripts
|--Vagrantfile
我的配置脚本运行以下命令

$as_vagrant = 'sudo -u vagrant -H bash -l -c'
${as_vagrant} apt-get update
${as_vagrant} gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
${as_vagrant} apt-get install curl -y
${as_vagrant} curl -sSL https://get.rvm.io | bash -s $1
rvm install 2.1.4
rvm use 2.1.4 --default
${as_vagrant} apt-get install -y puppet
${as_vagrant} gem install librarian-puppet -v 2.0.0
sudo apt-get install git -y
sudo touch /home/vagrant/metadata.json
sudo echo '{}' >> /home/vagrant/metadata.json
(我只是将所有命令放在一个块中,而不是将它们分解成单独的文件以保持简短)

我的木偶文件如下所示:

#!/usr/bin/env ruby
#^syntax detection

forge "https://forgeapi.puppetlabs.com"

# use dependencies defined in metadata.json
#metadata

# use dependencies defined in Modulefile
# modulefile

# Java module
mod 'tylerwalts/jdk_oracle'

# A module from the Puppet Forge
mod 'puppetlabs-stdlib'

# A module from git
mod 'puppetlabs-ntp',
    :git => 'git://github.com/puppetlabs/puppetlabs-ntp.git'

# A module from a git branch/tag
mod 'puppetlabs-apt',
   :git => 'https://github.com/puppetlabs/puppetlabs-apt.git',
   :ref => '1.4.x'

# A module from Github pre-packaged tarball
# mod 'puppetlabs-apache', '0.6.0', :github_tarball => 'puppetlabs/puppetlabs-apache'
##### Puppet management section

config.vm.provision :shell, :path => "install-rvm.sh", :args => "stable"
config.vm.provision :shell, :path => "install-ruby.sh", :args => "2.1.4"
config.vm.provision :shell, :path => "install-puppetstuff.sh"
config.vm.provision :shell, :path => "install-defaults.sh"

#Provisioning puppet
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = 'puppet/manifests'
    puppet.module_path = ['puppet/modules']
    puppet.manifest_file = 'site.pp'
end 

#Setting up librarian puppet for puppet modules
config.vm.provision :shell, :path => "librarian-puppet-init.sh"
#!/usr/bin/env bash 
librarian-puppet install
我的vagrantfile中运行配置脚本的部分如下所示:

#!/usr/bin/env ruby
#^syntax detection

forge "https://forgeapi.puppetlabs.com"

# use dependencies defined in metadata.json
#metadata

# use dependencies defined in Modulefile
# modulefile

# Java module
mod 'tylerwalts/jdk_oracle'

# A module from the Puppet Forge
mod 'puppetlabs-stdlib'

# A module from git
mod 'puppetlabs-ntp',
    :git => 'git://github.com/puppetlabs/puppetlabs-ntp.git'

# A module from a git branch/tag
mod 'puppetlabs-apt',
   :git => 'https://github.com/puppetlabs/puppetlabs-apt.git',
   :ref => '1.4.x'

# A module from Github pre-packaged tarball
# mod 'puppetlabs-apache', '0.6.0', :github_tarball => 'puppetlabs/puppetlabs-apache'
##### Puppet management section

config.vm.provision :shell, :path => "install-rvm.sh", :args => "stable"
config.vm.provision :shell, :path => "install-ruby.sh", :args => "2.1.4"
config.vm.provision :shell, :path => "install-puppetstuff.sh"
config.vm.provision :shell, :path => "install-defaults.sh"

#Provisioning puppet
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = 'puppet/manifests'
    puppet.module_path = ['puppet/modules']
    puppet.manifest_file = 'site.pp'
end 

#Setting up librarian puppet for puppet modules
config.vm.provision :shell, :path => "librarian-puppet-init.sh"
#!/usr/bin/env bash 
librarian-puppet install
最后,librarian-puppet-init.sh脚本如下所示:

#!/usr/bin/env ruby
#^syntax detection

forge "https://forgeapi.puppetlabs.com"

# use dependencies defined in metadata.json
#metadata

# use dependencies defined in Modulefile
# modulefile

# Java module
mod 'tylerwalts/jdk_oracle'

# A module from the Puppet Forge
mod 'puppetlabs-stdlib'

# A module from git
mod 'puppetlabs-ntp',
    :git => 'git://github.com/puppetlabs/puppetlabs-ntp.git'

# A module from a git branch/tag
mod 'puppetlabs-apt',
   :git => 'https://github.com/puppetlabs/puppetlabs-apt.git',
   :ref => '1.4.x'

# A module from Github pre-packaged tarball
# mod 'puppetlabs-apache', '0.6.0', :github_tarball => 'puppetlabs/puppetlabs-apache'
##### Puppet management section

config.vm.provision :shell, :path => "install-rvm.sh", :args => "stable"
config.vm.provision :shell, :path => "install-ruby.sh", :args => "2.1.4"
config.vm.provision :shell, :path => "install-puppetstuff.sh"
config.vm.provision :shell, :path => "install-defaults.sh"

#Provisioning puppet
config.vm.provision :puppet do |puppet|
    puppet.manifests_path = 'puppet/manifests'
    puppet.module_path = ['puppet/modules']
    puppet.manifest_file = 'site.pp'
end 

#Setting up librarian puppet for puppet modules
config.vm.provision :shell, :path => "librarian-puppet-init.sh"
#!/usr/bin/env bash 
librarian-puppet install
site.pp文件:

class { 'jdk_oracle':          
  versrion => '7'              
}
现在,考虑到我没有错过任何东西,这是我当前的“设置”,当我执行vagrant up时,一切都运行良好,直到vagrant运行我的图书管理员傀儡init脚本。当它执行它的时候,整个事情崩溃了,它吐出来了

==> default: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class jdk_oracle at /tmp/vagrant-puppet-3/manifests/site.pp:3 on node chard
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

puppet apply --modulepath '/tmp/vagrant-puppet-3/modules-0:/etc/puppet/modules' --manifestdir /tmp/vagrant-puppet-3/manifests --detailed-exitcodes /tmp/vagrant-puppet-3/manifests/site.pp

Stdout from the command:

warning: Could not retrieve fact fqdn


Stderr from the command:

stdin: is not a tty
Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class jdk_oracle at /tmp/vagrant-puppet-3/manifests/site.pp:3 on node chard
但是,如果我在site.pp文件中不包含任何内容,而是将其保留为空,则会得到此输出(其他内容保持不变)

这是我得到的傀儡图书管理员输出:

==> default: [Librarian] Ruby Version: 2.1.4
==> default: [Librarian] Ruby Platform: x86_64-linux
==> default: [Librarian] Rubygems Version: 2.4.2
==> default: [Librarian] Librarian Version: 0.1.2
==> default: [Librarian] Librarian Adapter: puppet
==> default: [Librarian] Librarian Adapter Version: 2.0.0
==> default: [Librarian] Project: /home/vagrant
==> default: [Librarian] Specfile: Puppetfile
==> default: [Librarian] Lockfile: Puppetfile.lock
==> default: [Librarian] Git: /usr/bin/git
==> default: [Librarian] Git Version: 1.7.9.5
==> default: [Librarian] Git Environment Variables:
==> default: [Librarian]   (empty)
==> default: [Librarian] Specfile not found, using defaults: /home/vagrant/Puppetfile
==> default: [Librarian] Pre-Cached Sources:
==> default: Metadata file does not exist: /home/vagrant/metadata.json
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:70:in `metadata'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:24:in `block in run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/dsl/receiver.rb:34:in `instance_eval'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/dsl/receiver.rb:34:in `run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:47:in `run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:34:in `block in run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:28:in `tap'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:28:in `run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/dsl.rb:17:in `run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/environment.rb:148:in `dsl'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/specfile.rb:15:in `read'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/action/resolve.rb:13:in `run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:169:in `resolve!'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/cli.rb:67:in `install'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
==> default: /usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/bin/librarian-puppet:7:in `<top (required)>'
==> default: /usr/local/rvm/gems/ruby-2.1.4/bin/librarian-puppet:23:in `load'
==> default: /usr/local/rvm/gems/ruby-2.1.4/bin/librarian-puppet:23:in `<main>'
==> default: /usr/local/rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `eval'
==> default: /usr/local/rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `<main>'
The following SSH command responded with a non-zero exit status.
Vagrant assumes that this means the command failed!

chmod +x /tmp/vagrant-shell && /tmp/vagrant-shell

Stdout from the command:

[Librarian] Ruby Version: 2.1.4
[Librarian] Ruby Platform: x86_64-linux
[Librarian] Rubygems Version: 2.4.2
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 2.0.0
[Librarian] Project: /home/vagrant
[Librarian] Specfile: Puppetfile
[Librarian] Lockfile: Puppetfile.lock
[Librarian] Git: /usr/bin/git
[Librarian] Git Version: 1.7.9.5
[Librarian] Git Environment Variables:
[Librarian]   (empty)
[Librarian] Specfile not found, using defaults: /home/vagrant/Puppetfile
[Librarian] Pre-Cached Sources:
Metadata file does not exist: /home/vagrant/metadata.json
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:70:in `metadata'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:24:in `block in run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/dsl/receiver.rb:34:in `instance_eval'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/dsl/receiver.rb:34:in `run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:47:in `run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:34:in `block in run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:28:in `tap'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/dsl.rb:28:in `run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/dsl.rb:17:in `run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/environment.rb:148:in `dsl'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/specfile.rb:15:in `read'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/action/resolve.rb:13:in `run'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:169:in `resolve!'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/lib/librarian/puppet/cli.rb:67:in `install'
/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/command.rb:27:in `run'
/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/invocation.rb:126:in `invoke_command'
/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor.rb:359:in `dispatch'
/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/base.rb:440:in `start'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
/usr/local/rvm/gems/ruby-2.1.4/gems/librarian-puppet-2.0.0/bin/librarian-puppet:7:in `<top (required)>'
/usr/local/rvm/gems/ruby-2.1.4/bin/librarian-puppet:23:in `load'
/usr/local/rvm/gems/ruby-2.1.4/bin/librarian-puppet:23:in `<main>'
/usr/local/rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `eval'
/usr/local/rvm/gems/ruby-2.1.4/bin/ruby_executable_hooks:15:in `<main>'


Stderr from the command:

stdin: is not a tty
/tmp/vagrant-shell: line 2: cd: /home/vagrant/chard: No such file or directory
==>默认值:[Library]Ruby版本:2.1.4
==>默认值:[图书管理员]Ruby平台:x86_64-linux
==>默认值:[图书管理员]Rubygems版本:2.4.2
==>默认值:[图书管理员]图书管理员版本:0.1.2
==>默认值:[图书管理员]图书管理员适配器:puppet
==>默认值:[图书管理员]图书管理员适配器版本:2.0.0
==>默认值:[图书管理员]项目:/home/vagrant
==>默认值:[图书管理员]Specfile:Puppetfile
==>默认值:[图书管理员]锁定文件:Puppetfile.lock
==>默认值:[图书管理员]Git:/usr/bin/Git
==>默认值:[图书管理员]Git版本:1.7.9.5
==>默认值:[Library]Git环境变量:
=>默认值:[图书管理员](空)
==>默认值:[Library]找不到Specfile,使用默认值:/home/vagrant/Puppetfile
==>默认值:[Library]预缓存源:
==>默认值:元数据文件不存在:/home/vagrant/Metadata.json
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:70:在“元数据”中
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:24:in'block in run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/dsl/receiver.rb:34:in'instance_eval'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/dsl/receiver.rb:34:in'run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:47:in'run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:34:in'block in run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:28:in'tap'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:28:in'run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/dsl.rb:17:in'run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/environment.rb:148:in`dsl'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/specfile.rb:15:in'read'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/action/resolve.rb:13:在“运行”中
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/cli.rb:169:in'resolve!'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/cli.rb:67:in'install'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/command.rb:27:in'run'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/invocation.rb:126:in'invoke_命令'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor.rb:359:in'dispatch'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/thor-0.19.1/lib/thor/base.rb:440:in'start'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/cli.rb:26:in`block(2层)in bin!'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/cli.rb:31:处于“返回状态”
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/cli.rb:26:in`block in bin!'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/cli.rb:47:in“with_环境”
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-0.1.2/lib/librainer/cli.rb:26:in`bin!'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/bin/librainer-puppet:7:in`'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/bin/library-puppet:23:in'load'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/bin/library-puppet:23:in`'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/bin/ruby\u executable\u hooks:15:in'eval'
==>默认值:/usr/local/rvm/gems/ruby-2.1.4/bin/ruby\u可执行文件\u挂钩:15:in`'
以下SSH命令以非零退出状态响应。
Vagrant认为这意味着命令失败!
chmod+x/tmp/vagrant shell&/tmp/vagrant shell
命令中的Stdout:
[图书管理员]Ruby版本:2.1.4
[Library]Ruby平台:x86_64-linux
[图书管理员]Rubygems版本:2.4.2
[图书管理员]图书管理员版本:0.1.2
[图书管理员]图书管理员适配器:puppet
[图书管理员]图书管理员适配器版本:2.0.0
[图书管理员]项目:/home/流浪汉
[图书管理员]Specfile:Puppetfile
[图书管理员]锁定文件:Puppetfile.lock
[图书管理员]吉特:/usr/bin/Git
[图书管理员]Git版本:1.7.9.5
[Library]Git环境变量:
[图书管理员](空)
未找到[Library]Specfile,使用默认值:/home/vagrant/Puppetfile
[图书管理员]预缓存源:
元数据文件不存在:/home/vagrant/Metadata.json
/usr/local/rvm/gems/ruby-2.1.4/gems/librainer-puppet-2.0.0/lib/librainer/puppet/dsl.rb:70:in `元数据'
/usr/local/rvm/gems/ruby-2.1.4/gems/librari