Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[regression issue] Talos v0.8.0 handles console extraKernelArgs wrongly #3011

Closed
abckey opened this issue Dec 31, 2020 · 3 comments · Fixed by #3021
Closed

[regression issue] Talos v0.8.0 handles console extraKernelArgs wrongly #3011

abckey opened this issue Dec 31, 2020 · 3 comments · Fixed by #3021
Assignees

Comments

@abckey
Copy link

abckey commented Dec 31, 2020

Bug Report

Description

Things works in v0.7.X, but in talos v0.8.0, something is changed:

Following console args in talosconfig lead to kernel command line console=ttyS0 console=tty0 console=tty0 console=ttyS1,115200

            extraKernelArgs:
            - console=tty0
            - console=ttyS1,115200

So in the end, the appended args are not taken into use.

Logs

Environment

  • Talos version: v0.8.0
@Unix4ever
Copy link
Member

In v0.8.0 all metal images have these these two arguments defined by default:

console=ttyS0 console=tty0

So you can remove console=tty0 from extraKernelArgs now.

As of console=ttyS0... If I understand how things work it should just enable one additional serial console, not disable others.
If that breaks something on your side maybe we can figure out some way to disable default kernel arguments.

@smira
Copy link
Member

smira commented Dec 31, 2020

We need to look into that and see if extra kernel args should overwrite vs. append new values

@abckey abckey closed this as completed Jan 1, 2021
@abckey abckey reopened this Jan 1, 2021
@abckey
Copy link
Author

abckey commented Jan 1, 2021

this is quite similiar with sidero agent case: siderolabs/sidero#251
since only first serial console setting is taken into use, I would say if console settings are defined in extraKernelArgs, talos should override the default ones

@smira smira self-assigned this Jan 8, 2021
smira added a commit to smira/go-procfs that referenced this issue Jan 8, 2021
See siderolabs/talos#3011

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
smira added a commit to smira/talos that referenced this issue Jan 8, 2021
Fixes siderolabs#3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
talos-bot pushed a commit to siderolabs/go-procfs that referenced this issue Jan 8, 2021
See siderolabs/talos#3011

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
smira added a commit to smira/talos that referenced this issue Jan 8, 2021
Fixes siderolabs#3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
talos-bot pushed a commit to smira/talos that referenced this issue Jan 8, 2021
Fixes siderolabs#3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
talos-bot pushed a commit that referenced this issue Jan 8, 2021
Fixes #3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
smira added a commit to smira/talos that referenced this issue Jan 12, 2021
fix: bring up bonded interfaces correctly on packet

This probably fixes bonding in general if 2nd link in the bond is down.

For packet, set additional options for the bonded interface. In
networkd, add interfaces filtered out by link status as ignored to make
them available as bond subinterfaces.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit 5325a66)

fix: allow 'console' argument in kernel args to be always overridden

Fixes siderolabs#3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit d19486a)

fix: pick first interface valid hostname (vs. last one)

Looks like the code before change in siderolabs#1578 returned the first hostname
found while interating over interfaces and addressing methods, but siderolabs#1578
supposedly inadvertently flipped that to iterate over all interfaces (so
last interface wins).

Problem is that both `DHCP` and `Static` addressing methods provide
hostnames, while DHCP hostname comes from DHCP server, while `Static`
defines hostname as `talos-10-5-0-2` (by IP).

If we were to fix it for real, we should build a list of hostname with
priorities coming from different sources and pick a hostname with the
highest priority, so this fix is more of a bandaid rather than a real
fix.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit af5c34b)
smira added a commit to smira/talos that referenced this issue Jan 12, 2021
fix: bring up bonded interfaces correctly on packet

This probably fixes bonding in general if 2nd link in the bond is down.

For packet, set additional options for the bonded interface. In
networkd, add interfaces filtered out by link status as ignored to make
them available as bond subinterfaces.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit 5325a66)

fix: allow 'console' argument in kernel args to be always overridden

Fixes siderolabs#3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit d19486a)

fix: pick first interface valid hostname (vs. last one)

Looks like the code before change in siderolabs#1578 returned the first hostname
found while interating over interfaces and addressing methods, but siderolabs#1578
supposedly inadvertently flipped that to iterate over all interfaces (so
last interface wins).

Problem is that both `DHCP` and `Static` addressing methods provide
hostnames, while DHCP hostname comes from DHCP server, while `Static`
defines hostname as `talos-10-5-0-2` (by IP).

If we were to fix it for real, we should build a list of hostname with
priorities coming from different sources and pick a hostname with the
highest priority, so this fix is more of a bandaid rather than a real
fix.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit af5c34b)

refactor: define default kernel flags in machinery instead of procfs

That change should make Talos updates more straightforward in any
projects that depend on Talos.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
(cherry picked from commit 7b6c4bc)
talos-bot pushed a commit that referenced this issue Jan 12, 2021
fix: bring up bonded interfaces correctly on packet

This probably fixes bonding in general if 2nd link in the bond is down.

For packet, set additional options for the bonded interface. In
networkd, add interfaces filtered out by link status as ignored to make
them available as bond subinterfaces.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit 5325a66)

fix: allow 'console' argument in kernel args to be always overridden

Fixes #3011

See also siderolabs/go-procfs#8

We don't want to allow all the kernel args to be overridden, as this
might compromise KSPP, but we would rather allow some args to be
overridden explicitly.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit d19486a)

fix: pick first interface valid hostname (vs. last one)

Looks like the code before change in #1578 returned the first hostname
found while interating over interfaces and addressing methods, but #1578
supposedly inadvertently flipped that to iterate over all interfaces (so
last interface wins).

Problem is that both `DHCP` and `Static` addressing methods provide
hostnames, while DHCP hostname comes from DHCP server, while `Static`
defines hostname as `talos-10-5-0-2` (by IP).

If we were to fix it for real, we should build a list of hostname with
priorities coming from different sources and pick a hostname with the
highest priority, so this fix is more of a bandaid rather than a real
fix.

Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
(cherry picked from commit af5c34b)

refactor: define default kernel flags in machinery instead of procfs

That change should make Talos updates more straightforward in any
projects that depend on Talos.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
(cherry picked from commit 7b6c4bc)
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jun 27, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants