Commit 8300dd89 authored by Davanum Srinivas's avatar Davanum Srinivas

Find a server name and router id to test TestRoutes

parent 076f4da2
...@@ -75,6 +75,7 @@ go_test( ...@@ -75,6 +75,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 ( ...@@ -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,9 +39,9 @@ func TestRoutes(t *testing.T) { ...@@ -37,9 +39,9 @@ func TestRoutes(t *testing.T) {
t.Fatalf("Failed to construct/authenticate OpenStack: %s", err) t.Fatalf("Failed to construct/authenticate OpenStack: %s", err)
} }
if os.routeOpts.RouterId == "" { // Pick the first router and server to try a test with
t.Skip("router-id is empty. skipping test") os.routeOpts.RouterId = getRouters(os)[0].ID
} servername := getServers(os)[0].Name
r, ok := os.Routes() r, ok := os.Routes()
if !ok { if !ok {
...@@ -48,7 +50,7 @@ func TestRoutes(t *testing.T) { ...@@ -48,7 +50,7 @@ func TestRoutes(t *testing.T) {
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 {
...@@ -73,3 +75,39 @@ func TestRoutes(t *testing.T) { ...@@ -73,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
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment