Dynamically Loading Python Classes

The design for our fault injection framework has required the writing of a suite class which loads in other defined case classes located in their own directory. This means we need to fill a list in the suite class with case classes defined somewhere else. After doing some research we found a few methods of performing this, including using imp […]

Designing a Fault Injection Framework

Over at CDOT we have another phase of the log centralization project that involves producing a fault injection framework. This framework should be: Modular, such that different faults and fault cases can be applied simply Cross platform, such that this framework can be run from Windows or Linux Easy to use Allow programmatic definition of tests Allow non-programmatic definition of […]

Performing Bulk Operations on Elasticsearch Databases

Elasticsearch is a powerful database technology that uses unique ideas with its restful API for queries. However when it comes to updating and reindexing Elasticsearch has no built in functionality for performing these operations in bulk. This means to do tasks like this one must make their own script composed of various API requests. Additionally, making requests is slow; we […]

Optimizing Logstash Performance

Logstash has a wide array of powerful filters, from the ones shipped with it to community maintained plugins. However, Logstash’s speed can be compromised when these filters are not used properly. I encountered this problem while performance testing a setup we’ve been working on for a CRM company. During times of heavy load Logstash was capable of handling our approximately […]

Manually Copying User Profiles in Windows

While working on generating Windows base boxes with Vagrant, I encountered a problem early on. I had created an account with my name by accident to install all the requisite software I wanted to bundle with the base box. This proved annoying, as I would need the exact same setup of this account for a “vagrant” user. At first I […]

Configuring Windows 7 Vagrant Base Boxes with SSH

With Vagrant it can be quite frustrating setting up Windows Base Boxes using WinRM. I have never had any success myself using the Vagrant WinRM method. While I gawk in amazement at pre-built boxes which have WinRM control, there seems to be no complete documentation anywhere on how to set it up. In fact, the Vagrant page describing how to set […]

Starting out with Ansible in CentOS6

Ansible is an incredibly powerful automation tool. It can allow you to connect to a VM and control configuration and installation of programs simply. Here’s what I did to to get it working for the first time: Step 1: Get client machines installed with basic requirements Important steps here are to make sure that: You have configured your SSH RSA […]

Working with Host-Only VBox Networks in CentOS6

In order to communicate between VMs a simple alternative to fancy port forwarding is to set up a host-only network joining them. This is my go to solution for testing machines that need to talk to other machines. In CentOS6 this can be quite difficult to figure out on your own. Here I’ll discuss how to set up your machines […]

Configuring and using Logstash

Logstash has some incredibly well defined installation guides that can be easily found through a Google search similar to “install logstash on *insert Linux distro:*“. However understanding how its configuration and permissions work by default can be daunting. To start, we’ll need to find a way to figure out if Logstash is working correctly. Unfortunately starting the service with the […]