Ignition and compressed userdata

403 views
Skip to first unread message

Valentyn Boginskey

unread,
May 24, 2017, 5:58:07 PM5/24/17
to CoreOS User
Hi,

We're running Container Linux on AWS. I recently tried to convert a legacy cloud-config to the new Container Linux config format and successfully transpiled it with ct. However, when I compress, base64 encode, and upload to AWS this userdata, the instance fails to start with the following:

[    3.268636] ignition[367]: Ignition v0.13.0

[    3.271032] ignition[367]: no config URL provided

[    3.274791] ignition[367]: error at line 1, column 1

    1:

      ^

invalid character '\x1f' looking for beginning of value

[    3.280306] ignition[367]: failed to fetch config: config is not valid


cloud-config didn't have any issues recognizing compressed userdata. Why has this changed with Ignition? The uncompressed version is too big to fit in AWS userdata and I'd have to jump through hoops to host it on S3, etc.


Thanks,


Valentyn

Alex Crawford

unread,
May 24, 2017, 9:56:03 PM5/24/17
to Valentyn Boginskey, CoreOS User
Ignition follows the HTTP spec a bit more closely. Since EC2 doesn't
update the content type based on whether or not the userdata is
compressed, we cannot know how to interpret the data. coreos-cloudinit
hacks around this by optimistically decompressing all content.

The recommended method for getting around AWS's userdata limit is to use
the "ignition.config.replace" object in the config. This will allow you
to provide a stub config to EC2 and host the full config elsewhere. We
don't want to go the same route as coreos-cloudinit since it just delays
the eventual problem that users will run into the userdata cap. Instead,
we recommend the above method to completely bypass the restriction.

-Alex
signature.asc

Brandon Philips

unread,
May 24, 2017, 9:58:23 PM5/24/17
to Alex Crawford, Valentyn Boginskey, CoreOS User
Generally this means you will host ignition in s3 instead. See: https://coreos.com/ignition/docs/latest/examples.html#replacing-the-config-with-a-remote-config


Brandon

--
You received this message because you are subscribed to the Google Groups "CoreOS User" group.
To unsubscribe from this group and stop receiving emails from it, send an email to coreos-user...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Valentyn Boginskey

unread,
May 25, 2017, 10:41:50 AM5/25/17
to CoreOS User, alex.c...@coreos.com, vbogi...@gmail.com
Okay, got it. Thanks for the quick reply.

Valentyn
Reply all
Reply to author
Forward
0 new messages