Skip to content

v0.20.0

Latest

Choose a tag to compare

@ayaegashi ayaegashi released this 02 Dec 21:49
2137957

Full version: 0.20.2025120104-v2137957

API Changes

N/A

New Features

Sysext and Confext Servicing on Clean Install and A/B Update

Trident now supports servicing sysexts and confexts during clean install and A/B update. Please reference the API documentation and Explanation notes for sysexts and confexts.

Example:

os:
    sysexts:
        url: https://example.com/sysext
        sha384: 123456...
        path: /var/lib/extensions/example-sysext.raw
    confexts:
        url: https://example.com/confext
        sha384: 123456...
        path: /var/lib/confexts/example-confext.raw

Health Checks

Trident now supports health checks, which allow users to validate their target OS. If a health check fails during a clean install, Trident will not consider the host to be Provisioned. If a health check fails during an A/B update, a rollback to the servicing OS will be triggered.

Users may specify validation scripts that Trident will run and/or systemd services that Trident will check after booting into the target OS.

Please reference the API documentation.

Example:

health:
  checks:
  - name: sample-commit-script
    runOn:
    - ab-update
    - clean-install
    content: |
      if ! ping -c 1 8.8.8.8; then
        echo "Network is down"
        exit 1
      fi
      if ! kubectl get nodes; then
        echo "Kubernetes nodes not reachable"
        exit 1
      fi
  - name: sample-systemd-check
    runOn:
    - ab-update
    - clean-install
    systemdServices:
    - kubelet.service
    - docker.service
    timeoutSeconds: 15

UEFI Fallback

Trident now ensures that the UEFI fallback path contains the current boot files to provide resiliency in case of UEFI variable corruption. This new API, uefiFallback can be set to one of 3 options:

  • conservative: this is the default and aligns to Trident's UEFI variable configuring, where, for A/B update, the target OS is only configured as UEFI fallback after the boot has been validated.
  • optimistic: as the name suggests, this is a more optimistic approach, where the target OS is configured as UEFI fallback immediately.
  • disabled: Trident will not do anything to configure a UEFI fallback.

Please reference the Explanation of UEFI Fallback.

Example:

os:
  uefiFallback: "conservative"

Bug Fixes

  • Fixed a bug where the creation of a cloud-init networking file would fail when the cloud-init config directory was absent: #273
  • Fixed a bug where an interrupted clean install staging could lead to Trident incorrectly interpreting the Host Status on subsequent runs: #278
  • Fixed issue #343 for Azure VMs by removing the dependency on /dev/disk/by-path/ for disk device resolution: #358

Other Updates

  • Added backwards compatibility for old Host Statuses: #282

Known Issues

N/A

Links