20:00:12 #startmeeting Windows Working Group 20:00:13 Meeting started Tue Oct 31 20:00:12 2017 UTC. The chair is nitzmahone. Information about MeetBot at http://wiki.debian.org/MeetBot. 20:00:13 Useful Commands: #action #agreed #halp #info #idea #link #topic. 20:00:13 The meeting name has been set to 'windows_working_group' 20:00:36 hey 20:00:42 hey, you made it :) 20:01:18 yeah, couple of days back at school, kids getting used to clock change 20:02:31 #chair jborean93 jhawkesworth_ 20:02:31 Current chairs: jborean93 jhawkesworth_ nitzmahone 20:03:38 Looks like the only item on the agenda is https://github.com/ansible/community/issues/195#issuecomment-340721209 20:03:54 @pablodav[m] - you here? 20:03:55 Looks like pablodav[m] is in the channel not sure if he is online 20:03:56 o/ 20:04:05 Dag! 20:04:10 #chair dag 20:04:10 Current chairs: dag jborean93 jhawkesworth_ nitzmahone 20:04:11 hey dag 20:04:15 hey 20:04:20 it's halloween ! 20:04:28 It's the 1st over here 20:04:31 only just got back 20:04:42 Had no trick or treaters last night, more candy for me 20:04:46 * nitzmahone has projectors in the front window with giant moving eyeballs 20:05:06 Haha, the projectors were definitely a good buy 20:05:20 Yeah, I'm finding all sorts of uses for them now that I own them 20:06:07 Well, WRT the Python-modules-on-Windows thing: I hadn't really thought about it much, but that might be a much better use of time than trying to build a parallel Git module... (for instance) 20:06:43 I fear that if we support it then people will use it for things that won't work on windows and then raise issues about that 20:06:46 The only nasty bit I could see there is if we run into something where we need Windows-specific behavior, as getting that from Python will likely be MUCH harder 20:07:42 If we ever have a native Windows controller, it's probably something we're gonna have to think about anyway, if we want playbooks that do, eg, `local_action: (some *nix module thing)` to work right 20:07:52 That problem is one of the stickier ones 20:08:16 indeed 20:08:35 Is there anything in basic.py that won't work in Windows. I haven't looked at it so far 20:08:41 I guess I'd say if someone wants to go to the trouble to test it out and submit fixes to make it work, I'd probably be inclined to take them, but I wouldn't go so far as to say it's supported 20:08:46 There are a few things IIRC 20:09:11 I think there's some weird istty() stuff that might break, but been awhile since I looked or tried it 20:09:51 I *really* hate the thought of building a parallel `win_git` module though 20:10:15 Anyone else have thoughts on that? 20:10:20 It would be nice to be able to use some of the cloud modules as well 20:10:25 +1 20:10:44 not really looked at how cross platform file handling is. A lot of modules will do at least something with files 20:10:53 so that would be a concern 20:11:13 Yeah, seems like there should be a warning or some other form of caution tape 20:11:18 yea things like mode will probably blow up 20:11:24 ps has a go at handling either / or \ for separators, not sure what python does 20:11:46 It has a path separator global field that we'd probably have to use 20:12:22 It'd be interesting to see how badly busted it is, but I don't have the b/w for that right now 20:12:23 plus with no platform supplied or endorsed python version for windows.. would we wind up with 'well this works with anaconda but not with ... erm, can't think of any other python versions for windows now I've started typing this. 20:13:00 I think it's a nice to have but not something we can really do anytime soon 20:13:15 People can always install cygwin 20:13:17 * jborean93 shudders 20:13:31 WSL over cygwin every time 20:14:05 if we start supporting python modules, we might as well introduce support for other core modules too 20:14:28 step by step 20:14:57 Trouble will be coming across things like ACL's which are completely different on Windows 20:15:01 yep 20:15:10 jborean93: correct, but that's already abstracted 20:15:23 the problem is the interface :-/ 20:15:24 Is it? 20:15:25 If you thought P/Invoke was bad, wait til you have to write a C extension to call that stuff :D 20:15:37 which is very unix-like 20:15:49 well you'd use win_acl since it exists 20:15:59 Right, but more stuff inside existing modules 20:16:11 But you will get someone using `file`, and trying to set the mode then complaining it doesn't work 20:16:14 well, let's not worry about it now 20:16:26 but it would be nice to say where we draw the line 20:16:34 or why we would support one thing, and not the other 20:16:39 Yep- for now I'd say "PRs welcome", no commitment of support 20:16:41 (or how far we would go) 20:16:53 and it's not completely up to us either 20:17:05 will maintainers be willing to support it 20:17:08 Also true 20:17:13 I can imagine some may not bother, others may object 20:17:33 Judging by how people usually feel about Windows, I feel it will be the latter in the majority of cases :) 20:17:39 Pretty sure none of us has bandwidth for it for 2.5, so probably moot unless someone else wants to dig in 20:18:18 I'd imagine so long as the added overhead is small, people would be fine with it, but if the module size doubles with a giant `if windows:` block, there'd be some hollering ;D 20:18:30 nope, but we could think about the rules, and discuss with core people (without starting a real proposal ;-)) 20:18:40 indeed 20:18:46 that could be a rule 20:18:53 Moot point without getting the "basics" of basic.py patched up anyway 20:19:13 indeed 20:19:32 we could be doing some basic simple modules just for testing, while we discuss with core people 20:19:50 as a demonstration of what is possible, with basic.py changes 20:20:08 As my grandfather used to say, "Who's we? You got a turd in your pocket?" 20:20:12 ;) 20:20:15 but I fear if it is a real proposal, or something that is in the CHANGELOG, we'll be attracting people for the sake of it 20:20:30 right ;-) 20:20:31 "attractive nuisance" 20:21:48 feels like there's a fairly big chunk of groundwork needed and even with that in place no guarantee that adding windows support will be mergeable 20:21:56 I'm leaning toward "do nothing" at the moment, but wouldn't mind exploring that at some point to at least get the basics working again (pre Ansiballz, it did work on Windows) 20:22:32 we can turn off ansiball-z cant't we? 20:22:38 * nitzmahone wonders how well `git + recursive win_copy` would work 20:22:46 Not exactly 20:22:55 didn't work well pre 2.4 20:23:00 The wrapper is always there- you can't go back to the pre 2.1 no-wrapper behavior 20:23:03 Took over 15 minutes for a smallish repo 20:23:17 Not with the new zip copy though, right? 20:23:24 It should be a lot better 20:23:40 But IIRC you came across an issue when there are too many files that exceeded some JSON limit 20:23:43 Basically whatever the compressed copy of the repo takes to transfer plus the zip/unzip overhead 20:24:03 Yeah, that's probably something we should revisit at some point 20:24:23 (the max size of the stat response) 20:24:56 Do you remember if it was a `ConvertTo-Json` limit or something else? 20:25:14 yeah really, if the use case is git, probably a lot simpler to do git stuff on the ansible controller and push or pull results onto the windows boxes. 20:25:21 Yeah, I think it was the maximum number of elements in the graph or something like that 20:26:02 jhawkesworth_: It's certainly a decent workaround for now (esp with the butt-kickin' fast recursive win_copy now) 20:26:14 "fast" 20:26:44 Still got the WinRM restrictions around speed 20:27:17 I work at an hg shop, fortunately everywhere I need to do stuff with an hg repo I have linux (just as well as hg module is a bit feature light anyway). 20:27:29 Yeah, but improving from a week and a half to a few seconds is a nice bump 20:28:09 OK, anything else for today? 20:28:12 #topic open floor 20:28:15 mind the ga 20:28:18 *gap 20:28:45 between the train and the platform edge 20:28:57 http://www.powercallsirens.com/avactis-images/openfloor.jpg 20:29:09 Just a side note, reworking the symlink stuff so hopefully we have that in for 2.5 20:29:39 Also planning on taking a stab at win_uri as there are a few open issues around that 20:29:53 Just in case anyone's not aware, 2.5 living roadmap is at https://github.com/ansible/ansible/projects/9 20:30:14 I'm back to trying to finish off the auth options docs. 20:30:48 jhawkesworth_: you know the devel docs have been updated? 20:31:20 I saw your PR, but thanks I'll need to update my branch. 20:31:24 http://docs.ansible.com/ansible/devel/windows.html 20:31:25 jborean93: we really need the httptester service if we want proper testing 20:31:34 it's been the reason why I haven't continued the work 20:31:53 dag: I know, we need at least something in there though 20:31:55 not sure if mattclay has it on its todo-list... 20:32:18 same for win_geturl, we don't have decent tests because of this :-( 20:32:26 There was an `elif` that broke devel which wasn't picked up and because there were no tests at all we missed it 20:32:42 jborean93: yeah, I still feel bad about that one... 20:32:54 damn Python programmers ;) 20:33:01 but I was told not to target anything on the Internet 20:33:03 eh, it didn't make it in a release and I didn't probably test it. I've done worse 20:33:38 shouldn't be too much work to make httptester available though 20:34:00 If it is in Python it might be a bit difficult. I was going to see how it is currently set up and what we can do 20:34:32 jborean93: it's a service in docker which is not accessible from the VM's afaiwt 20:34:58 I'll talk to Matt when he's back 20:35:08 jborean93: so it's just a matter of making sure it's accessible from another network (routing/filtering) 20:35:28 don't know the infra, so... 20:35:50 als we discussed in London having our own infra 20:35:56 so maybe that's the real blocker 20:36:08 might just need to add it to the Windows CI tasks but he would be the best to talk to 20:36:15 the Amazon VM stuff is/was too expensive 20:37:59 Anything else before we wrap up? 20:38:26 not from me 20:39:06 I'm all good 20:39:24 5 20:39:26 4 20:39:29 3 20:39:31 2 20:39:34 1 20:39:42 Thanks all- have a great week! 20:39:45 #endmeeting