ansible_dev_meeting
LOGS
15:00:15 <thaumos> #startmeeting ansible dev meeting
15:00:15 <zodbot> Meeting started Thu Sep 28 15:00:15 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_dev_meeting'
15:00:23 <thaumos> #chair jtyr
15:00:23 <zodbot> Current chairs: jtyr thaumos
15:00:36 * ryansb waves
15:00:40 <thaumos> #chair ryansb
15:00:40 <zodbot> Current chairs: jtyr ryansb thaumos
15:00:45 * shertel waves
15:00:51 <thaumos> #chair shertel
15:00:51 <zodbot> Current chairs: jtyr ryansb shertel thaumos
15:00:51 <Qalthos> \o
15:00:55 <thaumos> #chair Qalthos
15:00:55 <zodbot> Current chairs: Qalthos jtyr ryansb shertel thaumos
15:01:27 <albertom> o/
15:01:47 <thaumos> #chair albertom
15:01:47 <zodbot> Current chairs: Qalthos albertom jtyr ryansb shertel thaumos
15:01:51 * mikedlr wonders 'wot is a dev meeting - does it have an agenda ticket'  then waves anyway.
15:02:05 * bcoca was using ansible_core_meeting
15:02:16 <thaumos> #chair mikedlr
15:02:16 <zodbot> Current chairs: Qalthos albertom jtyr mikedlr ryansb shertel thaumos
15:02:29 <thaumos> can the name be changed after the fact?
15:02:37 <bcoca> end + start?
15:02:43 <thaumos> yeah, eff that
15:02:48 <thaumos> I'll call it core next time
15:02:52 <mikedlr> maybe it's a better name?
15:03:08 <thaumos> I just got feedback to not call it community meeting or something close to that, maybe to call it the dev meeting
15:03:16 <thaumos> since this is all about merging stuff into devel and what not.
15:03:26 <thaumos> there's just too many meetings now, I can't keep track.
15:03:49 <sdoran> We should hold a meeting to discuss what to call the meetings.
15:03:53 <thaumos> #topic set missing default values for ec2 inventory
15:03:55 <thaumos> #link https://github.com/ansible/ansible/pull/28375
15:03:59 <bcoca> meta meeting
15:04:30 <thaumos> @jtyr this is your first one.  @shertel and @ryansb either of you have more to review for this?  I see that @sdoran has chimed in on it as well.
15:04:36 <jtyr> yes, that one just needs review
15:04:45 <shertel> +1 to merge that
15:04:51 <sdoran> Just waiting on ryansb to +1 it
15:04:55 <sdoran> +1 to merge from me
15:04:56 * ryansb will do
15:05:02 <thaumos> cool,
15:05:10 <thaumos> #action PR to be merged by ryansb or shertel
15:05:30 <thaumos> jtyr: do you still need your second topic looked at?  I am confused by your last comment
15:05:49 <jtyr> yes
15:06:03 <jtyr> we discussed it briefly yesterday
15:06:27 <thaumos> is this carry over from #ansible-devel you mean
15:06:36 <jtyr> jimi|ansible agreed that there is currently no solution that could replace 'params`
15:07:12 <bcoca> mostly we dont want anything that does it the way that params does it
15:07:36 <bcoca> we do have existing ways to provide some of the functionality, just not in a  way that bypasses our validation and security
15:07:57 <jtyr> it's all about removing 'params' from multiple modules although this option was there since the beginning of the existence of the modules ...
15:08:10 <thaumos> #topic follow up discussion to params
15:08:35 <bcoca> jtyr: i would argue that it a consequence of being missed in review
15:08:41 <jtyr> bcoca: I would prefer to get rid of 'params' and have better implementation in args ...
15:09:17 <jtyr> ansible could then validate if args contain some option which shouldn't be logged (using nolog in AnsibleModule definition)
15:10:11 <thaumos> as bcoca said yesterday, args are still here; it's still being discussed about what's going to happen with "improving" args.
15:10:21 <jtyr> bcoca: missed in a review in multiple modules even if that behavior was documented in EXAMPLES? ... unlikely ...
15:10:52 <jtyr> args are marked as "deprecated" ...
15:10:58 <thaumos> @jtyr, there are A LOT of modules... Things will get missed.  Plus now, we have automerge of community modules so things will go through the pipe as well.
15:11:19 <bcoca> does not mean we shouldn't correct things we find that are wrong
15:11:27 <thaumos> I also like to mention, at one point there were only two people that truly curated the project.
15:12:14 <jtyr> bcoca: 'wrong' is not the right word
15:12:39 <bcoca> we disagree on that
15:13:20 <jtyr> params allow to do a bit more than args ... both are not doing any validation whether the options should be obfuscated in logs ...
15:13:41 <jtyr> if we add the obfuscation, why we couldn't keep args supported?
15:13:59 <jtyr> and perhaps extend it to allow task options overrides?
15:14:04 <bcoca> args does NOT bypass validation, does not need to do it itself, params bypasses it
15:14:17 <jtyr> that's the actually only difference between params and args
15:14:17 <bcoca> args is 'general' and implemented for all tasks, params is specific to the plugin
15:14:33 <bcoca> not really, but those are the ones that matter the most to me
15:14:46 <bcoca> and enough to justify removal, imo
15:15:45 <jtyr> the thing is that you removing functionality with no alternative solution ... that's not good as it breaks a lot of roles using that feature ...
15:16:17 <bcoca> the whole concept of 'overriding optoins' is something i cannot get behind, providing defaults .. yes, but not overrides, its too much magic in the wrong direction
15:16:41 <bcoca> jtyr: I normally try to avoid that, but i think this is a case in which we must
15:17:23 <jtyr> OK, if I would ignore the override thing ... how do we add options to task after args is removed in 2.6?
15:17:46 <jtyr> default options for module won't cut it ...
15:18:07 <jtyr> or are you gonna lift the args deprecation?
15:18:31 <bcoca> pointed you yesterday at 2 of the options we are looking at
15:18:43 <bcoca> and i would be willing to discuss the deprecation
15:19:11 <thaumos> IF args are to be removed in 2.6, which by the way isn't planned yet, we will definitely think of how to improve it.
15:19:27 <jtyr> 'module defaults' and 'auth plugins' won't cut it ...
15:19:52 <bcoca> jtyr: only if you want 'overrides' .. which i think the whole team has been clear on, we dont
15:20:09 <jtyr> forget about overrides now ...
15:20:11 <bcoca> module defaults should be able to provide everything args does today
15:20:15 <jtyr> imagine file module ...
15:20:16 <abadger1999> thaumos: I think it is.
15:20:23 <jtyr> you don't want to set defaults for that module
15:20:24 <abadger1999> thaumos: We deprecated those in 2.0.
15:21:18 <bcoca> and you still have yaml anchors, which while 'not pretty' i believe are a good choice as the problem you have with them 'file locality' i find as a feature, keep the 'magic' a bit more obvious and the user can audit easily
15:21:32 <thaumos> #chair abadger1999
15:21:32 <zodbot> Current chairs: Qalthos abadger1999 albertom jtyr mikedlr ryansb shertel thaumos
15:21:44 <jtyr> bcoca: we discussed anchors with jimi|ansible and he agreed that that's not a solution ...
15:22:02 <jimi|ansible> i did not agree that, they're useful but maybe not exactly what you want
15:22:21 <bcoca> i was going to say, that was not exactly what he said
15:22:43 <jtyr> jimi|ansible: you said that I would have to generate task files dynamically to get the same functionality args are providing ...
15:23:05 <bcoca> that is not wrong, but not the same thing as 'not a solution'
15:23:10 <bcoca> just not the same functionality
15:23:18 <thaumos> #chair jimi|ansible
15:23:18 <zodbot> Current chairs: Qalthos abadger1999 albertom jimi|ansible jtyr mikedlr ryansb shertel thaumos
15:23:22 <jimi|ansible> you may be mixing up convos from yesterday, because i'm pretty sure i didn't say that
15:23:37 <jtyr> yeah, then the solution could also be not to use Ansible at all ... that's not the right approach ...
15:23:38 <bcoca> also, there is a way around that by making the yaml anchor 'dynamic' based on vars passed in
15:23:50 <abadger1999> jtyr: Aren't we ignoring overrides now?
15:23:57 <jtyr> yes
15:24:18 <abadger1999> So don't anchors work if you ignore overrides?
15:24:25 <bcoca> also, aren't we drifting away from the topic? which is removing params from the plugin?
15:24:28 <abadger1999> jtyr: (it was agaffney who said dynamically generating the playbook)
15:24:45 <bcoca> ^ and again, there is easy way around that
15:24:50 <jtyr> how do you pass defaults or vars variable to an anchor?
15:25:14 <bcoca> in the anchor you make it depend on the vars/defaults
15:25:24 <bcoca> the anchor itself is just yaml
15:25:25 <jtyr> abadger1999: oh, yeah ... different nick ... sorry jimi|ansible ;o)
15:26:13 <jtyr> bcoca: so the anchor must have static list of options ... that doesn't help much ...
15:26:37 <bcoca> why?
15:26:44 <bcoca> also, not true
15:26:49 <abadger1999> thaumos: Just checked... yes, Using variables for the args dict is going away in 2.6.
15:26:57 <jtyr> if I cannot make the whole anchor's content as a variable then it makes no sense ...
15:27:05 <bcoca> jtyr: again, not true
15:27:20 <abadger1999> (individual args is okay.  it's setting args: "{{ dict }}"   that's going away)
15:27:23 <bcoca> and yes, you can
15:27:38 <bcoca> abadger1999: but that is exactly what he wants
15:27:52 <abadger1999> bcoca: <nod>  I'm clarifying for thaumos
15:28:00 <bcoca> roger
15:28:07 <thaumos> abadger1999: thx for looking at that.  My point is, we're only discussing what's going to be in 2.5.  We're ahead of ourselves.
15:28:10 <jtyr> bcoca: please could you show me how I can define an anchor whose content is another variable? ... no keys defined inside that anchor ...
15:28:13 <abadger1999> k
15:28:28 <bcoca> helo: &helo "{{var}}" ?
15:29:01 * jtyr is checking
15:30:08 <jtyr> bcoca: it doesn't work
15:30:19 <jtyr> anchor must be a dict not string
15:31:34 <bcoca> not true, it can be any yaml var type
15:31:58 <bcoca> https://gist.github.com/bcoca/a9d373c2520dbf03bfbb07aa5aaa2719
15:32:18 <sivel> I am still strongly infavor of saying that using default(omit) is the best practice/recommendation
15:32:26 <bcoca> ok: [localhost] => {
15:32:27 <bcoca> "test1": "helo"
15:32:28 <bcoca> }
15:32:30 <bcoca> sivel: agreed
15:32:56 <bcoca> jtyr:  none of your statements about anchors are accurate
15:33:14 <bcoca> even if they were, i would still not consider keeping 'params'
15:33:15 <jtyr> sivel: not if the module has 30+ options ...
15:33:31 <sivel> of course it is
15:34:22 <jtyr> sivel: I don't agree ... it's a nightmare to parametrize all 30+ possible options only because there is no other way how to do it ...
15:34:40 <sivel> it's a 1 time thing, and more accurately reflects what is going to happen, as opposed to arbitrary vars passing that isn't explicit
15:35:00 <bcoca> and breaks auditabilty, one of the things i most like about ansible
15:35:11 <sivel> manging something like "params" makes things much more confusing and difficult to troubleshoot
15:35:23 <thaumos> Alright, I am going to have to put a hold on this conversation in a little bit.  We aren't getting anywhere.
15:35:30 <sivel> ++
15:35:36 <abadger1999> thaumos: need a vote I think
15:35:44 <bcoca> +1 to remove
15:35:50 <thaumos> what are we voting on, it's going to get removed.
15:36:05 <jtyr> bcoca: https://pastebin.com/GLg35MKz ... this is syntax error ...
15:36:08 <abadger1999> +1 remove
15:36:46 <abadger1999> there may be a use case here but params as a solution is worse than the problem.
15:37:11 <sdoran> +1 to remove
15:37:39 <jtyr> abadger1999: I'm not against removing params ... I just would like agrs stay as a replacement ... although it doesn't do replacements ...
15:38:26 <thaumos> jtyr, args are being revisited.
15:38:33 <thaumos> params are being removed.
15:38:45 <thaumos> args will be discussed in the future before deprecated.
15:38:46 <jtyr> thaumos: they they should be not marked as deprecated ...
15:38:55 <thaumos> they were marked in the past.
15:39:11 <jtyr> thaumos: then let's undo it ;o)
15:39:29 <abadger1999> jtyr: setting htem via a dict is marked as deprecated because it is unsafe.  security trumps convenience.
15:39:37 <thaumos> I'd rather improve than step backwards.
15:39:44 <thaumos> we step back way too much as it is.
15:40:17 <abadger1999> we can look at whether there's a way around the security concerns that lets us kep that functionality, but can't reprioritize convenience over security.
15:40:34 <sivel> +1 to remove, sorry.  Looked away
15:40:45 <jtyr> abadger1999: it's unsafe the same way like params ... this is why I wanted to implement some security checking (check for nolog=True in AnsibleModule) ...
15:41:55 <sivel> In any case jimi said params was being removed regardless, due to a CVE
15:42:04 <sivel> not sure a vote was really needed in that context
15:42:16 <thaumos> only because abadger1999 called for one :-)
15:42:35 <thaumos> he keeps me from turning into The Hyde BDFL
15:42:45 <sivel> I like BDFL :)
15:42:49 <abadger1999> sivel: the CVE is related but different.
15:43:54 <jtyr> abadger1999: if args will stay then I'm happy to remove params ...
15:44:09 <thaumos> okay, moving on from this topic. we will revisit the args discussion at a later day.
15:44:22 <thaumos> we have one more topic to cover that albertom has been patiently waiting to discuss
15:44:39 <thaumos> #action discussion to continue over args at a later day for 2.6.
15:44:41 <albertom> sup!
15:44:46 * jtyr is sad
15:44:58 <thaumos> #topic os keystone endpoint module submission
15:45:04 * albertom passes a puppy to jtyr
15:45:06 <albertom> dont be
15:45:17 <thaumos> #link https://github.com/ansible/ansible/pull/29031
15:45:55 * jtyr bited the puppy's head off
15:46:06 <thaumos> ...
15:46:08 <sivel> I think we need input from one of the openstack module maintainers.  I'd review, but it would only be code review
15:46:43 <sivel> although looks like there are 2 shipits from people who were pinged
15:47:01 <sivel> but only 1 since recent updates
15:47:20 <thaumos> albertom: like dag said, we just need one more shipit from the Openstack community to have this considered to be merged.
15:47:28 <thaumos> same person said shipit twice, @sivel
15:47:32 <shertel> does the bot pick up shipits in review comments?
15:48:20 <sivel> thaumos: ah, thought I saw one from mgale, but was wrong
15:48:32 <thaumos> I had to doubletake on it as well, sivel
15:48:45 <sivel> shertel: unknown,
15:48:52 <thaumos> I don't believe it does shertel
15:49:24 <sivel> jtanner doesn;t seem to be in here, and I beliefe thaumos is correct
15:49:26 <thaumos> that being said, it's a new module so it still needs us to merge it.
15:49:28 <rcarrillocruz> i can look at the keystone module
15:49:30 <rcarrillocruz> probably tomorrow
15:49:34 <rcarrillocruz> albertom: ^
15:49:37 <albertom> good!
15:49:54 <thaumos> @sdoran you interested in looking at this too?
15:50:05 <sdoran> Yup
15:50:39 <jtanner> Iirc bot does see shipits in review coomoents as of a few weeks ago
15:51:17 <thaumos> oh right on
15:51:33 <shertel> nice!
15:51:59 <thaumos> either way, rcarrillocruz is on the team_openstack list.  If he gives it a shipit we're good to have it merged.
15:52:18 <thaumos> since it's new it'll still be a manual ack
15:52:21 <rcarrillocruz> yah, promise to look early in my morning and merge it if all good
15:52:26 <rcarrillocruz> otherwise albertom ping me directly
15:53:11 <albertom> ack
15:53:11 <thaumos> #action rcarrillocruz and sdoran to look at the PR
15:53:28 <thaumos> #action albertom to poke at rcarrillocruz if needed
15:53:34 <thaumos> #topic Open Floor
15:53:49 <thaumos> any last items not covered to be discussed?
15:54:14 <mikedlr> review my RDS modules pls.  It's a strategic feature for 2.5 since we want to deprecate the old rds module..
15:54:42 <thaumos> #info play with the new shiny RDS module and provide feedback folks!
15:54:57 <thaumos> @mikedlr, link to the PR?
15:55:01 <abadger1999> #link https://github.com/ansible/ansible/pull/30746
15:55:16 <thaumos> thx abadger1999
15:55:18 <mikedlr> thanks abadger1999
15:55:52 <mikedlr> N.B. that's got multiple modules in it so that I can run proper integration tests and thus includes some merge commits;  the final PRs will be separated and clean.
15:58:27 <thaumos> 👍
15:58:36 <thaumos> alrighty, if nothing else I am going to end the meeting
15:58:41 <thaumos> thanks everyone!
15:58:47 <thaumos> #endmeeting