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.