Open source p2v assessment

The most intriguing thing I can do in my life is to use open source to solve problems which are solved only by commercial software.

Let’s talk about data center transformation!

Recently, whilst talking to a customer about the transformation of traditional data centers from physical to virtual, the customer expressed the need to have a tool that would give complete infrastructure visibility in order to drive the transformation process of the data center.

Several commercial products came to mind, but we wanted to go for a 100% open source solution.

The outcome should adhere to some principles:

  • the system must be 100% open source
  • the solution must be non-invasive
  • the technology should leverage a process for transformation
  • easiness

So the outcome architecture is based on a different set of products and is completely agentless to impact the infrastructure as little as possible.

Starting from the last principle, what I want is that all you have to do is:

  1. start collecting the information with the software;
  2. load the list of your subnets;
  3. analyse the the results!

How?

First discover the list of hosts. This is done starting from the list of the networks, and is a process of host-discovery, using PhpIPAM, php IP address management, tool.

This is a powerful tool that allows a rapid network capacity.

This is done with a simple low impact IPScan on possible intrusion prevention systems.

With the list of used IPs, accessible via MySQL, all we have to do is find the information about the discovered host.

Ansible is the Swiss knife of our solution, which allows to describe all of the systems’ infrastructure.

Ansible is an agentless tool that communicates with the * NIX systems, via SSH, and MS Windows, via WinRM. It can connect from 1 to N systems in parallel, so that all the operations are performed very rapidly over a large number of target hosts.

We use Ansible to connect to previously discovered hosts and gather all the information that you can think of, which Ansible calls facts (hardware, operating system, installed software, and more and more … ..) about the target host.

Once all this information is obtained we can have fun in correlating all the data and create the report that we want, developed ad hoc through web app or through elasticsearch, the popular open source tool for research and data analytics, to get a 360 degree view of the infrastructure.

I’m working on an open source scripts on github where I’ll version my further research. If you are interested in giving a hand I’ll be glad to help!