There are some plugins that allow WinRM to work better for this (instead of 
SSH), but it requires some pull requests that haven't been merged into the 
main Vagrant repository yet.

On Wednesday, June 3, 2015 at 7:20:46 PM UTC-5, Skip Sopscak wrote:
>
> I'm using a basic windows box created from a fresh 2012r2 VirtualBox VM. 
> All works is done as the typical Administrator user. I have a Chef recipe 
> that works when run from the command line in an rdp session on a freshly 
> up'd machine.The same recipe behaves differently when configured to run 
> through the chef_solo provisioner in the Vagrantfile. 
>
> After installing the svn chocolatey package and creating a local user, svn 
> credentials need to be cached for the new user. I'm doing this by running a 
> generic svn command, as the user, against the server in question. Using a 
> Chef powershell_script resource:
>
> powershell_script "cache-svn-creds" do
>   cwd "C:\\Program Files (x86)\\Subversion\\bin"
>   code <<-PS_Script
>   $local_user = New-Object System.Management.Automation.PsCredential(
> "local_user",(ConvertTo-SecureString "P@ssword" -AsPlainText -Force))
>     $svn_args = 
>       @("ls","https://mysvn.com/svn/repos/foo/trunk";,
>         "--username", "svn_user", "--password", "svn_password",
>         "--non-interactive")
>     Start-Process "svn.exe" -ArgumentList $svn_args -Credential 
> $local_user -NoNewWindow -Wait
>   PS_Script
> end
>
>
> This does not cause an error, and the Chef output explicitly indicates the 
> resource ran successfully. But in the provisioner case it fails to have any 
> affect. If run from the command line after rdp'ing into a freshly up'd 
> (non-provisioned) box, it works exactly as expected.
>
> I suspect there is something about the winrm session established for the 
> provisioner that affects the behavior, but that is a wild guess. Does 
> anyone have a suggestion for getting this to work through the provisioner?
>
> Here's my Vagrantfile:
>
> Vagrant.require_version ">= 1.6.0"
>
>
> Vagrant.configure(2) do |config|
>   config.vm.box = "2012r2_01"
>   config.vm.communicator = "winrm"
>   config.winrm.username = "Administrator"
>   config.winrm.password = "Foo1Bar!"
>   config.vm.network "forwarded_port", host: 33389, guest: 3389
>   config.vm.network "forwarded_port", host: 22222, guest: 22
>
>
>   config.vm.provision "chef_solo" do |chef|
>     chef.add_recipe "foo::jenkins_winagent"
>   end
> end
>
>
> When testing on the box, I comment out the provisioner above, rdp as 
> Administrator and run:
>
> chef-client --local-mode --runlist 'recipe[foo::jenkins_winagent]'
>
>  
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Vagrant" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to