DevOps Megathread: what you need and how we can help!
-
-
@nathanael-h Nice
If you have any questions let me know, I have been using this for all our on prem clusters for a while now.
-
It nice to be able to create a schedule or have some way of automatically cleaning up VM templates within XO/XCP-NG with the ability to set a retention policy like backups.
For example, we have a GitHub workflow that runs daily, weekly, and monthly to create base Ubuntu/Windows server images with the latest updates, those templates have a tag with the build date. We then leverage those templates through other pipelines to test k3s cluster updates with the Terraform provider.
Currently I have not been able to find any automated task within XO or XCP-NG without external systems. As of current I go in daily and clean up templates that exceeds our desired retention policy (similar to our backup retention policy). I would also like to note that we also have the Vates VMS Enterprise plan through my work account.
I would also love to see some more work on the Packer provider, mainly with the XVA builder. We have our base Ubuntu templates but would like to be able to take that template and then make another template on top of it with the k3s binary installed for example to prevent having to download and install the binary or other tooling on each VM in a cluster using Terraform or Ansible.
Lastly it would be nice to have some more frequent updates to the Terraform provider. I am aware that there are updates still being pushed to the main branch but the last release was published on Mar 20, 2024.
-
@bufanda said in DevOps Megathread: what you need and how we can help!:
Backup management with the Terraform provider would be a great feature. Maybe also for an upcoming ansible module. I always struggle to find the right backup for a VM since I grouped them in logical groups. So one Backup may handle multiple VMs and Sometimes it would be just easier to edit some IaC then the GUI, especially when I destroy a VM, I always forget to check if Backups exists.
@nathanael-h said in DevOps Megathread: what you need and how we can help!:
@bufanda I think we'll be able to add backup support to Terraform when 1. the provider will use the new Rest API, and 2. when this API will offer endpoints for backups management. I took note. (This won't be done in minutes
)
About Ansible, it'll depends also if/when we start work on it.+1 to the backup management through Terraform. It would be great to be able to manage backup jobs and sequences through Terraform.
-
Hello there, we released a new Pulumi Xen Orchestra provider last month ! It's worth noting that the work on this was started by some contributors from DESY, and that now we (Vates) commit to support and maintain it. This demonstrate the strength of joined work from both community and Vates on free and open source softwares
So what is offered is to declare your infrastructure as code, in Javascript or Typescript, Go, or Python (pick the one you prefer
) and to deploy, maintain, and update it.
-
Hello,
If you want to discuss the Pulumi Provider in detail, let discuss here: https://xcp-ng.org/forum/topic/10592/pulumi-xen-orchestra-news -
@Jonathon this is really nice to have shared, as we are looking to migrate from the RKE cluster we've deployed on bare-metal Xen to XCP-ng VMs to setup an RKE2 cluster to migrate to.
Will review this and probably have a bunch of questions!
-
@andrewperry I myself migrated our rancher management cluster from the original rke to a new rke2 cluster using this plan not too long ago, so you should not have much trouble. Feel free to ask questions
-
i found time to play with cloud init, most of examples looks outdated or don't work dunno why.
hostname: {name}
don't work, onlyhostname: {name}%
. Also i don't find that macros at official doc.with
manage_etc_hosts: true
it changed /etc/hosts127.0.1.1 basename
to127.0.1.1 basename test%
. Maybe package itself bug, maybe XO problem.preserve_hostname: false
looks not required, i don't see any difference.even if not use any network config, it change netplan (don't need it with dhcp).
network: version: 2 ethernets: enX0: dhcp4: true
to
network: version: 2 ethernets: enX0: match: macaddress: "my_mac" dhcp4: true dhcp6: true set-name: "enX0"
to save default netplan, need to use something like
network: version: 1 config: subnets: - type: dhcp4 type: physical
can't make disk resize work, it looks like rocket science. And this is most important part for me.
resize_rootfs: true growpart: mode: auto devices: ['/'] ignore_growroot_disabled: false
I'm fine enough with manually tuned templates, 99% time don't need to change anything except name\disk. Other tasks require manual attention anyway or already covered with ansible. Would be nice to see tutorial for IQ<3.
-
@Tristis-Oris
Hello, thanks for the report. I will try to fix and improve things, but before I have a few questions.- What is the template you are using? Is it one from XOA Hub?
- Where did you found the cloud-init config snippets?
For your information, the defaults cloud-init configs snippets come from here: https://github.com/vatesfr/xen-orchestra/blob/master/packages/xo-web/src/common/cloud-config.js#L78-L88
For growpart it depends of the template used. Last time I tested it was working with a Debian 12 template from the XOA Hub.
-
- my custom template.
- forum, cloud-init doc.