Deploying NixOS OpenStack cloud

Been wanting to ask this question for a long time, still getting to learn the inners of Nix(OS) and OpenStack though, but was wondering.
As a follow up on the questions raised in this topic, https://discourse.nixos.org/t/marketing-team-can-we-present-nix-nixos-better/6249/94
Is there anyone actively working on being able to run an OpenStack cloud using NixOS?

Shouldn’t “we” be able to do what the Kayobe project does but without the Ansible stuff?
https://docs.openstack.org/kayobe/latest/configuration/reference/kolla-ansible.html

Kayobe (Welcome to Kayobe’s documentation! — kayobe 12.1.0.dev48 documentation )

Kayobe enables deployment of containerised OpenStack to bare metal.

Containers offer a compelling solution for isolating OpenStack services, but running the control plane on an orchestrator such as Kubernetes or Docker Swarm adds significant complexity and operational overheads.

The hosts in an OpenStack control plane must somehow be provisioned, but deploying a secondary OpenStack cloud to do this seems like overkill.

Kayobe stands on the shoulders of giants:

  • OpenStack bifrost discovers and provisions the cloud
  • OpenStack kolla builds container images for OpenStack services
  • OpenStack kolla-ansible delivers painless deployment and upgrade of containerised OpenStack services

To this solid base, kayobe adds:

  • Configuration of cloud host OS & flexible networking
  • Management of physical network devices
  • A friendly openstack-like CLI

All this and more, automated from top to bottom using Ansible.

https://docs.openstack.org/kayobe/latest/configuration/reference/kolla-ansible.html

I’ve done this years ago, but the work has rotten since :slight_smile:

For reference:

Openstack infrastructure managed with NixOS >> https://terranix.org/

i wonder what you use case is for trying to wedge open stack on to Nixos…

I’ve seen cloud deployments, where a millions lines of extra code have been added to manage even more code, and that code could of been a few nifty shell scripts to manage the entire cluster…

If you open your services up for public consumption and provisioning then that a different kettle of fish, especially if your clients are addicted docker containers.

However , NixOS gives can give you all these things and more because of it’'s ‘rebuild’ architecture…

adding old paradigms to new ones, never works out too well ;-).

Neo:
What are you trying to tell me? That I can run openstack on Nixos?

Morpheus:
No, Neo. I’m trying to tell you that when you’re running Nixos, you won’t have to.

I come from the school of less code is better, but the school is getting emptier by the day.

1 Like

Not really but I am using the OpenStack CLIs to communicate with an OpenStack cloud.

1 Like

While I do agree that less code is better, I’m a bit surprised by your reply.
I don’t have a use case per se, but since people are fleeing to the big cloud providers it seems OpenStack is gaining more and more traction being an Open Source alternative and thus preventing Vendor lockin.
If one could point them to a way where it is possible to provide a declarative OpenStack cloud with NixOS, instead of the “I hope it will turn out to be as I want” Ansible playbooks, that would be a great thing for both these users and the usage of NixOS!
But like I said, still learning and maybe by doing so connecting the dots wrongly. If you say OpenStack is overkill because NixOS can give you all these things, then clearly I have not yet seen that light :slight_smile:
Perhaps you would be willing to enlighten me more?

2 Likes

sure, i can’t reply in depth just now, as i’m prepping for https://nix.camp and basically have zero time.

but during it there we can discuss getting cloud like machines, without overlaying millions of lines of extra code on top of what you’ve already got.

But hey , it’s just my view , some people like deploying ‘everything’… .

Come to think about it, @nixinator

would you care to elaborate on your above statement?

yes, certainly.

If you go to this web site, https://nix.how

at the bottom you’ll find a link to,

[Why Order Matters: Turing Equivalence in Automated Systems Administration - ]Steve Traugott

Steve is absolute genius when it comes to large system configuration management. Its a shame the community he was with basically had group think and threw him to the wolves. A unsung hero of the configuration management battle field, rather like the nixxers here.

Happens a lot, go against the corporate standard, the status quo, expect flak. … A lot.

I think Steve encountered that when he said to his community… ‘your doing it wrong’ .

Lucky for you Nix is doing it right.

I urge you to read this paper… we got a whole raft of tools that didn’t follow this paper at all… they are pure garbage… However they are industry standard, and you will get PAID to use them, but they are still garbage IMHO.

Simplicity always wins, it’s doesn’t matter of many kubernannies pods , the 50 virtual networks bridges & 16 NAT routers you have…, flim flam services linked to bong bong and zoom zoom… the cloud native ways at looking at a computer, which in my mind is a slow decent in pure madness and a sure fire way to burn young minds out…

Even if it’s not a decent into madness, it means those abstractions are on someone else’s computer… I like things on my computer… i seem to be quite alone in this reasoning.

Can nixos take ground against these cloud systems, yes, but it’s a bunch of volunteers, that do what they can when they can. If you compare the amount of money spent over the 20 years of nix to what amazon, google, apple, facebook, netflix and Microsoft make in a day… I am amazed it as good as it is. That is testament to the strong underlying architecture that nix has, its so strong our friends over at GUIX copied it!! nice! In fact its very very good. I don’t understand why it’s not been purchase by Microsoft yet. :wink:

We have written a few nix scripts that basically give you a very basic version of open stack. Once your can declare everything about your system, or the VM’s running on it, it’s really easy. As’ll you use more nix you’ll realise it. A lot of the cloud management tools are in nix, because people do their main jobs with them. However once you have the luxury of going full nix, your need very few of these tools.

A lot of the large cloud stuff is nix, but the more you run it, the more you ask yourself, do i really need it now?

I could be wrong… however… I do know that their are large organisations out there using nix and not revealing the fact, because they see at as competitive advantage… now your talking! :slight_smile:

may the nix be with you, always.

2 Likes

Thanks for your reply, funny you mention the Why Order Matters paper, I once reminded Matthew about it in a Nixos Office Hours talk he had with Tom. I’ve read it before and I really really need to get more hands on with actual trying a lot more “deploying stuff” to experience the Nix powers.
To get to those insights as you have… But to just find the time for it!
Please don’t talk about MS purchasing something :wink:, I am sure they know all too well about Nix(OS) because things start looking familiar when reading through their MSIX, Winget - package manifest - Windows Sandbox pages…

1 Like

Yeah, I read it the day it was released. :slight_smile:

I was a cfgengine fan… sorry about that.

I dare not click on the Winget link!! I dare not!!!

I’m always hovering over the nixos fork button.

I’d buy nix right now if i had the money, but i don’t have a 5 billion dollars. (yet)

1 Like