我正在同时学习Chef和berkshelf.com。 Berkshelf让学习厨师变得更容易,我使用流浪汉VM来测试我的食谱。
我可以很好地配置我的Vagrant VM,但是在配置期间没有创建用户(来自刀数据包)和sysadmin组。
以下是我采取的步骤:
/opt/chefdk/bin/knife data bag create users
/opt/chefdk/bin/knife data bag create users foo
这是json:
{
"id": "foo",
"groups": [ "sysadmin" ]
}
这是我的default.rb食谱:
include_recipe "users::sysadmins"
这是我的Vagrantfile(我删除了我的私人信息并替换为xxx):
VAGRANTFILE_API_VERSION = '2'
Vagrant.require_version '>= 1.5.0'
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.hostname = 'chef-user-management-berkshelf'
if Vagrant.has_plugin? 'vagrant-omnibus'
config.omnibus.chef_version = 'latest'
end
config.vm.box = 'chef/centos-6.5'
config.vm.network :private_network, type: 'dhcp'
config.berkshelf.enabled = true
config.vm.provision :chef_client do |chef|
chef.validation_client_name = "xxxx"
chef.chef_server_url = "xxx"
chef.validation_key_path = "/my/path/to/the.pem"
chef.json = {
mysql: {
server_root_password: 'rootpass',
server_debian_password: 'debpass',
server_repl_password: 'replpass'
}
}
chef.run_list = [
'recipe[user-management::default]'
]
end
end
然后跑步:
vagrant provision
我还验证了我的厨师服务器上的数据包并运行vagrant as:chef_client。运行是否成功任何想法我可能会缺少什么?
注意:我已经制作了一个Chef users cookbook的包装器手册来添加我自己的用户逻辑/配置。
答案 0 :(得分:1)
在评论中解决,只需要重新上传食谱。