mirror of
https://github.com/siderolabs/talos.git
synced 2025-08-11 17:17:05 +02:00
This class of tests is included/excluded by build tags, but as it is pretty different from other integration tests, we build it as separate executable. Provision tests provision cluster for the test run, perform some actions and verify results (could be upgrade, reset, scale up/down, etc.) There's now framework to implement upgrade tests, first of the tests tests upgrade from latest 0.3 (0.3.2 at the moment) to current version of Talos (being built in CI). Tests starts by booting with 0.3 kernel/initramfs, runs 0.3 installer to install 0.3.2 cluster, wait for bootstrap, followed by upgrade to 0.4 in rolling fashion. As Firecracker supports bootloader, this boots 0.4 system from boot disk (as installed by installer). Signed-off-by: Andrey Smirnov <smirnov.andrey@gmail.com>
25 lines
585 B
Go
25 lines
585 B
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
|
|
|
|
package base
|
|
|
|
import "strings"
|
|
|
|
// StringList implements flag.Value for list of strings.
|
|
type StringList []string
|
|
|
|
// String implements flag.Value.
|
|
func (l *StringList) String() string {
|
|
return strings.Join(*l, ",")
|
|
}
|
|
|
|
// Set implements flag.Value.
|
|
func (l *StringList) Set(value string) error {
|
|
*l = append(*l, strings.Split(value, ",")...)
|
|
|
|
return nil
|
|
}
|