19:00:16 #startmeeting ansible core irc public meeting 19:00:16 Meeting started Tue Jan 21 19:00:16 2020 UTC. 19:00:16 This meeting is logged and archived in a public location. 19:00:16 The chair is jillr. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:16 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:00:16 The meeting name has been set to 'ansible_core_irc_public_meeting' 19:00:31 #topic https://github.com/ansible/ansible/pull/65745 19:00:37 felixfontein: you're up! 19:01:16 it's been a bit so we have quite a list, we'll do the best we can do whittle it down 19:01:30 ah, I thought first would be the missing items from last year 19:01:30 * dmellado misses gerrit topics just so much xD 19:01:44 oh did I miss some in the issue, oops... 19:01:47 * jillr rechecks 19:02:14 ah I did 19:02:26 I mainly put up the sanity check PRs (and tremble did too) to get feedback and hopefully approval for them; IMO these should be merged soon so that people know about sanity problems before modules are moved to collections 19:03:00 lets go ahead and look at this one then I'll backtrack to the carry over for the next topic 19:03:09 ok 19:03:28 We're not planning to break 2.9 for folks who haven't migrated off the deprecated stuff, are we? 19:03:37 this one improves the deprecation sanity check, and removes something which should have been removed for ansible 2.9 19:04:00 I guess the question is do you plan to backport the removals? 19:04:00 I wouldn't backport it, but it would be nice if the stuff would be gone in 2.10 ;) 19:04:05 cyberpear: that's what deprecation messages are for ;) 19:04:11 I don't plan to 19:04:30 I would add the deprecation messages and address some date in the future, but *not* do any breakages as of now 19:05:08 the deprecation messages were already there though, for 2.9 removal, right? (still reading) 19:05:17 yep 19:05:36 the problem was that the sanity check for finding deprecation messages wasn't sufficient to find it, and thus it was overlooked 19:06:33 the fix for the sanity check was suggested by sivel in https://github.com/ansible/ansible/issues/65471#issuecomment-561354567 19:07:06 felixfontein: I see 19:07:26 felixfontein: did you happen to find any another violation after the fix? 19:07:58 yes, I created issue(s) for that 19:08:06 awesome, thank you for that! 19:08:14 others were in modules 19:08:35 in any case I do hope that at some point, zuul will be in place and find out all that stuff directly 19:09:13 there's another PR (incomplete) for some stuff which should be removed from Azure modules (https://github.com/ansible/ansible/pull/65749), it's incomplete since it requires massive changes to the tests and I don't want to do that 19:10:00 this change seems sane to me 19:11:22 anyone disagree? 19:13:45 dmellado: what do you think? 19:14:33 jillr seems sane to me 19:14:39 let me check if there's any fragment 19:15:39 yeah, there is, +1 from my side, although I have to admit that I'm totally newbie to Azure 19:15:40 if you mean changelog fragment, yes there is :) 19:16:20 dmellado: the only azure part it touches is a AnsibleModule wrapper which has support for that option which is removed 19:16:51 since none of the bundled Azure modules use that, it should be pretty safe to simply remove it as well 19:16:59 (use that option, I mean) 19:17:48 felixfontein: thanks for the explanation 19:17:52 +1 from my side ;) 19:18:37 thanks jillr and dmellado! 19:18:42 awesome 19:18:49 #topic https://github.com/ansible/ansible/pull/62662 19:18:51 (is nobody else around today?) 19:19:08 hm I dont think jtyr is online 19:19:11 I'll do a rebuild_merge then 19:19:12 heh, not sure tbh, I'm doing 'odd' hours today tbh 19:19:14 ;) 19:19:15 * cyberpear waves 19:19:35 hey cyberpear o/ 19:19:48 ah, sorry I forgot you cyberpear, you already wrote something above :) 19:19:58 (but not my PR under discussion, though :P ) 19:20:39 this one was also extensively discussed previously so we'd probably need more cores present anyway 19:20:40 cyberpear: since both jtyr and akasurde aren't here, your PRs will probably come up next 19:20:48 * Jakski_ waves 19:20:49 ah, already is 19:20:53 I got confused with the PR #... 19:21:34 #topic https://github.com/ansible/ansible/pull/66062 19:22:32 I hope this one is straightforward, and it is probably easiest to review by looking at each commit 19:22:33 62662 and 66062 are easy to confuse 19:22:40 yeah 19:25:33 basically, the PR adjusts the module to use `systemctl is-enabled` as a fallback to check whether a service is a valid systemd service. This removes the requirement for systemd to actually be running, allowing the module to be used during container build 19:26:11 still breaks for systems that have it linked but are not using it as the service manager 19:26:41 bcoca: in that case, the user wouldn't be using the `systemd` module 19:27:21 bcoca: and in that case, the user might have a useless symlink 19:27:22 I have to drop for today folks, cya! o/ 19:27:34 bye dmellado! 19:27:34 depends, service module ... but at that point i would makethem use=sysvinit or other 19:27:36 thanks dmellado, have a good night! 19:27:40 cyberpear: never underestimate the ability for the user to do very silly things 19:28:00 cyberpear: not useless .. but mostly, it is there to fool detection for systems that 'require but dont use systemd' 19:28:18 ... which is stupid itself .. but this is just a chain of stupidity imho ... 19:28:52 agaffney: why should knowledgeable users be prevented from doing work for the sake of those who know what they're doing? 19:28:54 im fine with this change as is 19:29:30 diff isuse would be to update facts/service detection, but once on systemd module , i'm fine with failing and forcing user to actually 'tell us' which srvc mgr they actually want 19:29:54 cyberpear: not stoping, just noting 19:29:57 noteing ? 19:30:01 make a note 19:30:18 agaffney: would you be happier if I add a warning if this code path is met? We already reach a similar path with chroot case, where systemd is running, but not managing the chroot (such as kickstart post scripts) 19:30:18 noting 19:30:33 for this one iwas more worried about valid enabled states, but you tested the older systemd versions 19:30:45 I tested all the way back to the version stated 19:31:11 which is older than any vendor-supported LTS distro with systemd 19:31:22 which sadly is not all the ones out ther .. but im fine with 242 (the problem child) to require older versions of the module 19:31:28 224? 19:31:30 i forget 19:31:54 works all the way back to 195 19:32:14 cyberpear: you seem to be assuming that I was arguing against what you're trying to do. I simple commented that users do silly things 19:32:17 244 seems to be latest 19:32:22 u sure? there were major chanes in status and return codes in early 200s 19:32:23 agaffney: fair enough 19:32:32 this lgtm as well 19:32:44 I tested my change to the module w/ systemd 195 as shipped in Fedora 18 GA release 19:33:06 i looked at my older images and it worked fine also 19:33:15 (which I think is where RHEL 7 was branched) 19:33:29 (current RHEL 7 has systemd-219) 19:33:32 152 was 'problem child' ... found the note 19:33:37 aha! 19:33:48 I hope no one is running that, but I guess... 19:34:09 at what point to we say to long-EOL distros "sorry, we can't support you" 19:34:12 they are ..b ut as i said above, im fine with them being restricted to older ansible 19:34:34 I mean RHEL 5 is still supported by RH until end of Nov, but we dropped support for that in ansible 2.4 19:34:35 cyberpear: at the point tht more pitchforks appear for us to move on vs those that appear for us to stay 19:35:02 .. and we've had pitchforks cause of that .. but not enough to worry us 19:35:23 it sounds like we have agreement on this one? 19:35:28 (I generally keep ansible 2.3 compat w/in roles for the reason of being able to run on the old RHEL 5) 19:35:28 yep 19:35:36 cool, shipit 19:35:43 thanks! 19:35:49 #topic https://github.com/ansible/ansible/pull/66071 19:36:03 still on the topic of systemd :) 19:36:05 so this is the one bcoca is concerned about 19:36:18 this one breaks on my workstation ... 19:36:29 I've modified this so that it only detects systemd if `systemctl` command is available and `/sbin/init` is a symlink to `systemd` 19:36:39 * jillr puts bcoca's workstation into CI ;) 19:36:44 bcoca: have you tested since I made that change? 19:36:57 I made that after you originally tested it 19:37:01 jillr: no one wants to run gentoo/openrc wth docker/f28 with systemd 19:37:04 cyberpear: yes 19:37:24 bcoca: what made the `/sbin/init` link to `systemd`? 19:37:52 the issue is that some combinatiosn of 'non systemd' hsots with 'systemd container os' 'fake link' the init so 'things work' in the container but dont actually use systemd 19:38:00 cyberpear: afaik, docker 19:38:10 bcoca: I'm not familiar enough w/ openrc... wouldn't openrc make its own symlink from /sbin/init? 19:38:15 though i switch back n forth with lxd 19:38:27 cyberpear: on host system, yes, but not for containers 19:38:31 can you do the equivalent of `rpm -qf /sbin/init` to find which package it came from? 19:38:36 systemd 19:39:10 the 'contained' looks like it normally would 19:39:29 its just niot realy executing /sbin/init 19:39:52 i 'could' execute it, but that is not what is used to manage the service 19:40:24 bcoca: the openrc test comes before the systemd-offline test... does that not catch your cases? 19:40:43 bcoca: do you expect it to return sysvinit on your openrc system? 19:41:21 bcoca: does your system run sysvinit? I think sysvinit /always/ uses `/sbin/init`, doesn't it? 19:41:27 no, not using either for services on that docker image 19:42:16 not testing the 'host service manage'r, but the 'conatiner service manager', which many times has 'init is a lie' 19:42:23 so it's not incorrect to say that if systemd is a service manager installed, that that's a reasonably-appropriate `service_mgr` in my mind... it's just as meaningless as `sysvinit` if you aren't actually using a `service_mgr` at all 19:43:00 cyberpear: i also have both upstart and systemd installed on same container 19:43:03 especially if systemd is installed in the container but sysvinit is not 19:43:29 sysvinit is the fallback cause openrc/upstart/systemd/etc all fall back to init scripts 19:43:33 bcoca: does upstart run w/in a container? 19:43:41 yes, not easy, but also does systemd 19:44:01 there are good instructions on doing both ... just not for feint of heart 19:44:09 Red Hat added dumb-init to the rhel6-init container rather that the RHEL6-native upstart 19:44:50 which i've also found to give false positives, mostly we fallback to sysvinit in those cases 19:44:54 bcoca: can you point a dockerhub link to a container w/ both upstart and systemd so I can test? 19:45:14 not that i know of, i had to build all from scratch 19:45:43 do you know of any real-world examples where my PR might break something? 19:46:19 for start, mine, which was created due to user complaints, i mostly mirrored what they had 19:46:26 containers running x service 19:47:09 could you provide an issue link? -- I searched for issues on the topic but didn't find anything supecificalyl related... this code has been virtually unchanged since it was introduced to ansible 19:47:38 most of the code came from service module, it has changed a lot, just not in current location 19:47:40 I mean, I could install an opensuse container w/ systemd and make /sbin/init as symlink to /bin/bash, but that would be contrived, and w/ this PR, it would default to `sysvinit` 19:47:52 also facts revamp moved this code from original positin 19:48:02 yeah, I followed it back past the facts revamp 19:48:03 does it make sense to continue this discussion here? 19:49:03 does anyone else have any opinion? -- it seems pretty reasonable to me that if /sbin/init is a symlink to systemd, that the system `service_mgr` is reasonably expected to be systemd. 19:49:09 cyberpear: it mostly was not 'standard setups' but people that went through the trouble of runnign systemd and upstart under docker .. which i challenge their sanity .. it took me along time to setup same and there are no good instructions out there (xcept for fedora) 19:49:10 or an alternate approach? 19:49:56 https://developers.redhat.com/blog/2016/09/13/running-systemd-in-a-non-privileged-container/ 19:49:56 cyberpear: sorry no... I'm not using init systems in containers or strange setups :) 19:50:25 ^ well, that is the other side of coin, most 'container theory' go against service managers, since 'the container is the service'TM 19:50:49 so container mangment software is designed to 'lie' in the first place 19:51:03 indeed, but it's super useful for testing w/o needing overhead of a full VM 19:51:07 cyberpear: i have not found a way that passes the corner cases i have 19:51:26 cyberpear: which is one reason i use them as 'light weight vms' .. which goes against 'container theory' 19:51:42 tbh it sounds like this one is a lot of edge cases, and I dont feel familiar enough with them to really weigh in 19:51:46 its a lot faster than spinning up full vms just to test systemd and upstart 19:51:53 I'd argue that running ansible to build a container as described in the linked article (using such as ansible-bender) is less of an edge case... 19:52:08 jillr: sadly 'service managers' + 'containers' is ALL edge cases 19:52:16 takes me 3 seconds to spin up a systemd container 19:52:19 yarly 19:52:35 okay, let's table until next time when maybe more folks will weigh in? 19:52:50 sorry cyberpear, thanks for putting the worl into it! 19:52:50 (so we can get to felixfontein PRs) 19:52:52 *work 19:52:57 cyberpear: once you find out how to do it, lot easier to autmoate, but not that easy to find instructions on running upstart inside container 19:52:59 (and maybe even tremble's) 19:53:13 #topic https://github.com/ansible/ansible/pull/65747 19:53:27 `podman run -d ubi7-init` `podman exec -it -l` 19:53:40 that PR is a revival of a PR by sivel, it does stricter argument_spec checking 19:53:43 ^ i have playbook with the RH link above, but didnt do it for upstart 19:53:43 ^ literally that simple; RH did all the work to set it up for us 19:53:45 (with schema validation) 19:54:12 (ignore.txt is out of date, I'll fix that before merging otherwise it's just outdated again when it's time for merging...) 19:54:14 * bcoca has not touched podman yet 19:54:30 felixfontein: i have 2 abandoned PRs just cause of ignore.txt 19:54:39 podman allows to install a docker CLI replacement which breaks (or at least broke) the docker connection plugin 19:55:00 wee 19:55:06 (wouldn't surprise me) 19:55:23 bcoca: one of them https://github.com/ansible/ansible/pull/58646 ? I can update it, but it would be nice if someone else could OK it so merging will be fine 19:56:09 i have been waiting for 'someone else' months ... 19:56:21 anyway, I think it's really important to get most ansible-test changes merged ASAP so that there will be less trouble when modules are moved to other repositories 19:56:53 dag: any comment on the current form of https://github.com/ansible/ansible/pull/58646 ? 19:59:05 anyone wants to comment on sanity tests? 20:00:06 sorry felixfontein, still reading through your pr. I'm not as familiar with the schema validation code so it's taking some digesting. 20:00:41 ah and we're at the top of the hour 20:02:10 I'm going to say +0 just for needing more time to dig into it 20:02:28 ok 20:02:43 I'm not aware of any reason we wouldnt have the usual Thur meeting this week though so hopefully folks can dig into it before then 20:02:55 thanks everyone! 20:02:59 #endmeeting