vault HA mysql backend cannot assign requested address

We were trying to make a single node vault into HA, this vault node was using mysql as backend and pointing to a single mysql node, although the mysql percona cluster itself had three node. So we decided to add two more nodes into vault as well as make all vault nodes use a HA mysql connection. As vault does not allow configuring all three nodes in the connection string we decided to use use HAproxy in front of mysql and configure it to use myqsql node as active and other two backup.

Git cherry pick examples

Sometimes you just need to pull one or more commits from one branch into another branch without pulling any other changes from that branch. Git cherry-pick is a powerful command that enables arbitrary Git commits to be picked by reference and appended to the current working HEAD. Cherry picking is the act of picking a commit from a branch and applying it to another. git cherry-pick can also be used in cases like, say a commit is accidently made to the wrong branch.

Getting rid of ads on samsung smart tv

I have had Samsung smart tv for about two years now, and recently I started seeing samsung push ads to the main TV display bar (the one where you chose input source or switch into netflix vs virgin tivo). So, I decided to do something about. My first thoughts were complete anger, how can samsung display Ads on my TV without my consent. I have paid full price for the TV and they have no right do anything on the tv.

Start With Empathy

This post is about my observations and thoughts over number of years on what I have seen as interactions between engineering teams and development teams and faults there-in: how we can improve those interactions to build a better DevOps culture where SREs and developers work together towards a common goal of site reliability. To build relationship in any situations in life, you have to start with empathy, and it’s even more important for relationships between teams, where people can have varying degree of knowledge and/or skills.

Starting to Blog Again

It’s been long since I have written a blog post about anything. Lately it’s been very busy with life in general, a lot of things have happened since I last wrote anything. Changed couple of jobs, did a management role as well, and realised I love technical work too much and went back to being an software engineer. Learned Golang, coded a lot of terraform providers in Golang, worked on a large scale commerce solutions involving AWS, Terraform, and Jenkins pipelines.

Cobertura Report Not showing css properly

Recently I setup Cobertura reports showing coverage report in my jenkins which was getting generated from gocov, but I noticed that it wasn’t showing the properly CSS and everything was in plan old text. When i investigated using the Developer console, I found out that browser was blocking the in-line css due to content security policies. I was seeing following errors. Blocked script execution in '<https://jenkins_url_here>' because the document's frame is sandboxed and the 'allow-scripts' permission is not set.

Rackspace Cloud DNS management and API usage

This article is about using Rackspace Cloud DNS (beta) and managing your domains and entries using the API. Okay.. some theory stuff: There are many long and details explanations of DNS system, but let’s see if I can put a simple one here just for the completeness of the article. DNS is a mechanism which provides a way for resolving domain names to IP address, e.g. example.com would resolve to an IP address.

Interactive Command line Interface to Rackspace Cloud Files

This is a python based command line interface for Rackspace Cloud Files. It provides a nice interactive interface to manage your Cloud Files from the Linux or Window machines using python. I had this code on github for quite some time now, but found out that not many people knew about it, so decided to write this quick post so that it will show up in the google searches and people can use it.

Rackspace Cloud Files and php

This article will explain how to use the Rackspace Cloud Files API with php using the php-cloudfiles bindings. All this information is available online, some on Rackspace KB articles, github, API docs. But for somebody who is just now starting with cloud files, it’s not possible to gather all this information without wasting few days time here and there. So, the objective of this article is to provide : All the available links to Cloud Files documentation, API, and PHP bindings.

Recovering deleted files from Linux ext3 filesystem on Cloud Servers

Every now and then you hit enter on your keyboard and next second you realize your mistake, you just deleted some files by mistake. Immediately your mind starts thinking about your backups, changes you have made since last available backup, and all that.. Well, today I faced the challenge of recovering some accidentally deleted from from one of my cloud servers. As we all know data never actually gets deleted from the hard disk, it gets unlinked from the file system table and then those blocks get overwritten by other data.

Cloud Servers - High Availability with heartbeat on CentOS 5.5

This article is about setting up high-availability on CentOS using heartbeat software. We will have two web servers (named web1 and web2 in this article), both of these servers would have a shared IP (virtual IP) between them, this virtual IP would be active only at one web server at any time. So, it would be like an Active/Passive high-availability, where one web server would be active (have virtual IP) and other host would be in passive mode(waiting for first server to fail).

MySQL master master replication on Debian 5 (Lenny)

This article is about setting up mysql master master replication between two cloud servers. The operating system which I’m going to use is Debian 5 (Lenny) Rackspace cloud base image. Setup outline: We will have two cloud servers, named debian501 and debian502 during this exercise. Both servers have two IP addresses(one public, one private). We will configure the replication to be done using the private IP interface so that we don’t incur any bandwidth charges.

Installing XenServer using usb - mboot.c32: not a COM32R image

Today I was installing XenServer to one of my boxes using USB as installation media. As usual, I downloaded the XenServer ISO file and used latest version of unetbootin-linux-549 to create a bootable USB. But it wouldn’t boot as expected, and throw me an error saying “kernel image not found”. As it turns out, some extra steps needs to be done for booting XenServer installation from USB. I followed this article here and made the following changes in the USB.

Mounting Rackspace Cloud Files using cloudfuse into ubuntu 10.10 v2

This article shows how to mount cloud files using cloudfuse software into your ubuntu 10.10 as a directory so you can access your cloud files containers data inside your linux server just like any other folder and files. One heads up, this gives you an easy access to your cloud files data but in no way means you can use it as a place for any database/application directly running from it, will be darn slow.

Installing Apache, MySQL, and PHP on Fedora 14 on Rackspace cloud servers.

Following are the steps to install Apache, MySql and PHP on Fedora 14 on Rackspace cloud servers: Do a SSH login to your cloud server. If you use windows, you can use PuTTY to login to your cloud server. You can download the PuTTY from here. You can login with root using the password send to you via email when you first created your cloud server After logging into your cloud server run the following commands: #yum update Once it has finished updating run the following: #yum install httpd mysql mysql-server php php-devel php-mysql Once this has finished installing run the following: #/etc/init.

Rackspace cloud servers - linux rescue mode

This post is regarding rescue mode in Rackspace cloud servers, particularly for Linux systems. Normally, we can find everything at Rackspace cloud servers knowledge base, but it seems there is no article available on Linux rescue environment there, and somebody who hasn’t worked on Linux much, rescue environment might become daunting. So, I decided to write one here. When do I require rescue environment? First of all, you only require rescue environment when your system has become non-bootable, means something is terrible wrong with the server, it could be either file system corruption, boot files corruption, configuration errors.

Extract pages from a PDF file in Ubuntu 10.10

Yesterday I got an odd task at hand. One of senior members in my team and really amazing person I must say, e-mailed me few PDFs of Linux Journal from past months, and asked if I could extract the troubleshooting articles from them and compile them as a one single pdf, which we can keep for future references, plus this was needed as he has promised the other team to do this in return of the PDFs he gets from their subscription :)

Java runtime environment on fedora 14

The standard installation of Fedora comes with OpenJDK off of Sun Java. However if not, it can be installed using YUM: yum install java-1.6.0-openjdk java-1.6.0-openjdk-plugin If you installed OpenJDK, all the ava application and web applets should automatically work. Unfortunately some applets may not run properly and the OpenJDK might have some limitations. Majority of user should find OpenJDK perfect for everyday use. Installing Sun Java: Download java from here: http://www.