2014-12-07 1 views
0

Я изучаю шеф-повар и berkshelf.com в то же время. Berkshelf облегчает обучение шеф-повару, и я использую бродячую виртуальную машину, чтобы проверить мои поваренные книги.Поваренная книга для шеф-поваров - пользователи не создаются на Vagrant

Я в состоянии обеспечить мою 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 

Я также проверил сумку данных на моем сервере повар и запустить бродягу как: chef_client. Запуск преуспевает. Любые идеи, что мне может не хватать?

Примечание: я сделал поваренную книгу обертки шеф-повара users cookbook, чтобы добавить свою собственную логику пользователя/конфигурацию.

+0

Пожалуйста, включите ваш код обертки, чтобы я мог видеть, что он делает. – coderanger

+0

В основном это проект ванили от запуска 'berks cookbook user-management'. Я добавлю больше логики, но на данный момент у меня есть только рецепт по умолчанию, который имеет одну строку: 'include_recipe" users :: sysadmins ". Извините, это моя первая поваренная книга с Data Bags. Интересно, что если я изменю список запуска, чтобы запустить рецепт sysadmins напрямую, он, похоже, работает сейчас. Не знаю, чего мне не хватает, но я хочу, чтобы это было похоже на то, как работает https://github.com/RiotGames/java. –

+0

Возможно, вы не загрузили свою кулинарную книгу с оберткой правильно? – coderanger

ответ

1

Решенный в комментариях, просто необходим для повторной загрузки поваренной книги.

Смежные вопросы