2015-04-06 5 views
0

Если я Vagrantfile с анзибль положением:бродяга с ошибкой анзибль

Vagrant.configure(2) do |config| 
    config.vm.box = 'hashicorp/precise32' 
    config.vm.network "forwarded_port", guest: 80, host: 8080 

    config.vm.provision :ansible do |ansible| 
    ansible.playbook = "playbook.yml" 
    ansible.inventory_path = "hosts" 
    ansible.limit = 'all' 
    ansible.sudo = true 
    end 

end 

Мой хосты файл очень прост:

[local] 
web ansible_connection=local 

и playbook.yml является:

--- 
- hosts: local 
    sudo: true 
    remote_user: vagrant 
    tasks: 
    - name: update apt cache 
    apt: update_cache=yes 

    - name: install apache 
    apt: name=apache2 state=present 

Когда Я начинаю бродягу с бродягой, я получил ошибку:

failed: [web] => {"failed": true, "parsed": false} 
[sudo via ansible, key=daxgehmwoinwalgbzunaiovnrpajwbmj] password: 

В чем проблема?

+1

Хм, похоже, он запрашивает пароль sudo. Вы настроили это в своем yml-файле? – ryekayo

+0

добавить 'vagrnt' в sudoers – Kashyap

+0

Что такое sudoers? –

ответ

0

Ошибка возникает из-за того, что ansible предполагает аутентификацию ssh на основе ключа, однако ваш бродяга, создающий виртуальную машину, использует аутентификацию на основе пароля.

Существует два способа решения этой проблемы.

Вы можете запустить анзибль пьес, как

ansible-playbook playbook.yml --ask-pass 

Это покажет анзибль не предположить на основе ключей аутентификации вместо использования аутентификации SSH на основе паролей и задать один перед выполнением.

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