2015-05-09 65 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所必需的。