vendor updates

This commit is contained in:
Serguei Bezverkhi
2018-03-06 17:33:18 -05:00
parent 4b3ebc171b
commit e9033989a0
5854 changed files with 248382 additions and 119809 deletions

View File

@ -29,7 +29,6 @@ filegroup(
go_test(
name = "go_default_test",
srcs = ["fake_test.go"],
importpath = "k8s.io/kubernetes/pkg/util/ipvs/testing",
library = ":go_default_library",
embed = [":go_default_library"],
deps = ["//pkg/util/ipvs:go_default_library"],
)

View File

@ -18,6 +18,8 @@ package testing
import (
"fmt"
"net"
"strconv"
utilipvs "k8s.io/kubernetes/pkg/util/ipvs"
)
@ -39,6 +41,15 @@ func (s *serviceKey) String() string {
return fmt.Sprintf("%s:%d/%s", s.IP, s.Port, s.Protocol)
}
type realServerKey struct {
Address net.IP
Port uint16
}
func (r *realServerKey) String() string {
return net.JoinHostPort(r.Address.String(), strconv.Itoa(int(r.Port)))
}
//NewFake creates a fake ipvs implementation - a cache store.
func NewFake() *FakeIPVS {
return &FakeIPVS{
@ -55,6 +66,13 @@ func toServiceKey(serv *utilipvs.VirtualServer) serviceKey {
}
}
func toRealServerKey(rs *utilipvs.RealServer) *realServerKey {
return &realServerKey{
Address: rs.Address,
Port: rs.Port,
}
}
//AddVirtualServer is a fake implementation, it simply adds the VirtualServer into the cache store.
func (f *FakeIPVS) AddVirtualServer(serv *utilipvs.VirtualServer) error {
if serv == nil {
@ -159,18 +177,19 @@ func (f *FakeIPVS) DeleteRealServer(serv *utilipvs.VirtualServer, dest *utilipvs
return fmt.Errorf("Failed to delete destination for service %v, service not found", key.String())
}
dests := f.Destinations[key]
var i int
for i = range dests {
if dests[i].Equal(dest) {
exist := false
for i := range dests {
if toRealServerKey(dests[i]).String() == toRealServerKey(dest).String() {
// Delete one element
f.Destinations[key] = append(f.Destinations[key][:i], f.Destinations[key][i+1:]...)
exist = true
break
}
}
// Not Found
if i >= len(f.Destinations[key]) {
if !exist {
return fmt.Errorf("Failed to delete real server for service %v, real server not found", key.String())
}
// Delete one element
f.Destinations[key] = append(f.Destinations[key][:i], f.Destinations[key][i+1:]...)
return nil
}

View File

@ -35,12 +35,12 @@ func TestVirtualServer(t *testing.T) {
}
err := fake.AddVirtualServer(vs1)
if err != nil {
t.Errorf("Fail to add virutal server, error: %v", err)
t.Errorf("Fail to add virtual server, error: %v", err)
}
// Get a specific virtual server
got1, err := fake.GetVirtualServer(vs1)
if err != nil {
t.Errorf("Fail to get virutal server, error: %v", err)
t.Errorf("Fail to get virtual server, error: %v", err)
}
if !vs1.Equal(got1) {
t.Errorf("Expect virtual server: %v, got: %v", vs1, got1)
@ -54,12 +54,12 @@ func TestVirtualServer(t *testing.T) {
}
err = fake.UpdateVirtualServer(vs12)
if err != nil {
t.Errorf("Fail to update virutal server, error: %v", err)
t.Errorf("Fail to update virtual server, error: %v", err)
}
// Check the updated virtual server
got12, err := fake.GetVirtualServer(vs1)
if !got12.Equal(vs12) {
t.Errorf("Expect virutal server: %v, got: %v", vs12, got12)
t.Errorf("Expect virtual server: %v, got: %v", vs12, got12)
}
// Add another virtual server
vs2 := &utilipvs.VirtualServer{
@ -69,20 +69,20 @@ func TestVirtualServer(t *testing.T) {
}
err = fake.AddVirtualServer(vs2)
if err != nil {
t.Errorf("Unexpected error when add virutal server, error: %v", err)
t.Errorf("Unexpected error when add virtual server, error: %v", err)
}
// List all virtual servers
list, err := fake.GetVirtualServers()
if err != nil {
t.Errorf("Fail to list virutal servers, error: %v", err)
t.Errorf("Fail to list virtual servers, error: %v", err)
}
if len(list) != 2 {
t.Errorf("Expect 2 virutal servers, got: %d", len(list))
t.Errorf("Expect 2 virtual servers, got: %d", len(list))
}
// Delete a virtual server
err = fake.DeleteVirtualServer(vs1)
if err != nil {
t.Errorf("Fail to delete virutal server: %v, error: %v", vs1, err)
t.Errorf("Fail to delete virtual server: %v, error: %v", vs1, err)
}
// Check the deleted virtual server no longer exists
got, _ := fake.GetVirtualServer(vs1)
@ -92,15 +92,15 @@ func TestVirtualServer(t *testing.T) {
// Flush all virtual servers
err = fake.Flush()
if err != nil {
t.Errorf("Fail to flush virutal servers, error: %v", err)
t.Errorf("Fail to flush virtual servers, error: %v", err)
}
// List all virtual servers
list, err = fake.GetVirtualServers()
if err != nil {
t.Errorf("Fail to list virutal servers, error: %v", err)
t.Errorf("Fail to list virtual servers, error: %v", err)
}
if len(list) != 0 {
t.Errorf("Expect 0 virutal servers, got: %d", len(list))
t.Errorf("Expect 0 virtual servers, got: %d", len(list))
}
}
@ -113,46 +113,59 @@ func TestRealServer(t *testing.T) {
Port: uint16(80),
Protocol: string("TCP"),
}
rss := []*utilipvs.RealServer{
{net.ParseIP("172.16.2.1"), 8080, 1},
{net.ParseIP("172.16.2.2"), 8080, 2},
{net.ParseIP("172.16.2.3"), 8080, 3},
}
err := fake.AddVirtualServer(vs)
if err != nil {
t.Errorf("Fail to add virutal server, error: %v", err)
t.Errorf("Fail to add virtual server, error: %v", err)
}
// Add a real server to the virtual server
rs1 := &utilipvs.RealServer{
Address: net.ParseIP("172.16.2.1"),
// Add real server to the virtual server
for i := range rss {
if err = fake.AddRealServer(vs, rss[i]); err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
}
// Delete a real server of the virtual server
// Make sure any position of the list can be real deleted
rssLen := len(rss)
for i := range rss {
// List all real servers of the virtual server
list, err := fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
if len(list) != rssLen {
t.Errorf("Expect %d virtual servers, got: %d", len(rss), len(list))
}
rsToDel := list[i]
if err = fake.DeleteRealServer(vs, rsToDel); err != nil {
t.Errorf("Fail to delete real server of the virtual server, error: %v", err)
} else {
dests, err := fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
for _, dest := range dests {
if toRealServerKey(dest).String() == toRealServerKey(rsToDel).String() {
t.Errorf("Expect real server %q be deleted.", rsToDel.String())
}
}
if err = fake.AddRealServer(vs, rsToDel); err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
}
}
// Test delete real server that not exist
rs := &utilipvs.RealServer{
Address: net.ParseIP("172.16.2.4"),
Port: uint16(8080),
Weight: 1,
}
err = fake.AddRealServer(vs, rs1)
if err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
// Add another real server to the virtual server
rs2 := &utilipvs.RealServer{
Address: net.ParseIP("172.16.3.2"),
Port: uint16(8080),
Weight: 2,
}
err = fake.AddRealServer(vs, rs2)
if err != nil {
t.Errorf("Fail to add real server, error: %v", err)
}
// List all real servers of the virtual server
list, err := fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
if len(list) != 2 {
t.Errorf("Expect 2 virutal servers, got: %d", len(list))
}
// Delete a real server of the virtual server
err = fake.DeleteRealServer(vs, rs2)
list, err = fake.GetRealServers(vs)
if err != nil {
t.Errorf("Fail to get real servers of the virtual server, error: %v", err)
}
if len(list) != 1 {
t.Errorf("Expect 1 real server, got: %d", len(list))
if err = fake.DeleteRealServer(vs, rs); err == nil {
t.Errorf("Delete real server that not exist, Expect error, got nil")
}
// Delete the virtual server
err = fake.DeleteVirtualServer(vs)