Replies: 2 comments
-
Hey @twhite96, first things first - thank you very much for your warm words - really appreciated. Honestly, the whole thing to version 0.9 didn't take that much time. I already had the base in place for my VPS project BoxyBSD, where customer's load is not predictable. This means, some will use much CPU or memory, some VPS boxes just idle around. So, it was important to balance them across the cluster and to ensure that not a single node is always running at the limits and affects other users in a negative way, when they also need some more resources. I think, this has been done in around 3 hours. At some day I had a first consulting call with someone who wanted to move from VMware to any other solution and one of the requirements was something like a DRS functionality. While Proxmox would fit there but missed this, I told him to postpone the talk to the next day. At that evening after work, I made the code a bit more shiny and wrote the first iteration of the documentation. That probably took around 4 hours and version 0.9 was born. It was fully functional at this point. At the next day I told about this a mate and he asked for affinity/anti-affinity rules - this was also integrated in the next two days with probably overall 3 hours including testing. Since I do not rely on any external services for repository and container, I quickly set up a container registry and an own Debian repository for further distribution - that probably also took around 2 hours. Then I automated the release creation with CMake which is basically the simple CMakeLists file and some package pushing around on my internal build pipeline. So, for the basic start - where I also announced this on Reddit etc. took around 12 hours for the basic proxlb application, first documentation and infrastructure for distribution. As you can also see in the Reddit thread, some features like extending ProxLB for container support etc. were then integrated in less than 60 minutes after the request (ok, that was luck that I was sitting at the computer and had time to integrate that quickly). After that, I simply collect some minor issues and features for the next upcoming release. And that way, ProxLB evolves in iterations. Important to me is just to do it in my spare time to ensure everything belongs to the GPLv3. And here we come to the things that are blockers or slowing done everything:
Also another huge thing was/is the GUI implementation. Modifying the UI is just possible in a very dirty and tacky way. The took me several thoughts about a proper integration and my outcome is - without upstreaming, this is pure pain. Now, I have something for this but I'm still not happy about that. But time will tell, I guess. Hope it answers at least some of your questions. If you have any questions, feel free to ask. Cheers, |
Beta Was this translation helpful? Give feedback.
-
Also loving this project! I wanted to draw attention to a Proxmox bug for this that has been open since early 2019. One user made a quite advanced out of tree POC, but even though there was some engagement from Proxmox, it was never fully implemented. There's some interesting ideas and discussions in there. And it's good to know, there might be more movement from Proxmox at some point, they did implement essentially a stub for it in 7.4 ("Cluster Resource Scheduling Improvements" in the Roadmap). |
Beta Was this translation helpful? Give feedback.
-
This project, at least to me, is really ambitious for a solo dev. I am quite impressed with this and feel like I could never build something so complex. I looked through the code and there's so much there that I'm wondering how long it took you to build it and release the first version? My issue is wanting to get to the finish line in record time, but this looks like it took you a while.
How long did it take? What were some blockers? Any bugs and/or footguns that slowed you down?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions