Skip to main content

Posts

2020


Ansible + NetBox: Getting Next Prefix / IP

·1488 words·7 mins

This originates from a conversation had on Twitter about how to get the IP Prefix information from an IPAM tool, specifically NetBox using Ansible. There are a couple of methodologies to go through, and I had originally started down the path of using the URI module. Which could be done. The more elegant solution is to use the NetBox Ansible Collections to handle the logic for you! Let’s take a look.

Home Assistant Prometheus Exporting Setup

·614 words·3 mins

There does not appear to be a complete set of documentation pieces available for setting up Prometheus on the Home Assistant platform. This post will take you along on my journey of setting up the Home Assistant to get metrics from it. The link for the documentation is a good start at getting Prometheus installed. https://www.home-assistant.io/integrations/prometheus/

Starting Prometheus #

  1. Edit your configuration.yaml file
  2. Add in a key of prometheus:
  3. Add in any parameters you may need, but just they key alone is enough to start the exporter

Once you have started the exporter, I was still getting a 404 not found. So I did restart the Home Assistant.

2020 Blog Update

·1149 words·6 mins

I’ve changed a few things on the site. Sorry about that! URLs have changed. Over the past week or so I have been working through making some what originally were small updates to the blog, that turned into a little too much effort. I was hoping to add a little bit of polish to the site while keeping the content in place. Earlier in 2020, maybe even back in 2019 I had become aware of Hashnode from the posts of David Flores - aka NetPanda who is on the Hashnode side at https://davidban77.hashnode.dev/. I liked many things that the blogging site has to offer. From a very quick up and running, to having a strong start of a community.

Practicing Network Automation with GNS3

·541 words·3 mins

In an earlier post I took a look at how to setup EVE-NG to get access to virtualized network devices and topologies. This post is going to take a look at how to setup GNS3 systems to allow access.

In the overall topology that is a “home” network sits a device that supports a routing protocol, usually either OSPF or BGP. What is known to work at an inexpensive price point is the Ubiquiti EdgeRouter X.

Ansible for Enterprise

·844 words·4 mins

One of the appealing features that I have towards working with Ansible is that it is able to automate components across the entire Enterprise IT stacks. Rather than having to stitch together your network, server, and desktop automation tools, there is at least one automation tool that will work with just about your entire IT stack. In this I will take a high level overview of some of the features that are there for you to explore.

Docker for Automation Environment - Ansible 2.10

·1818 words·9 mins

Docker is a terrific solution for making a consistent working environment. It’s been about a year or so since I built my very first own Docker container. I had always known why you use a container, but was always intimidated too much so to even get started. I am glad that I did get started and am off on my journey of using Docker containers. Let me jump into the problem and why? Couple the recent experiences with Docker, and the upcoming move to slim down Ansible and install Collections for most Network Automation modules, I thought it would be a good thing to get a write up done.

Using Apple Automator to Open Projects

·887 words·5 mins

Today I’m going to walk through the newest part of my personal workflow for working with projects. Straight to the point, this is going to be using Apple Automator to quickly open your project that you wish to work on within VS Code, and presumably PyCharm as well.

Problem #

So what is the problem that I’m trying to solve? I am one that generally likes the workspace concept within VS Code, but I don’t like having to maintain workspace files. I have found them a little difficult to maintain and keep organized. To that end I have found that there is an option to install VS Code shortcut into your OS path from the command pallet (cmd-P), and path.

Ansible Cisco IOS User Module

·1911 words·9 mins

In this post I will be taking a look at some of the usability setup of managing Cisco IOS devices with the Ansible Cisco IOS User Module. This can be very helpful for setting up managed user accounts on systems, or the backup user accounts when you have TACACS or RADIUS setup.

The module documentation overall looks complete from what I have done for user account management on devices in the past. There are a couple of interesting parameters available, that I may not get to completely on this post. There is support for aggregate, meaning that you can generate the configuration for multiple user accounts and pass it in as one. You can set a password in clear text that gets encrypted when on the device, or you can set a hashed_password with the type of hash and its corresponding value. And as expected with a module for setting user accounts you can also set the privilege level for which the user account uses.

Ansible Cisco ios_interfaces module

·2104 words·10 mins

This has become a post about the ios_interfaces module with documentation that can be found Ansible ios_interfaces doc. Originally I was going to write about the deprecations for just the Cisco IOS modules. Then as I investigated further, I had found that there are many more modules that are being deprecated. In this post I will take a closer look at the differences between the ios_interface and ios_vlan modules that I had written posts on last year and what their new counter parts look like. And in the end the post had quite a bit of good detail about the module. I think you will like what is here.

2019


Disney Plus Streaming Bandwidth

·622 words·3 mins

This will be a brief departure from the automation focused attention that I have been giving to this blog over the past year or so. This week in the United States was the launch of Disney+ streaming service. I have subscribed to it at this point and have found some interesting data based on SNMP polling my network.

