mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-12 09:37:05 +02:00
Move rook-ceph CSI tests as go tests. This allows us to add more CSI tests in the future. Fixes: #9135 Signed-off-by: Noel Georgi <git@frezbo.dev>
62 lines
1.5 KiB
Go
62 lines
1.5 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/.
|
|
|
|
//go:build integration_k8s
|
|
|
|
package k8s
|
|
|
|
import (
|
|
"context"
|
|
"time"
|
|
|
|
"github.com/siderolabs/talos/internal/integration/base"
|
|
)
|
|
|
|
// LongHornSuite tests deploying Longhorn.
|
|
type LongHornSuite struct {
|
|
base.K8sSuite
|
|
}
|
|
|
|
// SuiteName returns the name of the suite.
|
|
func (suite *LongHornSuite) SuiteName() string {
|
|
return "k8s.LongHornSuite"
|
|
}
|
|
|
|
// TestDeploy tests deploying Longhorn and running a simple test.
|
|
func (suite *LongHornSuite) TestDeploy() {
|
|
if suite.Cluster == nil {
|
|
suite.T().Skip("without full cluster state reaching out to the node IP is not reliable")
|
|
}
|
|
|
|
if suite.CSITestName != "longhorn" {
|
|
suite.T().Skip("skipping longhorn test as it is not enabled")
|
|
}
|
|
|
|
timeout, err := time.ParseDuration(suite.CSITestTimeout)
|
|
if err != nil {
|
|
suite.T().Fatalf("failed to parse timeout: %v", err)
|
|
}
|
|
|
|
ctx, cancel := context.WithTimeout(context.Background(), timeout)
|
|
suite.T().Cleanup(cancel)
|
|
|
|
if err := suite.HelmInstall(
|
|
ctx,
|
|
"longhorn-system",
|
|
"https://charts.longhorn.io",
|
|
LongHornHelmChartVersion,
|
|
"longhorn",
|
|
"longhorn",
|
|
nil,
|
|
); err != nil {
|
|
suite.T().Fatalf("failed to install Longhorn chart: %v", err)
|
|
}
|
|
|
|
suite.Require().NoError(suite.RunFIOTest(ctx, "longhorn", "10G"))
|
|
}
|
|
|
|
func init() {
|
|
allSuites = append(allSuites, new(LongHornSuite))
|
|
}
|