talos icon indicating copy to clipboard operation
talos copied to clipboard

Removing machine.install.extraKernelArgs doesn't remove them

Open szinn opened this issue 3 years ago • 3 comments

Bug Report

Description

Add machine.install.extraKernelArgs section with logging specification.

Note exiting the editor indicates the change was applied, but actually you need to do a talosctl upgrade with the same installer version to actually apply the change.

Remove the machine.install.extraKernelArgs section and do the upgrade again. Expectation is that the logging entry is removed, however, logs still continue to be sent according to the previous setting

Also tried setting machine.install.extraKernelArgs to [] but same result, logging still is happening

Logs

Environment

  • Talos version: [talosctl version --nodes <problematic nodes>] Client: Tag: v1.0.4 SHA: f6696063 Built: Go version: go1.17.7 OS/Arch: darwin/arm64 Server: NODE: 10.0.40.64 Tag: v1.0.4 SHA: f6696063 Built: Go version: go1.17.7 OS/Arch: linux/amd64 Enabled: RBAC

  • Kubernetes version: [kubectl version --short] Client Version: v1.24.0 Kustomize Version: v4.5.4 Server Version: v1.23.6

  • Platform: Proxmox

szinn avatar May 09 '22 20:05 szinn

Some kernel args are special - they persist from the boot kernel arguments. Which kernel arg specifically have you tried?

If that's the case, removing them from GRUB entry on boot is also required. We should need to find a better solution here.

smira avatar May 10 '22 20:05 smira

specifically the one for logging:

machine: install: extraKernelArgs: - talos.logging.kernel=tcp://host:5044/

I think the expectation would be that at the end of the editmachineconfig and a talosctl upgrade that the grub entries would match what is in the machineconfig spec.

szinn avatar May 10 '22 20:05 szinn

it sounds like it should be like that, but there's also ISO/PXE boot environment kernel args, so things are more complicated a bit, and some kernel args are persisted from the boot environment. we need to improve this, but there's no "easy" fix now. specifying empty value for the arg should disable the feature

smira avatar May 12 '22 14:05 smira

Having the same issue

it sounds like it should be like that, but there's also ISO/PXE boot environment kernel args, so things are more complicated a bit, and some kernel args are persisted from the boot environment. we need to improve this, but there's no "easy" fix now. specifying empty value for the arg should disable the feature

What do you mean by empty value for the arg? I've tried removing extraKernelArgs entirely, setting it to [], and now: extraKernelArgs:

  • talos.logging.kernel=""

None of the above have worked

neilmfrench avatar May 25 '23 19:05 neilmfrench

there is no easy fix at the moment for it.

one way around is to press e during boot to enter GRUB, remove the arg, boot, upgrade, this should get rid of that arg.

smira avatar May 25 '23 19:05 smira