16:00:04 <Qalthos> #startmeeting Ansible Network Working Group
16:00:04 <zodbot> Meeting started Wed Apr 22 16:00:04 2020 UTC.
16:00:04 <zodbot> This meeting is logged and archived in a public location.
16:00:04 <zodbot> The chair is Qalthos. Information about MeetBot at http://wiki.debian.org/MeetBot.
16:00:04 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
16:00:04 <zodbot> The meeting name has been set to 'ansible_network_working_group'
16:00:46 <Qalthos> #link https://github.com/ansible/community/labels/network is where the agenda for this meeting can always be found
16:00:52 <Qalthos> #topic Core Updates
16:01:11 <Qalthos> #chair dmellado justjais pabelanger
16:01:11 <zodbot> Current chairs: Qalthos dmellado justjais pabelanger
16:03:58 <Qalthos> #info OSPF resource module work continues
16:05:00 <Qalthos> They're pretty complicated, so they're taking a bit of time
16:06:50 <Qalthos> #info PRs are active in the associated collections
16:08:45 <Qalthos> #link https://github.com/ansible-collections to see all the collections in development
16:09:13 <AmIARobot> Was wondering if it's possible to execute commands on a non-standard CLI (Kinda like network OSs but custom) ?
16:10:23 <Qalthos> I don't think there's anything else of note new to report this week, so moving on
16:10:31 <Qalthos> #topic Open Floor
16:11:31 <Qalthos> AmIARobot: It depends on what exactly you're trying to do, but yes.
16:12:22 <Qalthos> You'll need to make a cliconf plugin for whatever you're trying to connect to, and then you can probably use cli_command to talk to it
16:13:54 <AmIARobot> Oh, I was trying to get it to work with just the expect module. So, when I SSH into this machine, I get a different prompt - say "badrobot:" - where I just want to type a command and get an output.
16:15:10 <AmIARobot> Looks like I need to make a cliconf plugin - would check this out. Thanks.
16:15:11 <Qalthos> If you're just using expect I don't see why it wouldn't work, but I don't havemuch experience with it
16:16:28 <AmIARobot> So during gather_facts - it fails to execute some mkdir commands ( /tmp/ansible-something ) - since I don't have any access to the actual linux shell.
16:16:53 <Qalthos> Right, so just disable fact gathering
16:17:28 <Qalthos> `gather_facts: no` in your playbook or set explicit fact gathering in your config depending on how you want to do it
16:17:47 <AmIARobot> I did try it. It gives me another error - this one a bit too vague.
16:19:54 <AmIARobot> Actually, I just double checked it, it's giving me the same error.
16:20:10 <Qalthos> You might also have better luck asking in #ansible if this isn't about a networking module
16:21:22 <AmIARobot> Sure, will do that.
16:21:42 <AmIARobot> Going to look into cliconf plugins as well. From the first look, it seems like what I need.
16:22:40 <AmIARobot> Was asking here since what I was trying to do is similar to what - ansible_network_os - say VyOS / IOS does.
16:22:46 <AmIARobot> But thanks for the help.
16:23:13 <Qalthos> AmIARobot: It's not really what they were designed for, but you should be able to use it to get a more structured approach to a CLI than you can get with expect
16:24:03 <AmIARobot> Well technically it's an experimental in-house networking OS
16:26:54 <Qalthos> AmIARobot: Oh, you should also need a terminal plugin for your device, which I occasionally forget about as they're pretty static
16:28:00 <AmIARobot> I'm not sure about that - do you mean something like a cli_command module?
16:30:34 <Qalthos> AmIARobot: Like https://github.com/ansible-collections/cisco.ios/blob/master/plugins/terminal/ios.py. It describes what the prompt looks like and how to escalate privileges or disable paging if you ned those things
16:31:38 <Qalthos> The cliconf plugin is about sending structured data to a device, the terminal plugin is about how to set up a sane prompt on the device in the first place
16:34:36 <AmIARobot> Okay, got it! Would see if I can make something of this sort. In parallel, would try the expect approach as well.
16:39:31 <Qalthos> Feel free to ask more questions in here if you get stuck. It's definitely way more to set up than just throwing expect at it, but it also gives you a reusable structure that can simplify things later.
16:40:20 <Qalthos> And if you want to start making your own modules it makes that a lot simpler (:
16:44:31 <Qalthos> Unless there's anything else from anyone, I'm going to close the meeting
16:47:07 <Qalthos> #endmeeting