15:59:37 #startmeeting Ansible Network Working Group 15:59:37 Meeting started Wed Feb 20 15:59:37 2019 UTC. 15:59:37 This meeting is logged and archived in a public location. 15:59:37 The chair is Qalthos. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:59:37 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:59:37 The meeting name has been set to 'ansible_network_working_group' 15:59:54 #chair ganeshrn ikhan privateip trishnag 15:59:54 Current chairs: Qalthos ganeshrn ikhan privateip trishnag 16:00:01 #topic Core Updates 16:00:33 #info ios_bgp work completed (ansible/ansible#49121) 16:00:44 #info eos_bgp work started 16:00:55 #info Fail validate_role_spec plugin if argument_spec is undefined (ansible-network/network-engine#221) 16:01:04 #info Fix relative path failure in command_parser (ansible-network/network-engine#222) 16:01:11 #info Released network engine 2.7.4 and 2.6.10 16:02:01 #link https://github.com/ansible/community/labels/network is where the agenda is located, as always 16:02:34 So on to the first item 16:03:11 #topic Handling literal SYN and ? 16:03:44 yaplej: What did you want to discuss? 16:11:08 Right, we can circle back to that if he comes back 16:11:23 #topic cnos_lldp 16:11:32 Hi 16:11:42 cnos_lldp programmer is here 16:12:23 Anil_Lenovo: I don't know how consistent I've been with this in the past, but as a new module, we are unlikely to accept deprecated options in a brand-new module 16:12:30 (specifically provider) 16:13:20 I will remove them, 16:13:31 what about connection=local ? 16:15:57 local still works with ansible_user and ansible_password 16:16:33 Though we are at the point of heavily discouraging its use, especially with new modules 16:16:47 ok 16:18:06 Other than that, there's not a whole lot to the module, so it seems fine 16:18:06 You may put the review comment to remove the provider. Can u point to me module without provider ? 16:18:27 great 16:19:09 Anil_Lenovo: https://github.com/ansible/ansible/blob/devel/lib/ansible/modules/network/edgeos/edgeos_command.py is the first one I can think of 16:19:23 sure.. I will look into that 16:20:10 I was trying to mimic IOS, hence this issue happend 16:21:29 You should be able to just remove provider form DOCUMENTATION and remove the reference to cnos_argument_spec in main() 16:21:46 (and then clean up the tests to match) 16:22:11 I'll make a review, too 16:22:18 sure. Thanks got it 16:22:44 #action Qalthos review ansible/ansible#52568 16:23:08 #topic Open Floor 16:23:25 Anyone with anything else to talk about? 16:23:31 yaplej: ? 16:28:44 Qalthos: Sorry. 16:29:19 yaplej: You have two items on the agenda, which do you want to talk aobut first? 16:30:39 The literal SYN used in an ios_config or any Cisco config line. The IOS output represents that as two characters ^V instead of a single char so the play is not idempotent. 16:31:24 #topic Handle literal SYN and ? 16:34:33 So, for my understanding, does IOS output the ^V character, or is this something ansible is adding due to bytes decoding or something 16:35:21 (or am I completely misunderstanding?) 16:36:53 IOS output shows a literal SYN as a string "^V". As far as I know there is not way to represent a literal SYN in ios_config line. 16:37:30 I used hex values for SYN and ? and that worked for input but it does not work for diff correctly. I think there should be some type of token to represent those special chars. 16:41:21 Perhaps its just the diff module needs to recognize ^V output from IOS as a SYN or the HEX value of it? 16:43:30 So do both SYN and ? come back as "^V", or is there a way to differentiate them from the config IOS returns? 16:44:42 No only SYN comes back as ^V. The ? had to be escaped because its the help menu. 16:45:34 Okay, so ? isn't an issue anymore? 16:45:40 Using hex value for "?" worked for input. I think its only the SYN/^V issue that might be triggering the line difference. 16:47:09 Im not sure on that. Putting "?" in the ios_config lines does not work. Thats why I resorted to using the hex. Both might need special treatment for input and diff processing. 16:48:06 Right, because SYN is 0x16, so would be textified as "^V" 16:48:08 Okay 16:50:54 We could probably translate non-printing characters into whatever they come back as for the purposes of diff without changing the input actually sent to the device 16:53:05 I see ganeshrn is assigned, I'll see if I can work with him to figure out where this goes from here 16:53:29 #action Qalthos ping ganeshrn about handling control chars in ios_config diff 16:53:39 Thanks. I was not sure where to even begin. That seems like a good idea. 16:55:22 #topic #macro keywords in ios_config 16:58:30 Last I knew, the plan regarding #macro was to error out if we saw it (https://github.com/ansible/ansible/issues/38591) 16:59:15 That issue mentions a workaround in https://github.com/ansible/ansible/issues/38420, but I'm not immediately aware of what that was 17:00:36 I actually submitted a patch that allows the command 'macro name' to be executed like a banner. 17:00:46 the 'macro name' command has a sub-command "#macro keywords" with a fixed DEFAULT_COMMENT_TOKENS that command gets ignored. 17:01:56 Seems like DEFAULT_COMMENT_TOKENS should have a method to overwrite/append/remove tokens in specific cases. 17:05:31 So DEFAULT_COMMENT_TOKENS is, as expected, just a default. I don't know that we override it anywhere presently, but the parse() method takes other comment tokens as a parameter, so it should be fairly straightforward to override it programmatically 17:08:41 #action Qalthos look into NetworkConfig comment_tokens 17:08:50 I'll let you know what I find 17:10:01 We're already a bit over, so I'm just going to close the meeting. Thanks for dropping by! 17:10:07 Thanks. 17:10:07 #endmeeting