* Refactor waiting loop to use resourceVersion
* Add test coverage for delete ops
* Reformat code
* Move helper function to test file
* Add more test coverage
* Refactor: add ctx param to KnServingClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from knServingClient to ServingV1Interface
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Making wait function cancellable
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Handling SIGINT and SIGTERM
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnEventingClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from knServingClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup style
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Removing unnecessary dependency
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnChannelsClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from knServingClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnSubscriptionsClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from subscriptionsClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnSinkBindingClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from knBindingClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnDynamicClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from knDynamicClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnAPIServerSourcesClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from APIServerSourcesRecorder to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnContainerSourcesClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from containerSourcesClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: add ctx param to KnPingSourcesClient funs
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Passing ctx from pingSourcesClient to knative.dev interfaces
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Using cmd.Context() in pkg/kn/commands
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Test using background ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Removing ctx param from RawClient()
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* ctx for watch/polling
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fix per review request
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: extract ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Refactor: Namespace not requiring ctx
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* fixup
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Revert "Handling SIGINT and SIGTERM"
This reverts commit 9598646fda.
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Update CHANGELOG
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Add test for Wait()
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* Add test for Wait()
Signed-off-by: Matej Vasek <mvasek@redhat.com>
* update: Change default to server-side generated revision names
Fixes#1144
* update: Fix wait loop for synthetic events for which the generations are already in sync
* fix assertion as a service label change does not create a new revision
* fix: --cluster-local does not create a new revision but just changes a service's label
* chore: Fixed formatting
* update: Check generation in update already before doing a watch
* fixed lint issue
* fix test assertions
* Fix a race condition between creating a watch and initiating the action that emits the event it is watching for
* update changelog
* add PR ID to changelog entry
* Fix merge in Changelog
* Fix table format in Changelog
* Pin pkg to release-0.18 version
* ./hack/update-deps.sh --upgrade && ./hack/update-codegen.sh
* bump k8s version to 1.18.8
* Fix the brokerage of importing latest serving
* exclude script/test-infra md from md check
The error window introduced with #644 had a wrong conditional. Fixed that and added a test which would have detected this.
Also, this should fix some issues which we tried to detect with #659.
* fix(serving): Add an error window for ReadyCondition
A default error window of 2 seconds (not sure if this should be made configurable
as it is hard to explain/document) cause return an error during
sync operations only, if a ReadyCondition == false stays for that
long in false. This is needed to compensate situation where the
condition is false when a race between revision and route creation
occurse during a service creation.
This should fix the flakes we have in our E2E tests as described in #544.
* fix: words, words
* fix(serving): More words + a check
* feature(serving): Update API to serving.knative.dev/v1
Due to an issue with 0.12.0 (a missing constant) the update also includes an update
to the latest knative-serving and knative-eventing dependencies from master
(as reflected in version.go)
Signed-off-by: Roland Huß <roland@ro14nd.de>
* fix(serving): Bogus import removed
* fix(serving): Add missing go.sum entry
* Vendors serving v0.9.0
* Updates references per serving v0.9.0 vendoring
- Updates code and tests to refer the required data structure and method/function calls
- duckv1beta1 -> duckv1 conditions
- traffic percent value is now *int64
- containerConcurrency validation method relocation
* fix(golint): exported function should have comment
for NonReadyConditionReason function
* Updates check for removing null targets
fixes the pointer value check
* Updates per review comments
* Increased default timeout to 600s. This timeout will be triggered
only when the Ready condition stays in UNKNOWN for that long. If its
True or False then the command will return anyway sooner.
So it makes sense to go for a much longer timeout than 60s
* Enhanced output to indicate the progress
This change needs some updates to the API and introduces a 'MessageCallback'
type which is calle for each intermediate event with the "Ready" condition message.
* Update serving to 0.8. Try building.
* Find the right serving version
* Change our own import path to knative.dev to match
* Remove dependency on old version of client
* Update yaml template
* Add sleep to test to deal with race
* fix merge conflict
* Update vendor modules
This puts all the console output to the command, where it belongs too.
One could add a ProgressHandler for more fine granular feedback (like suggested in #234) but for now this is not needed.
* fix(serving): Remove hardcoded GVK and look it up from schema
Fixes#133.
* chore(serving): Add test for "WaitForService()"
* refactor(service): Add listRoutes() to client + generic way for list options
* chore(serving): Fixing rebase conflicts
* Adds kn revision delete command
* Adds unit tests for revision delete command
* Adds integration tests for revision delete command
Added revision delete command tests in new workflow namely
TestRevisionWorkflow.
* Removes extra line and renames an import alias
* Adds 10 seconds sleep between service create and revision delete
Also adds check for 'No resources found' while grabbing revision name.
* Clean up imports
* Removes the pause after service create
* Updates testing output strings in unit and e2e
* Updates post goimports on hack and test dirs
* feat(service create): Added --no-wait and --wait-timeout
By default, `kn service create` blocks until the service is either
created or an error occured during service creation.
With the option --no-wait the behaviour can be switched to an
async mode so that that kn returns immediately after the service is
created without waiting for a successful Ready status condition.
The timeout for how long to wait can be configured with --wait-timeout
If a timeout occur, that doesn't mean that the service is not created,
but the wait just returns. The default value is 60 seconds.
In wait mode, print out the service URL as a last line (so that it can be used together with `tail -1`) to extract the service URL after the service is created.
Fixes#54
* chore(service create): Tolerate if obeservedGeneration has not been set yet during startup
* chore(service create): Refactored based on review comments
* Introduced an --async flag (replacing --wait and --no-wait)
* Added proper retry handling on the list watch
* Updated help message
* chore(service wait): Added a new test for sync behaviour