Skip to content

v0.5.0

Compare
Choose a tag to compare
@talos-bot talos-bot released this 14 Feb 20:02
v0.5.0
f9da0bd

Sidero 0.5.0 (2022-02-14)

Welcome to the v0.5.0 release of Sidero!

Please try out the release binaries and report any issues at
https://github.com/talos-systems/sidero/issues.

Machine Addresses

Sidero now populates MetalMachine addresses with the ones discovered from Siderolink server events.
Which is then propagated to CAPI Machine resources.

Requires Talos >= v0.14.

iPXE Boot From Disk Method

iPXE boot from disk method can now be set not only on the global level, but also in the Server and ServerClass specs.

CAPI v1beta1

This release of Sidero brings compatibility with CAPI v1beta1.

Cluster Template

Sidero ships with new cluster template without init nodes.
This template is only compatible with Talos >= 0.14 (it requires SideroLink feature which was introduced in Talos 0.14).

On upgrade, Sidero supports clusters running Talos < 0.14 if they were created before the upgrade.
Use legacy template to deploy clusters with Talos < 0.14.

New MetalMachines Conditions

New set of conditions is now available which can simplify cluster troubleshooting:

  • TalosConfigLoaded is set to false when the config load has failed.
  • TalosConfigValidated is set to false when the config validation
    fails on the node.
  • TalosInstalled is set to true/false when talos installer finishes.

Requires Talos >= v0.14.

IPMI PXE Method

IPMI PXE method (UEFI, BIOS) can now be configured with SIDERO_CONTROLLER_MANAGER_IPMI_PXE_METHOD while installing Sidero.

Retry PXE Boot

Sidero server controller now keeps track of Talos installation progress.
Now the node will be PXE booted until Talos installation succeeds.

SideroLink

Sidero now connects to all servers using SideroLink (available only with Talos >= 0.14).
This enables streaming of kernel logs and events back to Sidero.

All server logs can now be viewed by getting logs of one of the container of the sidero-controller-manager:

kubectl logs -f -n sidero-system deployment/sidero-controller-manager -c serverlogs

Events:

kubectl logs -f -n sidero-system deployment/sidero-controller-manager -c serverevents

Contributors

  • Andrey Smirnov
  • Michal Witkowski
  • Andrey Smirnov
  • Artem Chernyshev
  • Noel Georgi
  • Andrey Smirnov
  • Spencer Smith
  • Steve Francis
  • Charlie Haley
  • Daniel Low
  • Jack Wink
  • Rubens Farias
  • Serge Logvinov
  • Seán C McCord

Changes

54 commits

  • f9da0bd release(v0.5.0): prepare release
  • 36ebc2a docs: document SideroLink and other 0.5.0 new features
  • 416cc51 chore: bump pkgs to include latest kernel into the agent environment
  • 3db140c chore: clean up/bump dependencies
  • 7a9ed30 release(v0.5.0-alpha.2): prepare release
  • 0a967a8 feat: configure boot from disk method on Server/ServerClass level
  • 7912509 refactor: cleanup and deduplicate the code which matches SideroLink IPs
  • 003f6a7 fix: don't boot from not ready environments
  • e44f350 fix: use controller-runtime standard healthz endpoints
  • c73d8e5 docs: update to Sidero from Talos
  • 5e3f68d fix: add move label to BMC secrets
  • f28d7b0 docs: update README and index page
  • 194e870 chore: bump dependencies
  • b30fbe4 feat: set server PXEBooted condition only after Talos gets installed
  • 34f7822 docs: fixes to the homepage, footer, log
  • 682594c docs: update index.md and sync across versions
  • dea2179 refactor: rewrite conditions update function in the adapter
  • 59ed3cd release(v0.5.0-alpha.1): prepare release
  • 1f7588f docs: update office hours
  • fe41335 feat: introduce new conditions in the metalmachine
  • 6454dee feat: populate addresses and hostname in ServerBindings
  • d69264f docs: fix patching examples
  • 04d90fd docs: add patching examples
  • 41b7451 docs: update docs for upcoming Sidero 0.4.1 release
  • d5f8f4e release(v0.5.0-alpha.0): prepare release
  • 229dae1 fix: ignore BMC info if username or password are not set
  • 650743a fix: use environment variables in the ipmitool
  • ed39a3c fix: ensure we setup BMC info after disk wiping
  • 025ff04 feat: additional printer colums
  • 189793e fix: wait for link up in iPXE script
  • 9a27861 fix: make iPXE script replace script on chain request
  • 1bbe3be feat: extend information printed in the iPXE script, add retries
  • 4cfdeda feat: provide a way to configure IPMI PXE method
  • 2ff14c4 docs: reflect sidero runs on ARM
  • 274ae33 fix: check for server power state when in use
  • d0df929 feat: implement events manager container
  • ab12b81 feat: implement Talos kernel log receiver
  • 5bf7c21 docs: fix clusterctl usage
  • e77bf54 feat: support cordoning server
  • ab29103 feat: implement SideroLink
  • adc73b6 fix: update CAPI resources versions to v1alpha4 in the cluster template
  • 04dbaf0 test: fix Sidero components version in sfyra docs
  • acb5f57 feat: automatically append talos.config to the Environment
  • 0e7f8a6 docs: metadata server -> sidero
  • a826281 fix: hide password from ipmitool args
  • ef270df docs: fork docs for 0.5
  • a0bf382 docs: dhcp option-93
  • bbbe814 chore: conformance check
  • 701d01b fix: drop into the agent for non-allocated servers
  • b0e3611 docs: update help message for extra kernel args
  • bb87567 chore: bump dependencies
  • 62ab9be fix: update extension for controlplane.yam l talosctl generates YAML files with the .yaml extension, update to the apply-config command to reflect this
  • 0511d78 feat: allow defining http server and api server ports separately
  • 432ca2a docs: create v0.4 docs and set them as latest

