2015-05-09 62 views
0

我想通过厨师安装mongo客户端。本质上,这是我一直在做手工安装:只能安装mongodb-shell的厨师食谱

sudo vi /etc/yum.repos.d/mongodb.repo 

    [mongodb] 
    name=MongoDB Repository 
    baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/ 
    gpgcheck=0 
    enabled=1 

sudo yum install mongodb-org-shell-2.6.7 

我并不想在这里重新发明轮子,我也不希望安装除壳以外的任何其他。这个食谱看起来像一个很好的资源,但我不能让它只安装外壳:

https://github.com/edelight/chef-mongodb 

但似乎不允许任何主要部件的安装。我需要LWRP吗?

回答

0

嗯,我百般挑剔MongoDB的食谱 - 以这首曲子:

yum_repository 'mongodb-org-3.0' do 
    description 'mongodb RPM Repository' 
    baseurl "http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/#{node['kernel']['machine'] =~ /x86_64/ ? 'x86_64' : 'i686'}" 
    action :create 
    gpgcheck false 
    enabled true 
end 


case node['platform_family'] 
when 'debian' 
    # this options lets us bypass complaint of pre-existing init file 
    # necessary until upstream fixes ENABLE_MONGOD/DB flag 
    packager_opts = '-o Dpkg::Options::="--force-confold" --force-yes' 
when 'rhel' 
    # Add --nogpgcheck option when package is signed 
    # see: https://jira.mongodb.org/browse/SERVER-8770 
    packager_opts = '--nogpgcheck' 
else 
    packager_opts = '' 
end 


package node[:frt_mongodb][:package_name] do 
    options packager_opts 
    action :install 
    version node[:frt_mongodb][:package_version] 
end 

这就是说它看起来像我应该能够使用食谱用正确的配置属性来实现这一点。最大的问题是配方内部操作的文件不是shell所必需的。