Skip to content

Add full support for Proxmox #181

Open

Description

@ader1990

The default username for which the password/ssh keys are set is configurable in the configuration file.
But in the case of Windows VMs on Proxmox, the username customization ends up in the USER_DATA file:

#cloud-config
hostname: avladu-test-proxmox
manage_etc_hosts: true
fqdn: avladu-test-proxmox.maas.local
user: AdminProxmox
password: Passw0rd
chpasswd:
  expire: False
users:
  - default
package_upgrade: true

Discussion is needed to see if the Proxmox community can make the same format as OpenStack's or cloudbase-init needs to offer that option. See: 39e2f6f.

The upstream discussion is here: https://bugzilla.proxmox.com/show_bug.cgi?id=4493.

Thanks!

Activity

  1. puffi commented on Feb 13, 2026

    @puffi

    Thank you for opening the issue.

    I think I've actually tried setting the admin_username, but it's been a long time since I last tested it.
    I'll have to test it again.
    Is there a list of all config options for each of the services for a quick lookup of what's supported?
    Or is it only documented in code so far?

    The issue though with the username is, that we don't handle admin user differently from a normal user. With cloud-init and Linux you can simply specify root as username, and it will change it for that user.
    Windows seems to separate admin users from normal users?

    In Proxmox VE we currently don't have an option to specify either admin or normal user.

  2. ader1990 commented on Feb 13, 2026

    @ader1990
    MemberAuthor

    Hello, for ConfigDrive -> you can take a look here: https://cloudbase-init.readthedocs.io/en/latest/services.html#openstack-configuration-drive and for NoCloud here: https://cloudbase-init.readthedocs.io/en/latest/services.html#nocloud-configuration-drive (Capabilities section).

    The best way to go forward would be to have here a complete example of the contents for each type of config drives created by Proxmox and we can start from there. Full ISOs attached here can work too.

    Cloudbase-init has functional tests based on these metadata examples https://github.com/cloudbase/cloudbase-init-test-resources/tree/master/openstack/cloudbase-init-metadata and https://github.com/cloudbase/cloudbase-init-test-resources/tree/master/nocloud.

    Once we have a good complete ISO examples, I can change the https://github.com/cloudbase/cloudbase-init-test-resources accordingly and then update cloudbase-init code to implement the desired functionality.

    Thanks.

  3. ader1990 commented on Feb 16, 2026

    @ader1990
    MemberAuthor

    Thank you for opening the issue.

    I think I've actually tried setting the admin_username, but it's been a long time since I last tested it. I'll have to test it again. Is there a list of all config options for each of the services for a quick lookup of what's supported? Or is it only documented in code so far?

    The issue though with the username is, that we don't handle admin user differently from a normal user. With cloud-init and Linux you can simply specify root as username, and it will change it for that user. Windows seems to separate admin users from normal users?

    In Proxmox VE we currently don't have an option to specify either admin or normal user.

    Hello, did a first run with a Proxmox produced cidata ISO here -> and added my findings cloudbase/cloudbase-init-test-resources#19. There are a few things to be discussed about how the implementation / feasibility of it: cloudbase/cloudbase-init-test-resources#19.

    Will leave the notes here as well, and rename this issue to a more generic one.

    Proxmox has two types for ISO based configdrives that can be created,
    one for Windows, and one for non-Windows OS types.

    The Windows type is a configdrivev2 ISO type, that is similar with the OpenStack configdrive v2: the label is config-2.

    NoCloud ISO produced by Proxmox has the following structure:

    META_DATA -> file containing at most 3 entries, in the format key:
    value - instance-id, network-interfaces, hostname.
    NETWORK_CONFIG -> network configuration, standard format.
    USER_DATA -> user data, standard format.
    
    

    The currently created Proxmox cidata ISO usage with NoCloud provider
    shows the following errors:

    ERROR cloudbaseinit.plugins.common.userdataplugins.cloudconfig [-] Plugin 'manage_etc_hosts' is currently not supported
    ERROR cloudbaseinit.plugins.common.userdataplugins.cloudconfig [-] Plugin 'fqdn' is currently not supported
    ERROR cloudbaseinit.plugins.common.userdataplugins.cloudconfig [-] Plugin 'user' is currently not supported
    ERROR cloudbaseinit.plugins.common.userdataplugins.cloudconfig [-] Plugin 'password' is currently not supported
    ERROR cloudbaseinit.plugins.common.userdataplugins.cloudconfig [-] Plugin 'chpasswd' is currently not supported
    ERROR cloudbaseinit.plugins.common.userdataplugins.cloudconfig [-] Plugin 'package_upgrade' is currently not supported
    
    INFO cloudbaseinit.metadata.services.nocloudservice [-] V2 network metadata not found
    

    The support for manage_etc_hosts cannot be added, as it cannot be mapped to an existing Windows feature.

    The support for fqdn can be added easily, as it is the same as the set_hostname one.

    The support for user with the default entry cannot be added, as it cannot be mapped to an existing Windows feature. This feature is in some sense implicit.

    The support for password can be added as per https://cloudbase-init.readthedocs.io/en/latest/plugins.html#setting-password-main.
    The support for chpasswd can be added as per https://cloudbase-init.readthedocs.io/en/latest/plugins.html#setting-password-main.

    The support for package_upgrade can be added as per the https://cloudbase-init.readthedocs.io/en/latest/plugins.html#windows-auto-updates-main.

    The support for v2 network metadata is in progress here: #164

  4. changed the title [-]Implement default username retrieval for Proxmox[/-] [+]Add full support for Proxmox[/+] on Feb 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions