16:02:13 <gundalow> #startmeeting Ansible Network Working Group 16:02:13 <zodbot> Meeting started Wed Apr 11 16:02:13 2018 UTC. The chair is gundalow. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:02:13 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:02:13 <zodbot> The meeting name has been set to 'ansible_network_working_group' 16:02:42 * Qalthos waves 16:02:46 <Qalthos> er 16:02:49 * Qalthos 🌊🌊 16:03:01 * ganeshrn waves 16:03:01 <gundalow> #chair sjaiswal samerd caphrim007 privateip Qalthos rcarrillocruz ganeshrn trishnag 16:03:01 <zodbot> Current chairs: Qalthos caphrim007 ganeshrn gundalow privateip rcarrillocruz samerd sjaiswal trishnag 16:03:06 * privateip waves 16:03:13 <trishnag> o/ 16:03:16 <caphrim007> o/ 16:03:47 <gundalow> #info Agenda as always: https://github.com/ansible/community/labels/network 16:04:26 <gundalow> caphrim007: did you have some questions around persistent connection? 16:05:06 <gundalow> #chair jmcgill298 16:05:06 <zodbot> Current chairs: Qalthos caphrim007 ganeshrn gundalow jmcgill298 privateip rcarrillocruz samerd sjaiswal trishnag 16:05:13 <caphrim007> gundalow: yeah i need to work with someone to figure out why the responses from my server, when communicated with via the network_cli connection plugin, seem to be injected with arbitrary \r strings 16:05:35 <caphrim007> i'm not sure if its something to do with ansible, or my server 16:05:38 <gundalow> #topic Persistent Connection development questions 16:05:53 <gundalow> caphrim007: nothing else on the agenda, so we can start with this 16:06:14 <caphrim007> lemme drag my code back out. i shelved it last night 16:07:14 <privateip> caphrim007: is this the culprate? --> https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/network_cli.py#L424 16:07:17 <pffs> is persistent connection via bastion something that might make 2.6? 16:07:49 <caphrim007> privateip: that \r should be at the end of the entire line though 16:07:59 <caphrim007> hold on. i'm still repro'ing my problem 16:08:56 <gundalow> pffs: did you acozine1 documented it: https://github.com/acozine/ansible/blob/network_faq/docs/docsite/rst/network/user_guide/faq.rst https://github.com/ansible/ansible/pull/38359 16:09:16 <privateip> pffs: you mean the enhancements we discussed? persistent connection works today with bastion just not the way you would think 16:09:52 <caphrim007> here's my output; i'm dumping these lines here 16:09:52 <caphrim007> https://gist.github.com/caphrim007/a8df95ba7113467797e67dc6f42d4d85 16:10:09 <pffs> privateip: yeah, the not having to reconnect part I think you talked about 16:10:46 <caphrim007> dump here (receive) https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/network_cli.py#L391 16:10:56 <pffs> that document looks pretty good, although the "try not to use a bastion unless you can't help it" part makes me a little sad 16:10:57 <caphrim007> and dump here (send) https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/network_cli.py#L423 16:11:18 <caphrim007> observe lines 17 and 19 of the gist 16:11:27 <caphrim007> where did this come from "display-t \rhreshold" 16:11:30 <caphrim007> that \r 16:12:17 <caphrim007> the result of whatever that \r is, is that the return value includes my initial command 16:12:35 <caphrim007> because this here https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/network_cli.py#L472 16:12:39 <caphrim007> seems to split on new lines 16:12:42 <caphrim007> catches the \r 16:12:58 <caphrim007> and then makes it \n separated when it stitches it back here https://github.com/ansible/ansible/blob/devel/lib/ansible/plugins/connection/network_cli.py#L476 16:13:33 <caphrim007> so my output looks like this afterwards 16:13:34 <caphrim007> https://gist.github.com/caphrim007/f87d51f8ddd09b3e955a952b4cf85aca 16:13:39 <caphrim007> instead of just being "0" 16:14:48 <caphrim007> and in some cases it goes really wacky like this https://gist.github.com/caphrim007/6bb984fa7e22db12baed8001602dc8dd 16:15:10 <caphrim007> so i'm not sure why it seems to send it ok 16:15:15 <caphrim007> but it receives it wrong 16:15:21 <caphrim007> i'm baffled 16:15:26 <pffs> caphrim007: does that happen on longer commands only? 16:15:32 <caphrim007> yes 16:15:41 <pffs> always at the same character count, maybe? 16:15:44 <caphrim007> it seems to happen around the same character 16:15:46 <caphrim007> yes 16:15:51 <caphrim007> at/around char 37 16:15:52 <pffs> I wonder if it's a terminal width thing 16:16:07 <Qalthos> Yeah, that sounds just like a terminal width issue 16:16:09 <caphrim007> that was my next guess, that its an issue with my remote device 16:16:24 <privateip> ah i remember we had a similar issue with terminal widths way back when 16:16:39 <pffs> I've had that issue on IOS as well for really long lines 16:16:49 <privateip> are you able to modify the terminal width? 16:16:49 <pffs> since I think it sets the term width to 512 on IOS 16:17:08 <pffs> tmsh might be really impacted on that since your prompt tends to be super long 16:17:27 <caphrim007> pffs i agree 16:17:39 <caphrim007> privateip i am not sure if i can set the width 16:17:43 <caphrim007> "it depends" 16:17:48 <caphrim007> because some times the shell is bash 16:17:51 <caphrim007> but other times its tmsh 16:17:57 <caphrim007> and tmsh may not have that ability 16:18:02 <pffs> caphrim007: https://devcentral.f5.com/questions/is-there-a-way-to-set-terminal-width-in-tmsh 16:18:12 <pffs> although that requires the user have bash access 16:18:33 <caphrim007> pffs....well....we kiiiiinda require that 16:18:48 <caphrim007> the box is more-or-less unconfigurable without admin privs 16:18:51 <pffs> not everyone does, though 16:19:10 <caphrim007> right, but ansible is essentially useless if you dont have admin role 16:19:31 <pffs> I wonder if you could use something like from here: http://www.shrubbery.net/pipermail/rancid-discuss/2015-February/008034.html 16:19:33 <caphrim007> 98 of 100 f5 modules are essentially useless 16:19:47 <pffs> looks like rancid sets a specific TERM value before connecting 16:23:33 <caphrim007> trying both methods right now 16:28:08 <gundalow> While caphrim007 is looking into that, does anyone have anything else? 16:28:17 <gundalow> samerd: pffs Anything from you? 16:29:13 <gundalow> Hi Anil, anything for todays meeting? 16:29:24 <pffs> had some issues yesterday running via a bastion with really high latency where I was getting a bunch of the error reading protocol banner messages 16:29:26 <Anil> Hi 16:29:57 <pffs> Tried modifying paramikos lineread timeout above 2 seconds but didn't seem to matter 16:30:05 <Anil> No.. i dont have anything specific to discuss. But in 2.6 I would like to move all cnos modules to persisytenc connection 16:31:01 <caphrim007> pffs: i think your tty link is working 16:31:26 <gundalow> Anil: https://github.com/ansible/community/blob/master/group-network/network_dev_network_cli.rst should help with that 16:32:08 <Anil> Gundalow: Great! Thanks.. 16:32:32 <gundalow> pffs: Could you please raise an issue once you've got enough information 16:32:56 <Anil> Gundalow: I will work on that , and more over there are change in CLIs for cnos. So I will change them too 16:33:09 <gundalow> nod 16:33:13 <pffs> gundalow: can do. It's on 2.4.3 since 2.5.0 is completely broken for bastions with even a tiny amount of latency 16:33:13 <gundalow> #topic Open Floor 16:33:27 <caphrim007> pffs: yep, its working now with stty. \o/ 16:33:38 <Qalthos> \o/ 16:34:03 <privateip> nice 16:34:29 <pffs> caphrim007: iirc when we were fixing rancid to work with f5s we ended up running everything from the bash shell instead of tmsh because of something like that 16:34:42 <pffs> like there's a -q option or something that makes the output much easier to read 16:35:39 <privateip> pffs: this is going ot be a very non trival change ... would you be able to test some devel code? 16:35:52 <privateip> the bastion stuff that is 16:35:56 <pffs> privateip: sure 16:36:15 <privateip> okay ... will reach out to you once i have it ready (might be a couple of weeks) 16:36:28 <pffs> I can probably even get something set up in my lab so that I can induce latency the connection to the bastion 16:36:38 <privateip> that would be great 16:36:44 <samerd> @gundalow: I have a question, not related to ansible-network but regarding to partnership between Mellanox and Ansible, I do not know the right forum to raise it. 16:37:08 <pffs> solid, yeah, just highlight me on here and I'll test for you 16:38:15 <privateip> samerd: you can email me offline psprygad@redhat.com 16:38:27 <gundalow> thanks privateip 16:38:48 <samerd> @privateip: thanks a lot, will do after the meeting 16:47:00 <gundalow> OK, will close if there is nothing else 16:48:06 <gundalow> OK, thanks all 16:48:08 <gundalow> #endmeeting