15:00:14 <thaumos> #startmeeting ansible core meeting
15:00:15 <zodbot> Meeting started Thu Oct  5 15:00:14 2017 UTC.  The chair is thaumos. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:00:15 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
15:00:15 <zodbot> The meeting name has been set to 'ansible_core_meeting'
15:00:26 * gundalow waves.
15:00:36 <thaumos> #chair gundalow
15:00:36 <zodbot> Current chairs: gundalow thaumos
15:02:24 * Qalthos waves
15:02:33 <thaumos> #chair Qalthos
15:02:33 <zodbot> Current chairs: Qalthos gundalow thaumos
15:04:13 * abadger1999 here
15:04:24 <thaumos> #chair abadger1999
15:04:24 <zodbot> Current chairs: Qalthos abadger1999 gundalow thaumos
15:04:41 <gundalow> bcoca: did you want to go through inventory_dir?
15:06:23 * jtanner is here
15:07:05 <thaumos> #chair jtanner
15:07:05 <zodbot> Current chairs: Qalthos abadger1999 gundalow jtanner thaumos
15:07:25 <abadger1999> He does.  bcoca are you typing furiously?
15:07:40 <thaumos> in other channels he seems to be
15:07:41 <bcoca> sorry, juggling chainsawas
15:07:46 <thaumos> #chair bcoca
15:07:46 <zodbot> Current chairs: Qalthos abadger1999 bcoca gundalow jtanner thaumos
15:07:55 <bcoca> abadger1999: you care to explain it? trying to fix shell issue
15:08:00 <abadger1999> k
15:08:03 <bcoca> thnx!
15:08:06 <jtanner> i prefer to juggle chain jawas
15:08:18 <bcoca> jtanner++
15:08:21 <abadger1999> #topic What to set inventory_dir to with add_host
15:08:37 <abadger1999> In Ansible-2.3.x and earlier we had a single inventory source.
15:08:51 <abadger1999> So we could set inventory_dir to a single value.
15:09:01 <abadger1999> Which was global.
15:09:10 <abadger1999> In 2.4.x you can have multiple inventory sources.
15:09:37 <abadger1999> So now each host has an inventory_dir variable which is set to the inventory it was first set in.
15:10:06 <agaffney> can 'inventory_dir' even be meaningful with 'add_host'?
15:10:27 <jtanner> it'll play into var loading/scoping
15:10:29 <thaumos> #chair agaffney
15:10:29 <zodbot> Current chairs: Qalthos abadger1999 agaffney bcoca gundalow jtanner thaumos
15:10:32 <abadger1999> So, as agaffney is pointing out, inventory_dir isn't meaningful with add_host.
15:10:40 <abadger1999> So we currently set it to None.
15:10:44 <jtanner> not sure about that though
15:10:56 <abadger1999> This is a change (documented) from what is in 2.3.x and earlier.
15:11:08 <thaumos> link to change?
15:11:32 <abadger1999> willthames asked why we don't set it to the host which ends up add_host: as a backwards compat hack.
15:12:29 <abadger1999> thaumos: I'll look in a moment (it's in a ticket, not in my irc scrollback)
15:12:52 <abadger1999> *set it to the host which ends up running add_host
15:12:52 <thaumos> ok
15:12:54 <bcoca> thaumos: inventory revamp
15:13:06 <bcoca> ^ huge tickets 64 files
15:13:09 <abadger1999> The reason is that if the playbook has
15:13:14 <agaffney> it may make sense to set 'inventory_dir' to the same value as 'playbook_dir' when using 'add_host'
15:13:15 <abadger1999> :hosts: host1, host2
15:13:29 <bcoca> agaffney: that is one option, let abadger1999 finish
15:13:54 <abadger1999> and those hosts have different inventory_dir because they came from different sources, then the add_host host could end up with either of those two inventory_dir's set.
15:14:22 <abadger1999> So if you depended on it being a specific dir previously, you'd silently be getting a different value now.
15:14:45 <abadger1999> At least with None, you will get an error if you try to make use of inventory_dir.
15:15:12 <abadger1999> So my vote is to keep it None nad document some of the workarounds.
15:15:20 * abadger1999 looks for the present documentation link now
15:15:46 <sivel> I'm here, my life is a bit crazy right now. So much to do
15:16:01 <gundalow> #chair sivel dag
15:16:01 <zodbot> Current chairs: Qalthos abadger1999 agaffney bcoca dag gundalow jtanner sivel thaumos
15:16:18 <thaumos> is dag even here?
15:17:23 <thaumos> I'd be curious to see what the assumptions are of users
15:17:31 <gundalow> oh, maybe not
15:17:31 <thaumos> for inventory_dir
15:17:50 <bcoca> most users complaining about this were assuming 'same value' as you had single inventory source
15:17:52 <abadger1999> Here's the present documentation:
15:17:54 <abadger1999> One exception is the ``inventory_dir``, which is now a host variable; previously it could only have one value so it  was set globally. This means you cannot use it early in plays anymore to determine ``hosts:`` or similar keywords.
15:17:59 <bcoca> probably rest of users never gave 2nd thought
15:18:08 <abadger1999> in the porting_guide_2.4.rst file
15:18:23 <abadger1999> We should add more information to that if we keep this the same
15:19:36 <jtanner> nobody cares, until their inv var doesn't have the value they expected
15:19:48 <jtanner> or doesn't exist
15:21:19 <thaumos> yep, like turning off a very old vm that no one answers to
15:21:24 <bcoca> jtanner: sadly, people do
15:22:41 <thaumos> how about give them two configurable options; 1. None 2. same value as playbook_dir
15:23:05 <bcoca> well, with None they can ucrrently override it to whatever they want
15:23:10 <thaumos> right
15:23:17 <bcoca> if we set a value , they cannot override it
15:23:19 <thaumos> but I envision that for the power user
15:23:52 <thaumos> think of it this way, a new user who finds this inventory_dir var and get an error, but not quite be at the point to figure out why the error is occurring
15:23:59 <thaumos> so they have the simple default of playbook_dir
15:24:23 <thaumos> and when they feel confident enough understanding vars, they can set it to None and override as they see fit.
15:26:28 <agaffney> instead of the config option to set it to 'playbook_dir', why not just let users do {{ inventory_dir | default(playbook_dir, true) }} or similar? they have to change something one way or another
15:27:50 <thaumos> I feel that can be scary for new users as well.
15:27:51 <bcoca> im +1 to None and +0.5 to playbook_dir
15:28:14 <bcoca> the other 2 optoins are too hacky .. and those using the it currently as global can do workaround by setting it as host var
15:28:14 <sivel> I don't think playbook_dir would be any more helpful than None really
15:28:29 <agaffney> thaumos: this probably won't be an issue for new users. I'd imagine very few people are meaningfully using inventory_dir and add_host together, and it's probably not new users
15:28:53 <sivel> playbook_dir could inadvertently work, but I'd prefer None to inadvertently working
15:28:55 <abadger1999> -0.5 to playbook_dir
15:29:30 <abadger1999> inventory_dir:  "{{ inventory_dir  }}" is a better default despite doing the wrong thing sometimes.
15:30:01 <abadger1999> For people who are using inventory_dir, playbook_dir is probably wrong.  inventory_dir can be right some of the time.
15:30:23 <bcoca> so it seems most of us want 'None' as deafult (current) and let user decide otherwise in add_host (maybe examples in docs)
15:31:05 <abadger1999> +1 to None; +0.5 to inventory_dir of the host that ends up running add_host; -1 to playbook_dir
15:32:53 <thaumos> None it is. Just provide documentation on the keyword
15:33:06 <thaumos> Votes on None please!
15:33:10 <abadger1999> +1 None
15:33:21 <jtanner> +1 None
15:33:23 <bcoca> +1
15:33:25 <sivel> +1 None
15:33:43 <thaumos> +1 None
15:33:51 <bcoca> willthames?
15:34:19 <thaumos> gundalow
15:34:23 <abadger1999> I haven't seen him yet today so he's probably sleeping.
15:34:27 <abadger1999> Last night he said:
15:34:41 <gundalow> +0 no thoughts
15:34:53 <abadger1999> ‎[15:55:30] ‎<‎willthames‎>‎ yep, as you say,better to break early than do something very unexpected
15:35:08 <abadger1999> he would have liked it to work as before but None is his second choice.
15:35:29 <bcoca> and has sane workaround .. think we are done, i'll update ticket and add examples in add_host module docs
15:35:40 <bcoca> #action bcoca to update ticket and docs
15:36:00 <thaumos> Thanks!
15:36:18 <thaumos> Next topic?
15:36:27 <abadger1999> bcoca: and in porting_guide (or point to add_host from porting_guide)
15:37:09 <gundalow> summary, then linking from porting guide to the main docs would be good
15:37:28 <gundalow> That's what I've done with https://github.com/ansible/ansible/pull/31316
15:40:04 <bcoca> abadger1999: roger
15:42:38 <thaumos> any quick topics for 10 -15 minutes?
15:43:22 <thaumos> I don't think we have enough time to decide on loop_control
15:43:25 <gundalow> abadger1999: update on 2.4.1 (and expected 2.4.2?
15:43:27 <gundalow> )
15:43:34 <gundalow> #topic open floor
15:47:11 <abadger1999> 2.4.1 beta2 out yesterday night.
15:47:23 <abadger1999> Only a few blockers left and they're all being worked on.
15:47:31 <abadger1999> So we're on track for rc1 next week.
15:47:43 <abadger1999> I'm still accepting most bugfixes this week.
15:47:53 <abadger1999> But after rc1 is out, I'll clamp down on that.
15:48:06 <abadger1999> Hoping to make rc1 and then final the week afterwards.
15:48:17 <abadger1999> Good work everyone!
15:48:22 <gundalow> \o/
15:48:26 <gundalow> Thoughts on 2.4.2?
15:49:16 <abadger1999> No thoughts yet.  The rate of bugfixing has slowed a little.  We don't have the long freeze before 2.4.1 goes out that we do for the dot-oh releases so not as many bugs get queued up.
15:49:49 <abadger1999> I don't think I'll start in with 2.4.2 beta1 the week after 2.4.1 is released as I did with 2.4.0.
15:50:12 <abadger1999> But I'm not sure yet when I will start those.... will wait to see how quickly bugfixes accumulate.
15:50:21 <gundalow> Makes sense, so 2.4.2 might be one-three months after 2.4.1 gets released?
15:50:39 <abadger1999> yep.
15:51:09 <gundalow> cool, thanks
15:51:46 <abadger1999> I want to make sure that people do not feel the need to cram extra stuff into 2.4.1 at the last minute but I don't want to make a 2.4.2 release just to make a release... I'll just have to see what bgus pop up and how quickly.
15:52:40 <abadger1999> Anyone else have something?
15:53:39 <gundalow> Not from me
15:55:06 <thaumos> I think we're good
15:55:14 <thaumos> thanks everyone for the discussion today!
15:55:18 <thaumos> #endmeeting