20:00:12 <nitzmahone> #startmeeting Windows Working Group
20:00:13 <zodbot> 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 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
20:00:13 <zodbot> The meeting name has been set to 'windows_working_group'
20:00:36 <jhawkesworth_> hey
20:00:42 <jborean93> hey, you made it :)
20:01:18 <jhawkesworth_> yeah,  couple of days back at school, kids getting used to clock change
20:02:31 <nitzmahone> #chair jborean93 jhawkesworth_
20:02:31 <zodbot> Current chairs: jborean93 jhawkesworth_ nitzmahone
20:03:38 <jborean93> Looks like the only item on the agenda is https://github.com/ansible/community/issues/195#issuecomment-340721209
20:03:54 <nitzmahone> @pablodav[m] - you here?
20:03:55 <jborean93> Looks like pablodav[m] is in the channel not sure if he is online
20:03:56 <dag> o/
20:04:05 <nitzmahone> Dag!
20:04:10 <nitzmahone> #chair dag
20:04:10 <zodbot> Current chairs: dag jborean93 jhawkesworth_ nitzmahone
20:04:11 <jhawkesworth_> hey dag
20:04:15 <jborean93> hey
20:04:20 <dag> it's halloween !
20:04:28 <jborean93> It's the 1st over here
20:04:31 <dag> only just got back
20:04:42 <jborean93> 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 <jborean93> Haha, the projectors were definitely a good buy
20:05:20 <nitzmahone> Yeah, I'm finding all sorts of uses for them now that I own them
20:06:07 <nitzmahone> 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 <jborean93> 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 <nitzmahone> 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 <nitzmahone> 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 <nitzmahone> That problem is one of the stickier ones
20:08:16 <dag> indeed
20:08:35 <jborean93> Is there anything in basic.py that won't work in Windows. I haven't looked at it so far
20:08:41 <nitzmahone> 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 <nitzmahone> There are a few things IIRC
20:09:11 <nitzmahone> I think there's some weird istty() stuff that might break, but been awhile since I looked or tried it
20:09:51 <nitzmahone> I *really* hate the thought of building a parallel `win_git` module though
20:10:15 <nitzmahone> Anyone else have thoughts on that?
20:10:20 <jborean93> It would be nice to be able to use some of the cloud modules as well
20:10:25 <nitzmahone> +1
20:10:44 <jhawkesworth_> not really looked at how cross platform file handling is.  A lot of modules will do at least something with files
20:10:53 <jhawkesworth_> so that would be a concern
20:11:13 <nitzmahone> Yeah, seems like there should be a warning or some other form of caution tape
20:11:18 <jborean93> yea things like mode will probably blow up
20:11:24 <jhawkesworth_> ps has a go at handling either / or \ for separators, not sure what python does
20:11:46 <nitzmahone> It has a path separator global field that we'd probably have to use
20:12:22 <nitzmahone> 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 <jhawkesworth_> 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 <jborean93> I think it's a nice to have but not something we can really do anytime soon
20:13:15 <jborean93> People can always install cygwin
20:13:17 * jborean93 shudders
20:13:31 <jhawkesworth_> WSL over cygwin every time
20:14:05 <dag> if we start supporting python modules, we might as well introduce support for other core modules too
20:14:28 <dag> step by step
20:14:57 <jborean93> Trouble will be coming across things like ACL's which are completely different on Windows
20:15:01 <nitzmahone> yep
20:15:10 <dag> jborean93: correct, but that's already abstracted
20:15:23 <dag> the problem is the interface :-/
20:15:24 <jborean93> Is it?
20:15:25 <nitzmahone> If you thought P/Invoke was bad, wait til you have to write a C extension to call that stuff :D
20:15:37 <dag> which is very unix-like
20:15:49 <jhawkesworth_> well you'd use win_acl since it exists
20:15:59 <nitzmahone> Right, but more stuff inside existing modules
20:16:11 <jborean93> But you will get someone using `file`, and trying to set the mode then complaining it doesn't work
20:16:14 <dag> well, let's not worry about it now
20:16:26 <dag> but it would be nice to say where we draw the line
20:16:34 <dag> or why we would support one thing, and not the other
20:16:39 <nitzmahone> Yep- for now I'd say "PRs welcome", no commitment of support
20:16:41 <dag> (or how far we would go)
20:16:53 <dag> and it's not completely up to us either
20:17:05 <dag> will maintainers be willing to support it
20:17:08 <nitzmahone> Also true
20:17:13 <dag> I can imagine some may not bother, others may object
20:17:33 <jborean93> Judging by how people usually feel about Windows, I feel it will be the latter in the majority of cases :)
20:17:39 <nitzmahone> 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 <nitzmahone> 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 <dag> nope, but we could think about the rules, and discuss with core people (without starting a real proposal ;-))
20:18:40 <dag> indeed
20:18:46 <dag> that could be a rule
20:18:53 <nitzmahone> Moot point without getting the "basics" of basic.py patched up anyway
20:19:13 <dag> indeed
20:19:32 <dag> we could be doing some basic simple modules just for testing, while we discuss with core people
20:19:50 <dag> as a demonstration of what is possible, with basic.py changes
20:20:08 <nitzmahone> As my grandfather used to say, "Who's we? You got a turd in your pocket?"
20:20:12 <nitzmahone> ;)
20:20:15 <dag> 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 <dag> right ;-)
20:20:31 <nitzmahone> "attractive nuisance"
20:21:48 <jhawkesworth_> 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 <nitzmahone> 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 <jborean93> 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 <nitzmahone> Not exactly
20:22:55 <jborean93> didn't work well pre 2.4
20:23:00 <nitzmahone> The wrapper is always there- you can't go back to the pre 2.1 no-wrapper behavior
20:23:03 <jborean93> Took over 15 minutes for a smallish repo
20:23:17 <nitzmahone> Not with the new zip copy though, right?
20:23:24 <jborean93> It should be a lot better
20:23:40 <jborean93> But IIRC you came across an issue when there are too many files that exceeded some JSON limit
20:23:43 <nitzmahone> Basically whatever the compressed copy of the repo takes to transfer plus the zip/unzip overhead
20:24:03 <nitzmahone> Yeah, that's probably something we should revisit at some point
20:24:23 <nitzmahone> (the max size of the stat response)
20:24:56 <jborean93> Do you remember if it was a `ConvertTo-Json` limit or something else?
20:25:14 <jhawkesworth_> 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 <nitzmahone> Yeah, I think it was the maximum number of elements in the graph or something like that
20:26:02 <nitzmahone> jhawkesworth_: It's certainly a decent workaround for now (esp with the butt-kickin' fast recursive win_copy now)
20:26:14 <jborean93> "fast"
20:26:44 <jborean93> Still got the WinRM restrictions around speed
20:27:17 <jhawkesworth_> 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 <nitzmahone> Yeah, but improving from a week and a half to a few seconds is a nice bump
20:28:09 <nitzmahone> OK, anything else for today?
20:28:12 <nitzmahone> #topic open floor
20:28:15 <nitzmahone> mind the ga
20:28:18 <nitzmahone> *gap
20:28:45 <gundalow> between the train and the platform edge
20:28:57 <nitzmahone> http://www.powercallsirens.com/avactis-images/openfloor.jpg
20:29:09 <jborean93> Just a side note, reworking the symlink stuff so hopefully we have that in for 2.5
20:29:39 <jborean93> Also planning on taking a stab at win_uri as there are a few open issues around that
20:29:53 <nitzmahone> Just in case anyone's not aware, 2.5 living roadmap is at https://github.com/ansible/ansible/projects/9
20:30:14 <jhawkesworth_> I'm back to trying to finish off the auth options docs.
20:30:48 <jborean93> jhawkesworth_: you know the devel docs have been updated?
20:31:20 <jhawkesworth_> I saw your PR, but thanks I'll need to update my branch.
20:31:24 <nitzmahone> http://docs.ansible.com/ansible/devel/windows.html
20:31:25 <dag> jborean93: we really need the httptester service if we want proper testing
20:31:34 <dag> it's been the reason why I haven't continued the work
20:31:53 <jborean93> dag: I know, we need at least something in there though
20:31:55 <dag> not sure if mattclay has it on its todo-list...
20:32:18 <dag> same for win_geturl, we don't have decent tests because of this :-(
20:32:26 <jborean93> 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 <dag> jborean93: yeah, I still feel bad about that one...
20:32:54 <nitzmahone> damn Python programmers ;)
20:33:01 <dag> but I was told not to target anything on the Internet
20:33:03 <jborean93> eh, it didn't make it in a release and I didn't probably test it. I've done worse
20:33:38 <dag> shouldn't be too much work to make httptester available though
20:34:00 <jborean93> 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 <dag> jborean93: it's a service in docker which is not accessible from the VM's afaiwt
20:34:58 <jborean93> I'll talk to Matt when he's back
20:35:08 <dag> jborean93: so it's just a matter of making sure it's accessible from another network (routing/filtering)
20:35:28 <dag> don't know the infra, so...
20:35:50 <dag> als we discussed in London having our own infra
20:35:56 <dag> so maybe that's the real blocker
20:36:08 <jborean93> might just need to add it to the Windows CI tasks but he would be the best to talk to
20:36:15 <dag> the Amazon VM stuff is/was too expensive
20:37:59 <nitzmahone> Anything else before we wrap up?
20:38:26 <jhawkesworth_> not from me
20:39:06 <jborean93> I'm all good
20:39:24 <nitzmahone> 5
20:39:26 <nitzmahone> 4
20:39:29 <nitzmahone> 3
20:39:31 <nitzmahone> 2
20:39:34 <nitzmahone> 1
20:39:42 <nitzmahone> Thanks all- have a great week!
20:39:45 <nitzmahone> #endmeeting