Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make Gslb timeouts and synchronisation intervals configurable #82

Closed
ytsarev opened this issue Apr 8, 2020 · 0 comments · Fixed by #117
Closed

Make Gslb timeouts and synchronisation intervals configurable #82

ytsarev opened this issue Apr 8, 2020 · 0 comments · Fixed by #117
Assignees
Labels
enhancement New feature or request good first issue Good for newcomers
Milestone

Comments

@ytsarev
Copy link
Member

ytsarev commented Apr 8, 2020

There is number of internal timeouts that currently provided as default hardcoded values within Gslb:

  • DNS TTL of 30s
  • Reschedule of Reconcile loop to pickup external Gslb targets and Zone Delegation api kick (30s)
  • External-dns sync interval to update etcd backend of coredns (20s)

We need to make them configurable via CR spec (DNS TTL would probably go there) and operator deployment configuration ( Reconcile loop and ext-dns values)

@ytsarev ytsarev added this to the 0.7 milestone Apr 8, 2020
@ytsarev ytsarev added enhancement New feature or request good first issue Good for newcomers labels Apr 16, 2020
@kuritka kuritka self-assigned this Apr 27, 2020
kuritka added a commit that referenced this issue May 13, 2020
resolves #82

remove `require github.com/Azure/go-autorest v14.0.1+incompatible // indirect` reference from `go.mod`

remove `pkg/test` (already covered by terratest)

add depresolver
 - abstracts multiple configurations into single point of access
 - provides predefined values when configuration is missing
 - validates configuration
 - executes once

covered by unit tests

created `internal` to split logic into maintainable packages and reduce public API surface

move `YamlToGslb` into `internal utils` (reusing `YamlToGslb` within depresolver tests)

Update controller, tests, terratests to be able to use depresolver

add configuration for
 - DnsTtlSeconds
 - SplitBrainThresholdSeconds
 - ExternalDNSSyncSeconds
 - ReconcileRequeueSeconds
 - _can be extended for other inputs_
kuritka added a commit that referenced this issue May 13, 2020
resolves #82

remove `pkg/test` (already covered by terratest)

add depresolver
 - abstracts multiple configurations into single point of access
 - provides predefined values when configuration is missing
 - validates configuration
 - executes once

covered by unit tests

created `internal` to split logic into maintainable packages and reduce public API surface

move `YamlToGslb` into `internal utils` (reusing `YamlToGslb` within depresolver tests)

Update controller, tests, terratests to be able to use depresolver

add configuration for
 - DnsTtlSeconds
 - SplitBrainThresholdSeconds
 - ExternalDNSSyncSeconds
 - ReconcileRequeueSeconds
 - _can be extended for other inputs_
kuritka added a commit that referenced this issue May 14, 2020
resolves #82

remove `pkg/test` (already covered by terratest) and move `helpers.go` from `/pkg/controller/gslb/` to `/pkg/controller/gslb/internal/`

add depresolver
 - abstracts multiple configurations into single point of access
 - provides predefined values when configuration is missing
 - validates configuration
 - executes once

covered by unit tests

created `internal` to split logic into maintainable packages and reduce public API surface

move `YamlToGslb` into `internal utils` (reusing `YamlToGslb` within depresolver tests)

Update controller, tests, terratests to be able to use depresolver

add configuration for
 - DnsTtlSeconds
 - SplitBrainThresholdSeconds
 - ExternalDNSSyncSeconds
 - ReconcileRequeueSeconds
 - _can be extended for other inputs_
kuritka added a commit that referenced this issue May 14, 2020
resolves #82

remove `pkg/test` (already covered by terratest) and move `helpers.go` from `/pkg/controller/gslb/` to `/pkg/controller/gslb/internal/`

add depresolver
 - abstracts multiple configurations into single point of access
 - provides predefined values when configuration is missing
 - validates configuration
 - executes once

covered by unit tests

created `internal` to split logic into maintainable packages and reduce public API surface

move `YamlToGslb` into `internal utils` (reusing `YamlToGslb` within depresolver tests)

Update controller, tests, terratests to be able to use depresolver

add configuration for
 - DnsTtlSeconds
 - SplitBrainThresholdSeconds
 - ExternalDNSSyncSeconds
 - ReconcileRequeueSeconds
 - _can be extended for other inputs_
kuritka added a commit that referenced this issue May 14, 2020
Configurable timeouts and synchronisation intervals
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants