Skip to content

Commit

Permalink
Merge pull request #603 from rramkumar1/whitebox-testing
Browse files Browse the repository at this point in the history
Add scaffolding for supporting additional whitebox testing
  • Loading branch information
k8s-ci-robot authored Sep 27, 2019
2 parents 7f8d0b9 + 62d3b0e commit 60afa35
Show file tree
Hide file tree
Showing 14 changed files with 247 additions and 78 deletions.
4 changes: 2 additions & 2 deletions cmd/e2e-test/basic_https_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,8 @@ func TestBasicHTTPS(t *testing.T) {
t.Fatalf("Error getting GCP resources for LB with IP = %q: %v", vip, err)
}

if err = e2e.CheckGCLB(gclb, tc.numForwardingRules, tc.numBackendServices); err != nil {
t.Error(err)
if err := e2e.PerformWhiteboxTests(s, ing, gclb); err != nil {
t.Fatalf("Error performing whitebox tests: %v", err)
}

deleteOptions := &fuzz.GCLBDeleteOptions{
Expand Down
23 changes: 4 additions & 19 deletions cmd/e2e-test/basic_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,34 +36,25 @@ func TestBasic(t *testing.T) {
for _, tc := range []struct {
desc string
ing *v1beta1.Ingress

numForwardingRules int
numBackendServices int
}{
{
desc: "http default backend",
ing: fuzz.NewIngressBuilder("", "ingress-1", "").
DefaultBackend("service-1", port80).
Build(),
numForwardingRules: 1,
numBackendServices: 1,
},
{
desc: "http one path",
ing: fuzz.NewIngressBuilder("", "ingress-1", "").
AddPath("test.com", "/", "service-1", port80).
Build(),
numForwardingRules: 1,
numBackendServices: 2,
},
{
desc: "http multiple paths",
ing: fuzz.NewIngressBuilder("", "ingress-1", "").
AddPath("test.com", "/foo", "service-1", port80).
AddPath("test.com", "/bar", "service-1", port80).
Build(),
numForwardingRules: 1,
numBackendServices: 2,
},
} {
tc := tc // Capture tc as we are running this in parallel.
Expand Down Expand Up @@ -91,7 +82,6 @@ func TestBasic(t *testing.T) {
}
t.Logf("GCLB resources createdd (%s/%s)", s.Namespace, tc.ing.Name)

// Perform whitebox testing.
if len(ing.Status.LoadBalancer.Ingress) < 1 {
t.Fatalf("Ingress does not have an IP: %+v", ing.Status)
}
Expand All @@ -103,8 +93,8 @@ func TestBasic(t *testing.T) {
t.Fatalf("Error getting GCP resources for LB with IP = %q: %v", vip, err)
}

if err = e2e.CheckGCLB(gclb, tc.numForwardingRules, tc.numBackendServices); err != nil {
t.Error(err)
if err := e2e.PerformWhiteboxTests(s, tc.ing, gclb); err != nil {
t.Fatalf("Error performing whitebox tests: %v", err)
}

deleteOptions := &fuzz.GCLBDeleteOptions{
Expand Down Expand Up @@ -176,17 +166,12 @@ func TestEdge(t *testing.T) {
for _, tc := range []struct {
desc string
ing *v1beta1.Ingress

numForwardingRules int
numBackendServices int
}{
{
desc: "long ingress name",
ing: fuzz.NewIngressBuilder("", "long-ingress-name", "").
DefaultBackend("service-1", port80).
Build(),
numForwardingRules: 1,
numBackendServices: 1,
},
} {
tc := tc // Capture tc as we are running this in parallel.
Expand Down Expand Up @@ -225,8 +210,8 @@ func TestEdge(t *testing.T) {
t.Fatalf("Error getting GCP resources for LB with IP = %q: %v", vip, err)
}

if err = e2e.CheckGCLB(gclb, tc.numForwardingRules, tc.numBackendServices); err != nil {
t.Error(err)
if err := e2e.PerformWhiteboxTests(s, tc.ing, gclb); err != nil {
t.Fatalf("Error performing whitebox tests: %v", err)
}

deleteOptions := &fuzz.GCLBDeleteOptions{
Expand Down
45 changes: 18 additions & 27 deletions cmd/e2e-test/neg_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,10 +131,11 @@ func TestNEG(t *testing.T) {
t.Fatalf("Error getting GCP resources for LB with IP = %q: %v", vip, err)
}

if err = e2e.CheckGCLB(gclb, numForwardingRules, tc.numBackendServices); err != nil {
t.Error(err)
if err := e2e.PerformWhiteboxTests(s, ing, gclb); err != nil {
t.Fatalf("Error performing whitebox tests: %v", err)
}

// TODO(mixia): The below checks should be merged into PerformWhiteboxTests().
if (len(gclb.NetworkEndpointGroup) > 0) != tc.expectNegBackend {
t.Errorf("Error: expectNegBackend = %v, %d negs found for gclb %v", tc.expectNegBackend, len(gclb.NetworkEndpointGroup), gclb)
}
Expand Down Expand Up @@ -169,37 +170,27 @@ func TestNEGTransition(t *testing.T) {
desc string
annotations *annotations.NegAnnotation
// negGC is true if a NEG should be garbage collected after applying the annotations
negGC bool
numForwardingRules int
numBackendServices int
negGC bool
}{
{
desc: "Using ingress only",
annotations: &annotations.NegAnnotation{Ingress: true},
negGC: false,
numForwardingRules: 1,
numBackendServices: 1,
desc: "Using ingress only",
annotations: &annotations.NegAnnotation{Ingress: true},
negGC: false,
},
{
desc: "Disable NEG for ingress",
annotations: &annotations.NegAnnotation{Ingress: false},
negGC: true,
numForwardingRules: 1,
numBackendServices: 1,
desc: "Disable NEG for ingress",
annotations: &annotations.NegAnnotation{Ingress: false},
negGC: true,
},
{
desc: "Re-enable NEG for ingress",
annotations: &annotations.NegAnnotation{Ingress: true},
negGC: false,
numForwardingRules: 1,
numBackendServices: 1,
desc: "Re-enable NEG for ingress",
annotations: &annotations.NegAnnotation{Ingress: true},
negGC: false,
},
{
desc: "No annotations",
annotations: nil,
negGC: true,
numForwardingRules: 1,
numBackendServices: 1,
desc: "No annotations",
annotations: nil,
negGC: true,
},
} {
t.Logf("Running test case: %s", tc.desc)
Expand Down Expand Up @@ -243,8 +234,8 @@ func TestNEGTransition(t *testing.T) {
t.Fatalf("Error getting GCP resources for LB with IP = %q: %v", vip, err)
}

if err = e2e.CheckGCLB(gclb, tc.numForwardingRules, tc.numBackendServices); err != nil {
t.Error(err)
if err := e2e.PerformWhiteboxTests(s, ing, gclb); err != nil {
t.Fatalf("Error performing whitebox tests: %v", err)
}

if tc.negGC {
Expand Down
20 changes: 5 additions & 15 deletions cmd/e2e-test/upgrade_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@ import (
"context"
"testing"

"github.com/kr/pretty"
"k8s.io/api/networking/v1beta1"
"k8s.io/apimachinery/pkg/util/intstr"
"k8s.io/ingress-gce/pkg/e2e"
Expand All @@ -36,17 +35,12 @@ func TestUpgrade(t *testing.T) {
for _, tc := range []struct {
desc string
ing *v1beta1.Ingress

numForwardingRules int
numBackendServices int
}{
{
desc: "http default backend",
ing: fuzz.NewIngressBuilder("", "ingress-1", "").
AddPath("foo.com", "/", "service-1", port80).
Build(),
numForwardingRules: 1,
numBackendServices: 2,
},
} {
tc := tc // Capture tc as we are running this in parallel.
Expand All @@ -70,7 +64,7 @@ func TestUpgrade(t *testing.T) {
ing := waitForStableIngress(true, tc.ing, s, t)
t.Logf("GCLB resources created (%s/%s)", s.Namespace, tc.ing.Name)

whiteboxTest(ing, s, tc.numForwardingRules, tc.numBackendServices, t)
whiteboxTest(ing, s, t)

for {
// While k8s master is upgrading, it will return a connection refused
Expand Down Expand Up @@ -105,7 +99,7 @@ func TestUpgrade(t *testing.T) {
// trigger an Ingress update
ing = waitForStableIngress(true, ing, s, t)
t.Logf("GCLB is stable (%s/%s)", s.Namespace, tc.ing.Name)
whiteboxTest(ing, s, tc.numForwardingRules, tc.numBackendServices, t)
whiteboxTest(ing, s, t)

// If the Master has upgraded and the Ingress is stable,
// we delete the Ingress and exit out of the loop to indicate that
Expand Down Expand Up @@ -141,7 +135,7 @@ func waitForStableIngress(expectUnreachable bool, ing *v1beta1.Ingress, s *e2e.S
return ing
}

func whiteboxTest(ing *v1beta1.Ingress, s *e2e.Sandbox, numForwardingRules, numBackendServices int, t *testing.T) {
func whiteboxTest(ing *v1beta1.Ingress, s *e2e.Sandbox, t *testing.T) {
if len(ing.Status.LoadBalancer.Ingress) < 1 {
t.Fatalf("Ingress does not have an IP: %+v", ing.Status)
}
Expand All @@ -153,11 +147,7 @@ func whiteboxTest(ing *v1beta1.Ingress, s *e2e.Sandbox, numForwardingRules, numB
t.Fatalf("Error getting GCP resources for LB with IP = %q: %v", vip, err)
}

// Do some cursory checks on the GCP objects.
if len(gclb.ForwardingRule) != numForwardingRules {
t.Errorf("got %d fowarding rules, want %d;\n%s", len(gclb.ForwardingRule), numForwardingRules, pretty.Sprint(gclb.ForwardingRule))
}
if len(gclb.BackendService) != numBackendServices {
t.Errorf("got %d backend services, want %d;\n%s", len(gclb.BackendService), numBackendServices, pretty.Sprint(gclb.BackendService))
if err := e2e.PerformWhiteboxTests(s, ing, gclb); err != nil {
t.Fatalf("Error performing whitebox tests: %v", err)
}
}
7 changes: 6 additions & 1 deletion cmd/fuzzer/app/validate.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import (
"k8s.io/ingress-gce/pkg/e2e"
"k8s.io/ingress-gce/pkg/fuzz"
"k8s.io/ingress-gce/pkg/fuzz/features"
"k8s.io/ingress-gce/pkg/fuzz/whitebox"

// Pull in the auth library for GCP.
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
Expand Down Expand Up @@ -133,7 +134,7 @@ func Validate() {

fmt.Printf("Ingress =\n%s\n\n", pretty.Sprint(*ing))

iv, err := fuzz.NewIngressValidator(env, ing, fs, nil)
iv, err := fuzz.NewIngressValidator(env, ing, fs, whitebox.AllTests, nil)
if err != nil {
panic(err)
}
Expand All @@ -151,6 +152,10 @@ func Validate() {
panic(err)
}
fmt.Printf("GCP resources = \n%s\n", pretty.Sprint(gclb))

if err := iv.PerformWhiteboxTests(gclb); err != nil {
panic(err)
}
}

func homeDir() string {
Expand Down
2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@ require (
github.com/json-iterator/go v1.1.6 // indirect
github.com/kr/pretty v0.1.0
github.com/mailru/easyjson v0.0.0-20190403194419-1ea4449da983 // indirect
github.com/mdempsky/maligned v0.0.0-20180708014732-6e39bd26a8c8 // indirect
github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829
github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90 // indirect
github.com/prometheus/common v0.3.0 // indirect
github.com/prometheus/procfs v0.0.0-20190416084830-8368d24ba045 // indirect
github.com/spf13/pflag v1.0.3
github.com/tsenart/deadcode v0.0.0-20160724212837-210d2dc333e9 // indirect
golang.org/x/crypto v0.0.0-20190422183909-d864b10871cd // indirect
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4 // indirect
Expand Down
8 changes: 8 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX
github.com/Azure/go-autorest v11.1.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/Azure/go-autorest v11.1.2+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24=
github.com/BurntSushi/toml v0.3.0/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
github.com/GoogleCloudPlatform/k8s-cloud-provider v0.0.0-20181220005116-f8e995905100 h1:EXrpgbxknFeRM6X/OgRqcbVtl5zqUFD5eV8O8M1BLzo=
Expand Down Expand Up @@ -200,6 +201,7 @@ github.com/kardianos/osext v0.0.0-20150410034420-8fef92e41e22/go.mod h1:1NbS8ALr
github.com/karrick/godirwalk v1.7.5/go.mod h1:2c9FRhkDxdIbgkOnCEvnSWs71Bhugbl46shStcFDJ34=
github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q=
github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0 h1:AV2c/EiW3KqPNT9ZKl07ehoAGi4C5/01Cfbblndcapg=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.0.0-20131111012553-2788f0dbd169/go.mod h1:glhvuHOU9Hy7/8PwwdtnarXqLagOX0b/TbZx2zLMqEg=
Expand All @@ -221,6 +223,8 @@ github.com/marstr/guid v0.0.0-20170427235115-8bdf7d1a087c/go.mod h1:74gB1z2wpxxI
github.com/mattn/go-shellwords v0.0.0-20180605041737-f8471b0a71de/go.mod h1:3xCvwCdWdlDJUrvuMn7Wuy9eWs4pE8vqg+NOMyg4B2o=
github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU=
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
github.com/mdempsky/maligned v0.0.0-20180708014732-6e39bd26a8c8 h1:zvpKif6gkrh82wAd2JIffdLyCL52N8r+ABwHxdIOvWM=
github.com/mdempsky/maligned v0.0.0-20180708014732-6e39bd26a8c8/go.mod h1:oGVD62YTpMEWw0JqJ2Vl48dzHywJBMlapkfsmhtokOU=
github.com/mesos/mesos-go v0.0.9/go.mod h1:kPYCMQ9gsOXVAle1OsoY4I1+9kPu8GHkf88aV59fDr4=
github.com/mholt/caddy v0.0.0-20180213163048-2de495001514/go.mod h1:Wb1PlT4DAYSqOEd03MsqkdkXnTxA8v9pKjdpxbqM1kY=
github.com/miekg/dns v0.0.0-20160614162101-5d001d020961/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
Expand Down Expand Up @@ -308,6 +312,8 @@ github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXf
github.com/syndtr/gocapability v0.0.0-20160928074757-e7cb7fa329f4/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww=
github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE=
github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
github.com/tsenart/deadcode v0.0.0-20160724212837-210d2dc333e9 h1:vY5WqiEon0ZSTGM3ayVVi+twaHKHDFUVloaQ/wug9/c=
github.com/tsenart/deadcode v0.0.0-20160724212837-210d2dc333e9/go.mod h1:q+QjxYvZ+fpjMXqs+XEriussHjSYqeXVnAdSV1tkMYk=
github.com/ugorji/go v0.0.0-20171019201919-bdcc60b419d1/go.mod h1:hnLbHMwcvSihnDhEfx2/BzKp2xb0Y+ErdfYcrs9tkJQ=
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
github.com/vishvananda/netlink v0.0.0-20171020171820-b2de5d10e38e/go.mod h1:+SR5DhBJrl6ZM7CoCKvpw5BKroDKQ+PJqOg65H/2ktk=
Expand Down Expand Up @@ -368,6 +374,7 @@ golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c h1:97SnQk1GYRXJgvwZ8fadnxDOWfKvkNQHH3CtZntPSrM=
golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0=
gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw=
Expand Down Expand Up @@ -420,6 +427,7 @@ gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81
honnef.co/go/tools v0.0.0-20180728063816-88497007e858/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a h1:LJwr7TCTghdatWv40WobzlKXc9c4s8oGa7QKJUtHhWA=
honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
istio.io/api v0.0.0-20190809125725-591cf32c1d0e h1:96ps7g+JjoJ0Wh/VzIdfds+ZDt8pFYhX7gHyKX5Tswk=
istio.io/api v0.0.0-20190809125725-591cf32c1d0e/go.mod h1:42cBjnu/rTJcCaKi8nLdIvq0n71RcLrkgZ9IQSvDdSQ=
Expand Down
19 changes: 15 additions & 4 deletions pkg/e2e/helpers.go
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,12 @@ import (
"time"

"encoding/json"
"io/ioutil"
"net/http"
"strings"

"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud"
"github.com/GoogleCloudPlatform/k8s-cloud-provider/pkg/cloud/meta"
"io/ioutil"
apps "k8s.io/api/apps/v1"
v1 "k8s.io/api/core/v1"
"k8s.io/api/networking/v1beta1"
Expand All @@ -37,10 +40,9 @@ import (
"k8s.io/ingress-gce/pkg/annotations"
"k8s.io/ingress-gce/pkg/fuzz"
"k8s.io/ingress-gce/pkg/fuzz/features"
"k8s.io/ingress-gce/pkg/fuzz/whitebox"
"k8s.io/ingress-gce/pkg/utils"
"k8s.io/klog"
"net/http"
"strings"
)

const (
Expand Down Expand Up @@ -99,7 +101,7 @@ func WaitForIngress(s *Sandbox, ing *v1beta1.Ingress, options *WaitForIngressOpt
if err != nil {
return true, err
}
validator, err := fuzz.NewIngressValidator(s.ValidatorEnv, ing, features.All, nil)
validator, err := fuzz.NewIngressValidator(s.ValidatorEnv, ing, features.All, []fuzz.WhiteboxTest{}, nil)
if err != nil {
return true, err
}
Expand Down Expand Up @@ -136,6 +138,15 @@ func WaitForFinalizer(s *Sandbox, ingName string) error {
})
}

// PerformWhiteboxTests runs the whitebox tests against the Ingress.
func PerformWhiteboxTests(s *Sandbox, ing *v1beta1.Ingress, gclb *fuzz.GCLB) error {
validator, err := fuzz.NewIngressValidator(s.ValidatorEnv, ing, []fuzz.Feature{}, whitebox.AllTests, nil)
if err != nil {
return err
}
return validator.PerformWhiteboxTests(gclb)
}

// WaitForIngressDeletion deletes the given ingress and waits for the
// resources associated with it to be deleted.
func WaitForIngressDeletion(ctx context.Context, g *fuzz.GCLB, s *Sandbox, ing *v1beta1.Ingress, options *fuzz.GCLBDeleteOptions) error {
Expand Down
Loading

0 comments on commit 60afa35

Please sign in to comment.