I was able to resolve this issue.
The problem was with the encoded_userdata
. I initially had the following line in my code:
encoded_userdata = base64.b64encode(day0_config_content.encode()).decode()
Removing that line entirely and just passing the raw JSON string directly worked:
day0_config_content = json.dumps(ftd_config, indent=4)
ftd_vm_create["vm_customization_config"] = {
"datasource_type": "CONFIG_DRIVE_V2",
"files_to_inject_list": [],
"fresh_install": True,
"userdata": day0_config_content,
}
After removing the Base64 encoding, the password started working correctly, and I was able to log in with the AdminPassword
provided in the Day 0 config.
Hope this helps someone else facing the same issue.