Skip to content

Conversation

@ronething
Copy link
Contributor

@ronething ronething commented Apr 23, 2025

  • Adjust the leader_election related configurations to prevent leader election loss due to adc execution timeouts
  • Add a mutex lock to adcExec to prevent unforeseen issues caused by parallel execution of adc

ref: https://apiseven.feishu.cn/docx/E5EgdlVTAodihcxexUxcEqd3nhe#share-Vo3gdxfiXoyPXwx48k7cYwKgnHc

@github-actions
Copy link
Contributor

github-actions bot commented Apr 23, 2025

conformance test report

apiVersion: gateway.networking.k8s.io/v1
date: "2025-04-24T18:17:45Z"
gatewayAPIChannel: standard
gatewayAPIVersion: v1.2.0
implementation:
  contact: null
  organization: API7
  project: api7-ingress-controller
  url: https://github.com/api7/api7-ingress-controller.git
  version: v2.0.0
kind: ConformanceReport
mode: default
profiles:
- core:
    result: partial
    skippedTests:
    - GatewayInvalidTLSConfiguration
    - GatewaySecretInvalidReferenceGrant
    - GatewaySecretMissingReferenceGrant
    - GatewaySecretReferenceGrantAllInNamespace
    - GatewaySecretReferenceGrantSpecific
    - HTTPRouteExactPathMatching
    - HTTPRouteHTTPSListener
    - HTTPRouteHeaderMatching
    - HTTPRouteHostnameIntersection
    - HTTPRouteInvalidBackendRefUnknownKind
    - HTTPRouteInvalidCrossNamespaceBackendRef
    - HTTPRouteInvalidCrossNamespaceParentRef
    - HTTPRouteInvalidNonExistentBackendRef
    - HTTPRouteInvalidParentRefNotMatchingSectionName
    - HTTPRouteInvalidReferenceGrant
    - HTTPRouteListenerHostnameMatching
    - HTTPRouteMatching
    - HTTPRouteMatchingAcrossRoutes
    - HTTPRoutePartiallyInvalidViaInvalidReferenceGrant
    - HTTPRouteReferenceGrant
    - HTTPRouteRequestHeaderModifier
    - HTTPRouteWeight
    statistics:
      Failed: 0
      Passed: 11
      Skipped: 22
  name: GATEWAY-HTTP
  summary: Core tests partially succeeded with 22 test skips.

Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
@ronething ronething marked this pull request as ready for review April 24, 2025 11:08
@ronething ronething changed the title (WIP) feat: support sync when update gateway proxy feat: support sync when update gateway proxy Apr 24, 2025
Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
Signed-off-by: ashing <[email protected]>
@ronething ronething requested review from AlinsRan and Copilot April 25, 2025 01:37
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR adds support for syncing resources when the GatewayProxy is updated by adjusting leader election settings, adding mutex locks to ADC execution, and updating various e2e tests to verify the changes.

  • Updated e2e tests for Ingress, HTTPRoute, and Consumer to validate sync behavior after updating the GatewayProxy.
  • Modified the ADC provider by introducing an execLock and refactoring the handling of ADC configuration values.
  • Updated controller watchers and indexers to include GatewayProxy changes and improved leader election configuration.

Reviewed Changes

Copilot reviewed 13 out of 14 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
test/e2e/ingress/ingress.go Updated externalName test and added new GatewayProxy sync test.
test/e2e/gatewayapi/httproute.go Updated externalName test and added new HTTPRoute sync test.
test/e2e/framework/dashboard.go Added an empty payload for GetDataplaneCertificates request.
test/e2e/crds/consumer.go Added a consumer sync test case for GatewayProxy updates.
internal/provider/adc/adc.go Introduced mutex execLock and refactored ADC config handling.
internal/controller/ingress_controller.go Added GatewayProxy watch and simplified ingress class check.
internal/controller/indexer/indexer.go Added index creation for IngressClassParametersRef.
internal/controller/httproute_controller.go Added GatewayProxy watch for HTTPRoute reconciliation.
internal/controller/consumer_controller.go Added GatewayProxy watch for Consumer reconciliation.
internal/controller/config/* Updated leader election field names and durations.
config/samples/config.yaml Updated leader election configuration sample values.
Files not reviewed (1)
  • Makefile: Language not supported

@ronething ronething merged commit 429e83f into release-v2-dev Apr 25, 2025
8 checks passed
@ronething ronething deleted the feat/sync_resource_when_gatewayproxy_update branch April 25, 2025 03:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants