-
Notifications
You must be signed in to change notification settings - Fork 109
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
Implement provisioner #683
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
sjberman
reviewed
May 26, 2023
kate-osborn
suggested changes
May 30, 2023
sjberman
reviewed
May 31, 2023
5522174
to
dc88dc6
Compare
sjberman
approved these changes
Jun 1, 2023
kate-osborn
approved these changes
Jun 1, 2023
dc88dc6
to
1463257
Compare
Problem: Support provisioning NGINX data plane per Gateway, as expected by the Gateway API conformance tests. See nginx#634 for more info Solution: - Implement provisioner command which which provisions a Deployment of NKG (static mode) for each Gateway of the provisioner GatewayClass. - Add provisioner manifests and docs Fixes nginx#634 Additionally, introduce PrepareTimeForFakeClient helper function, which fixes an error that appeared on GitHub Action pipeline, not locally (see below). (To reproduce it locally, run `make TZ=123 unit-tests` and ensure you compare Conditions in the status as in Expect(clusterGc.Status.Conditions).To(Equal(expectedConditions)) ) The timezone of the time in a resource field returned by the fake client was different from the one set in the field when updating the resource. The commit adds PrepareTimeForFakeClient() which ensures that the time is prepared correctly so that the timezone is the same. The problem is only present when comparing status Conditions using gomega like Expect(clusterGc.Status.Conditions).To(Equal(expectedConditions)) but not present if comparing using cmp like Expect(helpers.Diff(expectedGc, latestGc)).To(BeEmpty()). [FAILED] Expected <*time.Location | 0x30d0b00>: { name: "Local", zone: [ {name: "UTC", offset: 0, isDST: false}, ], tx: [ { when: -9223372036854775808, index: 0, isstd: false, isutc: false, }, ], extend: "UTC0", cacheStart: -9223372036854775808, cacheEnd: 9223372036854775807, cacheZone: {name: "UTC", offset: 0, isDST: false}, } to equal <*time.Location | 0x309f240>: {name: "UTC", zone: nil, tx: nil, extend: "", cacheStart: 0, cacheEnd: 0, cacheZone: nil}
1463257
to
c610288
Compare
miledxz
added a commit
to miledxz/nginx-gateway-fabric
that referenced
this pull request
Jan 14, 2025
Problem: Support provisioning NGINX data plane per Gateway, as expected by the Gateway API conformance tests. See nginx#634 for more info Solution: - Implement provisioner command which which provisions a Deployment of NKG (static mode) for each Gateway of the provisioner GatewayClass. - Add provisioner manifests and docs Fixes nginx#634 Additionally, introduce PrepareTimeForFakeClient helper function, which fixes an error that appeared on GitHub Action pipeline, not locally (see below). (To reproduce it locally, run `make TZ=123 unit-tests` from a commit before this one and ensure you compare Conditions in the status as in Expect(clusterGc.Status.Conditions).To(Equal(expectedConditions)) ) The timezone of the time in a resource field returned by the fake client was different from the one set in the field when updating the resource. The commit adds PrepareTimeForFakeClient() which ensures that the time is prepared correctly so that the timezone is the same. The problem is only present when comparing status Conditions using gomega like Expect(clusterGc.Status.Conditions).To(Equal(expectedConditions)) but not present if comparing using cmp like Expect(helpers.Diff(expectedGc, latestGc)).To(BeEmpty()). [FAILED] Expected <*time.Location | 0x30d0b00>: { name: "Local", zone: [ {name: "UTC", offset: 0, isDST: false}, ], tx: [ { when: -9223372036854775808, index: 0, isstd: false, isutc: false, }, ], extend: "UTC0", cacheStart: -9223372036854775808, cacheEnd: 9223372036854775807, cacheZone: {name: "UTC", offset: 0, isDST: false}, } to equal <*time.Location | 0x309f240>: {name: "UTC", zone: nil, tx: nil, extend: "", cacheStart: 0, cacheEnd: 0, cacheZone: nil}
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Proposed changes
Problem:
Support provisioning NGINX data plane per Gateway, as expected by the Gateway API conformance tests.
See #634 for more info
Solution:
Fixes #634
Additionally, introduce PrepareTimeForFakeClient helper function, which
fixes an error that appeared on GitHub Action pipeline, not locally (see below).
(To reproduce it locally, run
make TZ=123 unit-tests
from an earlier commitand ensure you
compare Conditions in the status as in
Expect(clusterGc.Status.Conditions).To(Equal(expectedConditions))
)The timezone of the time in a resource field returned by the fake client was different
from the one set in the field when updating the resource.
The commit adds PrepareTimeForFakeClient() which ensures that the time is prepared
correctly so that the timezone is the same.
The problem is only present when comparing status Conditions using gomega like
but not present if comparing using cmp like
Checklist
Before creating a PR, run through this checklist and mark each as complete.