Skip to content

Commit

Permalink
Merge pull request #970 from spidernet-io/fix-876
Browse files Browse the repository at this point in the history
Fix update egress gateway
  • Loading branch information
weizhoublue authored Nov 16, 2023
2 parents bbe1fc4 + 0a26584 commit 11c26f6
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
5 changes: 5 additions & 0 deletions pkg/egressgateway/egress_gateway_webhook.go
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,11 @@ func (egw *EgressGatewayWebhook) EgressGatewayValidate(ctx context.Context, req
// Check whether the IP address to be deleted has been allocated
for _, item := range eg.Status.NodeList {
for _, eip := range item.Eips {
// skip the cases of using useNodeIP
if eip.IPv4 == "" && eip.IPv6 == "" {
continue
}

result, err := ip.IsIPIncludedRange(constant.IPv4, eip.IPv4, ipv4Ranges)
if err != nil {
return webhook.Denied(fmt.Sprintf("Failed to check IP: %v", err))
Expand Down
18 changes: 9 additions & 9 deletions test/e2e/egresspolicy/egresspolicy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -230,7 +230,7 @@ var _ = Describe("EgressPolicy", Ordered, func() {
var err error

AfterEach(func() {
// delete the policy if it is exist
// delete the policy if it is existed
if egp != nil {
err = common.WaitEgressPoliciesDeleted(ctx, cli, []*egressv1.EgressPolicy{egp}, time.Second*5)
Expect(err).NotTo(HaveOccurred())
Expand Down Expand Up @@ -356,7 +356,7 @@ var _ = Describe("EgressPolicy", Ordered, func() {
4. Update the gateway to change the match from node1 to node2
5. Validate the status of the gateway and policy, verify the pod's egress IP should be the IP of node2
*/
PContext("Create policy with setting EgressIP.UseNodeIP to be true", Label("P00015", "P00016"), func() {
Context("Create policy with setting EgressIP.UseNodeIP to be true", Label("P00015", "P00016"), func() {
var egw *egressv1.EgressGateway
var egp *egressv1.EgressPolicy
var egcp *egressv1.EgressClusterPolicy
Expand Down Expand Up @@ -406,14 +406,14 @@ var _ = Describe("EgressPolicy", Ordered, func() {
// delete daemonset
Expect(common.DeleteObj(ctx, cli, ds)).NotTo(HaveOccurred())

// delete egresspolicy
// delete EgressPolicy
if egp != nil {
GinkgoWriter.Printf("Delete egp: %s\n", egp.Name)
err = common.WaitEgressPoliciesDeleted(ctx, cli, []*egressv1.EgressPolicy{egp}, time.Second*5)
Expect(err).NotTo(HaveOccurred())
}

// delete egressclusterpolicy
// delete EgressClusterPolicy
if egcp != nil {
GinkgoWriter.Printf("Delete egcp: %s\n", egcp.Name)
err = common.WaitEgressClusterPoliciesDeleted(ctx, cli, []*egressv1.EgressClusterPolicy{egcp}, time.Second*5)
Expand Down Expand Up @@ -570,14 +570,14 @@ var _ = Describe("EgressPolicy", Ordered, func() {

DeferCleanup(func() {

// delete egresspolicy
// delete EgressPolicy
if egp != nil {
GinkgoWriter.Printf("Delete egp: %s\n", egp.Name)
err = common.WaitEgressPoliciesDeleted(ctx, cli, []*egressv1.EgressPolicy{egp}, time.Second*5)
Expect(err).NotTo(HaveOccurred())
}

// delete egressclusterpolicy
// delete EgressClusterPolicy
if egcp != nil {
GinkgoWriter.Printf("Delete egcp: %s\n", egcp.Name)
err = common.WaitEgressClusterPoliciesDeleted(ctx, cli, []*egressv1.EgressClusterPolicy{egcp}, time.Second*5)
Expand All @@ -595,7 +595,7 @@ var _ = Describe("EgressPolicy", Ordered, func() {
})

It("namespace-level policy", func() {
// create egresspolicy
// create EgressPolicy
egp, err = common.CreateEgressPolicyCustom(ctx, cli,
func(egp *egressv1.EgressPolicy) {
egp.Spec.EgressGatewayName = egw1.Name
Expand Down Expand Up @@ -629,7 +629,7 @@ var _ = Describe("EgressPolicy", Ordered, func() {

// todo @bzsuni waiting for the bug to be fixed
PIt("cluster-level policy", func() {
// create egressclusterpolicy
// create EgressClusterPolicy
egcp, err = common.CreateEgressClusterPolicyCustom(ctx, cli,
func(egcp *egressv1.EgressClusterPolicy) {
egcp.Spec.EgressGatewayName = egw1.Name
Expand Down Expand Up @@ -698,7 +698,7 @@ var _ = Describe("EgressPolicy", Ordered, func() {
Expect(common.DeleteObj(ctx, cli, podObj)).NotTo(HaveOccurred())
}

// delete egresspolicy
// delete EgressPolicy
if egp != nil {
// Expect(common.DeleteObj(ctx, cli, egp)).NotTo(HaveOccurred())
err = common.WaitEgressPoliciesDeleted(ctx, cli, []*egressv1.EgressPolicy{egp}, time.Second*5)
Expand Down

0 comments on commit 11c26f6

Please sign in to comment.