19:05:29 #startmeeting ansible core irc public meeting 19:05:29 Meeting started Tue Apr 24 19:05:29 2018 UTC. The chair is bcoca. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:05:29 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:05:29 The meeting name has been set to 'ansible_core_irc_public_meeting' 19:05:57 #chair abadger1999 Imo ryansb agaffney jtanner 19:05:57 Current chairs: Imo abadger1999 agaffney bcoca jtanner ryansb 19:06:04 choopra? 19:06:10 chopraaa? 19:06:13 Olá 19:06:22 ^ going to skip since its really a windows issue 19:06:58 Im0 you want more reviews aside from mine? 19:07:05 .hello2 19:07:06 maxamillion: maxamillion 'Adam Miller' 19:07:14 I have to leave shortly for physical therapy :( 19:07:19 .hello2 19:07:21 jtanner: Sorry, but you don't exist 19:07:22 bcoca, no. All good thanks for your reviews. I will adjust accordingly. 19:07:32 f' you zodbot, i'm a real boy! 19:07:33 And update PR. 19:07:41 jtanner: zodbot is a Fedora thing... you need a Fedora account for that to work 19:07:49 teasebot. 19:07:55 jtanner: https://admin.fedoraproject.org/accounts 19:08:10 #topic tainted vars https://github.com/ansible/proposals/issues/109 19:08:13 bcocac, Dict or list/tuple.. not sure yet. 19:08:31 Imo: either works for me, or all? detect type 19:08:34 So this proposal came in the other day. 19:08:36 list/tuple you can use same way 19:08:41 I think we want to refuse it. 19:08:55 -1 from me 19:08:57 I can't think of any way that we could hope to implement it that won't leak like a sieve 19:09:04 -1 on 109 19:09:05 the general idea isn't a bad one, but the needed implementation would be hell 19:09:08 bcoca, will give it a go. Good one. 19:09:14 the only way we can w/o leaking makes ansible unusable 19:09:33 So it's better to not attempt to implement than to implement and have a never ending stream of security fixes for it. 19:09:37 if we rewrote ansible in diff language that had 'taint' management .... 19:09:41 would no_log for the entire task suffice? 19:09:55 jtanner: the issue is associate it to vars, not taks 19:09:57 jtanner: I did write about that i na comment on the proposal. 19:09:58 tasks 19:10:10 That would take care of my difficulty in leaking. 19:10:19 But there's definite performance impact there. 19:10:35 would still not cover all output 19:10:49 We need to track tainting of variables and the only way I can think to do that in jinja is to template every variable twice. 19:11:07 no_log with tasks is 'easier' casue we have a single point of output from task to controller, the 'results' 19:11:08 what does 'if running with debugging on' ? -vvvvv? ANSIBLE_DEBUG=1 ? 19:11:13 doing it at var level .... 19:11:29 (The problem isn't python.... it's jinja... If we wrote ansible to have real variables, we could probably do things like this) 19:11:38 "Users who are able to consume log aggregation output can inadvertently be exposed to sensitive high-level account details" ... i have the impression that this workflow is not something we have designed into ansible. 19:11:51 maybe it's a tower/awx rfe? 19:12:12 abadger1999: you are looking at in only from template level, but we have much more outputs than templat4ed var 19:12:24 we need it to taint any and all output methods 19:12:30 otherwise its not really secure 19:12:34 bcoca: vars are templates. 19:12:38 not all 19:12:40 bcoca: that's the problem. 19:12:41 varname: value 19:12:49 bcoca: that's a template. 19:12:59 ^ no templates involved, i still want it protected 19:13:07 I think we might be going to far down the rabbit hole, without any intention of addressing this 19:13:11 abadger1999: template system actually skips that 19:13:11 s/to/too/ 19:13:19 are we mixing the concept of template and things that jinja will eval? 19:13:36 any string could be a template 19:13:38 bcoca: well... we can taint that fine if that's all you want. 19:13:55 could be .. but we dont process though template unless it is, is_template function takes care of that 19:14:02 jtanner: we basically need to track the full life of a variable and it's value, ensuring that regardless of re-assignments and modifications that it is never displayed 19:14:15 i understand that part of the usecase 19:14:20 and re-assignments and modifications are templates. 19:14:25 the first part 'might' be duable, the 2nd is almost ipossible in python 19:14:31 we lose the context as it is processed through jinja 19:14:35 It's all doable in python 19:14:41 never displayed? 19:14:50 It's that we don't use python for this stuff. We use jinja 19:14:58 not w/o removing all possible output except the ones we control 19:15:08 sivel: jimi tells me that it's "not lost" and that he "hacked jinja internals" to keep it 19:15:10 abadger1999: remove jinja2 from teh equation, the problem still stands 19:15:16 Nope, it doesn't. 19:15:27 jtanner: unsafe works that way 19:15:38 i've not really looked at the unsafe code 19:15:39 and we could make this work in jinja2, but i dont even see that as the problem 19:15:57 template does wrap_unsafe(var) if ANY var used in template was unsafe 19:16:00 * jtanner does wonder what happens when unsafe and native types start to mix 19:16:02 bcoca: as you said, unsafe makes you skip templating... it does not make templating safe. 19:16:03 jtanner: how do you do `alias: "{{ (some_var|string)[:]}}"` and not lose the context 19:16:04 ^ so we have a way to preserve in jinja2 19:16:22 sivel: i don't think it's possible, but jimi says otherwise 19:16:38 I don't think it is 19:16:46 in simple scenarios maybe 19:17:06 Anyhow... I think we're all here to vote no? (It's just that we disagree on why "no" is the right answer) 19:17:13 yeah, -1 19:17:20 -1 19:17:21 -1 19:17:41 i think it's premature to decide if we should take on the work, so -1 for now 19:18:12 tempted to +1 just for being contrarian, but already gave my -1 19:18:15 also have the sense that tower/awx could sanitize outputs 19:18:38 let job template author mark vars/values as sensitive 19:18:47 jtanner: safer there as they have 2 interfaces for output from ansible, they could scrub there 19:18:59 I don't really see any way to tell to who/what a variable value is being read by nor any way to prevent who/what from seeing it. (short of pki and using encrypted or placeholder values everywhere) 19:19:01 stdout/err and callback 19:19:38 alikins: that is my point, unless a language supports the 'taint' concept it is really hard to imlement such a protection 19:19:58 specially when every/any plugin can do it's own output 19:20:18 output+writes 19:20:28 same diff 19:20:31 i know 19:20:33 output to file / tty 19:20:42 just being redundant 19:21:14 tower can limit the plugins and has 2 streams from ansible itself ... so it could deal with this better, still .. any time you allow custom callback/any plugin .. you open the door 19:21:33 @abadger1999 want to close the issue? 19:21:36 vote is clear 19:21:51 @sieben ? 19:21:54 the usecase in the ticket really only makes sense for a user who didn't author playbook and can't edit ... which is not really part of our core story 19:21:58 Sieben_: ? 19:22:01 yep, could you officially count the votes so I can list it in the ticket? 19:22:21 -4 , +0 19:22:38 I think -6 19:22:53 oh, -5 19:23:04 sivel abadger1999 mattclay jtanner bcoca 19:23:21 i dont see jtanner's vote 19:23:29 it was hidden in a sentence 19:23:31 [12:17:40] i think it's premature to decide if we should take on the work, so -1 for now 19:23:38 ah, k, -5, 0 19:23:47 Cool. 19:23:55 I'll close out hte ticket 19:23:56 I'm -1 to that too. Agree with what's been said. 19:24:01 -6 19:24:13 i can let meeting go longer ... but i think it will just be more -1 19:24:17 alikins? 19:24:22 i'd seriously add a note to file awx rfe 19:24:31 yeah, -1 19:24:47 would be lovely, but also almost impossible 19:24:51 -7 .. i think this one is as close to unanymous as we'll get 19:25:02 alikins: agreed 19:25:40 but i could say the same about me marrying scarlet johanssen 19:26:01 not with that attitude! 19:26:17 #topic https://github.com/ansible/ansible/pull/38739 https://github.com/ansible/ansible/pull/38587 19:26:18 🤣 19:26:35 @Sieben_ ^ wants more reviews? 19:27:06 am i allowed to say "NO" if there aren't tests? 19:27:16 sure 19:27:24 you can say many things 19:28:59 k, since user isn't here I'll leave reviews for offline for any volunteers 19:29:11 i forget who has the test account, maxamillion? 19:29:17 #topic open floor 19:29:28 Side note during pause: shippable seems to be unstable on most pushes... not due to the code. Is that normal? 19:29:43 there are known issues with apt tests 19:29:52 we are working on them 19:30:18 Ta. 19:30:20 I think we should talk about inherit vs apply. j/k no we shouldn't 19:30:21 and rhel tests and bsd test .... its mostly external resources being a pain 19:30:31 inherit is incorrect, its bequeath 19:30:37 Trolling! 19:30:48 inheriting is done by the tasks, the include bequeaths 19:30:49 bequeath is the worst 19:31:06 sivel: that is why i use it, anything else chosen will be great in comparission 19:31:33 * sdoran looks up the definition of bequeath 19:31:39 if we chose "bequeath" maybe fewer people would use it? 19:31:45 +1 19:31:47 then fewer bugs to fiz 19:31:48 My thoughts exactly 19:31:49 fix* 19:33:07 at the very least it is a good english lesson 19:33:25 And spelling lesson. 19:33:31 no .. idont do those 19:33:48 ok, so if no new issues closing in 1min 19:33:58 What's the deal with contributions and names of licensees on the code. If submitting a PR on existing code, should a new contributor put their name on? (Or doesn't it matter) 19:34:23 kind of the latter, but feel free to add your name if you feel your contribution is big enough 19:34:25 question: is anyone working on Galaxy strategy in the open? Are there any good docs on that? 19:34:31 Imo: there is no definitive set of guidelines there 19:34:33 licensing should follow the guidelines set in site 19:34:55 mikedlr: check proposals, several there, also #ansible-galaxy 19:35:01 Ok. Thanks. 19:35:03 Imo: as bcoca mentions, if it is big enough, you *can* add your name. But it's not required 19:35:26 don't be suprised if you start getting emails 19:35:28 Yep, not contributed anything substantial yet.. just wanted to make sure. 19:35:28 Imo: definitely, from discussion with gregdek a little while ago individual developers should put name on modules and stuff. 19:35:40 licence is GPl3 for most of the probject, exception is module-utils/ which is BSD or compatible so 3rd party modules can reuse freely w/o distro issues 19:36:24 mikedlr: technically you can claim copyright on a single char .. practically it should be meaningful enough to convince a judge 19:36:25 but adding your name, I tend to go with the arbitrary definition of "substantial" 19:36:31 in case where you wrote a substantial part; otherwise the license at the top of file isn't correct because "ansible project" actually means redhat. 19:36:45 does it? 19:36:49 no, it doesnt 19:36:54 I should go dig up what I found about adding a copyright to an existing file 19:36:59 ^ we checked with lawywers internally 19:37:32 ansible project is broad umbrella that includes contributors and maintainers to the project 19:37:47 bcoca: sorry, I'm at physical therapy (using IRC on my phone). I have the that account for scaleway, I'll review. I'm also happy to share that account if anyone else wants access 19:37:52 governance of the project is now mostly by RH employees .. but that is not direclty tied 19:37:56 bcoca: is there an external statement of that - the "Ansible" trademark belongs to RedHat. It's something I think youg et to define. 19:38:06 trademark is diff 19:38:13 technically, you cannot assert copyright on a single char.... 19:38:39 abadger1999: depends on the local laws, people have tried ... even single tones 19:38:50 abadger1999: unless it's an entirely new and artistic character - 19:38:50 a work has to show "originality" (non-legal term). 19:39:04 Sorry for opening the can of worms. 19:39:09 abadger1999: mostly, in the end it 'depends on the judge' 19:39:15 > You are not required to claim a copyright on your changes. In most countries, however, that happens automatically by default, so you need to place your changes explicitly in the public domain if you do not want them to be copyrighted 19:39:31 mikedlr: yes. If I make up a new alpha bet I could probably copyright the new chars in there and the combination of the new chars with the existing chars I borrow from an existing language. 19:40:05 But trying to copyright something like "a".... Not going to fly. 19:40:43 but i put the 'a' in 'do a thing' ... modifying existing work and adding value 19:41:00 ^ not saying it would pass muster, but people have tried worse 19:41:18 in case of a project like this, the main problem is that if we get the wrong info in the file then people can maliciously claim to be mislead/confused - so basically it's best if any record is correct. 19:41:35 yes, then you might be able to copyright it. But you'd be copyrighting the new work, not the single character "a" 19:41:39 git is good enough a record for most cases 19:42:36 http://www.magnus-opus.com/ <= these guys copyrighted all combinations of telephone tones, so every telephone number is theirs 19:42:59 ^ they did in protest for austrialian law being too draconian 19:43:01 git is the record that we have to use. The information in the headers is informational but not sufficient for doing anything beyond using the work under the listed license agreement 19:43:36 but in the end, none of us are lawyers and even a lawyer will tell you ... depends on the judge 19:43:46 #endmeeting