Switching to multi-part cloud-init, getting: SyntaxError: invalid syntax
-
I used to have
user_data = data.template_file.user_data.rendered
I changed that to,
user_data = data.template_cloudinit_config.master.rendered
And I added,
data "template_cloudinit_config" "master" { gzip = true base64_encode = true
get common user_data
part {
filename = "cloud-init.cfg"
content_type = "text/part-handler"
content = data.template_file.user_data.rendered
}
}
But now I'm getting this error, in my
cloud-init.log
2022-07-12 15:19:21,514 - util.py[DEBUG]: Writing to /var/lib/cloud/instances/1a6e9475-5d46-4b3f-b7bc-642055614e22/handlers/part-handler-000.py - wb: [600] 16701 bytes 2022-07-12 15:19:21,514 - util.py[WARNING]: Failed at registering python file: /var/lib/cloud/instances/1a6e9475-5d46-4b3f-b7bc-642055614e22/handlers/part-handler-000.py (part handler 0) 2022-07-12 15:19:21,514 - util.py[DEBUG]: Failed at registering python file: /var/lib/cloud/instances/1a6e9475-5d46-4b3f-b7bc-642055614e22/handlers/part-handler-000.py (part handler 0) Traceback (most recent call last): File "/usr/lib/python3/dist-packages/cloudinit/handlers/__init__.py", line 144, in walker_handle_handler mod = fixup_handler(importer.import_module(modname)) File "/usr/lib/python3/dist-packages/cloudinit/importer.py", line 15, in import_module __import__(module_name) File "/var/lib/cloud/instances/1a6e9475-5d46-4b3f-b7bc-642055614e22/handlers/part-handler-000.py", line 3 users: ^ SyntaxError: invalid syntax
However, nothing changed in that file. What's going on?
-
The problem here was I had
content_type = "text/part-handler"
I should have had,
content_type = "text/cloud-config"
For more information:
- https://cloudinit.readthedocs.io/en/latest/topics/format.html