20:00:00 <nitzmahone> #startmeeting Ansible Windows Working Group
20:00:00 <zodbot> Meeting started Tue Aug 23 20:00:00 2022 UTC.
20:00:00 <zodbot> This meeting is logged and archived in a public location.
20:00:00 <zodbot> The chair is nitzmahone. Information about MeetBot at https://fedoraproject.org/wiki/Zodbot#Meeting_Functions.
20:00:00 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
20:00:00 <zodbot> The meeting name has been set to 'ansible_windows_working_group'
20:00:03 <nitzmahone> bam
20:00:06 <nitzmahone> #chair jborean93
20:00:06 <zodbot> Current chairs: jborean93 nitzmahone
20:00:06 <briantist> hi
20:00:10 <nitzmahone> hey hey
20:00:12 <nitzmahone> #info agenda https://github.com/ansible/community/issues/644
20:00:15 <jborean93> hey
20:00:17 <nitzmahone> nothing new...
20:00:20 <jborean93> still got it
20:00:21 <nitzmahone> #topic open floor
20:00:50 <jborean93> maybe https://github.com/ansible-collections/community.windows/pull/425#pullrequestreview-1071047710
20:01:13 <briantist> I think you tagged me last week when I was out of town,
20:01:28 <jborean93> yea I briefly brought it up but didn't go too into it
20:02:11 <nitzmahone> I'd agree that in the absence of another arg to explicitly change the source for the module deps, it should use whatever the requested source was
20:02:22 <jborean93> to me this aligns the behaviour with how `win_chocolatey` works when `source` is defined
20:03:09 <jborean93> or at least in scenarios where the source is a URI and it tries to find `{source]/install.ps1`
20:03:31 <jborean93> if the source doesn't have PowerShellGet/PackageManagement then they can always just add it in there
20:03:55 <briantist> I don't disagree, but it is a breaking change in behavior, I think the change will cause issues for some small subset of playbooks, whose first installed module is from a private repo, and when the bootstrap is needed. Today, it would be successful because PSGet will search all repositories, with the change, it will fail unless the pre-reqs were in the private
20:04:14 <briantist> there are a lot of workarounds for sure, like installing pre-reqs first
20:05:01 <nitzmahone> We have similar kinds of issues with many modules that try to bootstrap themselves- the auto-bootstrapping is great until you have to change something about it :D
20:05:07 <briantist> in the end, I'm not too broken up about the change and I'm not actually intending to argue strongly to keep it the way it is, just want to be sure it'd made with intention; it should be done in a major version release
20:05:25 <briantist> nitzmahone: actually yeah, my real feeling is that this module shouldn't be doing that automatic bootstrapping at all, but...
20:05:50 <nitzmahone> Yeah, the whole security/convenience tradeoff
20:05:54 <jborean93> I wouldn't go so far to say a major version release. I can see how it might break things but I would argue the previous behaviour of ignoring `source` was a bug
20:06:16 <jborean93> the fact it only upgrades if one of the newer arguments is specified makes it less of an impact
20:06:23 <nitzmahone> (potentially a CVE-worthy one if someone were to go to the trouble ;) )
20:07:04 <briantist> it wouldn't have ignored the source, it actually would have used all sources, and if PSGallery was left as a possible source, and the pre-reqs existed in the private, the whole operation would have failed
20:07:25 <jborean93> but talking to the PSGallery could not be something you want, maybe you only approved a subset of versions
20:07:39 <briantist> if you don't want it, then PSGallery should be removed :)
20:07:55 <jborean93> hard to remove when `win_psrepository` won't work without the newer version installed
20:08:10 <nitzmahone> yay for chicken/egg setup issues
20:08:11 <jborean93> or at least needs to be done with a `win_shell/win_powershell` task that implements it's own idempotency
20:08:36 <briantist> heh, yeah, these implementations are not perfect to be sure
20:09:11 <briantist> anyway, I don't need to argue it further, I think all the possibilities are clear
20:09:17 <nitzmahone> But I think with that change it's a lot more secure by default for those who like their tinfoil hats
20:09:26 <briantist> so I'm fine with either decision in that case
20:09:32 <jborean93> cool
20:09:52 <nitzmahone> (and still does the magic for folks who didn't specify otherwise)
20:10:58 <jborean93> this wouldn't be much of a problem if they actually upgraded the shipped version on new Windows to something that isn't a buggy mess
20:11:03 <briantist> if issues come up, one workaround I might suggest is an extra task with `win_psmodule` explicitly installing `powershellget` and `packagemanagement`, and then follow it up with the task installing the private
20:11:18 <jborean93> that's somewhat what I did in the tests
20:11:52 <jborean93> just a single task to deal with the bootstrapping https://github.com/ansible-collections/community.windows/blob/17792ae27c174eabb39d9892a1c9769b41d241f0/tests/integration/targets/setup_win_psget/tasks/main.yml#L112-L117
20:12:22 <jborean93> if they want it from the PSGallery they can do that but omit `repository`
20:12:50 <briantist> the fact you had to, is kind of what I was getting at, some folks who don't have this now will probably need it. So having the workarounds ready in case issues come up is a good idea 👍
20:13:23 <jborean93> I didn't have to, this just ensures the setup task actually works without having to replicate the same code in all that calls it
20:13:48 <briantist> you're right, my mistake
20:14:02 <jborean93> all good
20:14:20 <nitzmahone> I was going to sign up for an Ask the Experts session at Fest (one of my favorite things to do at every fest since 2015, and gives me a good reason to go to Fest since I'm still not giving a talk), but they don't even have any core or Windows-specific sessions scheduled- the topic areas are all overly generic, and I'm not going to be much use helping people debug their Tower network device workflows or whatever... :(
20:15:10 <briantist> :'(
20:15:21 <nitzmahone> So at least as of now I'm not planning to even go
20:15:23 <bcoca> same, i didnt see any topic i could register for
20:15:35 <jborean93> that seems to be how the last physical fest was
20:15:47 <jborean93> was generic Ask the Expert or more AAP/product based stuff
20:15:58 <briantist> ah, that's a shame.. well I'll be there
20:16:18 <jborean93> hope you enjoy it
20:16:29 <nitzmahone> I might poke the folks that are organizing it just to be like "uh, yknow, people still actually have to write playbooks..."
20:16:44 <briantist> heh, that's a good idea
20:17:32 * nitzmahone is in the middle of rewriting a chunk of ansible-builder to let you use vanilla base images
20:18:02 <briantist> I kind alike how AWS separates there talks and sessions into 100, 200, 300, 400 level
20:18:04 <bcoca> nitzmahone: funny, many people approach tower/controller as a gui so they dont need to write playbooks
20:18:14 <jborean93> I'll be off for the next 3 meetings as well
20:18:17 <briantist> I would definitely sign up for 300/400 level Ansible stuff
20:18:27 <jborean93> (and the weeks so the collections won't get any action during then)
20:18:36 <nitzmahone> bcoca; ... and they're usually painfully surprised when they find out they won't get far that way :D
20:18:52 <bcoca> levles: what is ansible,  fix my playbook,  how to loadblaance app,   hey, i know how blocks work!
20:19:04 <bcoca> nitzmahone: i revel in that suprise
20:19:04 <briantist> :p
20:19:16 <nitzmahone> briantist: yeah, we used to mark the topics as beginner/intermediate/advanced, but I haven't seen how they're doing it this year
20:20:13 <nitzmahone> A lot of the folks behind the original AnsibleFests have gotten promoted to other event/marketing stuff at RH, so I don't know who's running it anymire
20:20:33 * nitzmahone misses Carrie
20:21:03 * bcoca also misses Carrie
20:21:23 <nitzmahone> Anyway, it's still possible I *might* end up going, but dunno ATM
20:21:59 <bcoca> ^ only reason i go to fests/office is cause nitzmahone brings board games
20:22:03 <briantist> I can only say I owe you all drinks, so..... there's that 🥂🍻
20:22:15 <nitzmahone> (also the first physical fest since 2015 that I haven't given a talk at, but maybe I'll come up with something to show before then :D )
20:22:47 <jborean93> I was hoping to do a talk on the debugger stuff I've been working on but travel is hard for me being so far
20:22:48 <nitzmahone> Yeah, totally gonna hunt you down if I do end up going-
20:23:15 <bcoca> jborean93: we need that tardis now!
20:23:23 <nitzmahone> jborean93: I bet if you demo what you have to a couple folks they'll cough up a plane ticket
20:23:39 <briantist> jborean93: yeah I hear that... maybe they will do one in Australia one year.. I would definitely try to go to that :)
20:23:59 <bcoca> i'll also take new zealand
20:24:08 <nitzmahone> Was the last time I saw you at the Durham office in 2019?
20:24:23 <nitzmahone> It's probably been at least 4 years since I've seen bcoca in person
20:24:38 <jborean93> I saw you last at fest in 2019, I've only been to the Durham office in 2017
20:24:56 <nitzmahone> ah right- it's all a blur :D
20:25:58 <nitzmahone> I think we did an Ansible Automates or two in Sydney/Melbourne awhile back
20:26:02 <bcoca> nitzmahone: probably more , 2019 was my sister's wedding so i missed office meeting
20:26:11 <bcoca> probably 2017?
20:26:18 <nitzmahone> yeah, that sounds about right
20:26:28 <jborean93> yea I did one of those I think in 18 but haven't done any others
20:26:32 <bcoca> i mean 2015
20:26:39 <bcoca> 2017 was the wedding ...
20:26:43 <jborean93> I've yet to meet bcoca in person
20:26:48 <nitzmahone> he's a bot ;)
20:26:53 <bcoca> jborean93: you are not missing much
20:27:13 <jborean93> heh
20:27:29 <bcoca> i think the only one that can vouch im sstill a human is sloane, we met for session before pandemic
20:27:32 <briantist> based on the IRC responses, bcoca is an AI trained on the Ansible source code
20:27:58 <nitzmahone> ... such a thing may or may not exist, actually
20:28:04 <briantist> 👀
20:29:17 <nitzmahone> ... "That's all I have to say about that..."
20:30:29 <briantist> there's one other small Windows-related thing I have, I'm currently reviewing this collection for inclusion into the Ansible package, I think it will be the first outside `c.w` and `a.w` to contain PowerShell modules: https://github.com/lowlydba/lowlydba.sqlserver
20:31:00 <briantist> so that's kind of exciting
20:31:06 <nitzmahone> noice
20:31:11 <nitzmahone> CI for that must be a bear :D
20:31:22 <briantist> it was! I helped set it up
20:31:29 <nitzmahone> `ACCEPT_EULA=1` ;)
20:31:29 <jborean93> I did briefly see that, does it still use the custom connection plugin for cross platform support?
20:32:03 <briantist> yes! that's one of the most interesting things about it, is that every module is tested both on Windows and also running on the controller using that hacked connection plugin :)
20:32:37 <nitzmahone> heh, love the Ⓐ in the CI jobs :D
20:32:41 <briantist> and I know that at least at my company, it's used exclusively that way (pwsh on the controller)
20:33:06 <briantist> the Ⓐ came from the original collection template's GHA heh
20:33:22 <briantist> it's nice, because long names really don't display well
20:34:28 * nitzmahone remembers Bill's PRs adding emoji to core task names :D
20:34:49 <bcoca> ^ i still think we should have rejected that ...
20:34:56 <nitzmahone> there were a lot of 💩 tests in there
20:35:10 <nitzmahone> (literally)
20:35:11 <bcoca> we did draw the line on 'emoji modules'
20:35:22 <jborean93> will have to keep an eye on it, briefly looking at it yesterday showed a lot of promise and good polish
20:35:22 <nitzmahone> it's only a matter of time
20:36:00 <briantist> someone in work chat was amazed at how groovy allowed a sentence as a method name
20:36:01 <bcoca> nitzmahone: if we ever do, i'll replace lineinfile name with :turd:
20:36:15 <briantist> then I started demonstrating valid method names in powershell 😈
20:36:27 <nitzmahone> and `synchronize` with 😱
20:36:34 <nitzmahone> at least an alias ;)
20:37:18 <briantist> there's basically no restrictions... I made names with emoji, with null characters, newlines, zalgo text, etc. All valid and working
20:37:41 <briantist> tab-complete also handled them all
20:38:20 * bcoca writees a module named - (unicode dash)so - - is now a valid task!
20:38:30 <briantist> love it
20:39:55 <jborean93> yea powershell is pretty flexible with all that stuff, you can do some really weird things
20:40:22 <briantist> yeah, in variable names too
20:42:21 <jborean93> anything else we want to talk about, if not I'll close the meeting
20:42:30 <briantist> nothing else from me
20:42:56 <jborean93> cool, enjoy the rest of your day
20:42:58 <jborean93> #endmeeting