00:00:19 <nitzmahone> #startmeeting Ansible Azure Working Group 00:00:20 <zodbot> Meeting started Thu Mar 7 00:00:19 2019 UTC. 00:00:20 <zodbot> This meeting is logged and archived in a public location. 00:00:20 <zodbot> The chair is nitzmahone. Information about MeetBot at http://wiki.debian.org/MeetBot. 00:00:20 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 00:00:20 <zodbot> The meeting name has been set to 'ansible_azure_working_group' 00:00:24 <nitzmahone> hiya 00:00:50 <nitzmahone> #chair yungezz_ zikalino8265 yuwei 00:00:50 <zodbot> Current chairs: nitzmahone yungezz_ yuwei zikalino8265 00:00:58 <yungezz_> Hi Matt 00:01:24 <yungezz_> First thanks for Pr reviews 00:02:20 <nitzmahone> no worries- got a couple more to do for Zim ;) 00:02:56 <zikalino8265> hi all :-) 00:03:41 <nitzmahone> I know Zim wanted to chat about generic idempotence strategy- anyone else have anything for today? 00:04:15 <yungezz_> I have some questions on tower 00:04:37 <yungezz_> Will you join red hat summit this year? 00:04:47 <nitzmahone> Yes, I'm planning to be there 00:04:53 <yungezz_> Great 00:04:54 <nitzmahone> I can't help much on Tower though ;) 00:05:17 <zikalino8265> myself and Stuart have 2 hours workshop 00:05:23 <yungezz_> Ok, just some general user scenarios 00:05:27 <yungezz_> Ok 00:05:54 <nitzmahone> Oh, general stuff sure, but if it's deep technical something about Tower, you're asking the wrong guy ;) 00:06:36 <yungezz_> Got it :) 00:07:32 <nitzmahone> zikalino8265: cool- they didn't accept my talk this year, so other than customer meetings and a couple of "ask an expert" sessions, I'm pretty free... I'll try to come be the peanut gallery at your workshop ;) 00:07:37 * jborean93 sorry lost track of time 00:07:52 <zikalino8265> peanut gallery? :-) 00:08:44 <nitzmahone> does this help? https://www.youtube.com/watch?v=14njUwJUg1I 00:09:05 <nitzmahone> peanut gallery == the people that heckle the presenters 00:09:33 <zikalino8265> ah, ok, learned something new today 00:09:36 <zikalino8265> :-) 00:10:12 <yungezz_> :D 00:10:23 <nitzmahone> yungezz_ did you have some questions you wanted to try asking, or probably too deep? 00:10:38 <yungezz_> Zim can go fist 00:10:46 <nitzmahone> #topic https://zikalino.github.io/blog/2019/03/06/ansible-modules-proposed-improvements/ 00:10:51 <zikalino8265> yeah, so i just sent a link to the note 00:10:55 <yungezz_> About idempotence 00:11:12 <zikalino8265> i have been playing with different approaches for long time now. 00:11:27 <zikalino8265> and i thin this kind of approach would be probably the best. 00:11:52 <nitzmahone> Yeah, I like the approach 00:11:57 <zikalino8265> i have tested if i can add any additional azure specific metadata 00:12:16 <nitzmahone> I make no guarantees that the extra data in the argspec won't break in the future, but it's probably a fine appraoch 00:12:21 <zikalino8265> maybe we could just make some of these things ansible-wide at some point 00:12:59 <nitzmahone> I think the GCE folks do something similar with their modules- they're all generated 00:13:15 <nitzmahone> but the fully generated modules are a pain for us 00:13:26 <zikalino8265> i don't know, but it looks similar to their input files ;-) 00:13:57 <jborean93> this does somewhat align the modules more to the actual API. Might be encouraging bad practices when building the module itself 00:15:19 <zikalino8265> if it's not flexible enough... 00:15:19 <nitzmahone> in most cases though there's a 1:1 mapping of a module arg to an API property, so having a declarative way to say "just do a straight comparison" or "ignore this one because it can't be updated" is a nice way to avoid writing stupid/repetitive/error-prone code that's just doing those basic comparisons 00:15:59 <zikalino8265> right now we have too many problems. every module behaves differently :-( 00:16:08 <nitzmahone> There will always be special cases where the module needs to do something more, but having a framework like this in place would cover the vast majority 00:16:22 <jborean93> fair enough 00:17:08 <nitzmahone> (but yes, would also make it easier to build "dumb API wrapper" style modules ;) ) 00:17:31 <zikalino8265> so we need good framework + good guidelines 00:17:51 <nitzmahone> Yeah- having this framework doesn't absolve the module author of the need to build good UX 00:18:13 <nitzmahone> (just makes it easier to do the repetitive parts in a declarative way) 00:19:34 <nitzmahone> Anything more you want to talk about on that? I'd be curious to see a strawman module or two (esp with some of the more complex ones where you have to dig a few layers into the API object to get the value) 00:20:07 <zikalino8265> yes, i can do it with selected 2 modules 00:21:06 <zikalino8265> thanks for input :-) 00:21:16 <nitzmahone> np- exciting stuff! 00:21:27 <yungezz_> My turn then. In what scenarios user will use tower rest api? Is it common to integrate api call with other tools like ci/cd? 00:21:28 <nitzmahone> OK, on to yungezz_ questions 00:21:42 <nitzmahone> Yeah, that's what it's there for 00:21:55 <yungezz_> Oh, ok 00:22:07 <nitzmahone> CI/CD, kicking off Tower jobs in response to external events, etc 00:22:42 <yungezz_> Why not directly call ansible in ci/cd 00:22:57 <nitzmahone> Some people have built custom UI frameworks or integration with other apps where user can click a button and behind the scenes Tower does $thing 00:23:26 <yungezz_> Any examples? 00:23:33 <nitzmahone> Some people do that too, but Tower provides credential storage, delegation, eventing, auditing, lots of other things over the top of command-line Ansible 00:23:43 <yungezz_> Yes 00:25:16 <yungezz_> I saw tower price tier, is there some tier like pay as you go? 00:25:36 <yungezz_> So far standard and premium pay yearly 00:25:39 <nitzmahone> I think they've done something like that for cloud usage 00:25:47 <nitzmahone> But not sure 00:26:40 <yungezz_> Ok 00:26:43 <nitzmahone> ($$$ stuff is very far away from my daily experience ;) ) 00:27:18 <nitzmahone> any others? 00:27:35 <yungezz_> My question done 00:27:52 <nitzmahone> Cool... Anybody got anything else for today then? 00:28:14 <zikalino8265> i think i am fine 00:28:19 <yungezz_> yuwei: how about 2sdks issue Jordan asked? 00:28:24 <jborean93> Yea 00:28:33 <jborean93> sorry was just about to bring it up :) 00:29:11 <yuwei> which one? 00:29:21 <yungezz_> Paramiko 00:29:21 <yuwei> Seems I missed 00:29:47 <jborean93> So the first question was around the paramiko requirement in azure-cli-core 00:29:53 <yungezz_> And the other about oauth latest version not compatible 00:29:56 <yuwei> oh yes 00:30:02 <yuwei> ssh things 00:30:14 <jborean93> the 2nd was an issue that was reported around oauthlib 3+ failed with msrest.credentials 00:30:46 <yuwei> I haven't got the answer now 00:31:21 <yuwei> I m still following up 00:31:31 <jborean93> ok, I'll pass that along 00:31:33 <yungezz_> Jordan, Maybe we can send you email after figure it out 00:31:44 <jborean93> sure 00:32:28 <nitzmahone> OK, if nothing else then, closing in 5... 00:32:33 <nitzmahone> 4.. 00:32:36 <nitzmahone> 3.. 00:32:40 <nitzmahone> 2.. 00:32:42 <nitzmahone> 1.. 00:32:47 <nitzmahone> Thanks all- til next week! 00:32:50 <yungezz_> Thanks and bye! 00:32:50 <nitzmahone> #endmeeting