I think you already have all tools for doing that kinda.

1. You can use cloud-init for initial system configuration, which can initially bootstrap and configure software for you. For example, you can do smth like Canonical MAAS does to leverage cloud-init + curtin to do pretty much anything you want. And cloud-init is usually part of most cloud images as of today.
2. You can also leverage Heat to do pretty much the same with CloudConfig resource or even use SoftwareConfig/SoftwareComponent resources to setup and configure software on the provisioned vm right away.

Isn't that what you're looking for?


On Mon, Dec 11, 2023, 08:57 <lostghost1@yandex.ru> wrote:
Hi all,
Sorry if this has been asked already, but is it feasible to use OpenStack to configure running systems - including virtual instances, containers, and the physical nodes themselves. I know that conceptually OpenStack takes a hands-off approach - it deals with images in abstract and further configuration is delegated to tools such as Ansible. Same for bare metal nodes - you provision them with Ironic, flash an image to them, and that's where configuaration ends for OpenStack. At least this is how I understand it, may be wrong.

I was thinking about introducing systems configuration as a first-class concept into OpenStack - that means integration with the package manager, writing of config files from templates, filesystem management in general. The most well thought-out "solution" that there is for systems configuration is Nix in my opinion. I could intergrate it into OpenStack, I could write my own package manager. I haven't decided yet, these are just ideas for a pet project.

So if I were to do such a thing, how would I go about achieving it? Obviously I would need to write a Horizon console module for the web UI. But beyond that I'd also need integration with other components. What do you all think?