16:00:14 #startmeeting Ansible Network Working Group 16:00:14 Meeting started Wed Jul 17 16:00:14 2019 UTC. 16:00:14 This meeting is logged and archived in a public location. 16:00:14 The chair is Qalthos. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:14 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:14 The meeting name has been set to 'ansible_network_working_group' 16:00:36 #chair justjais pabelanger privateip trishnag 16:00:36 Current chairs: Qalthos justjais pabelanger privateip trishnag 16:00:46 #topic Core Updates 16:01:10 A couple of housekeeping items today 16:01:39 o/ 16:01:48 was just grabbing drink 16:02:12 #info AnsibleFest is coming up, Sept 24-26 in Atlanta, GA 16:02:22 #link https://www.ansible.com/ansiblefest 16:03:01 #info IBM and Red Hat now a thing, for those who missed 16:03:06 #link https://www.ibm.com/cloud/redhat 16:03:25 that closed last week and part of the reason for skipping our meeting on short notice last time 16:03:43 I have a question about paramiko_ssh.py(https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/paramiko_ssh.py) which is mostly used for CLI network connections. 16:03:43 Shouldn't there be a connection retry in this plugin? 16:04:08 sumkincpp: we should be able to reply once we get to open discussion 16:04:08 We will, as usual, be having a Contributor Summit around the conference 16:05:02 hello all 16:05:13 I am a first timer to this meeting 16:05:27 That will be the day before, on the 23rd 16:05:29 I know we plan on doing some network related things for the contributor summit, but still working on plan 16:05:38 is this a chat meeting? Not voice meeting? 16:05:58 sushma-alethea: if you'd like to wait until open discussion, we can likely help then 16:06:23 ok 16:07:35 If you have any topics you would like to see covered at the contributor's summit, the organization is happening in https://etherpad.openstack.org/p/ansible-summit-atlanta-2019 16:08:41 #link https://github.com/ansible/community/issues/449 for the holding issue on ansible/community 16:10:27 On another topic, I'd like to know how the time of this meeting works for everyone 16:11:03 Qalthos: It works pretty well for me. But it does vary since my day job takes priority. 16:11:54 yah, I raised this topic with the team recently. To maybe try to get more involved for discussion 16:12:17 however, the majority of the team is APAC / EU 16:12:45 my initial thought was rotating time zone for weekly meeting, to make it more friend to EU / APAC, but that might be complicated 16:13:02 another idea, was a 2nd meeting, with more friendly APAC / EU 16:14:04 But really, it depends on when is best for the people coming to this meeting, as we're really not in here to talk to ourselves, today's performance so far notwithstanding 16:14:33 ++ 16:15:03 I'm in the US and find this meeting critical to being able to get my PRs merged. So I'm happy with the time, but flexible depending on the new proposed time. 16:15:40 right, with that though, having more ansible network member could make that better 16:15:45 but, unknown at this point 16:16:06 given there would be more eyes on PRs raised in the meeting 16:16:12 ^ why core has 2 meetings at diff times in the week 16:16:19 #action everyone make noise if you would be like to see this meeting happen likely several hours earlier in the day 16:16:53 *crick* 16:17:10 bcoca: We might end up going down that route. I don't think we would end up killing this time completely regardless 16:17:41 But we also don't know if there's any desire for the kinds of times we can also cover 16:17:48 Right, we can move on then 16:17:54 12pm is good for usa/europ, 9am west coast, endof day in most european countries 16:17:58 12pm est 16:17:59 couple of hours < 2.5hrs earlier is ok. anything earlier would be hard 16:19:03 It would likely have to be >3 hours earlier 16:19:25 >3 earlier would be a little harder for me. 16:19:28 pabelanger: Want to take over the agenda? 16:19:36 sure 16:20:07 lets go back to the things we missed last week 16:20:20 #topic Meraki PRs 16:20:32 #link https://github.com/ansible/ansible/pull/52889 16:20:37 #link https://github.com/ansible/ansible/pull/57289 16:20:43 #link https://github.com/ansible/ansible/pull/57855 16:20:49 #link https://github.com/ansible/ansible/pull/55485 16:21:10 So, being the bad human I am, I haven't found the time to review these 16:21:52 given they have been requested a few time now, I'm going to force myself to do that today 16:22:12 mrproper: I see integration tests, some unit tests would be nice as we can actually run those. 16:22:33 Qalthos: I have a separate PR to build out a unit test framework within my modules. 16:22:49 But I've struggled on the mocking/patching of fetch_url() so it hasn't gone very ffar. 16:23:00 https://github.com/ansible/ansible/pull/55251 16:23:12 Is there an example platform where we do mock integration testing? 16:23:18 I haven't looked to much myself 16:23:29 #link https://github.com/ansible/ansible/pull/55251 16:23:31 pabelanger: There is, but it still isn't working properly. I've found it quite frustrating :( 16:24:00 yah, I can see that. 16:24:08 I'm sure it's user error. I just don't know where. 16:24:41 So to answer Qalthos' suggestion, unit tests are on my roadmap to get a framework in and start using tests for the acutal modules themselves. 16:24:48 given that there is no way to run an appliance of this, it won't be 100%, but nice to have something. To at least confirm there is on python syntax issues 16:25:18 Admittedly, I don't break out tasks into functions in the modules very frequently, so unit tests may be a little more challenging (at least simply so). But it's still doable. 16:26:19 While I know that I in particular am horrible about remembering this, we do require unit tests on all new modules, and have since... 2.4, maybe? 16:27:12 ...oh. I didn't know that. 16:27:47 Yah, unit / functional testing is extremly helpful as a reviewer too. 16:28:05 Is there a document which says 16:28:11 "Here's what we like to see in unit tests for new modules?" 16:28:20 Yeah, like I said, I forget it myself 16:28:27 55485 does have some integration testing, but without hardware impossible to see results 16:28:51 pabelanger: I'm happy to work with you to show results. 16:28:55 #action Find documentation for all new modules need unit tests 16:29:13 mrproper: if possible, sharing them on the PR would be helpful 16:29:31 I'll update my PRs to show the integration test output. 16:29:38 Are you open to still reviewing them in advance of that? 16:29:39 great 16:29:48 yah, I'll start in 1.5 hours 16:29:56 after I get some food 16:30:09 That's all I have for today. Thank you! 16:30:16 moving on 16:30:18 mrproper: the only document I'm aware of is https://docs.ansible.com/ansible/latest/dev_guide/testing_units_modules.html#api-definition-with-unit-test-cases 16:30:27 #topic AVI PRs 16:30:34 #link https://github.com/ansible/ansible/pull/57116 16:30:40 er, well, the whole page, not necessarily that heading 16:30:41 #link https://github.com/ansible/ansible/pull/58382 16:30:49 #link https://github.com/ansible/ansible/pull/58667 16:30:56 #link https://github.com/ansible/ansible/pull/57116 16:31:04 #link https://github.com/ansible/ansible/pull/58382 16:31:12 #link https://github.com/ansible/ansible/pull/58667 16:31:18 that is all that was listed 16:31:29 Yes 16:31:30 yes, there is really three of them 16:31:31 I believe we talked a little about this today in our bug triage meeting 16:31:46 Oh, wow, I had pending comments on some of those that never got submitted 16:33:31 ah, yes. IPs for testing 16:33:38 chaitanyaavi: Can you talk about what https://github.com/ansible/ansible/pull/58382/files#diff-3fee4fdd73f2655ac24dd299af9c1264R43 is doing? 16:33:47 I think we mentioned that in past, but doesn't look like we raised it 16:35:55 In general, that PR isn't really testing much. You're not doing anything with the function's result, you're just checking that it returned... /something/ 16:36:34 Yes I will update the part of the comment 16:38:24 PR mostly tests different use uses of obj_cmp. It is core to all the Avi modules. Each test is testing a use case. Just wondering if the comment was for one single test or all the tests.. 16:39:52 personally, I'd keep them all the same 16:40:00 to simplify the code for testing 16:40:25 That comment is specifically for that test, but generally your tests aren't testing anything useful about that function 16:40:51 It could return `"bananas"` for all inputs and your tests would still pass 16:41:05 that is not true. they are testing comparison. they compare a sample output with what typically passed in playbook 16:41:15 the results are expected to be true or false 16:41:36 no that is not true.. you can try adding bananas anywhere and you will see it will fail 16:42:03 we will fix that test 16:42:06 for sure 16:42:07 So the result is not a diff, but is_diff instead" 16:42:32 I would probably then `assert diff is True` or `assert diff is False` instead then 16:42:52 that is not pythonic 16:43:09 I shouldn't need to unless I am required 16:43:20 for type checking 16:43:41 Is it going to return things other than True or False? 16:43:46 no 16:45:24 okay, we still have a few more items to get to, lets dig deeper after the meeting if needed. 16:45:35 so we don't run out of tim 16:45:39 time* 16:45:39 ok 16:45:42 Then I'm really not seeing the problem. Still, they appear to do the correct thing, so I withdraw most of my comments 16:45:56 #topic ios_config issues 16:46:03 there were more PRs 16:46:21 grastogi: did I miss some? 16:46:36 https://github.com/ansible/ansible/pull/58667 16:46:45 #undo 16:46:45 Removing item from minutes: 16:46:51 err 16:46:57 https://github.com/ansible/ansible/pull/57116 16:47:24 #topic AVI PRs 16:47:32 don't know how to roll back the topic 16:47:46 pabelanger: it's fine 16:48:26 grastogi: so, 58667 is something I'm going to dig more into. There is some concern if that is something the lookup plugin should do 16:48:39 I just need to ask reach out to maybe core to get some feedback 16:48:46 should be able to update PR for next meeting 16:49:29 57116 looks to have existing discussion, I'll need to get up to speed on that also 16:49:46 grastogi: For 57116 I still don't understand what the issue is with not deconstructing the paths into parameters that get built into paths in the module 16:49:54 but looks to be some concern about style of code for it 16:50:40 They are references. And, we cannot always put that paths. I have tried to show other examples like URI, URL, or URNs 16:52:22 okay, lets also discuss this more after the meeting. I suspect it will take a little time to solve 16:52:29 sure 16:52:34 #topic AVI PRs 16:52:40 #link https://github.com/ansible/ansible/issues/43996 16:52:48 err 16:52:54 #undo 16:52:54 Removing item from minutes: 16:53:02 #topic ios_config issues 16:53:08 #link https://github.com/ansible/ansible/issues/43996 16:53:16 #link https://github.com/ansible/ansible/issues/43861 16:53:46 lets look to be old issues, but didn't get triaged properly 16:54:18 I've been attched to them for a while 16:54:43 we likey can also ask justjais feedback too 16:55:23 okay, I've replied to them 16:55:27 will keep an eye out 16:55:41 #topic open discussion 16:55:47 that is all we had on the agenda 16:56:01 sumkincpp: if had question about paramiko 16:56:14 sushma-alethea: feel free to ask too 16:56:21 @pabelanger sure, I'll check and update respective github issues asap 16:56:31 justjais: thanks! 16:56:37 np! 16:57:27 sumkincpp: interestingly enough, we are also having the discussion around network_cli retries. For testing, we are seeing failures (2% of the time) 16:57:44 I know for ssh connection we do retries, and I've often thought that would be nice to have for network_cli 16:58:00 sumkincpp: is there a specific issue you are having? 16:58:05 on a platform 16:58:18 thanks pabelanger 16:58:26 I have raised a PR for ICX 16:58:32 Yep, NXOS 9.2.1, but I've also checked ssh.py connection plugin and wondering about retry logic 16:58:40 We have developed 15 modules for ICX switches 16:59:03 need to get these into Ansible main branch 16:59:19 So the problem is definitely in Cisco, but ansible currently doesn't have a possibility to retry if credentials were rejected once 16:59:20 sumkincpp: we are mostly seeing the issue on iosxr (for testing), so would be interested to hear more about it. Especially if you have debug logs 16:59:31 sumkincpp: for example, are you seeing 'Socket is closed' errors 16:59:39 EOF Transport 16:59:41 my request is to please get quick reviews 17:00:08 sushma-alethea: okay, thanks. I _think_ we did some triage today for ICX but will keep an eye out 17:00:34 At first I thought about paramiko, but Ansible not retrying auth errors in any case https://github.com/paramiko/paramiko/issues/878#issuecomment-484468883 17:00:55 mainly for 1st PR: https://github.com/ansible/ansible/pull/58969 17:01:16 once that is merged I believe we can raise 5 PRs 17:01:30 Also I have interesting sence that most Connection plugins should have additional layer of retry, i.e 17:01:37 for 5 PRs should we create 5 forks? 17:01:43 sumkincpp: if you want to raise an issue in ansible/ansible, we can debug together more. I know I've see auth issues before on junos 17:01:44 or 5 branches on existing forks 17:02:03 sorry if its a rookie question.. but I am using github process for first time 17:02:13 sumkincpp: agree about retries, at one point I think it was supported but removed. I need to dig more why 17:02:38 sushma-alethea: 1 fork, with 5 branches should be okay 17:02:50 thanks pabelanger, much appreciated 17:02:58 pabelanger: application based retries -- for example there is no wy to retry TACACS unauthed attempts 17:03:07 when is next ansible release planned? 17:03:25 Need ICX modules to be part of that 17:03:32 okay, we are about 3min over for today. Lets wrap up and continue discussion 17:03:35 thanks all! 17:03:38 #endmeeting