mirror of
https://github.com/status-im/consul.git
synced 2025-02-02 08:56:43 +00:00
04d4412afd
* NET-6643: upgrade test from 1.10 to 1.15 (lts) of a single cluster * license header
71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
// Copyright (c) HashiCorp, Inc.
|
|
// SPDX-License-Identifier: BUSL-1.1
|
|
|
|
package usage_profiles
|
|
|
|
import (
|
|
"testing"
|
|
"time"
|
|
|
|
"github.com/stretchr/testify/require"
|
|
|
|
"github.com/hashicorp/consul/test/integration/consul-container/libs/utils"
|
|
"github.com/hashicorp/consul/testing/deployer/sprawl"
|
|
"github.com/hashicorp/consul/testing/deployer/sprawl/sprawltest"
|
|
"github.com/hashicorp/consul/testing/deployer/topology"
|
|
)
|
|
|
|
const (
|
|
// The long term support version
|
|
ltsVersion = "1.15.7"
|
|
)
|
|
|
|
// Test_Upgrade_ServiceDiscovery_Wan_Segment test upgrade from a source version
|
|
// to a specified long term support version
|
|
// Clusters: multi-segment and multi-cluster (TODO)
|
|
// Workload: service discovery (no mesh) (TODO)
|
|
func Test_Upgrade_ServiceDiscovery_Wan_Segment(t *testing.T) {
|
|
utils.LatestVersion = "1.10.8"
|
|
utils.TargetVersion = ltsVersion
|
|
|
|
dc1, err := createTopology("dc1")
|
|
require.NoError(t, err)
|
|
t.Log("Created topology:", dc1.Name, "enterprise:", utils.IsEnterprise())
|
|
|
|
toplogyConfig := &topology.Config{
|
|
Networks: []*topology.Network{
|
|
{Name: "dc1"},
|
|
},
|
|
}
|
|
toplogyConfig.Clusters = append(toplogyConfig.Clusters, dc1)
|
|
sp := sprawltest.Launch(t, toplogyConfig)
|
|
|
|
cfg := sp.Config()
|
|
require.NoError(t, sp.Upgrade(cfg, "dc1", sprawl.UpgradeTypeStandard, utils.TargetImages(), nil))
|
|
t.Log("Finished standard upgrade ...")
|
|
|
|
time.Sleep(30 * time.Second)
|
|
}
|
|
|
|
func createTopology(name string) (*topology.Cluster, error) {
|
|
clu := &topology.Cluster{
|
|
Name: name,
|
|
Images: utils.LatestImages(),
|
|
Nodes: []*topology.Node{
|
|
{
|
|
Kind: topology.NodeKindServer,
|
|
Name: "dc1-server1",
|
|
Addresses: []*topology.Address{
|
|
{Network: "dc1"},
|
|
},
|
|
},
|
|
{
|
|
Kind: topology.NodeKindClient,
|
|
Name: "dc1-client1",
|
|
},
|
|
},
|
|
Enterprise: utils.IsEnterprise(),
|
|
}
|
|
return clu, nil
|
|
}
|