This post is about the bandwidth that I am seeing used, not about anything about the service, or if another service is better. I don’t have the time for that at this time. This is just about what was an unexpected jump in the bandwidth usage with the new application. But I am very much OK with that as my subscription level is taking care of that.

Ansible differences between ios command and cli command

·1947 words·10 mins

In an earlier post I covered the differences between ios_config and cli_config. However I did not cover what the difference was between ios_command and cli_command. Most of the items covered there remain the same. So this will be a post that mostly gets straight to it and sees what the difference is.

A reminder that I am also putting playbooks used here out on Github. You can find this at: https://github.com/jvanderaa/ansible-using_ios

Differences #

First, for the cli_commands module, you must be using a connection method of network_cli. You should not use connection: local for this module. Note that the cli_command can also be used with multiple device types, including multiple vendors. Take a look at the cli_command documentation page that there is a link at the bottom of the post.

EVE-NG for Automation Practice and Testing

·983 words·5 mins

As I restarted looking at how I’m continuing my education on the Network Automation and certification realm I asked the question “How are you simulating your network environment?” At the same time there has been thought on the idea of leveraging cloud resources to gain experience there.

First requirement for me is that whatever tool/simulation set that I use it has to work. That being said, I need to be able to generate configurations, connect devices to each other, and have packets flow through the simulated network, just like any other network.

Ansible IOS BGP Module

·2078 words·10 mins

In this post I’m going to be taking a deeper dive into the new in Ansible 2.8 IOS BGP module. This may be one of the more complex modules to date and I’ll try to make it as simple as possible.

For a reminder about the BGP protocol is that this is the predominate protocol that runs the Internet. It is used to peer up with other companies and is what helps to make the Internet great. This is a very powerful protocol, and has been expanded to support many things. This is also a protocol that is heavily used in modern data centers.

Ansible ASA OG Module

·3957 words·19 mins

Today we are taking a look at the newest module out for Cisco ASA Ansible module - asa_og. This one is particularly exciting for the configurations that are being managed heavily with Object Groups on firewalls. I’m particularly excited to review the asa_og module, time to dig in.

New in this post is the finished playbooks being added to Github. I’m hoping that this may be helpful and I am uploading the contents to Github for more to be able to see and get access to if necessary. This will improve as I continue.

Ansible ASA Command Module

·727 words·4 mins

Today will be a touch shorter post, but it is good to be back at it. In this post I will be taking a quick look around at the asa_command module, as we start down the path with looking at the ASA modules in Ansible. This is spurned on a little bit by Ansible 2.8 coming out with an Object Group specific module. I will be looking into that further in a future post.

Ansible Saving Cisco Configs to NVRAM with Cisco Specific Modules

Today I’m going to take a look at a method to be able to save the configuration of a Cisco device to NVRAM (copy run start). I will be taking a look at multiple Cisco platforms to save changes done during an Ansible Playbook to NVRAM. There are options to save the configuration on every change within the modules such as ios_config or cli_config, however, this can slow down the execution of your playbook.

Ansible Cisco IOS Interface Module

·1899 words·9 mins

Update: ios_interface is to be deprecated as of Ansible 2.13

In this post I will be taking a deeper look at the ios_interface module. This module is used to configure individual interfaces on a Cisco IOS device. The documentation for the module is located here. In this module I did have to dig into the actual Python file, and that is located here.

Edit: Had to update the link due to the change in Ansible coming in 2.10. I have hard linked to the IOS Interfaces module.

Ansible IOS VLAN

·2216 words·11 mins

Back to it finally. Going to take a look at the Ansible module ios_vlan. The purpose of this is to provide a declarative module for managing VLANs on IOS devices. In this I will be using IOSv-L2 images. There are a few interesting quirks (as I will call it) within the parameters for the module.

Module Documentation #

First, the module documentation page is here.

Ansible IOS Banner

·1118 words·6 mins

Today’s post is going to be a short and sweet one (unless I get to writing two). I’m going to take a look at ios_banner module. This one is pretty much straight to the point, what it states, modifying the banner on an IOS device. There are multiple reasons to want to manipulate the banner on a Cisco device. We will leave those reasons to you and the organization that you are a part of for that. For now, we will take a real quick look at the module.

Ansible Network Engine and NTC Templates

·1201 words·6 mins

In this post we will talk about primarily three components that will work together to get structured data out of the command line of a Cisco device. The three pieces are:

Why this Post? #

I’m writing this post because I was initially hesitant to start using the Ansible role originally when I was doing everything pretty well with the generic modules that come available with Ansible. I was challenged to migrate a Python script that was using TextFSM and Netmiko to be in Ansible. So I was originally aware of Ansible Network Engine, but had not done anything with it. So what better time than to put it to practice than when it is needed.