19:01:21 #startmeeting Ansible Core Meeting 19:01:21 Meeting started Tue Apr 4 19:01:21 2017 UTC. The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:01:21 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:01:21 The meeting name has been set to 'ansible_core_meeting' 19:01:38 Zerp 19:01:49 #chair abadger1999 alikins bcoca ganeshrn jimi|ansible jtanner mattclay nitzmahone Qalthos ryansb shertel 19:01:49 Current chairs: Qalthos abadger1999 alikins bcoca ganeshrn gundalow jimi|ansible jtanner mattclay nitzmahone ryansb shertel 19:02:01 * gundalow really needs to write an IRSSI alias for each of the meetings 19:02:02 hi 19:02:13 suuuup 19:02:17 * jtanner needs to write a bot that will just do the meeting 19:02:20 It's a new month sooooooo 19:02:33 #info April's Agenda https://github.com/ansible/community/issues/159 19:02:39 Declare agenda bankruptcy and start over? 19:02:43 haha 19:03:01 oh, which reminds me, we did say we'd look at Proposals... 19:03:14 or did we say a dedicated meeting for that 19:03:16 Yeah, I'm here 19:03:29 to clarify, I meant the backlog of proposals 19:03:31 Not sure if jtanner is here too 19:03:35 Ahh :P 19:03:44 i am a robot 19:04:02 bot_broken 19:04:12 support my patreon 19:04:16 I proposed this (the first full week of meetings) for that 19:04:30 allanice001: that's today then 19:04:40 agreed 19:05:00 though I want to be a pain and say not the Tuesday meeting as I don't have enought brain left by 2004 19:05:31 oh, lets rattle though the stuff on the agenda then see what we can do from proposals 19:05:52 I don't have enough brain left by 1204 19:05:59 #topic Discuss extending the module "shipit" workflow to non-modules, such as: 19:06:09 #info https://github.com/ansible/community/issues/159#issuecomment-291567077 19:06:45 #info https://github.com/ansible/ansibullbot/issues/437 19:07:04 jtanner: What can we do to help this? 19:07:15 is the the metadata finalized? 19:07:39 abadger1999: ? 19:07:52 Lol, back to metadata, first cat out of the bag 19:08:26 this is why i shy away from meetings 19:08:29 * gundalow looks for the abort butter 19:08:32 eeeeeerm 19:08:36 * gundalow looks for the abort button 19:08:42 ok, moving on 19:08:52 abort butter seems like a pretty disruptive product 19:08:55 "He chose ... Poorly" 19:09:22 gundalow is just speed thinly .... 19:09:29 haha 19:09:38 Spread even.. 19:09:47 #topic Fix for wildcards inside of a path for fileglob lookup 19:10:17 #info New alternative fix from bcoca https://github.com/ansible/ansible/pull/23265 19:10:29 If people could review that would be great, think we want that in 2.3 19:10:39 2.2 also 19:10:48 ah, OK 19:10:54 i'm a suggested reviewer on that 19:10:58 its a lot less intrusive than the other, no messing withdwim 19:10:58 i must be special 19:11:12 jtanner: i've seen gh make some really weird choices sometimes 19:11:17 not sure what they base it on 19:11:38 you are a *suggested* reviewed because you've touched one of more of the files in a PR 19:11:40 trade secret 19:11:48 You haven't been *selected* as a reviewer yet 19:11:55 ok, so that seems to be moving 19:11:56 thanks bcoca 19:11:58 NEXT 19:12:14 #topic Proposal Proposal 19:12:20 allanice001: Anything to add? 19:12:35 i''ve put in the pr, and got some feedback 19:12:38 gundalow: it just took me less to write this approach than to point out all of the bad with the other 19:12:39 one sec... 19:12:55 seems like lasttime we couldn't agree though it felt their may be a bit too much process around it all 19:12:55 metadata is finalized. 19:12:58 bcoca: ace :) 19:13:09 (format) but we haven't added it to non-module files yet. 19:14:02 * mattclay waves 19:14:36 gundalow, https://github.com/ansible/proposals/pull/59 19:14:59 #info https://github.com/ansible/proposals/pull/59 19:15:03 #chair allanice001 19:15:03 Current chairs: Qalthos abadger1999 alikins allanice001 bcoca ganeshrn gundalow jimi|ansible jtanner mattclay nitzmahone ryansb shertel 19:15:08 ^ i just created the mechanism that allows it, now the hard works of actually writing 19:15:22 so, again this is a goal, not an immediate requirement 19:15:30 ^ still need tests/filters ... i have idea, but not done yet 19:15:36 OK 19:15:48 allanice001: Just make sure it's not overengineered :) 19:15:54 allanice001: shall we move on? 19:16:04 ack 19:16:10 we can move on 19:16:15 allanice001: Can you update the PR with the things that we noted in comments? 19:16:24 will do 19:16:39 #action allanice001 to update the PR based on review comments 19:16:41 thanks! 19:16:48 #topic How should Paths work 19:16:52 bcoca: 19:16:58 #link https://github.com/ansible/ansible/pull/22546 19:17:24 did we have anything change since last time? 19:17:26 bah, I didn't update the agenda with what was said last time out that 19:17:46 You've got conflicts 19:17:48 ^ do it while meeting, it helps keep current 19:17:52 "What problem is this proposed process really trying to solve?" 19:17:53 * gundalow ducks 19:18:00 gundalow: i know, not worth fixing unless we go ahead 19:18:09 bcoca: aye, I usually do, or based on the #info #actions after 19:18:22 jtanner, can we chat post meeting, or pm me ? 19:18:35 why in private? 19:18:47 just thought off meeting 19:18:51 My first thought is: "would we do better to just leave current behavior and add a "basedir override" cli arg? 19:18:53 because we've moved to next topic 19:19:08 or use ansible-devel 19:19:11 oh, very well 19:19:13 i can't keep up 19:19:21 * gundalow points jtanner to the topic 19:19:31 somewhere up there ^^^ 19:19:34 :) 19:20:21 why do we need to discuss a bugfix 19:20:22 ? 19:20:35 It's not just a bugfix 19:20:49 its setting expectations on how pathing works 19:20:57 ^ right now its all over the place 19:21:36 to the casual observer (me), it is categorized as a bugfix and claims to fix an open bug ... 19:24:29 that was my initial approach, then i realized that this 'changed' how things worked in some cases and that we did not have clear policy on how it should work 19:24:36 The description sounds a lot scarier than the changes 19:25:04 nitzmahone: it does what it says 19:25:45 +1 from me 19:26:04 * nitzmahone heads home from lunch, back in a few 19:26:11 ack 19:27:21 forgot to mention, I doubt I'll be here today, I'm triple booked 19:27:33 sivel: Thanks for letting us know 19:27:55 bcoca: anyting else we need to discuss here? 19:28:20 YOu may need to poke some more people for reviews outside of the meeting 19:28:35 I don't think it should work this way 19:29:56 I can't think of any precedent for paths being relative to the config file, really... and it means that paths change if a different config file is picked up than you were expecting. 19:30:18 ^ i would expect that if using diff config file 19:30:30 paths won't be the same at all 19:30:37 (Maybe postgres and apache are a precedent? But lord knows linux distros hate that because it violates FHS) 19:31:05 not sure i understand 19:31:32 bcoca: I thought last meeting we talked about making it an error if people were using a relative path i nthe config file and we didn't have a good place to root it at? 19:31:44 that seemed like a decent compromise. 19:32:24 If playbook and cwd are unsuitable, then error because there isn't a good guess. 19:32:27 i thought we didnt reach a compromise, which is why i hvae not updated it 19:32:27 suppose we think of ansible.cfg as analog to Vagrantfile or the like, config relative could make sense 19:32:41 suppose if we think, that is 19:32:47 a playbook is a better analogy for a vagrantfile 19:33:08 ^ i was thinking of implementing alikins's idea of CWD/CONFIG/etc special vars to avoid 'bare' relative paths 19:33:23 yeah I agree with jtanner... and I think we all agree that where we can do it, using playbook is the right thing... it's just that some places we can't. 19:33:55 bcoca: that would be fine too... it removes the amiguous case. 19:34:01 sometimes we have multiple playbooks .... 19:35:13 and sometimes we have none. 19:35:48 same for ansible.cfg 19:38:18 bcoca: I'm happy with alikins' idea (CWD/CONFIG) if you want to implement it that way. 19:38:23 jtanner, i dont agree 19:38:37 with? 19:38:39 at the very least you'd always have /etc/ansible/ansible.cfg 19:38:49 i don't have that on any of my systems 19:38:53 jtanner: ansible.cfg we can have 0 or 1 19:39:11 allanice001: no, that is default, but ansible can run w/o ansible.cfg 19:39:19 agreed 19:39:49 just thought /etc/ansible/ansible.cfg will always exist 19:39:55 * gundalow needs to step away for a bit, 19:40:21 even though a more customized version can exist in CWD or ~/.ansible.cfg 19:40:29 allanice001: no, not needed 19:40:44 its there normally cause package managers install the examples/ansible.cfg there 19:40:51 ^ but it is designed to NOT need it 19:41:30 i see 19:41:41 my bad 19:41:48 continue ... 19:42:35 if this is so complicated and causes disagreement as much as it does, we should just make it $(pwd) 19:43:10 then nobody is suprised 19:43:57 cd /var/tmp 19:44:03 ^ that is why pwd is always bad 19:44:12 still pissed that ansible.cfg is in pwd 19:51:09 So... to progress on this.... bcoca.. do you want to work on CWD/CONFIG or do you think we should go another way? 19:54:03 dik 19:58:25 * gundalow return 19:58:27 * gundalow returns 20:00:21 bcoca: so we're waiting here on a plan to move forward... 20:00:28 so am i 20:00:48 this is where we left it last time 20:00:52 earlier you said " ^ i was thinking of implementing alikins's idea of CWD/CONFIG/etc special vars to avoid 'bare' relative paths" 20:01:01 thinking .. not crystalized yet 20:01:06 And I've agreed that that sounds like it would be satisfactory. 20:01:20 ^ first thing i asked was 'has anything changed' on this topic, it seems nothing has 20:01:25 So... if you want to do it that eway (or just explore doing it that way), that would be the path forward. 20:01:28 we just rehashed same conversations 20:01:38 ok, maybe we should move on 20:01:40 At least until next meeting when you can say "didn't work out because of reason X" 20:01:50 mattclay: you back? 20:02:15 * mattclay nods 20:02:23 ok, moving on 20:02:49 #info not sure... 20:02:58 #topic Adding nested dictionary lookups 20:03:06 #info https://github.com/ansible/ansible/pull/9563 20:03:12 #info https://github.com/ansible/community/issues/159#issuecomment-291569762 20:04:21 I added this PR to the agenda to see if we could decide whether we want to accept or reject it. 20:04:38 cool 20:04:41 * gundalow reads 20:04:54 bcoca: Are you still unsure of whether or not to accept it (per your comment on the PR)? 20:05:25 -1 seems something we can either already do by chaning nested 20:05:32 I am also a -1 20:06:17 0 I don't understand the case well enought 20:06:41 bjolivot_: Hi, once we've finished this topic we can come to you 20:06:52 mattclay: what doyou think? 20:07:00 ok 20:07:46 0 - I don't see have a strong opinion on it either way. 20:07:54 bcoca, sivel: Could one of you paste an example of using the existing filters to achieve what the proposed lookup does? 20:08:51 Then it's easy to see that there's an existing way to do it and don't need special code just to do that. 20:09:41 Partially, I look at how many times I've seen something requested, and whether I think it would be used. Using the 80/20 rule (or whatnot), I feel like this is an edge case need 20:10:16 complex expression with map(orig, 'dict')|dict 20:10:34 isdict? 20:10:50 ^ need to lookup,will take me a while to construct, but its been done before in irc 20:12:19 I agree with abadger1999 that it would be good to document an example solution when declining a feature by saying "there's another way to do this." 20:13:03 I'm sure I could figure out another way, I don't immedately know of one. I have a few ideas 20:13:05 writing the example is non trivial 20:13:35 i've done similar before, dont want to spend 1-2h to reject corner case 20:13:44 That does rather prove a point though, regardless of my feelings. If doing it is non-trivial, then having an easier approach would be nice 20:13:53 If the example requires that much effort, perhaps the feature is a valuable addition then? 20:13:56 I just don't know that the depand warrants it 20:14:03 demand* 20:14:23 it is much easeir to get same result by not having such bad example 20:14:32 What's the danger of taking the PR? 20:14:36 its' self contained 20:14:41 insstead of using ini_file to construct this is trivial in template for loops 20:15:00 gundalow: more code to maintain? 20:15:20 for very little return, for a corner case that is MUCH easier to do in template 20:15:32 but still possible in mainline code 20:15:41 much easier, but we don't know how and probs will take many hours 20:15:51 as mentioned, I prefer not catering to the edge case. Ignore the 20%, support the 80% 20:15:54 no, in template it takes 5 mins 20:15:55 mattclay: yeah, I'm kinda thinking hte same thing. 20:15:59 (hum, that came out bad, but just restating what I've heard) 20:16:04 ^ cause i wrote this exact thing for my php config 20:16:10 otherwise we fill the code base with things that few people ever use 20:16:17 So can we propose they change their approach to using a template to see if that solves their use case? 20:16:41 If we can't give them a solution, can we give them some hints in teh right direction? 20:16:42 The problem is systemic of having modules like lineinfile/replace/ini_file 20:16:52 If it does, then there's no need for a more complex solution (with this feature or existing capabilities). 20:17:01 which are supposed to do small modification to files, not constrcut them 20:17:02 So maybe that's the starting point: Why can't this be done using template? (vs do this with alternate chains of filters) 20:17:03 there is no reason that they can't just keep their lookup and use it 20:17:04 that is what template is for 20:17:18 abadger1999: +1 20:17:22 we don't have to accept it, for them to keep using it 20:17:30 ^ whathesaid 20:18:01 ok, can someon put that on the PR and we can move on 20:19:02 anyhow.. If we can't give them any solution to their problem it seems very wrong to reject it. If it's a 5 minute template fix, telling them that's the ansible way to achieve it is the minimum we should do. 20:19:35 +10000000 20:20:22 its not a problem, its them wanting to contribute a very skewed way of doing things 20:20:49 we dont accept a module that does 20 tasks, just cause it takes 2h to write the 20 tasks 20:21:49 #action mattclay to update the PR with a template example and inquire if that works for the described use case 20:22:02 Thanks 20:22:13 #topic 23242/ 20:22:22 ffs 20:22:31 #topic https://github.com/ansible/ansible/pull/23242 20:22:59 https://github.com/ansible/ansible/pull/23242/files looks good, just need another set of eyes then it can be merged & cherrypicked 20:23:02 It's a simple bugfix for new 2.3 module 20:24:23 and also 20:24:29 #topic https://github.com/ansible/ansible/pull/23242 20:24:33 you are changing defaults/required but not the docs 20:24:48 erm, not that 20:24:52 so much fail 20:24:58 #info ignorethis 20:25:07 also need to make note of version in which this behaviour changed 20:25:36 new moduls in 2.3, so that's OK 20:25:42 bcoca : there no behaviour change as module is new in 2.3 20:25:58 but yes I need to update doc 20:25:58 this would require an RC .. 20:26:18 ? 20:26:32 We are doing RC4 this week 20:26:37 we are in the middle of releasing 2.3 this should make it into that branch for RC or not at all 20:26:53 we normally only allow bugfixes in rc, not changes in behaviour 20:27:03 you need to include jimi|ansible on this one 20:27:18 well if you do state=absent then you get a backtrace and it's not removed 20:27:59 it's not change of behaviour, it's bugfixing state=absent as it only need id param 20:28:44 docs still and issue, coordinate with jimi|ansible to make release 20:29:26 +1 to including it but never hurts to ask jimi|ansible 20:29:45 +1 if docs get fixed 20:30:03 Cool 20:30:10 #topic Open Floor 20:30:16 right it's late, I'm heading offline 20:30:29 so if someone else can #endmeeting at the end that would be grand 20:30:30 Thanks 20:31:26 * abadger1999 will #endmeeting 20:31:41 Anyone have anything else to talk about? 20:32:06 If not, I'll close the meeting in 60s 20:32:11 Would you consider to make me maintainer of the git module? I got pinged for issues quite a few times now 20:32:24 robinro: I definitely would. 20:32:56 I would as well. 20:33:15 robinro: Just submit a PR against hte MAINTAINERs.txt file here: https://github.com/ansible/ansibullbot/blob/master/MAINTAINERS.txt 20:33:23 will do 20:33:33 Cool :-) 20:33:40 just thought to ask here, since the git module is quite "core" to ansible 20:34:17 20:34:25 Anyone else? 20:34:28 SOLD! 20:34:41 as a present we also give you syncronize 20:34:45 :D 20:35:10 if I plan to go through the git backlog you won't see me for a few years 20:35:15 bcoca: You're feeling generous today. Are you sure you don't want to keep it? ;) 20:35:32 mattclay: its yours then? 20:35:44 * mattclay hides 20:35:49 #endmeeting