Skip to content
Dec 5 / Greg

Why Am I Willy Bearden

Hi, I’m Greg Sowell, and this is Why Am I, a podcast where I have conversations with interesting folks to try and trace a path to where they find themselves today. My guest this go around is Will Bearden. If you’ve ever been curious about history in Memphis or the Mississippi delta, odds are you’ve seen one of his videos, or perhaps come across one of his books. He’s a southern gentleman who loves telling stories. He documents the people who’ve made history in the South so that they may live on, and my hope also is so that he can live on amongst them. Enjoy this chat with Willy.
Youtube version here:
Please show them some love on their socials here: https://willybearden.com/, https://www.linkedin.com/in/williambearden/.
If you want to support the podcast you can do so via https://www.patreon.com/whyamipod (this gives you access to bonus content including their Fantasy Restaurant!)
Dec 1 / Greg

Ansible Automation Platform Configures Nexus 9K ACLs

There are some newer “ACLs” modules available via many AAP collections now that make it soooo simple to work idempotently with Access Lists on networking kit. I figured I’d show a quick example of using the nxos_acls modules against some virtual Nexus 9Ks.

Video Demo

Playbook And Files

You can find the GitHub repo here containing all of the files.

I’m using a template file to specify what the ACL should look like. The idea is that if I ever want to make an update to this ACL, I don’t connect to the switch and make adjustments, I simply edit this template file and then use my automation to push the changes. I can remove or add lines, and the automation will make the ACL on the switch match.
Template files looks like this(nexus-acl-template):

1
2
3
4
5
ip access-list test
  10 permit ip 1.1.1.1/32 2.2.2.2/32
  20 permit ip 1.1.1.3/32 2.2.2.4/32
  22 permit ip 1.2.3.4/32 4.3.3.1/32
  25 permit ip 1.2.3.5/32 2.2.2.3/32

Now for the playbook(nexus-acl.yml):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
---
- name: nxos acl testing
  hosts: nexus9k1
  gather_facts: false
  vars:
#    acl_name: test
 
  tasks:
  - name: Parse given config to structured data
    cisco.nxos.nxos_acls:
      running_config: "{{ lookup('file', 'nexus-acl-template') }}"
#      running_config: |
#        ip access-list ACL1v4
#          50 deny tcp any lt 55 192.0.2.64 0.0.0.255 ack fin
#        ipv6 access-list ACL1v6
#          10 permit sctp any any
      state: parsed
    register: acl_parsed
 
#  - name: debut the acl_parsed variable
#    debug:
#      var: acl_parsed
 
  - name: Do reconciliation of parsed ACL
    cisco.nxos.nxos_acls:
      config: "{{ acl_parsed.parsed }}"
      state: replaced
    register: acl_ran
 
  - name: Debug when changed
    when: acl_ran.changed == true
    debug:
      var: acl_ran.commands

^^^in the above playbook I really only have two tasks.
The first task is using the nxos_acls module to take my template file, parse it, then save the result to a variable(notice “state: parsed”).
The parsing is required because this module expects ACE entries to be in a key:value pair configuration. This is easy to use, but would be insanely tedious to have to build and store entries in this fashion. Not only that, but it is difficult to read when there are a lot of entries. Here’s an example of the format expected:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    - afi: ipv4
      acls:
      - name: ACL1v4
        aces:
        - grant: deny
          destination:
            address: 192.0.2.64
            wildcard_bits: 0.0.0.255
          source:
            any: true
            port_protocol:
              lt: 55
          protocol: tcp
          protocol_options:
            tcp:
              ack: true
              fin: true
          sequence: 50

^^^not the easiest to read. So the fact that the module will parse a standard ACL for me is AWESOME!

The last real task takes the parsed variable and applies it to the device with a state of “replaced”. This tells the module to take the variablized data and remove anything that shouldn’t be there and add anything that doesn’t already exist. If the ACE from my template file already exists, it will just ignore it and do nothing. If, however, the entry doesn’t exist, then it will go ahead and create it.

One of the really cool features of the replace command is the resulting informational output from the command. If I save the results to a variable, it will show the exact commands that the module will be pasting in the SSH console for the switch. That way if I run the playbook in check mode it will show me anything that is in non-compliance!

Running In Controller

First, this is what the ACL on the switch currently looks like:

