16:00:02 #startmeeting Network Working Group 16:00:02 Meeting started Wed Apr 18 16:00:02 2018 UTC. The chair is funzo. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:02 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:02 The meeting name has been set to 'network_working_group' 16:00:14 * funzo waits for people to join 16:00:21 * privateip waves 16:00:39 #chair privateip 16:00:39 Current chairs: funzo privateip 16:00:49 Oh, funzo started it 16:00:55 #chair dagrawal Qalthos 16:00:55 Current chairs: Qalthos dagrawal funzo privateip 16:01:36 #info Agenda https://github.com/ansible/community/labels/network 16:02:02 bueller?? 16:02:11 bueller??? 16:02:17 * funzo waits for people to join 16:02:21 bueller???? 16:02:24 haha 16:02:27 Polo! 16:02:32 oh wait... 16:02:50 Ok, so today we have a couple specs on the agenda 16:03:07 we got a ferris bueller and a marco polo in one meeting... productive 16:03:19 ganeshrn: you're not here are you? 16:03:37 just back now 16:03:44 * ganeshrn waves 16:03:53 The first proposal on the agenda is for the netconf modules 16:03:57 #link https://github.com/ansible/proposals/issues/104 16:04:24 #topic Generic netconf modules 16:04:55 anyone have a chance to go through the proposal yet? any feedback? 16:05:05 #chair ganeshrn 16:05:05 Current chairs: Qalthos dagrawal funzo ganeshrn privateip 16:05:37 I had a look and it seemed reasonable to me 16:06:04 It also has a fair number of +1s attached, for what it's worth 16:06:07 great, thanks Qalthos 16:06:21 one thing i would like to change is the config argument 16:06:27 * privateip is about to bikeshed 16:06:29 anyone else here interested in reviewing the proposal? 16:06:48 anyone else? 16:06:57 anyone 16:07:00 moving on 16:07:02 but i will add my comments to the issue 16:07:05 is lpenz around 16:07:08 kidding privateip 16:07:10 :) 16:07:11 go for it, let's talk about it 16:07:38 i would like to see config become content and then drop src 16:07:51 we should use lookup plugins for loading content from files 16:08:12 content is more aligned with arguments across the ansible ecosystem 16:08:29 privateip: ok will make a not of it 16:08:38 note* 16:08:42 same for data in netconf_rpc 16:08:52 privateip: That's a pretty good point 16:08:53 oh wait 16:09:00 maybe not netconf_rpc 16:09:07 sorry yes netconf_rpc 16:09:12 too many things open 16:11:21 privateip: data is the xml payload for given rpc 16:11:23 add the same comments to the issue in the proposal for posterity 16:11:30 ok any other feedback? 16:11:33 i didn't follow your comment for junos_rpc 16:11:34 sure but its still content no? 16:11:50 yes...it is a xml string 16:12:00 not a file path 16:12:18 so if its content then I think we should be consistent with other modules and call it content 16:12:44 ah got it now 16:12:50 will rename the option 16:12:55 lpenz: added a comments here https://github.com/ansible/ansible/issues/38819#issuecomment-382374404 regarding proposal 16:13:06 if he is around we can discuss it 16:13:32 doesn't seem like it 16:13:35 privateip: thanks for your review comments 16:13:57 ok will reply him on the issue 16:14:04 ok if there are no other comments we'll move on to the next proposal 16:14:16 #topic Review HTTP connection proposal 16:14:17 just confirming... all three are scheduled for inclusion in 2.6? 16:14:50 yes 16:14:53 #link https://github.com/ansible/proposals/issues/103 16:14:55 great thx 16:15:05 how much time it should be in review 16:15:18 when can it be moved to agreed status? 16:15:44 next week, imho 16:15:51 ok cool 16:15:52 i think that's reasonable 16:16:05 gives people enough time to review/respond 16:16:10 then move forward 16:16:33 ok, Qalthos you want to kick off the HTTP conn? 16:16:40 Hey, so there have been some changes from the previous eAPI proposal, so I made a new one to better hilight the differences 16:18:06 This one is still a little eAPI-oriented in the problem statements, but the same connection will support eAPI and NX-API (and others if people want to make them) through API implementation plugins 16:18:53 I'm not sure if everyone has seen the new proposal or had a chance to see the latest version 16:19:04 so a couple of things 16:19:24 do you have an example of what might be in **message_kwargs? 16:19:46 Yes, I can expand on that a bit 16:20:33 second, we should probably specifity that the data arg in send_request has to be json serializable 16:22:05 overall though it lgtm 16:22:37 ...yeah, that seems sensible. I had sort of assumed that from where I was in (e|nx)os, but I can see where someone else might want to take more complicated input there 16:25:54 anyone else have input on the proposal before we move on? 16:27:21 Qalthos: are you thinking of waiting to until next week to call this proposal good to go and agreed upon? 16:27:36 im +1 for moving forward at this point 16:27:57 i know you didn't ask me but i can only go so long without talking :) 16:28:35 lollll 16:29:21 #agreed move forward with the HTTP connection proposal 16:29:25 I've seen a lot of generic positive feedback for both this and 102, and no real concerns other than caphrim007_'s comments, which seem to be addressed, so I feel good to go 16:29:40 #info move forward with the HTTP connection proposal 16:29:44 #topic open floor 16:29:46 Qalthos: i'll wait and see how its used. i guess 16:29:53 ok folks anyone have items for discussion, now is the time 16:30:12 funzo https://github.com/ansible/community/issues/247#issuecomment-382332686 16:30:19 you missed this comment 16:30:49 ganeshrn: i did, thank you 16:31:08 #topic Discuss Deprecation of connection=local and provider for Network modules. 16:31:44 Personally, I'm not really sure what there is to discuss here 16:32:02 it would be a major breaking change for all my customers 16:33:32 the topic might be a little misleading 16:33:39 connection=local isn't being deprecated 16:34:07 the use of connection=load in network modules that support connection=network_cli or network=netconf is what we are talkign about here 16:34:39 in other words, this wouldn't impact your modules unless you made a change 16:35:11 my bad...i was not clear in the comment 16:35:55 someone might need to resuscitate caphrim007_ ;) 16:36:00 so this https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/bigip.py#L48 and this https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/action/bigip.py#L61 are not problems? 16:36:02 CLEAR! 16:36:34 oh hey it's a meeting 16:36:35 they would still work just fine 16:36:58 it would only be if you decide to drop support for connection=local in your action plugin 16:37:04 so this affects (e|i|jun|nx|vy)os(xr?)... anything else? 16:37:08 I think it might warrant some type of documentation about being able to use connection=local 16:37:41 because otherwise it makes running some of the junos scripts obnoxious if you don't realize you don't have to specify the specific connection method 16:38:03 in terms of support (on my end) i would _love_ to remove connection local 16:38:06 primarily like if you want to run a play where you're enabling netconfig (network_cli) and then making a change (netconf) 16:38:20 like pffs says, my customers too never "know" they need to do it unless they rtfm 16:38:24 pffs: agreed, we are playing to tip toe into this 16:38:35 so it opens some unneccesary support cases 16:39:16 pffs for junos an error message will be reported if wrong connection type is used 16:39:30 that change will be available in 2.5.1 16:39:42 will it change to the correct one, or just fail? 16:39:50 it will fail 16:39:51 because I think when I tested it in 2.5.0 it just failed 16:40:09 yup in 2.5.0 it gave a stacktrace 16:40:12 But now it will tell you why it failed 16:40:17 so that is fixed now 16:40:23 I think my issue was that the documentation specifically said to move the connection into groupvars 16:40:39 so it makes it really hard to use two different conenction types in the same play unless you overwrite your groupvars 16:40:58 you can override the connection at a task level 16:41:28 that's good to know, I'll keep that in mind if I try to run the same type of play again 16:41:36 network_cli and netconf credentials should be stored in inventory .... connection local (provider) credentials should be stored in group_vars 16:41:52 you can inheret the group_vars values from the inventory 16:41:59 so you only have to update them in one place 16:42:31 so this goes back to pffs: point ... we need to be extremely verbose on the communication of this change 16:42:32 yeah it wasn't the credentials so much as the connection type to use for a given task 16:43:03 if this is deprecated, what is the proposed version it would be removed? 16:43:42 standard deprecation is 4 releases but we can extend that further if needed 16:44:19 I think this page is what I was using as a reference on how to set it up: https://docs.ansible.com/ansible/devel/network/user_guide/network_best_practices_2.5.html 16:44:35 which I think is what let me to think that connection was supposed to just be groupvars only 16:46:37 un/semirelated, do the netconf changes above make it so netconf actually works with bastions? 16:46:41 because that would be grand 16:46:58 im still working on the prototype that you and i discussed 16:47:09 its the same issue as network_cli 16:47:19 ah interesting 16:48:56 I almost feel like there should be an ansible ansible module for running ansible from ansible 16:49:14 #info we want to deprecate connection=local for modules where connection is possible with new connection types (network_cli, netconf, etc.) 16:49:15 that has come up many times over in #ansible-devel 16:49:24 not really a surprise 16:49:35 lots (and lots and lots) of corner cases 16:49:44 I just ran a change that I had to run from 7 different servers since it wouldn't complete in time from one 16:49:47 #info This mainly means ansible-developed platforms 16:50:52 #info We are planning to be very slow with this, as we know many playbooks are in use with connection=local 16:51:05 Anything I missed? 16:51:36 Anything I am wildly off base about, for that matter? 16:52:22 all makes sense to me 16:53:23 [insert_thumbs_up_emoji_here] 16:53:47 great 16:53:55 we have a couple minutes for open floor 16:54:01 #topic Open floor 16:56:15 sounds pretty quiet 16:56:22 I'll go ahead and end the meeting 16:56:28 #endmeeting