首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用图书管理员--在Vagrant中使用木偶--为什么puppetlabs/mysql无法安装?

使用图书管理员--在Vagrant中使用木偶--为什么puppetlabs/mysql无法安装?
EN

Stack Overflow用户
提问于 2014-02-19 15:20:04
回答 1查看 2.6K关注 0票数 3

我在Vagrant虚拟机中通过librarian-puppet安装librarian-puppet时遇到了问题。经过大量的交谈之后,似乎最有可能的问题是VirtualBox不允许共享目录中的符号链接,然而在应用vb.customize ["setextradata", :id, "VBoxInternal2/SharedFoldersEnableSymlinksCreate/v-root", "1"]之后,我发现行为没有变化,所以我不得不想知道到底是哪个组件的错误-- Vagrant、Ruby、Puppet、图书管理员、傀儡实验室/mysql模块,或者(很可能是)我呢?

在主机上:

代码语言:javascript
复制
$ vagrant --version
Vagrant 1.4.3

在瓦格兰特盒子上:

代码语言:javascript
复制
$ uname -a
Linux host 3.2.0-58-generic #88-Ubuntu SMP Tue Dec 3 17:40:43 UTC 2013 i686 i686 i386 GNU/Linux

$ which ruby
/home/vagrant/.rbenv/shims/ruby

$ ruby --version
ruby 1.9.3p484 (2013-11-22 revision 43786) [i686-linux]

$ bundle --version
Bundler version 1.5.3

$ cat Gemfile.lock | grep -A 3 librarian-puppet
librarian-puppet (0.9.13)
  json
  librarian (>= 0.1.2)
  open3_backport

这是我的Puppetfile

代码语言:javascript
复制
forge 'http://forge.puppetlabs.com'

# Stuff that we need directly.
mod 'puppetlabs/stdlib'

# 3rd party modules we proxy.
mod 'jfryman/nginx'
mod 'puppetlabs/mysql'
mod 'saz/memcached'
mod 'thomasvandoren/redis'

下面是我尝试应用时所发生的情况,Puppetfile说。

代码语言:javascript
复制
$ librarian-puppet install --verbose
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: i686-linux
[Librarian] Rubygems Version: 1.8.23
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 0.9.13
[Librarian] Project: /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] Pre-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian] The specfile is unchanged: nothing to do.
[Librarian] Install: dependencies resolved
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian] Executing puppet module install for puppetlabs/stdlib 4.1.0
[Librarian] Executing puppet module install for puppetlabs/apt 1.4.1
[Librarian] Executing puppet module install for puppetlabs/concat 1.1.0-rc1
[Librarian] Executing puppet module install for jfryman/nginx 0.0.7
[Librarian] Executing puppet module install for maestrodev/wget 1.3.1
[Librarian] Executing puppet module install for puppetlabs/firewall 1.0.0
[Librarian] Failed to copy from /vagrant/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/firewall/version/47cd76e43f74bbc2e1baaf194d07e1fa/firewall to /vagrant/modules/firewall preserving file types, trying again without preserving them
[Librarian] Executing puppet module install for puppetlabs/gcc 0.1.0
[Librarian] Executing puppet module install for puppetlabs/mysql 2.2.0
Error: No such file or directory - /vagrant/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/mysql/version/34e90de1478e8a54af7fd56d4a3a7102/mysql/spec/fixtures/modules/mysql
Error: Try 'puppet help module install' for usage
/home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/lib/librarian/puppet/source/forge.rb:114:in `unlink': Directory not empty - /vagrant/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/mysql/version/34e90de1478e8a54af7fd56d4a3a7102 (Errno::ENOTEMPTY)
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/lib/librarian/puppet/source/forge.rb:114:in `unlink'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/lib/librarian/puppet/source/forge.rb:114:in `cache_version_unpacked!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/lib/librarian/puppet/source/forge.rb:57:in `install_version!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/lib/librarian/puppet/source/forge.rb:263:in `install!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/manifest.rb:101:in `install!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/action/install.rb:49:in `block in install_manifests'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/action/install.rb:48:in `each'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/action/install.rb:48:in `install_manifests'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/action/install.rb:39:in `perform_installation'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/action/install.rb:12:in `run'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/cli.rb:165:in `install!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/lib/librarian/puppet/cli.rb:71:in `install'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor/command.rb:27:in `run'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor/invocation.rb:120:in `invoke_command'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor.rb:363:in `dispatch'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/thor-0.18.1/lib/thor/base.rb:439:in `start'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block (2 levels) in bin!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/cli.rb:31:in `returning_status'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `block in bin!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/cli.rb:47:in `with_environment'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-0.1.2/lib/librarian/cli.rb:26:in `bin!'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/lib/ruby/gems/1.9.1/gems/librarian-puppet-0.9.13/bin/librarian-puppet:7:in `<top (required)>'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/bin/librarian-puppet:23:in `load'
  from /home/vagrant/.rbenv/versions/1.9.3-p484/bin/librarian-puppet:23:in `<main>'

值得注意的是,如果我第二次运行这个完全相同的命令,它将一直运行到完成:

代码语言:javascript
复制
$ librarian-puppet install --verbose
[Librarian] Ruby Version: 1.9.3
[Librarian] Ruby Platform: i686-linux
[Librarian] Rubygems Version: 1.8.23
[Librarian] Librarian Version: 0.1.2
[Librarian] Librarian Adapter: puppet
[Librarian] Librarian Adapter Version: 0.9.13
[Librarian] Project: /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] Pre-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian] The specfile is unchanged: nothing to do.
[Librarian] Install: dependencies resolved
[Librarian] Pre-Cached Sources:
[Librarian] Post-Cached Sources:
[Librarian]   [:forge, "http://forge.puppetlabs.com", {}]
[Librarian] Failed to copy from /vagrant/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/firewall/version/47cd76e43f74bbc2e1baaf194d07e1fa/firewall to /vagrant/modules/firewall preserving file types, trying again without preserving them
[Librarian] Failed to copy from /vagrant/.tmp/librarian/cache/source/puppet/forge/3792e516e3ff92a0ef9f5e827f8e76eb/puppetlabs/mysql/version/34e90de1478e8a54af7fd56d4a3a7102/mysql to /vagrant/modules/mysql preserving file types, trying again without preserving them
[Librarian] Executing puppet module install for saz/memcached 2.4.0
[Librarian] Executing puppet module install for thomasvandoren/redis 0.0.9

在我看来,这些Failed to copy from错误可能是相关的,但我不知道如何处理它们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-02 15:40:11

作为后续工作,除了mysql之外,这个问题在不止一个模块中重复--表面上问题是,这些模块试图在Vagrant共享目录中创建符号链接(这并不像预期的那样工作)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21884787

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档