20:00:01 #startmeeting Ansible Windows Working Group 20:00:01 Meeting started Tue Nov 20 20:00:01 2018 UTC. 20:00:01 This meeting is logged and archived in a public location. 20:00:01 The chair is nitzmahone. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:01 Useful Commands: #action #agreed #halp #info #idea #link #topic. 20:00:01 The meeting name has been set to 'ansible_windows_working_group' 20:00:06 #chair jborean93 20:00:06 Current chairs: jborean93 nitzmahone 20:00:26 #chair jhawkesworth_ 20:00:26 Current chairs: jborean93 jhawkesworth_ nitzmahone 20:00:30 yo 20:00:32 hey 20:01:14 thanks for the win_say merge 20:01:26 no worries 20:01:38 hey 20:02:37 Hey all 20:02:43 Looks like nothing new on the agenda today 20:02:49 #topic open floor 20:03:22 probably quick talk about https://github.com/ansible/ansible/pull/48860 20:03:38 I wanted to ask about the Dict stuff https://github.com/ansible/ansible/pull/25356 but lets do 48860 first 20:03:52 I need to do some more indepth performance testing with large objects but with a win_ping test I cannot find any performance issues 20:04:10 this makes it a lot more forgiving when trying to serialize PSObjects which are numerous in PowerShell code 20:06:16 facts is probably the largest results of typically used windows modules I suppose 20:07:42 yea I probably just need to do some testing locally to get some more fine grain timing 20:07:58 I just wanting to see if we are ok with the general approach before I go that path 20:08:27 in my environment perf testing is basically not possible the variation I get is so huge 20:09:08 trying to think of another approach... 20:09:53 could try the c# way and catch the circular refs error and fall back to ConvertTo-Json I suppose. 20:10:39 The newtonsoft stuff (PSCore) doesn't fail it just shows the serialized XML string of the object which another problem 20:10:54 It kind of hard to work around if you are getting back a psobject that you want to return 20:11:15 that's not good either 20:11:18 yea IMO PSObjects should be avoided for these cases but that won't stop people from doing it 20:11:59 they are often huge even without the circular refs 20:12:23 * jborean93 things .NET object serializaiton is fun.... 20:13:08 I guess you could make an option so you could select a serialisation method when you create the $module object 20:13:54 only worth doing if there's a speed advantage to the c# / newtonsoft ways 20:14:10 that's probably opening too much choice a user won't care about really, they just want their objects serialized 20:14:35 yeah in which case lets just have lowest common denominator which works in most cases - ConvertTo-Json 20:14:59 only things I recall it choking on are \ at the end of a string 20:15:01 yep, I only have the old code there so it continues to work when debugging C# code in Visual Studio 20:15:28 Ok, I'll do some more perf testing and if it's the same I'll look to merge 20:15:38 sounds like a plan to me 20:17:26 cool, onto 25356 20:17:59 having re-read https://github.com/ansible/ansible/pull/25356#issuecomment-439727572 I see you have answered my question, which which really just about the ordering still not being supported (because the other bits of ansible still won't do it) 20:18:31 yea that's dependent on Ansible supporting that and probably more importantly the `ConvertFrom-Json` cmdlet to preserve the ordering 20:18:54 None of which I think is guaranteed and so we shouldn't rely on that behaviour 20:19:20 In reality, I think win_nssm was the one dependent on the ordering and we have decided to move away from supporting args from a dict 20:19:34 I think you'd need python 3.7 and yaml odicts before checking all the ansible controller code, let alone passing that to powershell 20:19:55 * jhawkesworth_ trying to remember if there was another one 20:20:04 yea there's too many moving parts and version requirements to make it something we will ensure compatibility 20:20:23 cool its very much 'advanced use' anyway 20:20:40 yep, pretty much use a list if you want to preserve ordering 20:21:17 fair enough. 20:21:58 anything else we would like to discuss? 20:22:06 * jborean93 checks PRs 20:22:37 quite side note, I changed `win_credential_manager` to `win_credential` based on dag's feedback https://github.com/ansible/ansible/pull/48840 20:22:42 nothing else from me this week. Been migrating my playbooks to 2.7 syntax and had a quick play with pypsrp but not been through my testing yet 20:23:06 still not used to the meeting starting one hour earlier :-/ 20:23:07 Oh yeah thanks for that, that's going to be great module to have 20:23:17 hey dag 20:23:44 #chair dag 20:23:44 Current chairs: dag jborean93 jhawkesworth_ nitzmahone 20:24:02 #chair it-praktyk 20:24:02 Current chairs: dag it-praktyk jborean93 jhawkesworth_ nitzmahone 20:25:44 https://github.com/ansible/ansible/pull/48828 20:25:48 jhawkesworth_: starting from Python 3.6 dicts will preserve order by default, so you could rely on that if the Windows support would be offering it too 20:26:06 I hope that all requests for change to the code are implemented now 20:26:19 but if a module relies on that behaviour then it would only really work for specific controller Python versions which is not something we should be doing 20:26:33 Yeah, the hard part is all the other bits in the middle and the fact that we support < 3.6 20:26:47 in 3.7 it is guaranteed 20:26:50 in 3.6 not really 20:26:53 it-praktyk: I'm planning on having a look sometime today 20:27:03 Ghu: ah, I thought it was 3.6+ 20:27:11 So in 2030 when 3.7 is our minimum, we can revisit ;) 20:27:23 * jhawkesworth_ looking forward to being able to move everything to any kind of python 3 20:27:46 same here, py2 can burn in hell 20:27:48 I'll implement the same requested to win_psmodule soon 20:28:04 I think I read it was accidentally the case in py 3.6 but documented as being intentional in 3.7 20:28:05 well, I discussed using odicts by default in Ansible (and using !odict in YAML) very early in the project ;-) 20:28:48 jborean93: py2 is still an active component in you're employer's products though ;-) 20:28:57 s/you're/your/ 20:29:04 Much to our chagrin 20:29:12 I still work with it, doesn't mean I like it 20:29:15 hehe 20:29:52 mercurial not quite ready for py3 other wise I think I could switch now 20:30:28 I find it crazy they still don't support it 20:30:30 our employer owns cygwin too, but you know how we feel about that ;) 20:31:00 probably about the same way as I feel about websphere :-) 20:35:09 ok, any last thing to talk about before bringing this to a close? 20:35:44 not from me (still catching up with windows PRs atm) 20:36:53 Cool, closing in 5... 20:36:59 4... 20:37:04 3... 20:37:06 2... 20:37:09 1... 20:37:14 #endmeeting