厨师用户食谱 - 用户没有在Vagrant上创建

时间:2014-12-07 20:14:25

标签: vagrant chef berkshelf

我正在同时学习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的包装器手册来添加我自己的用户逻辑/配置。

1 个答案:

答案 0 :(得分:1)

在评论中解决,只需要重新上传食谱。