Ansible without ansible.cfg and ec2.ini

So you have all your infrastructure in AWS and you chose ansible to manage the said infrastructure. You played with Ansible and started to do more advanced stuff with it. And then slowly come to the realization that you have to hold on to two crutches : ansible.cfg and ec2.ini. But ideally, you want that to be dynamic as well - may be set all the configs via environment variables.

Author's profile picture Aditya Ivaturi on Ansible and AWS

Managing Secrets with Vault and Consul (Part II - Secrets management workflow)

In Part I, we got an overview of Vault and how it might help us in managing various secrets. To better understand it, let us circle back to our 3-tier architecture again. Assume that the web app needs access to SQS and also the database (MySQL, PostgresSQL, MongoDB etc.).

Author's profile picture Aditya Ivaturi on Encryption, Vault, and Consul

Managing Secrets with Vault and Consul (Part I - Overview)

Every software as a service needs to manage secrets. These secrets can be something like database credentials or AWS access keys or Third party API tokens, or anything you deem important and need safe guards. Simply put, any information that you don’t want others to access, would be a secret. And somehow, you have to safely manage it.

Author's profile picture Aditya Ivaturi on Encryption, Vault, and Consul

Perl Windows - Grab all the system tray icons & get their co-ordinates

While automating applications on Windows, every now & then I run in to a situation where I have to find a tray icon & do some mouse operations on it. And for the most part, I overlooked it as it was just a small part of my automation needs. Well, it was time to scratch that small itch as it was bothering me. So with the help of Sinan on StackOverflow, I ended up writing this script.

Author's profile picture Aditya Ivaturi on Perl, Windows, and Automation

iperf 2.0.4 Windows (win32) native binary

The last compiled binary for Windows was v1.7.0. But, I like the newer -y option which dumps out the report in CSV format. With the help of this patch, I managed to create a binary for Windows.

Author's profile picture Aditya Ivaturi on iperf, Windows, and compiled

Replace QTP with Selenium + AutoIt + Applescript - Part I

I hate QTP. Why? Because it sucks. Of course, QTP fanboys will immediately jump up & down stating that I don’t know how to use QTP. On the contrary, I know exactly what I am talking about. As of this writing, QTP still does not support Windows 7, heck it still doesn’t support Firefox 3.6! Are you kidding me? Well, apart from HP’s snail pace development process, I have other problems with the tool itself. Like its really retarded scripting engine (which uses vbscript), which does not provide you any real mechanism to maintain frameworks.

Author's profile picture Aditya Ivaturi on QTP, Selenium, and automation

Hacking Selenium to improve its performance on IE

TL;DR of the post below; You have to perform all these steps & in some instances, you can squeeze out better performance from other browsers too:

Author's profile picture Aditya Ivaturi on selenium, performance, and IE

Add getCSSCount command to Selenium

getXpathCount is a very useful command that Selenium devs provided. And once you started enjoying coding with it, you realized IE was throwing roadblocks since XPath is dog slow on it (what else is new?). So you look around and you’re told to switch to CSS Selectors (or locators). Well, the very first thing you’re looking for is the count equivalent for CSS and it is conveniently missing. So, I ended up hacking the Selenenium core to add the missing command - “getCSSCount”.

Author's profile picture Aditya Ivaturi on hacking, selenium, and getcsscount

Create your own VMWare Connection Broker

First of all, “Connection Broker” is a highly glorified marketing term to say that this piece of software will allow you to connect to your Virtual Machine based on some “rules” (access, authorization, availability etc and the more “rules” you add, it becomes more complex) and hence the “broker” part. In this post, I’ll be concentrating on VMware since I am more familiar with it, but you can pretty much implement this connection broker for the Sun & Citrix solutions as well. It looks complicated, but it isn’t, that is mostly because the excellent SDK that they provide.

Author's profile picture Aditya Ivaturi on vmware, vm, and connection-broker

VMWare Lab Manager and Perl

VMware’s Lab Manager is an amazing tool to have for testing organizations (which was originally designed by a company called Akimbi). But this post is not about what it is & how it can be useful. This post is to give you an example on how you can consume its SOAP API from Perl. We use Lab Manager extensively for all our feature testing & automation. For automation, you can deploy, undeploy and change some of the vm properties using the SOAP API. Lab Manager also has more “internal API”, which is not officially supported but can be used for more control of what kind of automation you wanna do.

Author's profile picture Aditya Ivaturi on vmware, vm, and labmanager