mirror of
				https://github.com/siderolabs/talos.git
				synced 2025-10-31 00:11:36 +01:00 
			
		
		
		
	There's a cyclic dependency on siderolink library which imports talos machinery back. We will fix that after we get talos pushed under a new name. Signed-off-by: Andrey Smirnov <andrey.smirnov@talos-systems.com>
		
			
				
	
	
		
			64 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			2.1 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"
 | |
| 	"fmt"
 | |
| 
 | |
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
 | |
| 
 | |
| 	"github.com/siderolabs/talos/internal/integration/base"
 | |
| 	"github.com/siderolabs/talos/pkg/machinery/constants"
 | |
| )
 | |
| 
 | |
| // VersionSuite verifies Talos version.
 | |
| type VersionSuite struct {
 | |
| 	base.K8sSuite
 | |
| }
 | |
| 
 | |
| // SuiteName ...
 | |
| func (suite *VersionSuite) SuiteName() string {
 | |
| 	return "k8s.VersionSuite"
 | |
| }
 | |
| 
 | |
| // TestExpectedVersion verifies that node versions matches expected.
 | |
| func (suite *VersionSuite) TestExpectedVersion() {
 | |
| 	// verify k8s version (api server)
 | |
| 	apiServerVersion, err := suite.DiscoveryClient.ServerVersion()
 | |
| 	suite.Require().NoError(err)
 | |
| 
 | |
| 	expectedAPIServerVersion := fmt.Sprintf("v%s", constants.DefaultKubernetesVersion)
 | |
| 	suite.Assert().Equal(expectedAPIServerVersion, apiServerVersion.GitVersion)
 | |
| 
 | |
| 	checkKernelVersion := suite.Capabilities().RunsTalosKernel
 | |
| 
 | |
| 	// verify each node (kubelet version, Talos version, etc.)
 | |
| 	nodes, err := suite.Clientset.CoreV1().Nodes().List(context.TODO(), metav1.ListOptions{})
 | |
| 	suite.Require().NoError(err)
 | |
| 
 | |
| 	expectedTalosVersion := fmt.Sprintf("Talos (%s)", suite.Version)
 | |
| 	expectedContainerRuntimeVersion := fmt.Sprintf("containerd://%s", constants.DefaultContainerdVersion)
 | |
| 	expectedKubeletVersion := fmt.Sprintf("v%s", constants.DefaultKubernetesVersion)
 | |
| 	expectedKernelVersion := constants.DefaultKernelVersion
 | |
| 
 | |
| 	for _, node := range nodes.Items {
 | |
| 		suite.Assert().Equal(expectedTalosVersion, node.Status.NodeInfo.OSImage)
 | |
| 		suite.Assert().Equal("linux", node.Status.NodeInfo.OperatingSystem)
 | |
| 		suite.Assert().Equal(expectedContainerRuntimeVersion, node.Status.NodeInfo.ContainerRuntimeVersion)
 | |
| 		suite.Assert().Equal(expectedKubeletVersion, node.Status.NodeInfo.KubeletVersion)
 | |
| 
 | |
| 		if checkKernelVersion {
 | |
| 			suite.Assert().Equal(expectedKernelVersion, node.Status.NodeInfo.KernelVersion)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func init() {
 | |
| 	allSuites = append(allSuites, new(VersionSuite))
 | |
| }
 |