-
Notifications
You must be signed in to change notification settings - Fork 585
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WinRM: dna.json is not updated on target machine during kitchen converge unless deleted #957
Comments
|
I've seen people run into this too but never dug in. Are you seeing this on 1.5 or 1.6? |
This is still with 1.5 (for the moment). I'm not sure of the procedure to update a ChefDK binstub to 1.6 after downloading the gem...? |
OK, I changed the binstub manually, then got
Then changed my kitchen.yml to:
Then got:
Investigating further... |
try completely uninstalling winrm-s |
Getting the same:
|
yuck. I'll be running through this tonight to figure out what's going on. |
Here is what I did starting from a chefdk version of 0.10.0:
This resulted in the error: After getting past that I started getting the
Thanks @thommay for tipping me off to the Now I changed the runlist and unfortunately was unable to reproduce @stuartpreston's issue. I reverted to 1.5.0 and was still unable to reproduce. I do know for sure I have seen this in the past. Perhaps it is driver related, I'm using kitchen-vagrant and I believe I saw it previously with kitchen-vsphere. 1.5.0 and 1.6.0 do have some implementation differences with regards to file uplads to the test instances so it is possible this is fixed in 1.6.0 but I'm not certain. |
Thanks Matt, In my case I started with 0.11.2 on a clean machine. I'll give the appbundle-updater a go tomorrow and see if that changes any other dependencies. Regarding the driver I am simply using the ssh driver from test-kitchen itself and specifying winrm as the transport. I am also in a domain environment. Will do some more digging later this week when I'm back with the customer. |
Back on customer site, I got further with this, using Test Kitchen 0.6.0 (via 0.11.2 ChefDK, appbundle-updater and removing winrm-s gem) and after some debugging, there was a nested exception that was being swallowed: If you do not specify a value for username and password (as originally worked with the :sspinegotiate transport option) then you end up here: https://github.com/WinRb/WinRM/blob/master/lib/winrm/http/transport.rb#L146-L151 I didn't see this until I changed the following line: https://github.com/WinRb/WinRM/blob/master/lib/winrm/winrm_service.rb#L54 to
.split was being called against a nil user. Net net, right now you must specify a valid username and password to do negotiate auth, I believe? I guess I'm unblocked for now, but in a domain environment having to put creds in my .kitchen.local.yml file is sub-optimal... And I still have the issue with the dna.json not getting overwritten when it gets changed... |
Thanks for this info. This uncovers the loss of a feature that we introduced with 1.5.0 and really did not know we had.
There are a couple things we can do moving forward:
I really do not think reintroducing winrm-s is a good solution. It simply monkey patches the winrm and httpclient gems and we have had lots of issues where it broke downstream gems. The better answer is to add the features in WinRM. It so happens I am a maintainer but dont have cycles to focus on this in the next few weeks. |
Thanks, I agree. I'm unblocked anyway for now. Appreciate the help. If anyone else finds this and wants to do bare metal Winrm without Vagrant (like I did) then here's my .kitchen.yml which hijacks the built in proxy driver:
.kitchen.local.yml
This is working with ChefDK 0.11.2 plus Test Kitchen 1.6.0 (updated via |
During testing on a bare metal Windows platform, we noticed that a change in the run_list doesn't result in a change to the dna.json on the target machine during a converge.
2nd converge:
Whilst I know the typical use case is with a fresh machine, and probably not changing a run_list per converge this is something that I think should be working, no?
The text was updated successfully, but these errors were encountered: