Hacker News new | ask | show | jobs
by bartvanH 3454 days ago
I want to build a set of tools to build a full private cloud on bare metal with zero single points of failure. Essentially a full replacement of Fuel and Openstack.

I've already started on a full multi master dhcp server to assign ip adresses to hosts and instances.

3 comments

Tbh it's been a while since I looked into Triton, but it should operate in the same "feed it hardware and run virtual machines" space. I might experiment with running the components on top of smartos because of all the niceness that brings (i.e. crossbow, dtrace and zfs), but for now I’m building on top of Ubuntu.
well please make it so that it's truly easy to install. And I mean REALLY easy. I have tried at least 10 cloud solutions and I havent managed to successfully install any of them. The best one yet was tectonic but their error messages were too non-existent or vague at the end and the emphasis here is on non-existent.
Yes! I've been thinking of ways to do this, and the idea on top of my list is a live usb image that asks for stuff like network parameters, then configures the live image as a 90% functional node from which the first real host can be pxe booted. After the first host(s) have been installed the admin should be able to reboot the live host and add it to the cluster for real.

Right now i have a running Openstack cluster with Fuel for deploying new nodes over pxe. It works ok-ish, but it has some strange glitches every now and then. nothing production critical going wrong, but it still doesn't inspire confidence in me.

Yes I think your idea sounds very convenient, I basically just want to type the IPs of my machines in somewhere and the rest should be explained to me on screen. If SSH cant be established, tell me why. If i didnt set up ipxbe properly or at all, tell me why (heck, even tell me how you got that information ala 'we tried establishing an ssh connection with ssh@184.4882.1 -v but it resulted in this error log: '. Any other connection problems, tell me why. Generate all the SSL certs automatically, I dont want to type in any commands myself. I dont care if it's a test SSL setup but frankly I dont understand why these tutorials always give me test SSL certs. Just generate something that makes sense for production or tell me what I need and why for production. If you think that my nodes should have DNS names, go start some internal DNS server for me and set it up in the background for me. I dont get why I should have to do any of that stuff myself. At the end there should be a screen where all the configs were saved down to in a textual format, so I can have a look at what was done, which processes were started and which ports are now open, what the firewall looks like. For example CoreOS I believe has some cloudconfig stuff and I dont want to figure that file format out myself but I still want to see it after it's been generated. I like magic but I also like to see what it actually did / is doing.
Personally i don't even want to care about the IPs of the physical machines, just put together a box, plug power and network in (given a properly configured switch) and boot it up from the rest of the cluster.

in the "boot up first box" scenario you should be able to enter all subnets you allocate to the cloud like "my wan range is 15.26.37.0/24, router at .1" And "for the host management network i want you to use 10.67.0.0/16 with router at 10.67.0.1" from there on you should be able to plug in and boot up machines. Just be careful to not plug in a laptop that boots from the network :P

Basically my philosophy is sane defaults, some magic where i know i wouldn't want to care, and introspection everywhere.

Have you seen MAAS (Metal as a Service) from Canonical? Paired with Juju, it's fairly easy to deploy OpenStack on metal servers...
Yes i have, and i'm running MAAS on a colocated box as well to install ubuntu on virtual machines. But when you pair it with Juju the licensing becomes a bit expensive as far as i remember, So that's the layer I’m working on to replace first.