Skip to content
This repository was archived by the owner on Mar 22, 2018. It is now read-only.

Commit 230bd2a

Browse files
committed
Find a server name and router id to test TestRoutes
1 parent d3399b4 commit 230bd2a

2 files changed

Lines changed: 43 additions & 4 deletions

File tree

pkg/cloudprovider/providers/openstack/BUILD

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ go_test(
7575
"//pkg/cloudprovider:go_default_library",
7676
"//vendor/github.com/gophercloud/gophercloud:go_default_library",
7777
"//vendor/github.com/gophercloud/gophercloud/openstack/compute/v2/servers:go_default_library",
78+
"//vendor/github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers:go_default_library",
7879
"//vendor/k8s.io/api/core/v1:go_default_library",
7980
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
8081
"//vendor/k8s.io/apimachinery/pkg/types:go_default_library",

pkg/cloudprovider/providers/openstack/openstack_routes_test.go

Lines changed: 42 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@ import (
2020
"net"
2121
"testing"
2222

23+
"github.com/gophercloud/gophercloud/openstack/compute/v2/servers"
24+
"github.com/gophercloud/gophercloud/openstack/networking/v2/extensions/layer3/routers"
2325
"k8s.io/apimachinery/pkg/types"
2426
"k8s.io/kubernetes/pkg/cloudprovider"
2527
)
@@ -37,9 +39,9 @@ func TestRoutes(t *testing.T) {
3739
t.Fatalf("Failed to construct/authenticate OpenStack: %s", err)
3840
}
3941

40-
if os.routeOpts.RouterId == "" {
41-
t.Skip("router-id is empty. skipping test")
42-
}
42+
// Pick the first router and server to try a test with
43+
os.routeOpts.RouterId = getRouters(os)[0].ID
44+
servername := getServers(os)[0].Name
4345

4446
r, ok := os.Routes()
4547
if !ok {
@@ -48,7 +50,7 @@ func TestRoutes(t *testing.T) {
4850

4951
newroute := cloudprovider.Route{
5052
DestinationCIDR: "10.164.2.0/24",
51-
TargetNode: types.NodeName("testinstance"),
53+
TargetNode: types.NodeName(servername),
5254
}
5355
err = r.CreateRoute(clusterName, "myhint", &newroute)
5456
if err != nil {
@@ -73,3 +75,39 @@ func TestRoutes(t *testing.T) {
7375
t.Fatalf("DeleteRoute error: %v", err)
7476
}
7577
}
78+
79+
func getServers(os *OpenStack) []servers.Server {
80+
c, err := os.NewComputeV2()
81+
allPages, err := servers.List(c, servers.ListOpts{}).AllPages()
82+
if err != nil {
83+
panic(err)
84+
}
85+
allServers, err := servers.ExtractServers(allPages)
86+
if err != nil {
87+
panic(err)
88+
}
89+
if len(allServers) == 0 {
90+
panic("No servers to test with")
91+
}
92+
return allServers
93+
}
94+
95+
func getRouters(os *OpenStack) []routers.Router {
96+
listOpts := routers.ListOpts{}
97+
n, err := os.NewNetworkV2()
98+
if err != nil {
99+
panic(err)
100+
}
101+
allPages, err := routers.List(n, listOpts).AllPages()
102+
if err != nil {
103+
panic(err)
104+
}
105+
allRouters, err := routers.ExtractRouters(allPages)
106+
if err != nil {
107+
panic(err)
108+
}
109+
if len(allRouters) == 0 {
110+
panic("No routers to test with")
111+
}
112+
return allRouters
113+
}

0 commit comments

Comments
 (0)