... | ... |
@@ -6,6 +6,7 @@ import ( |
6 | 6 |
"io" |
7 | 7 |
"net" |
8 | 8 |
"net/http" |
9 |
+ "os" |
|
9 | 10 |
|
10 | 11 |
"github.com/golang/glog" |
11 | 12 |
"golang.org/x/net/websocket" |
... | ... |
@@ -18,6 +19,9 @@ import ( |
18 | 18 |
// to itself) if the actual default local address cannot be determined. |
19 | 19 |
func GetDefaultLocalAddress() string { |
20 | 20 |
addr := "0.0.0.0" |
21 |
+ if a := os.Getenv("OPENSHIFT_ROUTER_SERVER_ADDRESS"); len(a) > 0 { |
|
22 |
+ return a |
|
23 |
+ } |
|
21 | 24 |
ip, err := util.DefaultLocalIP4() |
22 | 25 |
if err == nil { |
23 | 26 |
addr = ip.String() |
... | ... |
@@ -1236,7 +1236,7 @@ Jik7E2r1/yY0MrkawljOAxisXs821kJ+Z/51Ud2t5uhGxS6hJypbGspMS7OtBbw7 |
1236 | 1236 |
8oThK7cWtCXOldNF6ruqY1agWnhRdAq5qSMnuBXuicOP0Kbtx51a1ugE3SnvQenJ |
1237 | 1237 |
nZxdtYUXvEsHZC/6bAtTfNh+/SwgxQJuL2ZM+VG3X2JIKY8xTDui+il7uTh422lq |
1238 | 1238 |
wED8uwKl+bOj6xFDyw4gWoBxRobsbFaME8pkykP1+GnKDberyAM= |
1239 |
+-----END CERTIFICATE----- |
|
1239 | 1240 |
-----BEGIN RSA PRIVATE KEY----- |
1240 | 1241 |
MIICWwIBAAKBgQDNAbvvqB1dcHKYVkWzC1H7fHw+5zxvecbO1Hiz6YRWbkoSIYXQ |
1241 | 1242 |
EDKb3LBXoPgYPT1grr942ZY5pNOjC77li38I2H6Pav1fqjmVX01Rx22iDuUU1yTA |
... | ... |
@@ -1425,8 +1425,8 @@ func getRouteAddress() string { |
1425 | 1425 |
return addr |
1426 | 1426 |
} |
1427 | 1427 |
|
1428 |
-// generateTestEvents generates endpoint and route added test events. |
|
1429 |
-func generateTestEvents(t *testing.T, fakeMasterAndPod *tr.TestHttpService, flag bool, serviceName, routeName, routeAlias string, endpoints []kapi.EndpointSubset) { |
|
1428 |
+// generateEndpointEvents generates endpoint test events. |
|
1429 |
+func generateEndpointEvent(t *testing.T, fakeMasterAndPod *tr.TestHttpService, flag bool, serviceName string, endpoints []kapi.EndpointSubset) { |
|
1430 | 1430 |
endpointEvent := &watch.Event{ |
1431 | 1431 |
Type: watch.Added, |
1432 | 1432 |
|
... | ... |
@@ -1438,7 +1438,18 @@ func generateTestEvents(t *testing.T, fakeMasterAndPod *tr.TestHttpService, flag |
1438 | 1438 |
Subsets: endpoints, |
1439 | 1439 |
}, |
1440 | 1440 |
} |
1441 |
+ if flag { |
|
1442 |
+ //clean up |
|
1443 |
+ endpointEvent.Type = watch.Modified |
|
1444 |
+ endpoints := endpointEvent.Object.(*kapi.Endpoints) |
|
1445 |
+ endpoints.Subsets = []kapi.EndpointSubset{} |
|
1446 |
+ } |
|
1447 |
+ |
|
1448 |
+ sendTimeout(t, fakeMasterAndPod.EndpointChannel, eventString(endpointEvent), 30*time.Second) |
|
1449 |
+} |
|
1441 | 1450 |
|
1451 |
+// generateTestEvents generates endpoint and route added test events. |
|
1452 |
+func generateTestEvents(t *testing.T, fakeMasterAndPod *tr.TestHttpService, flag bool, serviceName, routeName, routeAlias string) { |
|
1442 | 1453 |
routeEvent := &watch.Event{ |
1443 | 1454 |
Type: watch.Added, |
1444 | 1455 |
Object: &routeapi.Route{ |
... | ... |
@@ -1460,12 +1471,8 @@ func generateTestEvents(t *testing.T, fakeMasterAndPod *tr.TestHttpService, flag |
1460 | 1460 |
if flag { |
1461 | 1461 |
//clean up |
1462 | 1462 |
routeEvent.Type = watch.Deleted |
1463 |
- endpointEvent.Type = watch.Modified |
|
1464 |
- endpoints := endpointEvent.Object.(*kapi.Endpoints) |
|
1465 |
- endpoints.Subsets = []kapi.EndpointSubset{} |
|
1466 | 1463 |
} |
1467 | 1464 |
|
1468 |
- sendTimeout(t, fakeMasterAndPod.EndpointChannel, eventString(endpointEvent), 30*time.Second) |
|
1469 | 1465 |
sendTimeout(t, fakeMasterAndPod.RouteChannel, eventString(routeEvent), 30*time.Second) |
1470 | 1466 |
} |
1471 | 1467 |
|
... | ... |
@@ -1520,12 +1527,15 @@ func TestRouterReloadCoalesce(t *testing.T) { |
1520 | 1520 |
endpoints := []kapi.EndpointSubset{httpEndpoint} |
1521 | 1521 |
numRoutes := 10 |
1522 | 1522 |
|
1523 |
+ // use the same endpoints for the entire test |
|
1524 |
+ generateEndpointEvent(t, fakeMasterAndPod, false, serviceName, endpoints) |
|
1525 |
+ |
|
1523 | 1526 |
for i := 1; i <= numRoutes; i++ { |
1524 | 1527 |
routeName := fmt.Sprintf("coalesce-route-%v", i) |
1525 | 1528 |
routeAlias = fmt.Sprintf("www.example-coalesce-%v.test", i) |
1526 | 1529 |
|
1527 | 1530 |
// Send the add events. |
1528 |
- generateTestEvents(t, fakeMasterAndPod, false, serviceName, routeName, routeAlias, endpoints) |
|
1531 |
+ generateTestEvents(t, fakeMasterAndPod, false, serviceName, routeName, routeAlias) |
|
1529 | 1532 |
} |
1530 | 1533 |
|
1531 | 1534 |
// Wait for the last routeAlias to become available. |
... | ... |
@@ -1546,7 +1556,7 @@ func TestRouterReloadCoalesce(t *testing.T) { |
1546 | 1546 |
routeAlias = fmt.Sprintf("www.example-coalesce-%v.test", i) |
1547 | 1547 |
|
1548 | 1548 |
// Send the cleanup events. |
1549 |
- generateTestEvents(t, fakeMasterAndPod, true, serviceName, routeName, routeAlias, endpoints) |
|
1549 |
+ generateTestEvents(t, fakeMasterAndPod, true, serviceName, routeName, routeAlias) |
|
1550 | 1550 |
} |
1551 | 1551 |
|
1552 | 1552 |
// Wait for the first routeAlias to become unavailable. |