I've been busy plugging away at v4 development in earnest for the last 4 weeks. Up to now I've been posting progress updates in the forums. I wanted to give an overview here as to my progress so far. In terms of development I have completed an overhaul of the PHP Database Adapter to Support PHPv7. I have fixed many bugs and tweaked the code for minor improvements. My next task is to overhaul and resolve some issues with the task scheduler. I have about 10 major new features to add including multi-vendor support, multi-threaded connections to devices and many others. I am considering sneaking in a brand new and very cool feature not related to configuration management as such, but that will depend on progress as I know many of you are anxiously waiting for v4.
This last week, I have pasued development work (it's good to mix things up). I have been busy working on procuring new equipment for full performance and functionality testing of rConfig. I've receievd that new server and I've built out a GNS3 lab on it. All in all, it took about 15 hours to build the server, OS and Lab. But great fun to do.
I wanted to build a lab that scales out so that I can push rConfig to its limits to connect to as many devices as possible. I also wanted to build out massive configurations on each device so that I can add to the overall testing of download times. In otherwords, I want to baseline how long it takes rConfig to download large and small configs and record those times so the community can compare with thier own instances of rConfig for performance measurement. I have added an image of the lab below. As you can see topology-wise it is very basic, and its only goal is to allow rConfig to connect to as many IP addresses as possible.
I used BGP for the core of the network and OSPF area 0 within each site for dynamic routing or all the prefixes. Please don't contact me in relation to the network topology, it is strictly for test purposes and I would never build such a topology in real life :) Take note of the statistics below also:
Total Routers: 49
Total Prefixes: 420
Total Connection Tests: ~500
Server Spec: 2X Xeon 2.33ghz, 2TB Hdd, 28GB Ram, Win10, GNS3
CPU Usage: 10% Avg
RAM Usage: 60% Avg
Total Hours of Dev to date: 80
Nice stats, eh? I also wanted to share with you how I generate the Subnets for the loopback addresses automatically using a very, very simple PHP script.
This script basically loops over the $x variable up to 256 times, and 'echo's out the ip address command line with the new value for each iteration. I added the $y value and reset it to 0 after every 10 iterations so that the Loopback Interface names would only count from 1 - 10 and then start over again. We are left with a webpage that will out put something similar to the below.
So, as you can see the effort to build a lab alone for rConfig testing is extensive. I want v4 to be the best version yet, with great performance, stability and great new features that you all want. I do have an open request for donations to help spport the purchase of the new Server and other hardward for backups etc... This is a costly business to build an app to live up to everyones expectaions, so all donations will help your cause. :)
Time for rest, and then back to PHP coding for the weekend - well, not all weekend... Gotta have some fun too :)