19:01:37 #startmeeting Ansible Core Public IRC Meeting https://github.com/ansible/community/issues/528 19:01:37 Meeting started Tue Mar 24 19:01:37 2020 UTC. 19:01:37 This meeting is logged and archived in a public location. 19:01:37 The chair is jillr. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:37 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:01:37 The meeting name has been set to 'ansible_core_public_irc_meeting_https://github.com/ansible/community/issues/528' 19:02:35 is @giner present? 19:04:16 * felixfontein waves 19:04:26 (I'm not giner though :) ) 19:04:36 * cyberpear waves, is also not giner 19:04:39 they haven't joined any meetings afaik for 3 weeks, I'm going to mark that item off and they can re-add it if/when they can attend a meeting 19:05:41 bcoca: we didn't mark off 66650 last week, was there anything to do here or can this be well and truly done? 19:06:20 that might be my fault for not check boxing it, I was still unsure what we were doing with it even after the meeting 19:06:28 same here 19:06:47 I think sivel made it clear that this decision should be made not here (again) 19:06:48 * jillr hides in the aws collections and just stays out of this debate ;) 19:06:52 hehe :) 19:07:21 he's off to lunch I think, so I'm happy to defer to past-sivel here 19:07:31 #topic https://github.com/ansible/ansible/pull/66920 19:07:38 felixfontein: you looking for reviews? 19:08:02 sure, always! ;) 19:08:16 in fact we already discussed it last week, but since then I've made the requested changes (i.e. add a switch to enable these extra tests) 19:08:17 I think mattclay has been a bit buried in collections test things lately 19:08:39 and I've added galaxy.yml parsing to find out the collection version, to compare against deprecation versions 19:08:44 yep, I think so too 19:08:46 sorry, in middle of CVE land, not being able to pay attention 19:09:08 no worries, we were just agreeing to pass on your meeting item from last week 19:09:23 bcoca and I talked briefly, and I think he wanted to take a vote, but I think we all know what the result of the vote is 19:09:24 Sorry, I have been buried and haven't had time to review that PR. 19:09:26 I'll leave it to bcoca 19:09:39 sorry, I am at lunch, just saw a ping 19:09:49 I'll try to take a look at it this week. 19:09:58 if we really have a vote, we should have enough people here with an opinion on this. otherwise it is kind of moot :) 19:10:07 mattclay: no problem! 19:10:33 felixfontein: does that address what you need on the topic? 19:10:38 jillr: yep 19:10:45 awesomesauce 19:10:53 #topic open floor 19:11:11 I could add https://github.com/ansible/ansible/pull/68177 again as well 19:11:12 ;) 19:11:32 hah, do you have anything new? 19:11:42 I updated the message to make it similar to nitzmahone's PR and removed the runtime date format check 19:11:47 felixfontein: I need to take a look at that one too. 19:11:53 besides that, no 19:12:34 mattclay: ok, sure. good luck with finding some time this week :) 19:12:50 warning for deprecation of non-module plugins 19:12:50 https://github.com/ansible/ansible/blob/pre-ansible-base/lib/ansible/plugins/callback/actionable.py#L17-L20 19:13:15 apparently 'actionable' is going away in 2.11, but no users are getting a warning about it 19:13:15 would be great if someone implements that 19:13:38 ^ actionable shoudl have been renamed in deprecation effort _actionable ... but now in collection, new scheme is being developed 19:13:59 deprecation was done incorrectly 19:14:32 do we need to extend the deprecation period and do something to make it more correct? 19:14:36 is nitzmahone's PR taking care of such deprecations? 19:14:46 it does 19:14:48 that is a question for community.general now 19:14:59 nitzmahone: cool! 19:15:00 ^ yes, it is in routing.yml 19:15:06 Deprecations are a plugin-load time warning 19:15:25 and the plugin was not renamed to denote deprecated in core, why you got no warnings 19:15:40 IIRC it's working for everything but filters/tests right now (though that should be easyish to add as well) 19:15:53 ^ collections use diff scheme 19:16:04 soon .. will use ... 19:16:11 will that scheme also work for plugins left in ansible/ansible? 19:16:24 yes 19:16:36 * cyberpear holds onto `version_compare` with cold dead hands 19:16:38 Internally the exact same routing system is used 19:16:44 cool 19:16:45 felixfontein: but the old scheme also works for ansible/ansible 19:17:30 nitzmahone: won't the plugin loader finding the plugin avoid using routing.yml? 19:17:37 bcoca: it might make sense to get rid of the old scheme in that case (at least after this is merged) 19:18:17 does the old scheme work today for (non-collection) roles that had included modules/plugins? 19:18:24 yes 19:18:29 always did 19:18:50 s/always/since it was implemented/ 19:18:53 in 1.8? 19:18:56 Yeah, we've not disabled or broken that in any (known) way for existing stuff, we just didn't bring it forward into collections 19:19:20 👍 19:19:44 aliases still work in collections, but in weird way (build creates full copies) , but deprecations did not, routing.yml now enables both in diff ways 19:21:33 another collections item... how hard would it be to install collections from git via requirements.yml? https://github.com/ansible/ansible/issues/61680 19:21:48 It's being discussed :) 19:22:14 kind of like you can `pip install` from git, and as with roles 19:22:39 I'm hoping something like https://github.com/ansible/ansible/issues/68383 will make it easier 19:23:03 it's not a key part but going that route will simplify things a bit when trying to install from source 19:24:08 technically .. not hard, but it was purposfully avoided since they wanted to establish package == collection and not repo == collections as that created many issues with roles 19:25:04 Yeah, install from git would either impose structural requirements on the source repo or require some extra heuristics in the client to dig around and try to do the right thing 19:25:34 "they"? -- I'm fine w/ telling folks "use galaxy", but for daily development... 19:26:50 "they" == "Red Hat / Ansible" 19:27:19 and more specifically "certain teams within RH/Ansible that may or may not have included us" :) 19:27:24 correct 19:27:50 But there is no requirement that the repo be structured in a certain way, however the build artifact must look a certain way 19:28:14 well if someone is wanting to install from source then the same requirement applies 19:28:15 in most cases, they probably will 19:28:19 they need to follow the built structure 19:28:25 seems like it should be possible to say, "if you want to be able to install from source, structure it this way" 19:28:36 if they don't then they just need to stick with built artifacts 19:28:51 I'm going to stay on the side of saying, installation only works from build artifacts 19:29:08 in case anyone wants my opinion 19:29:22 why would we want such a thing :) 19:29:24 It's fairly trivial to do a direct git checkout to a collection root and make it work- I've been doing it for a long time :) 19:29:26 but that is not to say we cannot improve tooling to support making a dev environment easier 19:29:45 and IMO having a way to install from source like pip does enabled that 19:30:02 I know you can clone a repo but you need to make sure you clone it in the right now with the right nested dir structure 19:30:02 There's no technical reason to use Galaxy or published/built artifacts for day-to-day dev work 19:30:10 `ansible-galaxy install -gr requirements.yml` is my goto that gives me a git checkout of each of my roles 19:30:14 nitzmahone: that was the second step I tried when using collections, after finding out how to set the collection root ;) 19:30:45 fyi, i have play that checksout repo, builds and installs collection 19:30:52 so it is not hard to do 19:30:52 heh 19:30:58 so from my perspective it works today when you do it manually, why not automate the step in a single command 19:31:07 jborean93++ 19:31:14 we would be easing barriers when it comes to collection development 19:31:18 jborean93: i dont disagree, but that was decided by others to specifically disallow it 19:31:20 which is a big plus for me 19:31:21 +1 19:31:36 I still think we can make it easy, without allowing to install from source 19:31:43 now if all here are fine with 'just do it' ... im +1 19:31:46 the tooling is a little naive right now 19:31:54 I agree we can do better for the dev tooling there, just have to decide what requirements to place on it (eg if you have a "naked" collection at the root of the repo, how does galaxy know what NS/collection_name to install to)? 19:31:55 git archive ... 19:32:10 * cyberpear never understood the `git archive` step 19:32:11 if you really want to follow the line of nothing from source, just get ansible-galaxy to clone, build then install 19:32:13 nitzmahone: you point galaxy to a galaxy.yml 19:32:28 forget pointing at repo, but specifically to galaxy.yml file 19:32:59 nitzmahone: that's why I think having install support it should work, it's a pure checkout of a repo so you can still commit/push changes but ansible-galaxy install places it in the right location for ansible to pick up 19:33:05 ^ now you can ignore repo levels/formats/multiple collections 19:33:37 while not automated I checkout and develop ansible.windows that way 19:33:50 bcoca: yeah, that might be a workable thing, although IIRC none of the current git checkout options let you have an absolute URL to something below a repo 19:34:05 you dont need, you split 19:34:05 (so we'd have to invent one) 19:34:27 then checkou repo , then cd to basename([1]) where galaxy yaml is ther for build 19:35:04 https://bcoca/stuff.git/devel/otherstuff/mycoll/galaxy.yml 19:35:08 nitzmahone: there's sparse checkout in some of the latest git versions, I think it might be able to do that 19:35:09 why make it complicated, create the dir structure and checkout at the `/` folder 19:35:27 jborean93: cause then repo === collection 19:35:33 and 19:35:39 that's how we work with built artifacts 19:35:43 well, that was one main hangup people had with roles 19:35:52 no reason to say if you want to install from source you need to follow the same semantics 19:35:54 felixfontein: I think that's what it does today if you don't specify `-g`, but I could be misremembering 19:35:57 no,package==colleciton, but repo != package 19:36:12 jborean93: that is a choice, but its not necessary 19:36:15 if you want to install from source, source should look like a collection 19:36:25 you are making that distinction now that we should support it, I disagree 19:36:27 our individual dev setups sounds like a great topic for #ansible-devel, do we have anything else that needs to be covered for the meeting? ;) 19:36:34 cyberpear: I've never tried it so far. and it is also pretty new, so most git installs won't have it 19:36:42 jborean93: fine with that, was just trying to address main complaint about roles 19:36:53 you are fine with having the complaint with collections 19:37:00 will there be more shippable nodes for community.general? :) 19:37:01 felixfontein: maybe I was thinking shallow clone... not sure what spare is 19:37:02 jillr++ for crackin' the whip :) 19:37:02 nitzmahone: Karma for jillr changed to 3 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 19:37:10 there's always going to be complaints we don't follow someones setup 19:37:16 tru 19:37:20 cyberpear: shallow is not checking out all history, sparse is not checking out all files 19:37:24 but easy to avoid KNOWN ones 19:37:24 as long as we provide a way to do it then we can say do it this way 19:37:27 I'm already mischanneling and flailing at irssi cause it's lunch time over here ;) 19:37:28 any other way is not avoided 19:37:35 is to be avoided* 19:38:11 felixfontein: I can increase the shippable node count 19:38:13 but i think main point is .. everyone here agrees we should allow repos as install source 19:38:20 gundalow++ 19:38:29 I've already made a note to check the Shippable load next week 19:38:41 * bcoca gives gundalow felixfontein's cc to charge teh new nodes to 19:38:55 gundalow: easy when it's on gregdek's credit card, eh? ;) 19:39:07 think of the points 19:39:25 gundalow: right now CI is soooo slow, having a few more nodes would definitely help :) 19:39:28 Yup, gregdek has been very kind 19:39:28 no idea how expensive it is though 19:39:32 felixfontein: oh, we need it now? 19:39:39 felixfontein: $$$ 19:39:55 gundalow: don't think so, it was just annoying for all the tests which actually needed shippable, but I think that's mostly done for now 19:40:07 nitzmahone: out of a scale of $...$$$$$? 19:40:20 or is the scale $..$$$? 19:40:27 heh, "not to scale" 19:40:30 gundalow: it's not uncommon for things under ansible-collections to have to wait a few minutes for a node to free up, not too bad now but it'll get worse when collection dev gets more active 19:40:33 logarithmic 19:40:55 Yup, also at the moment we often trigger the "full CI run" case 19:41:03 IIRC we were getting a much better deal under the ansible/ansible repo (losing them money)- I think we're much closer to retail price now 19:41:04 indeed 19:41:24 it roughly takes 30 mins for a full run to get through (during which CI is fully booked) 19:42:16 felixfontein: OK, I'll review next week 19:43:45 I'll try to fix more CI errors today 19:44:14 #action gundalow to look at shippable capacity 19:44:16 thansk for rebasing that PR to remove the windows deps as well 19:44:18 Thanks 19:44:26 did we actually take any actions out of the install from source conversation? 19:44:28 community.crypto CI currently looks pretty good, except that all integration tests fail (because they install packages) 19:46:11 jillr: ¯\_(ツ)_/¯ 19:46:19 hehe :) 19:46:53 that sounds like a great pull request for someone to make then! 19:46:53 I guess it was nothing for now 19:47:04 sorry felixfontein 19:47:25 what do you mean? 19:47:44 spending all that time chatting with no takeaways? 19:47:59 " for someone to make then! 19:48:35 aah I cant use computers today :) "I guess it was nothing for now" 19:48:53 anyhow. 19:48:59 ok :) 19:49:12 I'm currently fighting with shippable, it doesn't want to load anymore 19:49:15 I hope I didn't kill it :D 19:49:22 being able to actually type is an overrated dev skill 19:49:35 if no one else has anything then we can call it 19:49:36 defo 19:49:41 yeah. that's why you have autocomplete and AI! 19:49:53 enjoy your lunch! 19:49:59 thanks! 19:50:02 #endmeeting