mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-22 19:31:44 +00:00
Merge pull request #56437 from dims/fix-unit-tests-that-need-openstack
Automatic merge from submit-queue (batch tested with PRs 56446, 56437). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. Fix unit tests that need openstack **What this PR does / why we need it**: Currently the unit tests that depend that they be on running inside an openstack vm fail as no one seem to have run them for a while. **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*: ref #56437 **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
This commit is contained in:
commit
51033c4dec
@ -76,6 +76,7 @@ go_test(
|
|||||||
"//pkg/cloudprovider:go_default_library",
|
"//pkg/cloudprovider:go_default_library",
|
||||||
"//vendor/github.com/gophercloud/gophercloud:go_default_library",
|
"//vendor/github.com/gophercloud/gophercloud:go_default_library",
|
||||||
"//vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers:go_default_library",
|
"//vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers:go_default_library",
|
||||||
|
"//vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers:go_default_library",
|
||||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||||
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",
|
||||||
|
@ -20,6 +20,8 @@ import (
|
|||||||
"net"
|
"net"
|
||||||
"testing"
|
"testing"
|
||||||
|
|
||||||
|
"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
|
||||||
|
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers"
|
||||||
"k8s.io/apimachinery/pkg/types"
|
"k8s.io/apimachinery/pkg/types"
|
||||||
"k8s.io/kubernetes/pkg/cloudprovider"
|
"k8s.io/kubernetes/pkg/cloudprovider"
|
||||||
)
|
)
|
||||||
@ -37,14 +39,18 @@ func TestRoutes(t *testing.T) {
|
|||||||
t.Fatalf("Failed to construct/authenticate OpenStack: %s", err)
|
t.Fatalf("Failed to construct/authenticate OpenStack: %s", err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Pick the first router and server to try a test with
|
||||||
|
os.routeOpts.RouterId = getRouters(os)[0].ID
|
||||||
|
servername := getServers(os)[0].Name
|
||||||
|
|
||||||
r, ok := os.Routes()
|
r, ok := os.Routes()
|
||||||
if !ok {
|
if !ok {
|
||||||
t.Fatalf("Routes() returned false - perhaps your stack doens't support Neutron?")
|
t.Skip("Routes() returned false - perhaps your stack does not support Neutron extraroute extension?")
|
||||||
}
|
}
|
||||||
|
|
||||||
newroute := cloudprovider.Route{
|
newroute := cloudprovider.Route{
|
||||||
DestinationCIDR: "10.164.2.0/24",
|
DestinationCIDR: "10.164.2.0/24",
|
||||||
TargetNode: types.NodeName("testinstance"),
|
TargetNode: types.NodeName(servername),
|
||||||
}
|
}
|
||||||
err = r.CreateRoute(clusterName, "myhint", &newroute)
|
err = r.CreateRoute(clusterName, "myhint", &newroute)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@ -69,3 +75,39 @@ func TestRoutes(t *testing.T) {
|
|||||||
t.Fatalf("DeleteRoute error: %v", err)
|
t.Fatalf("DeleteRoute error: %v", err)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func getServers(os *OpenStack) []servers.Server {
|
||||||
|
c, err := os.NewComputeV2()
|
||||||
|
allPages, err := servers.List(c, servers.ListOpts{}).AllPages()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
allServers, err := servers.ExtractServers(allPages)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
if len(allServers) == 0 {
|
||||||
|
panic("No servers to test with")
|
||||||
|
}
|
||||||
|
return allServers
|
||||||
|
}
|
||||||
|
|
||||||
|
func getRouters(os *OpenStack) []routers.Router {
|
||||||
|
listOpts := routers.ListOpts{}
|
||||||
|
n, err := os.NewNetworkV2()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
allPages, err := routers.List(n, listOpts).AllPages()
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
allRouters, err := routers.ExtractRouters(allPages)
|
||||||
|
if err != nil {
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
|
if len(allRouters) == 0 {
|
||||||
|
panic("No routers to test with")
|
||||||
|
}
|
||||||
|
return allRouters
|
||||||
|
}
|
||||||
|
@ -421,6 +421,7 @@ func configFromEnv() (cfg Config, ok bool) {
|
|||||||
cfg.Global.DomainId != "" || cfg.Global.DomainName != ""))
|
cfg.Global.DomainId != "" || cfg.Global.DomainName != ""))
|
||||||
|
|
||||||
cfg.Metadata.SearchOrder = fmt.Sprintf("%s,%s", configDriveID, metadataID)
|
cfg.Metadata.SearchOrder = fmt.Sprintf("%s,%s", configDriveID, metadataID)
|
||||||
|
cfg.BlockStorage.BSVersion = "auto"
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -443,7 +444,7 @@ func TestLoadBalancer(t *testing.T) {
|
|||||||
t.Skipf("No config found in environment")
|
t.Skipf("No config found in environment")
|
||||||
}
|
}
|
||||||
|
|
||||||
versions := []string{"v1", "v2", ""}
|
versions := []string{"v2", ""}
|
||||||
|
|
||||||
for _, v := range versions {
|
for _, v := range versions {
|
||||||
t.Logf("Trying LBVersion = '%s'\n", v)
|
t.Logf("Trying LBVersion = '%s'\n", v)
|
||||||
@ -525,9 +526,8 @@ func TestVolumes(t *testing.T) {
|
|||||||
|
|
||||||
id, err := os.InstanceID()
|
id, err := os.InstanceID()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Cannot find instance id: %v", err)
|
t.Logf("Cannot find instance id: %v - perhaps you are running this test outside a VM launched by OpenStack", err)
|
||||||
}
|
} else {
|
||||||
|
|
||||||
diskId, err := os.AttachDisk(id, vol)
|
diskId, err := os.AttachDisk(id, vol)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Fatalf("Cannot AttachDisk Cinder volume %s: %v", vol, err)
|
t.Fatalf("Cannot AttachDisk Cinder volume %s: %v", vol, err)
|
||||||
@ -549,6 +549,7 @@ func TestVolumes(t *testing.T) {
|
|||||||
t.Logf("Volume (%s) detached\n", vol)
|
t.Logf("Volume (%s) detached\n", vol)
|
||||||
|
|
||||||
WaitForVolumeStatus(t, os, vol, volumeAvailableStatus)
|
WaitForVolumeStatus(t, os, vol, volumeAvailableStatus)
|
||||||
|
}
|
||||||
|
|
||||||
err = os.DeleteVolume(vol)
|
err = os.DeleteVolume(vol)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
Loading…
Reference in New Issue
Block a user