mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-08 07:37:06 +02:00
This fixes output of `talosctl containers` to show failed/exited containers so that it's possible to see e.g. `kube-apiserver` container when it fails to start. This also enables using ID from the container list to see logs of failing containers, so it's easy to debug issues when control plane pods don't start because of wrong configuration. Also remove option to use either CRI or containerd inspector, default to containerd for system namespace and to CRI for kubernetes namespace. The only side effect is that we can't see `kubelet` container in the output of `talosctl containers -k`, but `kubelet` itself is available in `talosctl services` and `talosctl logs kubelet`. Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
// This Source Code Form is subject to the terms of the Mozilla Public
|
|
// License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
// +build integration_cli
|
|
|
|
package cli
|
|
|
|
import (
|
|
"regexp"
|
|
|
|
"github.com/talos-systems/talos/internal/integration/base"
|
|
"github.com/talos-systems/talos/pkg/machinery/config/types/v1alpha1/machine"
|
|
)
|
|
|
|
// ContainersSuite verifies dmesg command.
|
|
type ContainersSuite struct {
|
|
base.CLISuite
|
|
}
|
|
|
|
// SuiteName ...
|
|
func (suite *ContainersSuite) SuiteName() string {
|
|
return "cli.ContainersSuite"
|
|
}
|
|
|
|
// TestContainerd inspects containers via containerd driver.
|
|
func (suite *ContainersSuite) TestContainerd() {
|
|
suite.RunCLI([]string{"containers", "--nodes", suite.RandomDiscoveredNode()},
|
|
base.StdoutShouldMatch(regexp.MustCompile(`IMAGE`)),
|
|
base.StdoutShouldMatch(regexp.MustCompile(`talos/routerd`)),
|
|
)
|
|
}
|
|
|
|
// TestCRI inspects containers via CRI driver.
|
|
func (suite *ContainersSuite) TestCRI() {
|
|
suite.RunCLI([]string{"containers", "-k", "--nodes", suite.RandomDiscoveredNode(machine.TypeControlPlane)},
|
|
base.StdoutShouldMatch(regexp.MustCompile(`kube-system/kube-apiserver`)),
|
|
)
|
|
}
|
|
|
|
func init() {
|
|
allSuites = append(allSuites, new(ContainersSuite))
|
|
}
|