talos/internal/integration/cli/mounts.go
Artem Chernyshev 061b296530 feat: allow specifying user-disks in talosctl cluster create
User-disks are supported by QEMU and Firecracker providers.
Can be defined by using the following parameters:
```
--user-disk /mount/path:1GB
```

Can get more than 1 user disk.
Same set of user disks will be created for all master and worker nodes.

Additionally enable user-disks in qemu e2e test.

Signed-off-by: Artem Chernyshev <artem.0xD2@gmail.com>
2020-10-30 08:44:08 -07:00

50 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 (
"os"
"regexp"
"strings"
"github.com/talos-systems/talos/internal/integration/base"
)
// MountsSuite verifies dmesg command.
type MountsSuite struct {
base.CLISuite
}
// SuiteName ...
func (suite *MountsSuite) SuiteName() string {
return "cli.MountsSuite"
}
// TestSuccess verifies successful execution.
func (suite *MountsSuite) TestSuccess() {
suite.RunCLI([]string{"mounts", "--nodes", suite.RandomDiscoveredNode()},
base.StdoutShouldMatch(regexp.MustCompile(`(?s)FILESYSTEM.*`)))
}
// TestUserDisksMounted verifies user disk mounts created.
func (suite *MountsSuite) TestUserDisksMounted() {
paths := os.Getenv("USER_DISKS_MOUNTS")
if paths == "" {
return
}
for _, path := range strings.Split(paths, ",") {
suite.RunCLI([]string{"mounts", "--nodes", suite.RandomDiscoveredNode()},
base.StdoutShouldMatch(regexp.MustCompile(path)))
}
}
func init() {
allSuites = append(allSuites, new(MountsSuite))
}