Running the playbook in check mode provides me with the following:

One entry removed and one entry added.

Conclusion

I’m honestly so stoked about the direction we are going with these idempotent modules that make working with often updated configs like ACLs dead simple. If you would tweak, tune, or change anything, let me know.

Thanks and happy automating!

Nov 29 / Greg

Why Am I – Mykell Barlow

This is Why Am I, a podcast that is all about having conversations with interesting people to try and trace a path to where they find themselves today.  My guest this go around is Mykell Barlow, who is about as multifaceted as they come. He talks about singing in Georgian night clubs at 13, to his time in Tialand, then over to being a pastor, then dropping everything and moving to LA, and last as RuPaul Charles’ executive assistant. Oh and did I mention that he is also a writer, director, producer, and actor LOL? If nothing else, you won’t be left unchanged by this conversation; I hope you enjoy my chat with Mykell.
Youtube version here:
If you want to support the podcast you can do so via https://www.patreon.com/whyamipod (this gives you access to bonus content including their Fantasy Restaurant!)
Nov 21 / Greg

Why Am I Jimmy Ogle

This is Why Am I, a podcast that is all about having conversations with interesting people to try and trace a path to where they find themselves today. My guest this go around is Jimmy Ogle. He is truly in love with the city of Memphis in a way that I’ve never seen anyone love a city. He’s only the third person to be named as the Shelby County historian, he’s headed countless city organizations, and has given thousands of tours of the city. In fact, I met him on a tour of bridges, that lead to a walking tour, that lead to a manhole cover tour, and ultimately led me to do a special tour of the country’s first separated storm drain system…I was literally looking at vaulted brick chambers that only a handful of people had ever seen. As you’ll notice, if you ask him a yes or no question you emerge 20 minutes later, much wiser, but without an answer to the original question. Please enjoy this chat with Jimmy.
Youtube version here:
Please show them some love on their socials here: https://www.jimmyogle.com/main.htm.
If you want to support the podcast you can do so via https://www.patreon.com/whyamipod (this gives you access to bonus content including their Fantasy Restaurant!)
Nov 21 / Greg

The Brothers WISP 148 – MTK ZeroTier Arm Only, State Of ATAs, MOAR IPv4

*Audio quality improves after about 30 minutes*

This week we have Greg, Mike, and Andrew Horton(new face from a new place).

**Sponsors**
Sonar.Software
Towercoverage.com
**/Sponsors**

This week we talk about:
Being in front of customers was exhilarating…finally, seeing humans again.
Bomb threat email frantech
FBI Email Hijack
Your Network Sucks Emails
ZeroTier on Mikrotik ARM only for now…
The USA is the largest market for Mikrotik…by almost double
Grandstream OpenVPN
Smart Thermostat – Line Voltage
cnMaestro Serial Upgrade
IETF 127.0.0.0/8

Here’s the video:(if you don’t see it, hit refresh)

Nov 21 / thebrotherswisp

The Brothers WISP 148 – MTK ZeroTier Arm Only, State Of ATAs, MOAR IPv4

*Audio quality improves after about 30 minutes*

This week we have Greg, Mike, and Andrew Horton(new face from a new place).

**Sponsors**
Sonar.Software
Towercoverage.com
**/Sponsors**

This week we talk about:
Being in front of customers was exhilarating…finally, seeing humans again.
Bomb threat email frantech
FBI Email Hijack
Your Network Sucks Emails
ZeroTier on Mikrotik ARM only for now…
The USA is the largest market for Mikrotik…by almost double
Grandstream OpenVPN
Smart Thermostat – Line Voltage
cnMaestro Serial Upgrade
IETF 127.0.0.0/8

Here’s the video:(if you don’t see it, hit refresh)

Nov 7 / thebrotherswisp

The Brothers WISP 146 And A Half – DC Xconnects, CRS Troubleshooting, Travel Essentials

This week we have Greg, Greg, and a little more Greg. It’s a solo cast due to time constraints…wasn’t my idea, file it with the complaint department.

**Sponsors**
Sonar.Software
Towercoverage.com
**/Sponsors**

This week we talk about:
Datacenter xconnects; what I’ve learned over the years.
Troubleshooting issues on CRS3XX sucks
^^^Not to mention lack of switch config exporting
What are your travel essentials

Here’s the video:(if you don’t see it, hit refresh)