FCOS in Digital Ocean with ignition file larger than 64KB

Hello,

I am trying to install Red Hat OpenShift on Digital Ocean.

I added the Digital Ocean image of Fedora CoreOS (stable stream) to my account from:

and followed the OpenShift documentation:
https://docs.openshift.com/container-platform/4.4/installing/installing_bare_metal/installing-bare-metal.html#creating-machines-bare-metal

Long story short, OpenShift installer provides 3 ignition scripts to be used during the creation of the droplets in the user data field:

  • bootstrap.ign
  • master.ign
  • worker.ign

Unfortunately this field is limited to 64KB and the ignition script for the bootstrap is ~300KB.

I tried to provide a bash script to download bootstrap.ign and run coreos-installer but the FCOS image only supports ignition script as user data…

I also tried an ignition script that downloads bootstrap.ign. No success.

What do you recommend? Any solution available?

Thanks!

Hey @max3903 - thanks for posting! Some questions:

  • Red Hat OpenShift uses RHEL CoreOS. Did you mean OKD, which uses Fedora CoreOS?
  • We have a digitalocean image. Are you using the bare metal install workflow to try to workaround the user-data size limit?
  • You have the option to put the bootstrap.ign on a webserver and provide a pointer ignition config that points at the https://example.com/bootstrap.ign. Would that work for you?

Thanks for the answer @dustymabe

  1. It may be stupid but I am trying to install Red Hat OpenShift with the OpenShift installer from GitHub - openshift/installer: Install an OpenShift 4.x cluster on Fedora CoreOS
  2. Yes
  3. Do you mean something like this:
{
    "ignition": {
        "config": {
            "append": [{
                "source":"https://<web-server>/bootstrap.ign",
             }]
         },
     },
}

I haven’t tried it yet. Will do and let you know.

@dustymabe I don’t get any request on the web server with this script :frowning:

I am thinking of building my bootstrap image locally with VirtualBox and upload it to DO. Would that be a solution?

I’m pretty sure this won’t work, but you’re free to try :stuck_out_tongue_winking_eye:. The OCP installer produces Ignition specs at an older version and the Ignition in Fedora CoreOS will fail because it only supports the newer versioned spec.

Use OKD.

Maybe try using the digitalocean image instead. I’d recommend starting with executing the documentation steps with a simple ignition config just to sanity check, and then go from there.

The first example under this section in the documentation shows how to do it using an fcct (which you can then convert to ignition).

variant: fcos
version: 1.0.0
ignition:
  config:
    replace:
      source: http://example.com/sample.ign
      verification:
        hash: sha512-e2bb19fdbc3604f511b13d66f4c675f011a63dd967b97e2fe4f5d50bf6cb224e902182221ba0f9dd87c0bb4abcbd2ab428eb7965aa7f177eb5630e7a1793e2e6

I wouldn’t try it, but that’s me. It may work but I have no way of knowing.

1 Like

Aha :smiley: Works much better with OKD. Thanks a million @dustymabe!

1 Like

No problem!

I actually tried setting up OKD on DigitalOcean earlier today and I hit some trouble because our images don’t seem to be picking up the machine hostname from the metadata service. I filed a bug to track it.