Uploaded image for project: 'CoreOS OCP'
  1. CoreOS OCP
  2. COS-886

Improve networking UX when using Tang pinning in non-DHCP environments

    XMLWordPrintable

Details

    • Epic
    • Resolution: Won't Do
    • Normal
    • None
    • None
    • Improve networking UX for Tang
    • False
    • False
    • To Do
    • 33
    • 33% 33%
    • 0
    • 0

    Description

      Epic Goal

      • Rather than recommend networking kernel arguments for dealing with Tang pinning, automatically detect Tang pinning, and enable persistence of NetworkManager keyfiles in the initramfs using `rpm-ostree initramfs-etc`.

      Why is this important?

      • We currently strongly recommend using NetworkManager keyfiles and `--copy-network` to perform first-boot network configuration. However, these keyfiles are only used in the initramfs on first boot. But Tang pinning requires networking in the initramfs on every boot. In the DHCP case, this only requires `rd.neednet=1`, but otherwise, we've been working around this by requiring users to append more network kargs.
      • This introduces a rift in our recommendations, as well as config management, because now networking is defined as both kernel arguments and NM keyfiles.
      • IIUC, not all network configurations can be expressed as kernel arguments.
      • Skew between network configuration in the real root and the initramfs can happen post-firstboot.
      • Kernel arguments are hard to manage.

      Scenarios

      1. A user installs RHCOS with Tang-pinning in a DHCP environment.
      2. A user installs RHCOS with Tang-pinning in a non-DHCP environment.

      Acceptance Criteria

      • CI - MUST be running successfully with tests automated
      • Users no longer have to do anything special for Tang-pinning and networking, apart from the usual `--copy-network`
      • Tang-pinning is automatically detected on firstboot and persisted for following boots using initramfs-etc.
      • Modifications to the real root networking automatically apply to initramfs networking.

      Dependencies (internal and external)

      1. ...

      Previous Work (Optional):

      Open questions::

      Done Checklist

      • CI - CI is running, tests are automated and merged.
      • Release Enablement <link to Feature Enablement Presentation>
      • DEV - Upstream code and tests merged: <link to meaningful PR or GitHub Issue>
      • DEV - Upstream documentation merged: <link to meaningful PR or GitHub Issue>
      • DEV - Downstream build attached to advisory: <link to errata>
      • QE - Test plans in Polarion: <link or reference to Polarion>
      • QE - Automated tests merged: <link or reference to automated tests>
      • DOC - Downstream documentation merged: <link to meaningful PR>

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              jlebon1@redhat.com Jonathan Lebon
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: