Skip to content

Incorrect IP Assignments On Big Numbers

I've been encountering a strange issue on my ludus deployment. I have the following simple range:

ludus:
    -   vm_name: "{{ range_id }}-vpn"
        hostname: corp-vpn
        template: "debian-11-x64-server-template"
        vlan: 35
        ip_last_octet: 100
        force_ip: true
        ram_gb: 2
        cpus: 1
        linux: true

When I go to deploy this range, the deploy logs get stuck at TASK [Wait for the host's control interface (SSH) to come up], and eventually time out. If I log into the proxmox management portal at this point, and navigate to the VM, I can use the serial console to view network configuration, and see that the assigned IP is actually "10.x.35.150". Notably, the last octet never matches the configured one.

I've reproduced this with multiple templates, but I figure the builtin ones are good enough for this report. I've tested with several values for last_octet, and everything below 100 (up to 99) works, but anything 100 and above will get an incorrect value. The value is always random when keeping the configuration constant.