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