v0.9.0 #1194
Replies: 3 comments
-
|
Nothing really constructive from my side - I just wanted to say thank you - it is awesome work and incredible effort. |
Beta Was this translation helpful? Give feedback.
-
|
Thank you @dmacvicar! I tried it out, it took a bit of trial and error, and there were a few quirks but got my small homelab module upgraded from 0.8.x to 0.9.0. I have a working Ubuntu VM deployment My module usage for Ubuntu VM is here: https://github.com/tenzin-cloud/vm-builder/blob/main/modules/ubuntu-vm/main.tf My next todo is to see if I can get my GPU passthrough working on 0.9.0. |
Beta Was this translation helpful? Give feedback.
-
|
In case you are all wondering what the next step is, I am experimenting with generating the whole libvirt schema programmatically. It is not a trivial task and has lot of quirks, but I already migrated locally network, pool, volume. Domain has been a bit more difficult. If this ends working, it means we can support the whole libvirt XML schema, and bugs will be fixed more centrally, as the conversion code will come from the same generation. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
https://registry.terraform.io/providers/dmacvicar/libvirt/latest/docs
Background
When this provider was developed, the idea was to mimic a cloud experience on top of libvirt. Because of this, the schema was done as flat as possible, features were abstracted and some features like disks from remote sources were added as convenience.
The initial users of the provider were usually makers of infrastructure software who needed complex network setups. Lot of code was contributed which added complexity outside of its initial design.
So for long time I wanted to restart the provider under a new design principles where:
I knew 1.0 would never come in the current form.
The new provider
The new provider is based on the new plugin framework. This gives us some room for better diagnostics and better plans.
It makes definitions more verbose, but it also means we can implement any libvirt feature. Defaults work as long as they are defaults in libvirt.
Migration plan
You can find the legacy provider in the v0.8 branch. New releases can be done of 0.8.x versions to add bugfixes, so people who rely on it have a path forward. I'd likely not maintain much of 0.8.x, but I guess many people will help here, as they do today with different PRs.
There is no automated way of migrating the HCL of previous providers, but given that it is documented how the new schema is defined, which was not the case with the previous schema, it should be much easier to drive LLMs to perform a conversion.
You should check the documentation and README, which will give you an idea of the main differences and equivalences, but here is an example of the new schema to get an idea:
Feedback is appreciated. There will be a long journey for people to port and iron all the issues, but it is clear this is the path to go.
This discussion was created from the release v0.9.0.
Beta Was this translation helpful? Give feedback.
All reactions