Skip to content

Commit

Permalink
fix ingress function (#7)
Browse files Browse the repository at this point in the history
* fix ingress function
* add 1.0.2 changelog
  • Loading branch information
tiancandevloper authored May 26, 2023
1 parent 2fe5f08 commit 0fdcf9d
Show file tree
Hide file tree
Showing 19 changed files with 109 additions and 107 deletions.
17 changes: 17 additions & 0 deletions doc/changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
# V1.0.2

2023-05-26

## Bugfix
- Fix ingress function[#7](https://github.com/kubecube-io/kubecube-e2e/pull/7)

## Dependencies


- kubecube 1.8.0
- ginkgo 1.16.5
- gomega 1.19.0
- k8s 1.20.6
- viper 1.11.0


# V1.0.1

2023-05-25
Expand Down
2 changes: 1 addition & 1 deletion e2e/cluster/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ func listCluster(user string) framework.TestResp {
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
framework.ExpectNoError(err)
clog.Debug("get cluster list resp, data: %s", string(body))
clog.Info("get cluster list resp, data: %s", string(body))
var clusterResMap map[string]interface{}
err = json.Unmarshal(body, &clusterResMap)
framework.ExpectNoError(err)
Expand Down
4 changes: 2 additions & 2 deletions e2e/config/secret/dockerConfigJsonSecret_check.go.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func createDockerConfigJsonSecret(user string) framework.TestResp {
defer respOfCreateSecret.Body.Close()
body, err := io.ReadAll(respOfCreateSecret.Body)
framework.ExpectNoError(err)
clog.Debug("create secret resp %+v", string(body))
clog.Info("create secret resp %+v", string(body))

if !framework.IsSuccess(respOfCreateSecret.StatusCode) {
clog.Warn("res code %d", respOfCreateSecret.StatusCode)
Expand All @@ -65,7 +65,7 @@ func createPod(user string) framework.TestResp {
defer respOfCreatePodWithSecret.Body.Close()
body, err := io.ReadAll(respOfCreatePodWithSecret.Body)
framework.ExpectNoError(err)
clog.Debug("create pod resp %+v", string(body))
clog.Info("create pod resp %+v", string(body))

if !framework.IsSuccess(respOfCreatePodWithSecret.StatusCode) {
clog.Warn("res code %d", respOfCreatePodWithSecret.StatusCode)
Expand Down
2 changes: 1 addition & 1 deletion e2e/crd/crd_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ func createCRD(user string) framework.TestResp {
body, err := io.ReadAll(respOfCreateCRD.Body)
framework.ExpectNoError(err)

if !framework.IsSuccess(respOfCreateCRD.StatusCode) {
if !framework.IsSuccess(respOfCreateCRD.StatusCode) && http.StatusConflict != respOfCreateCRD.StatusCode {
clog.Warn("res code %d, res data: %s", respOfCreateCRD.StatusCode, string(body))
return framework.NewTestResp(errors.New("fail to create crd"), respOfCreateCRD.StatusCode)
}
Expand Down
10 changes: 5 additions & 5 deletions e2e/e2e.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,13 +67,13 @@ func InitAll() error {
// Read config and init global v
err := framework.InitGlobalV()
if err != nil {
clog.Debug(err.Error())
clog.Info(err.Error())
return err
}

err = framework.InitMultiConfig()
if err != nil {
clog.Debug(err.Error())
clog.Info(err.Error())
return err
}
utilruntime.Must(clientgoscheme.AddToScheme(scheme))
Expand Down Expand Up @@ -149,7 +149,7 @@ func deleteUserInKubecube(ctx context.Context, cli client.Client, namespace stri
clog.Info("[clusterRoleBinding] delete clusterRoleBinding %v", clusterRoleBinding.Name)
err := cli.Delete(ctx, &clusterRoleBinding)
if err != nil && !kerrors.IsNotFound(err) {
clog.Debug("delete clusterRoleBinding fail, %v", err)
clog.Info("delete clusterRoleBinding fail, %v", err)
return err
}

Expand All @@ -160,7 +160,7 @@ func deleteUserInKubecube(ctx context.Context, cli client.Client, namespace stri
clog.Info("[roleBinding] delete roleBinding %v, namespace %v", roleBinding.Name, roleBinding.Namespace)
err = cli.Delete(ctx, &roleBinding)
if err != nil && !kerrors.IsNotFound(err) {
clog.Debug("delete roleBinding fail, %v", err)
clog.Info("delete roleBinding fail, %v", err)
return err
}

Expand All @@ -169,7 +169,7 @@ func deleteUserInKubecube(ctx context.Context, cli client.Client, namespace stri
user.Name = username
err = cli.Delete(ctx, &user)
if err != nil && !kerrors.IsNotFound(err) {
clog.Debug("delete user fail, %v", err)
clog.Info("delete user fail, %v", err)
return err
}
return nil
Expand Down
4 changes: 2 additions & 2 deletions e2e/framework/func.go
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ func NewTestRespWithErr(err error) TestResp {

func DefaultErrorFunc(resp TestResp) {
if resp.Err != nil {
clog.Debug(resp.Err.Error())
clog.Info(resp.Err.Error())
}
ExpectError(resp.Err, "should be error")
}
Expand All @@ -62,7 +62,7 @@ func DefaultSkipFunc() bool {
}

func PermissionErrorFunc(resp TestResp) {
clog.Debug("res code %v", resp)
clog.Info("res code %v", resp)
ExpectEqual(resp.Data, 403)
}

Expand Down
6 changes: 3 additions & 3 deletions e2e/framework/multiregister.go
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ func generateSingleUserTestExample(test MultiUserTest, errorFunc func(resp TestR
if len(step.Description) > 0 {
ginkgo.By(step.Description)
}
clog.Debug("running init step as %s \n", getUser)
clog.Info("running init step as %s \n", getUser)
step.StepFunc(getUser)
})
}
Expand All @@ -169,7 +169,7 @@ func generateSingleUserTestExample(test MultiUserTest, errorFunc func(resp TestR

testFunc := step.StepFunc

clog.Debug("running %s step %s as %s", test.TestName, step.Name, getUser)
clog.Info("running %s step %s as %s", test.TestName, step.Name, getUser)
resp := testFunc(getUser)
if !userTestFromConfig.ContinueIfError && resp.Err != nil {
flag = true
Expand All @@ -191,7 +191,7 @@ func generateSingleUserTestExample(test MultiUserTest, errorFunc func(resp TestR
if len(step.Description) > 0 {
ginkgo.By(step.Description)
}
clog.Debug("running final step as %s \n", getUser)
clog.Info("running final step as %s \n", getUser)
step.StepFunc(getUser)
})
}
Expand Down
31 changes: 10 additions & 21 deletions e2e/ingress/ingress_function_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -42,17 +42,6 @@ func createDeployAndSvc2(user string) framework.TestResp {
deploy1NameWithUser = framework.NameWithUser(deploy1Name, user)
svc1NameWithUser = framework.NameWithUser(svc1Name, user)
ingress2NameWithUser = framework.NameWithUser(ingress2Name, user)
err := wait.Poll(waitInterval, waitTimeout,
func() (bool, error) {
var namespace corev1.Namespace
errInfo := cli.Get(ctx, types.NamespacedName{Name: framework.NamespaceName}, &namespace)
if errInfo == nil {
return true, nil
} else {
return false, nil
}
})
framework.ExpectNoError(err)

cpu := resource.MustParse("100m")
memory := resource.MustParse("100Mi")
Expand Down Expand Up @@ -92,7 +81,7 @@ func createDeployAndSvc2(user string) framework.TestResp {
},
},
}
err = cli.Create(ctx, deploy1)
err := framework.TargetClusterClient.Direct().Create(ctx, deploy1)
framework.ExpectNoError(err)

svc1 = &corev1.Service{
Expand All @@ -111,20 +100,20 @@ func createDeployAndSvc2(user string) framework.TestResp {
},
},
}
err = cli.Create(ctx, svc1)
err = framework.TargetClusterClient.Direct().Create(ctx, svc1)
framework.ExpectNoError(err)
return framework.SucceedResp
}

func deleteDeployAndSvc2(user string) framework.TestResp {
framework.ExpectNoError(cli.Delete(ctx, deploy1))
framework.ExpectNoError(cli.Delete(ctx, svc1))
framework.ExpectNoError(framework.TargetClusterClient.Direct().Delete(ctx, deploy1))
framework.ExpectNoError(framework.TargetClusterClient.Direct().Delete(ctx, svc1))

return framework.SucceedResp
}

func createIngress2(user string) framework.TestResp {
url := "/api/v1/cube/proxy/clusters/" + framework.PivotClusterName + "/apis/networking.k8s.io/v1/namespaces/" + framework.NamespaceName + "/ingresses"
url := "/api/v1/cube/proxy/clusters/" + framework.TargetClusterName + "/apis/networking.k8s.io/v1/namespaces/" + framework.NamespaceName + "/ingresses"
postJson := fmt.Sprintf("{\"apiVersion\":\"networking.k8s.io/v1\",\"kind\":\"Ingress\",\"metadata\":{\"name\":\"%s\",\"annotations\":{\"nginx.ingress.kubernetes.io/load-balance\":\"round_robin\"},\"labels\":{}},\"spec\":{\"rules\":[{\"host\":\"%s\",\"http\":{\"paths\":[{\"pathType\":\"ImplementationSpecific\",\"path\":\"/%s\",\"backend\":{\"service\":{\"name\":\"%s\",\"port\":{\"number\":80}}}}]}}],\"tls\":[]}}",
ingress2NameWithUser, ingressAddr, user, svc1NameWithUser)
resp, err := httpHelper.RequestByUser(http.MethodPost, framework.KubecubeHost+url, postJson, user, nil)
Expand All @@ -140,7 +129,7 @@ func createIngress2(user string) framework.TestResp {
ingress2 = &v1beta1.Ingress{}
err = wait.Poll(waitInterval, waitTimeout,
func() (bool, error) {
err = framework.PivotConvertClient.Get(ctx, types.NamespacedName{Name: ingress2NameWithUser, Namespace: framework.NamespaceName}, ingress2)
err = framework.TargetConvertClient.Get(ctx, types.NamespacedName{Name: ingress2NameWithUser, Namespace: framework.NamespaceName}, ingress2)
framework.ExpectNoError(err)
if ingress2.Name == ingress2NameWithUser {
return true, nil
Expand Down Expand Up @@ -186,7 +175,7 @@ func accessIngress(user string) framework.TestResp {
}

func updateIngress2(user string) framework.TestResp {
url := "/api/v1/cube/proxy/clusters/" + framework.PivotClusterName + "/apis/networking.k8s.io/v1/namespaces/" + framework.NamespaceName + "/ingresses/" + ingress2NameWithUser
url := "/api/v1/cube/proxy/clusters/" + framework.TargetClusterName + "/apis/networking.k8s.io/v1/namespaces/" + framework.NamespaceName + "/ingresses/" + ingress2NameWithUser
err := wait.Poll(waitInterval, waitTimeout,
func() (bool, error) {
err := framework.TargetConvertClient.Get(ctx, types.NamespacedName{Name: ingress2NameWithUser, Namespace: framework.NamespaceName}, ingress2)
Expand All @@ -204,7 +193,7 @@ func updateIngress2(user string) framework.TestResp {
framework.ExpectNoError(err)
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
clog.Debug("get ingress cookie response: %s", string(body))
clog.Info("get ingress cookie response: %s", string(body))
framework.ExpectNoError(err)

if !framework.IsSuccess(resp.StatusCode) {
Expand All @@ -215,7 +204,7 @@ func updateIngress2(user string) framework.TestResp {
framework.ExpectEqual(resp.StatusCode, http.StatusOK)
err = wait.Poll(waitInterval, waitTimeout,
func() (bool, error) {
err = framework.PivotConvertClient.Get(ctx, types.NamespacedName{Name: ingress2NameWithUser, Namespace: framework.NamespaceName}, ingress2)
err = framework.TargetConvertClient.Get(ctx, types.NamespacedName{Name: ingress2NameWithUser, Namespace: framework.NamespaceName}, ingress2)
framework.ExpectNoError(err)
if ingress2.Annotations["nginx.ingress.kubernetes.io/affinity"] == "cookie" {
return true, nil
Expand Down Expand Up @@ -253,7 +242,7 @@ func accessIngress2(user string) framework.TestResp {
}

func deleteIngress2(user string) framework.TestResp {
framework.ExpectNoError(framework.PivotConvertClient.Delete(ctx, ingress2))
framework.ExpectNoError(framework.TargetConvertClient.Delete(ctx, ingress2))
return framework.SucceedResp
}

Expand Down
6 changes: 1 addition & 5 deletions e2e/ingress/vars.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,10 @@ import (
"context"
"time"

"github.com/kubecube-io/kubecube-e2e/e2e/framework"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
"k8s.io/api/extensions/v1beta1"
"sigs.k8s.io/controller-runtime/pkg/client"

"github.com/kubecube-io/kubecube-e2e/e2e/framework"
)

var (
Expand All @@ -50,14 +48,12 @@ var (

waitInterval time.Duration
waitTimeout time.Duration
cli client.Client
)

func initParam() {
httpHelper = framework.NewSingleHttpHelper()
waitInterval = framework.WaitInterval
waitTimeout = framework.WaitTimeout
cli = framework.PivotClusterClient.Direct()
}

func init() {
Expand Down
2 changes: 1 addition & 1 deletion e2e/node/node.go
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ func listNode(user string) framework.TestResp {
defer resp.Body.Close()
body, err := io.ReadAll(resp.Body)
framework.ExpectNoError(err)
clog.Debug("get node list resp, data: %s", string(body))
clog.Info("get node list resp, data: %s", string(body))
var nodeResMap map[string]interface{}
err = json.Unmarshal(body, &nodeResMap)
framework.ExpectNoError(err)
Expand Down
2 changes: 1 addition & 1 deletion e2e/service/service_crud_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ func listService(user string) framework.TestResp {
framework.ExpectEqual(resp.StatusCode, http.StatusOK)
body, err := io.ReadAll(resp.Body)
framework.ExpectNoError(err)
clog.Debug("svc list %s", string(body))
clog.Info("svc list %s", string(body))
var result map[string]interface{}
err = json.Unmarshal(body, &result)
framework.ExpectNoError(err)
Expand Down
2 changes: 1 addition & 1 deletion e2e/service/service_nodeport_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ func checkExternalAccess(user string) framework.TestResp {

var result []string
body, err := io.ReadAll(resp.Body)
clog.Debug("externalAccessAddress %s", string(body))
clog.Info("externalAccessAddress %s", string(body))
err = json.Unmarshal(body, &result)
framework.ExpectNoError(err)
var ip string
Expand Down
16 changes: 8 additions & 8 deletions e2e/storageclass/pvc_check.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ func createPVC1(user string) framework.TestResp {
defer respOfCreatePVC.Body.Close()
body, err := io.ReadAll(respOfCreatePVC.Body)
framework.ExpectNoError(err)
clog.Debug("get pvc1: %+v", string(body))
clog.Info("get pvc1: %+v", string(body))

if !framework.IsSuccess(respOfCreatePVC.StatusCode) {
clog.Warn("res code %d", respOfCreatePVC.StatusCode)
Expand All @@ -97,7 +97,7 @@ func createPVC2(user string) framework.TestResp {
defer respOfCreatePVC.Body.Close()
body, err := io.ReadAll(respOfCreatePVC.Body)
framework.ExpectNoError(err)
clog.Debug("get pvc2: %+v", string(body))
clog.Info("get pvc2: %+v", string(body))

if !framework.IsSuccess(respOfCreatePVC.StatusCode) {
clog.Warn("res code %d", respOfCreatePVC.StatusCode)
Expand All @@ -123,7 +123,7 @@ func createPod(user string) framework.TestResp {
defer respOfCreatePod.Body.Close()
body, err := io.ReadAll(respOfCreatePod.Body)
framework.ExpectNoError(err)
clog.Debug("get pod task-pv-pod: %+v", string(body))
clog.Info("get pod task-pv-pod: %+v", string(body))

if !framework.IsSuccess(respOfCreatePod.StatusCode) {
clog.Warn("res code %d", respOfCreatePod.StatusCode)
Expand Down Expand Up @@ -166,7 +166,7 @@ func deletePod(user string) framework.TestResp {
defer respOfDeletePod.Body.Close()
body, err := io.ReadAll(respOfDeletePod.Body)
framework.ExpectNoError(err)
clog.Debug("delete pod: %+v", string(body))
clog.Info("delete pod: %+v", string(body))

if !framework.IsSuccess(respOfDeletePod.StatusCode) {
clog.Warn("res code %d", respOfDeletePod.StatusCode)
Expand All @@ -190,7 +190,7 @@ func deletePvc(user string) framework.TestResp {
respOfDeletePVC, err := httpHelper.RequestByUser(http.MethodDelete, urlOfDeletePVC, "", user, nil)
defer respOfDeletePVC.Body.Close()
body, err := io.ReadAll(respOfDeletePVC.Body)
clog.Debug("delete pvc1: %+v", string(body))
clog.Info("delete pvc1: %+v", string(body))

if !framework.IsSuccess(respOfDeletePVC.StatusCode) {
clog.Warn("res code %d", respOfDeletePVC.StatusCode)
Expand All @@ -203,7 +203,7 @@ func deletePvc(user string) framework.TestResp {
defer respOfDeletePVC.Body.Close()
body, err = io.ReadAll(respOfDeletePVC.Body)
framework.ExpectNoError(err)
clog.Debug("delete pvc2: %+v", string(body))
clog.Info("delete pvc2: %+v", string(body))

if !framework.IsSuccess(respOfDeletePVC.StatusCode) {
clog.Warn("res code %d", respOfDeletePVC.StatusCode)
Expand Down Expand Up @@ -232,11 +232,11 @@ func deletePvc(user string) framework.TestResp {
func deletePv(user string) framework.TestResp {
urlOfDeletePV := "%s/api/v1/cube/proxy/clusters/%s/api/v1/namespaces/%s/persistentvolume/%s"
urlOfDeletePV = fmt.Sprintf(urlOfDeletePV, framework.KubecubeHost, clusterName, namespace, PV)
clog.Debug("delete pv %s", PV)
clog.Info("delete pv %s", PV)
respOfDeletePV, err := httpHelper.RequestByUser(http.MethodDelete, urlOfDeletePV, "", user, nil)
defer respOfDeletePV.Body.Close()
body, err := io.ReadAll(respOfDeletePV.Body)
clog.Debug("delete pv %s", string(body))
clog.Info("delete pv %s", string(body))
framework.ExpectNoError(err)

time.Sleep(time.Second * 10)
Expand Down
Loading

0 comments on commit 0fdcf9d

Please sign in to comment.