Scott Harney

Using Ansible to Bootstrap My Work Environment Part 5

What is the point of all of this effort? After all this is a very specific, personal work environment. This seems like an inordinate amount of time spent tweaking specific little items and where is the value in that? Is there a wider applicability to this effort? Learning In order to learn something new, such as an automation framework, you need to have some itch to scratch, a genuine purpose. Mine was twofold.

Using Ansible to Bootstrap My Work Environment Part 4

Overview Using an AWS EC2 instance as a utility host presents additional interesting wrinkles. With EC2, one can spin up and tear down instances quickly and dynamically. Because charging on AWS is usage based, I can either provision or start a previously provisioned instance as needed. When I decide to add new parts to my work environment I can use Ansible to quickly provision and test a replacement instance environment while my previous known-good configuration is still available to start and use.

Using Ansible to Bootstrap My Work Environment Part 3

In my previous post I dove into crouton specific role items. These were just little bits unique to a Chromebook chroot environment. The bulk of items I can automate with ansible are common to any linux install I might do. I’m focused on Ubuntu for desktop work but given the way ansible works, I can customize this to use with any distribution perhaps segregating an OS-distribution specific role down the road.

Using Ansible to Bootstrap My Work Environment Part 2

Besides my standard day-to-day laptop running Ubuntu, I also have a Chromebook I picked up a while back. I like the light weight and the long battery life for traveling around. ChromeOS along covers a lot of what I do daily, but I do like to have a few additional linux tools to get things done so I use crouton. With crouton there’s a few manual steps involved in preparing the Chromebook but they are well documented.

Using Ansible to Bootstrap My Work Environment - Part I

Lately, I’ve been on a journey to learn about all things cloud and “devops”. Like any long term professional, I like my desktop work environment just so. You do a lot of configuration along the way. To get a handle on that, the first thing I started doing was maintaining all my configuration files in a private git repo. This digital ocean article is my preferred method for doing that. This was really step zero in the journey.

Translating Unix Shell Processing to Powershell Equivalents

I frequently find myself comparing data sets from Unix hosts and other systems. My go to for years are Linux shell commands. I’d ssh into a system, grab some data, and process with sed, awk, sort, uniq, perl etc. These days, however, I find myself working with customers who are more comfortable working with PowerShell. It became interesting to see how I might translate work from Unix shell equivalents which is how I tend to think when given a task and use PowerShell equivalents.

Using Python and Netmiko to Automate SAN Zoning

UPDATE github repo for this (H/T Scott Lowe) One of the customers I’m currently supporting is performing a migration of their NetApp storage from classic 7-mode to Clustered Data OnTap. It’s a fiber channel environment so lots of FC zoning changes are required. To minimize mistakes and ensure consistency, some form of automation is needed. The Cisco MDS fiber channel switches run a version of NX-OS but it’s relatively old and doesn’t include an accessible API-based interface.

Integrating gitlab into my existing Apache

Intro In addition to using github a little bit, I've built my own private gitlab server. Part of my motivation is that some things I'm using this for don't belong on a public repo. Part of it is education. I already have an apache server running and wanted to integrate my gitlab access into this in a fluid fashion rather than running and exposing gitlab on some alternate port.