19:00:12 #startmeeting Ansible Meeting 19:00:12 Meeting started Tue Jul 25 19:00:12 2017 UTC. The chair is thaumos. Information about MeetBot at http://wiki.debian.org/MeetBot. 19:00:12 Useful Commands: #action #agreed #halp #info #idea #link #topic. 19:00:12 The meeting name has been set to 'ansible_meeting' 19:00:26 * chillysurfer waves 19:00:26 boop 19:00:40 #chair chillysurfer nitzmahone 19:00:40 Current chairs: chillysurfer nitzmahone thaumos 19:00:46 Γ“la 19:01:07 * mkrizek lurks 19:01:25 #chair mkrizek abadger1999 19:01:25 Current chairs: abadger1999 chillysurfer mkrizek nitzmahone thaumos 19:02:27 * resmo waves 19:03:07 #chair resmo 19:03:07 Current chairs: abadger1999 chillysurfer mkrizek nitzmahone resmo thaumos 19:04:37 hello 19:04:42 #chair jtanner 19:04:42 Current chairs: abadger1999 chillysurfer jtanner mkrizek nitzmahone resmo thaumos 19:07:02 Hello, I am Rohit from Cambridge Semantics Inc 19:07:27 We use Ansible heavily and would like to take this chance to thank the community 19:07:43 Great work 19:07:51 #chair rohitkum 19:07:51 Current chairs: abadger1999 chillysurfer jtanner mkrizek nitzmahone resmo rohitkum thaumos 19:08:02 thanks @rohitkum 19:08:25 In the recent times we have started realizing some limitations because of dependency on libcloud 19:08:33 Sorry all, I have gotten sidetracked by the immense list of issues on the community repo. 19:09:00 I wanted to understand the community's view towards moving away from libcloud, or any plan to fill in the gaps? 19:09:10 @rohitkum, one sec please. 19:09:26 Sure 19:10:58 #topic ansible/ansible#15460 19:11:06 #link https://github.com/ansible/ansible/issues/15460 19:11:22 @mkrizek this was your's 19:11:46 yeah, wanted to check with you if this is something we want 19:12:19 Personally, I think it's a bad idea. 19:12:33 Or at minimum make it configurable 19:12:45 bcoca mentioned, iirc, that he would limit it to when force_handlers == yes 19:13:06 Ok 19:14:14 hm, looks like he's not around 19:14:17 I don't think it's a horrible idea if configurable. I just foresee people complaining because some config didn't get deployed or some app was deployed properly, and Ansible runs a handler to restart; then their app is messed up 19:14:25 or someone's database gets corrupted. 19:14:27 mkrizek: his internet access is currently down. 19:14:35 eesh 19:14:48 I can imagine all hell breaking loose 19:15:08 If I were bcoca at that moment, I'd raise all unholy hell with my ISP 19:15:22 yeah, I don't see there being a right way to handle this if ansible is interrupted mid-task 19:16:02 thaumos: seems he did 19:16:02 Would this also affect ctrl-c? 19:16:03 the right way would be, "I user wants this to happen, let me configure ansible to force_handlers: true in configuration or set the directive for the play" 19:16:20 #chair misc 19:16:20 Current chairs: abadger1999 chillysurfer jtanner misc mkrizek nitzmahone resmo rohitkum thaumos 19:16:29 nitzmahone: that sends sigint so I think that's the way the reporter wants it 19:16:31 (I would assume so) 19:16:36 yep 19:16:57 handlers aren't really the mechanism that we wrote for rescuing from a task failing. 19:17:12 blocks 19:17:27 Definitely shouldn't be the default (even if force handlers is on). If I ctrl-c something, I want it to stop, not go run another potentially long wad of stuff. 19:17:40 yep. I could see ansible running a rescue: block if ansible is sent sigint. 19:18:06 although tower wants it to die completely if they kill any one of the child pids 19:18:37 thaumos: yeah, config would be okay... I think it should be more than just force_handlers=True though, as that has a meaning already. 19:18:51 (or at least watch for another signal after starting handlers that'd allow hard abort) 19:20:09 yeah, definitely not making it default and having a config option to enable it 19:20:11 @abadger1999 I think both could work. I am thinking of the folks who aren't A) willing to write rescue blocks or B) Not saavy enough to write complex rescues 19:20:40 have we heard more people complaining about this and/or wanting the feature? 19:20:44 nobodies saavy enough to write complex rescues... 19:20:53 mkrizek: not that I have heard. 19:21:00 handlers are worse though, as they aren't actually a rescue. 19:21:18 yeah, but it's a simple task to do X 19:21:23 however... 19:21:28 Now that I think about it... 19:21:49 I am thinking a rescue block on a playbook would be a much better approach 19:22:16 maybe a way to turn on set a default rescue task (to flush_handlers for ex) and a way to create implicit default rescue blocks 19:22:43 jimi|ansible: ^ We're spitballing abunch of idea here ;-) 19:23:04 lots of good ideas here. 19:23:29 More and more, I think it's worth having, IF AND ONLY IF, we make it configurable and not the default. 19:23:31 alikins: an implicit rescue will mean nothing ever fails 19:23:40 more or less playbook equiv of python sys.excepthook (kinda, sorta) 19:24:41 In our quest not to become a programming language, now we need a rethrow directive in rescue blocks... 19:24:56 -1 to this .. dont control C if you want play to continue 19:25:00 * jimi|ansible smacks nitzmahone 19:25:12 don't give people ideas ;) 19:25:16 nitzmahone: we have it already, `fail` module 19:25:20 bcoca: +1 to your comment 19:25:37 assert? 19:25:52 i don't see why ctrl-c would be the natural way to go about desired end state 19:25:52 alikins: also, but `fail` seemed better fit name wise 19:26:09 or kill -15 19:26:32 people freak out and Ctrl+C 19:26:45 thaumos: in hopes of...? 19:26:58 (https://github.com/ansible/ansible/issues/15460#issuecomment-287032050 mentions similar idea) 19:27:01 Β―\_(ツ)_/Β― 19:27:06 beats the hell out of me 19:27:10 I sure as hell never did it. 19:27:18 * chillysurfer laughs 19:28:13 i ctrl+c all the time with ansible, however i don't expect the rc to be representative of what happened at all 19:28:18 i expect it to stop, not do more stuff 19:28:25 same here 19:28:30 ^ hence my -1 19:28:33 and tower team generally agrees 19:28:44 not that anyone would ever understand what to expect when combined with when:/fails_when: or any_errors_fatal or ignore_errors etc 19:28:59 jtanner jimi|ansible what do you expect ansible to do when you ctrl-c? 19:29:04 its mostly a guy that gives some other user the ability to use bplaybook, the other guy Ctrl+C and now instead of 'training' he wants to insulate his playbook from operator error 19:29:07 i expect it to stop 19:29:12 chillysurfer: to die a horrible death 19:29:18 * chillysurfer hahahaha 19:29:26 and stop NOW 19:29:33 now now 19:29:38 next they'll ask us to handle kill -9 w/o patching the kernel 19:29:40 when is now? soon 19:29:41 Lol okay. 19:29:48 So here's the question 19:29:52 We already have issues where remote task often continue after death 19:30:00 nitzmahone: not much we can do there 19:30:11 Are we to enforce how we all feel about it, and say no. or should we give them an option? 19:30:32 the option requries signal handling code across forks .... 19:31:02 which will directly conflict with existing signalhandling code .. that actively kills forks 19:31:12 lol.... 19:31:29 * thaumos sees someone feverishly pounding CTRL+C and hoping that all sigterms hit properly 19:31:30 I know, just saying this potentially exacerbates such issues 19:31:31 im all for giving users options .. this is not one of those times 19:31:41 yeah... 19:31:45 let's call it then 19:31:54 I take back my niceness 19:31:56 No 19:32:12 I tried being nice for once, you all convinced me to be a jerk again 19:32:33 So, vote 19:32:48 All in favor of this being an option +1 or -1 19:32:53 -1 19:32:55 -1 19:32:59 -1, too many potential issues 19:33:02 -1 19:33:19 -1 19:33:19 -0.5 19:33:22 lol 19:33:25 -1, its easier to smack the userin hitting Ctrl+C like an elevator button 19:33:25 haha 19:33:30 I knew you'd do something like that @abadger1999 19:33:42 Rounds to -1 ;D 19:33:49 hahaha 19:34:12 jimi|ansible we can consider you as -1, amirigh? 19:34:18 yes, -1 19:34:28 ok settled. 19:34:29 not that i appear to be anywhere close to a deciding vote 19:34:33 * bcoca has been tempated to take job developing control systems to ensure elevator slows down prortionally to number of times button is pressed 19:34:35 whatever 19:35:46 #info #15460 voted against 19:35:56 nitzmahone: does U.S. rounding of negative numbers round to the higher value or higher absolute value? ;-) 19:36:02 * nitzmahone wants to hack the elevator to say "stop that" in its British accent 19:36:29 nitzmahone: need to hack the lobby/floors as that is button i was reffering to 19:36:30 When I'm doing the rounding, whichever fits the result I want ;) 19:36:36 LOL 19:36:49 who wants to update the issue? 19:36:51 nitzmahone: just like banks 19:36:58 perfect answer ;-) 19:37:21 thaumos: I can 19:37:29 thanks @mkrizek 19:37:47 #action mkrizek to update the issue 19:37:58 any other feedback for the topic before I move to the next one? 19:38:59 alrighty 19:40:24 #topic Open Floor 19:41:33 @rohitkum, you had a question about libcloud earlier... 19:42:14 Right, as recognized there are limitations which crop every now and then because of libCloud 19:42:21 We haven't had any discussions about it afaik. 19:42:26 Where are these limitations? 19:42:34 that's a very general statement. 19:42:47 or a relevant issue 19:42:49 can you provide a specific use case? 19:42:52 or issue 19:42:57 we'v had a couple of discussions on libcloud 19:43:01 Which module are we talking about- libcloud is used in several (GCE most prominent IIRC) 19:43:05 yep 19:43:12 when bcoca? 19:43:13 Google network modules 19:43:31 k, what is your proposition/question? 19:43:32 supertom was going to do a rewrite to nuke libcloud, 19:43:35 thaumos: 1) proposal to use it for all cloud modules, we declined 2) migrate GCE modules away from it, we punted to supertom 19:43:46 gotcha! 19:43:49 * abadger1999 remembers talk about it occurring but didn't participate in it. 19:43:50 well... 19:43:51 for e.g - there is no provision to add privateIpGoogleAccess 19:44:05 So @rohitkum, I stand corrected. 19:44:09 It apparently has been discussed. 19:44:10 I wanted to know if the community has any plan to move away from libcloud 19:44:19 and adapt google SDK per say? 19:44:20 There are plans, but no one to work on it. 19:44:30 rohitkum: yes and no, plans were made, guy doing them left 19:44:42 #chair bcoca 19:44:42 Current chairs: abadger1999 bcoca chillysurfer jtanner misc mkrizek nitzmahone resmo rohitkum thaumos 19:44:46 Google folks were going to rewrite in native SDK, but they've been re assigned to other things 19:45:30 Basically we're agreed it's the right thing to do, but nobody's stepped up to do the work. 19:45:52 😞 19:45:52 Does that sound like its an agreed upon work hanging around? 19:46:04 yes, it's agreed upon. No one to do it 19:46:28 okay, so @jbaublitz(github) has some modules updated to use native sdk 19:46:28 i would check with eric johnson (guy that created initial plugins and boss of last guy that was maintaining them) 19:46:58 we barely look/touch these modules 19:47:51 @rohitkum you are referring to https://github.com/ansible/ansible/pull/19446 aren't yoyu 19:47:57 I see you on that thread as well. 19:48:04 Yes, these are humungous modules which will need quite a lot of rework 19:48:50 ... a rewrite is highly unlikely without an active maintainer and a CI system to ensure they're not horribly broken. We're in the the process of getting that in place for AWS and Azure, no discussion for GCE I'm aware of 19:49:03 none that i know of 19:49:14 ^ so that PR seems g2g as soon as tests pass 19:49:15 it's up in the air for now. 19:49:27 yep, and that PR got the okay from erjohnso too 19:50:09 so @rohitkum, this PR is waiting on the submitter to check the failures 19:50:23 * nitzmahone ducks out for WWG prep 19:50:26 and then for erjohnso to re-approve it 19:50:31 I propose to start working network modules to start with to adapt native sdk along under the able guidance/support of a active contributor, would that sync with the communiy's plan forward? 19:50:57 for GCE modules 19:51:18 @rohitkum, sorry... are you proposing to do the work yourself? 19:52:05 Yes, with support of an active contributor 19:52:07 Feel free to reach out to the folks listed in the PR thread to discuss your proposal. 19:52:40 rohitkum: the "guidance/support of an active contributor" is the hard part. We can guide you as much as we guide anyone else in #ansible-devel but (esp. since we don't have gce knowledge) we can't guide you further than that. 19:53:03 The recent most "active" contributors are jbaublitz and erjohnso 19:53:15 but even then what @abadger1999 19:53:16 just said 19:53:21 We just don't know. 19:53:32 I am only going off of the thread in the PR I mentioned. 19:53:37 * jtanner doesn't have gce account either 19:54:04 * bcoca had a $500 credit gce account but probably expired after 3 yrs of non use 19:54:16 does that help, @rohitkum? 19:54:30 rohitkum: usually this is a case where someone like you comes along and says "i want to work on this", so you get marked as a container and you help lead the community 19:54:39 s/container/maintainer 19:54:42 heh 19:54:49 ^ nice freudian slip 19:54:55 I can work on it independently as well, I wanted to know/confirm that this matches the community's plan forward 19:55:05 you're the community! 19:55:18 From our perspective, have at it! 19:55:18 Thanks a lot for you kind inputs 19:55:27 :thum 19:55:32 πŸ‘ 19:55:46 any other items to discuss? 19:55:49 Great, thank you 19:55:55 anouncement from me. 19:56:04 * thaumos braces 19:56:13 * bcoca ducks 19:56:14 I've been working on cleaning up all the undefined variables that pylint reports. 19:56:25 * chillysurfer wipes sweat of brow 19:56:31 whew ... thought he was going to announce his love for ruby 19:56:35 Later toady I'm going to merge that in along with turning on pylint's checks for undefined variables. 19:56:38 jtanner++ 19:57:01 So shippable runs will start complaining if your PR has undefined variables in the future. 19:57:02 abadger1999: i expect many 'stale ci ' to fail when 'unstaled' 19:57:12 Yep. 19:57:15 abadger1999: that will only help me not be a dummy, so shipit 19:57:15 abadger1999++ 19:57:29 That's definitely going to happen... there was a lot of cleanup needed inthe existing code ;-) 19:57:49 ^ i wish we would have had this instead of PEP8 checks 19:57:51 btw, stale_ci is only auto-kicked right now if the PR is "shipit" and not needs_revision/rebase 19:58:04 Also, one thing to know... since we're running pylint under py3, this will catch things that don't exist in py3 anymore (like unicode or basestring) 19:58:25 which we should, since we pretend to support py3 19:58:29 er .. ensure 19:58:30 Which is actually a good thing. 19:58:32 er asure? 19:58:46 But some submiters may grumble... so be aware :-) 19:59:35 EOF 19:59:47 --end of line 19:59:51 #endmeeting