Changes since v0.5.0-alpha.2

4 commits

  • f9da0bd release(v0.5.0): prepare release
  • 36ebc2a docs: document SideroLink and other 0.5.0 new features
  • 416cc51 chore: bump pkgs to include latest kernel into the agent environment
  • 3db140c chore: clean up/bump dependencies

Changes from talos-systems/go-blockdevice

2 commits

  • 15b182d fix: return partition table not exist when trying to read an empty dev
  • b9517d5 fix: resize partition

Changes from talos-systems/go-smbios

1 commit

  • fd5ec8c fix: remove useless (?) goroutines leading to data race error

Changes from talos-systems/grpc-proxy

44 commits

  • ca3bc61 fix: ignore some errors so that we don't spam the logs
  • 5c579a7 feat: allow different formats for messages streaming/unary
  • 6c9f7b3 fix: allow mode to be set for each request being proxied
  • cc91c09 refactor: provide better public API, enforce proxying mode
  • d8d3a75 chore: update import paths after repo move
  • dbf07a4 Merge pull request #7 from smira/one2many-4
  • fc0d27d More tests, small code fixes, updated README.
  • d9ce0b1 Merge pull request #6 from smira/one2many-3
  • 2d37ba4 Support for one2many streaming calls, tests.
  • 817b035 Merge pull request #5 from smira/one2many-2
  • 436b338 More unary one-2-many tests, error propagation.
  • 1f0cb46 Merge pull request #4 from smira/one2many-1
  • 992a975 Proxying one to many: first iteration
  • a0988ff Merge pull request #3 from smira/small-fixups
  • e3111ef Small fixups in preparation to add one-to-many proxying.
  • 6d76ffc Merge pull request #2 from smira/backend-concept
  • 2aad63a Add concept of a 'Backend', but still one to one proxying
  • 7cc4610 Merge pull request #1 from smira/build
  • 37f01f3 Rework build to use GitHub Actions, linting updates.
  • 0f1106e Move error checking further up (#34)
  • d5b35f6 Update gRPC and fix tests (#27)
  • 67591eb Break StreamDirector interface, fix metadata propagation for gRPC-Go>1.5. (#20)
  • 97396d9 Merge pull request #11 from mwitkow/fix-close-bug
  • 3fcbd37 fixup closing conns
  • a8f5f87 fixup tests, extend readme
  • 428fa1c Fix a channel closing bug
  • af55d61 Merge pull request #10 from mwitkow/bugfix/streaming-fix
  • de4d3db remove spurious printfs
  • 84242c4 fix the "i don't know who finished" case
  • 9b22f41 fix full duplex streaming
  • c2f7c98 update readme
  • d654141 update README
  • f457856 move to proxy subdirectory
  • 4889d78 Add fixup scripts
  • ef60a37 version 2 of the grpc-proxy, this time with fewer grpc upstream deps
  • 07aeac1 Merge pull request #2 from daniellowtw/master
  • e5c3df5 Fix compatibility with latest grpc library
  • 52be0a5 bugfix: fix gRPC Java deadlock, due to different dispatch logic
  • 822df7d Fix reference to mwitkow.
  • 28341d1 move out forward logic to method, allowing for use as grpc.Server not found handler.
  • 89e28b4 add reference to upstream grpc bug
  • 00dd588 merge upstream grpc.Server changes changing the dispatch logic
  • 77edc97 move to upstream protobuf from gogo
  • db71c3e initial commit, tested and working.

Changes from talos-systems/net

2 commits

  • b4b7181 feat: add a way to filter list of IPs for the machine
  • 0abe5bd feat: implement FilterIPs function

Changes from talos-systems/siderolink

7 commits

  • 9902ad2 feat: pass request context and node address to the events sink adapter
  • d0612a7 refactor: pass in listener to the log receiver
  • d86cdd5 feat: implement logreceiver for kernel logs
  • f7cadbc fix: handle duplicate peer updates
  • 0755b24 feat: initial implementation of SideroLink
  • ee73ea9 feat: add Talos events sink proto files and the reference implementation
  • 1e2cd9d Initial commit

Dependency Changes

  • github.com/evanphx/json-patch v4.11.0 -> v5.6.0
  • github.com/grpc-ecosystem/go-grpc-middleware v1.3.0 new
  • github.com/onsi/ginkgo v1.16.4 -> v1.16.5
  • github.com/onsi/gomega v1.16.0 -> v1.18.1
  • github.com/talos-systems/go-blockdevice v0.2.4 -> v0.2.5
  • github.com/talos-systems/go-smbios d3a32bea731a -> v0.1.1
  • github.com/talos-systems/grpc-proxy v0.2.0 new
  • github.com/talos-systems/net v0.3.0 -> v0.3.1
  • github.com/talos-systems/siderolink 9902ad2774f0 new
  • go.uber.org/zap v1.20.0 new
  • golang.org/x/net 853a461950ff -> cd36cc0744dd
  • golang.org/x/sys 39ccf1dd6fa6 -> 99c3d69c2c27
  • golang.zx2c4.com/wireguard/wgctrl daad0b7ba671 new
  • google.golang.org/grpc v1.41.0 -> v1.44.0
  • inet.af/netaddr c74959edd3b6 new
  • k8s.io/utils bdf08cb9a70a -> cb0fa318a74b
  • sigs.k8s.io/cluster-api v0.4.3 -> v1.0.4
  • sigs.k8s.io/controller-runtime v0.9.7 -> v0.10.3

Previous release can be found at v0.4.0