2013-06-20 3 views
0

Я успешно установил vagrant-aws на centos VM, и я пытаюсь «кукоть» эту задачу. Мой соответствующий кукольный код ниже:puppet exec vagrant plugin install not working

exec { 'install_aws': 
    command => '/usr/bin/vagrant plugin install vagrant-aws', 
    #require => [Exec['install_dependent'], Package['vagrant']], 
} 

Когда я положение машины, он говорит, что Exec [install_aws]/возврат: успешно выполнена, но плагин не установлен, и я должен выполнить команду вручную для него работать. Никогда не видел такого поведения с марионеткой, может кто-то помочь?

+2

Когда вы запускаете его вручную, какой пользователь вы его используете? –

ответ

0
exec { 'install_aws': 
    command => '/usr/bin/sudo /usr/bin/vagrant plugin install vagrant-aws', 
    require => [Exec['install_dependent'], Package['vagrant']], 
} 

Исправлен код выше. Хорошая точка, необходимая для запуска команды как суперпользователя. Кажется, глупая ошибка, спасибо, что указали это ^^.

0

Вместо того, чтобы использовать sudo для запуска этой команды (как вы указали в своем ответе), я хотел бы добавить user В параметре с выполняемым и запустить его в качестве корневой (или любого другого пользователя с соответствующими правами доступа)

exec { 'install_aws': 
    user => 'root', 
    command => '/usr/bin/vagrant plugin install vagrant-aws', 
    require => [Exec['install_dependent'], Package['vagrant']], 
}