* updating to use the hack repo
* eof
* you need to run update deps after codegen to pick up any new deps.
* do not reinvent update-deps.
* must be winter
* Update autoscaling annotation validation
see ref: https://github.com/knative/serving/pull/9496
* Replace DeprecatedInjectionAnnotation with InjectionAnnotation
* Vendor deps at master
* Use context.TODO instead of context.Background
* 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
* feat(channel): Manage knative eventing channels
- Support specifying the type of channel to create using --type.
- Default is to use messaging layer configuration for channels
- Channel type aliases via kn config and alias for InMemoryChannel
- User can now configure channel type aliases in kn config and specify
alias to GVK mappings for easy reference on CLI and refer with `--type` flag
- User can also use inbuilt alias 'imc' for InMemoryChannel
* Let channel reconcile, sleep for 5 secs after creation
* Add imcv1 and imcv1beta1 aliases
* Rename imcv1 alias to imc
* build test images before e2e
* build test images before e2e
* build test images for e2e
* build test images for e2e
* build test images for e2e
* build test images for e2e
* use built test image in smoke test
* use built test image in smoke test
* change tests to use built test image
* change tests to use built test image
* change tests to use built test image
* change tests to use built test image
* add common base image for all purpose
* build images for e2e
* rebase with master
* add non root base image
* add non root base image
* Pin spf13/cobra dep at b95db644ed1c0e183a90d8509ef2f9a5d51cc29b
which includes the zsh completion fix for https://github.com/spf13/cobra/pull/899
and remove the fork of cobra with fix in `replace` section of go.mod
* Parse args without invoking a separate command
Do not define and execute extractCommand before running actual root
command to parse all the args without flags. This was creating issues
with completion utils to generate additional shell completion directive.
Now uses cobra's inbuilt utilities to parse the command args without flags.
* Return error from stripFlags if any
* Update unit tests
* Update unit test for invalid concurrency target value
* Vendor v0.16.0 eventing and serving
* Commit the LICENSES generated by hack/update-deps.sh
* Spare third_party dir from license check in hack/build.sh
* Update eventing and serving version for 'kn version'
* Use DeprecatedInjectionAnnotation key for backward compatibility
Fixes#918
Use DeprecatedInjectionAnnotation, i.e. "knative-eventing-injection"
for reconciling broker via namespace labeling and trigger annotations.
From eventing v0.16.0 release, this key is changed to "eventing.knative.dev/injection"
however, older eventing installation wont recognize it. So we continue
using the deprecated key until the sugar-controller would support reconciling
on either keys.
* Fix(kn version): Display eventing.knative.dev at v1beta1 version
We've been showing 'v1alpha1' in kn version while we actually
vendor and refer v1beta1 for eventing.knative.dev
* chore(e2e): Run tests against serving/eventing v0.16.0 release
* Update test for concurrency-target to expect new error message
the new error message for incorrect concurrency-target value contains "should be at least 0.01"
* Setup sugar-controller for released eventing version setup
- reuse knative_setup util from common lib for latest-release CI setup
* Fix typo in YAML URL and add subheader for sugar-controller install
* add kn export type
* add kn export type
* add kn export type
* Update pkg/apis/client/register.go
Co-authored-by: Matt Moore <mattmoor@vmware.com>
* e2e test for kn export type
* e2e test for kn export type
* add new type for kn export
* rebase
* rebase
Co-authored-by: Roland Huß <rhuss@redhat.com>
Co-authored-by: Matt Moore <mattmoor@vmware.com>
Co-authored-by: Roland Huß <roland@ro14nd.de>
* Refactor main flow, plugin and configuration handling
* The plugin handling has been moved out of the `KnDefaultCommand` constructor where it was executed as a side-effect. The original code from `kubectl` suffers from the same issue that plugin handling is not a top-level concern but was very likely introduced as an after-thought. Instead, the plugin handling is done now by a `PluginManager` which is explicitly called in `main()`.
* Configuration and bootstrap option handling is centralized in the package `option`. After the bootstrap happened, the content of the configuration file, as well as any other global configuration, can be obtained from methods on `config.GlobalConfig`. Also, all flag handling is delegated to cobra so that no own parsing is needed.
* Many of the logic in `pkg/kn/commands/plugin` for plugin management has been moved up to `pkg/kn/plugin` as this code is not only relevant for `plugin list` but also for the bootstrap process.
* fix: invalid subcommands will lead to a proper error message
* Update pkg/kn/config/types.go
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
* Update pkg/kn/plugin/manager.go
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
* Update hack/generate-docs.go
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
* Update hack/generate-docs.go
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
* chore: Add missing links
* chore: recert to shas in links in developer guide for now.
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
* Update go.mod to specify the module is go1.14
Thus the go commands will default to -mod=vendor
See: https://golang.org/doc/go1.14#go-command
* install goimports as a tool
* drop mod=vendor usage as that's the default with go1.14
* remove comment about using -mod=vendor
* Revert "drop mod=vendor usage as that's the default with go1.14"
This reverts commit 567004d404bb7ebd39ed527dc75759cfc7db672f.
* Revert "remove comment about using -mod=vendor"
This reverts commit 2a71393a2015c1539be1503e0c52cf64283e12d0.
* Revert "install goimports as a tool"
This reverts commit 9616d5e2d2ab0d61e8454b1ace057ec9712e182d.
* use go_run_tool to run goimports
* inline go_run_tool
* include required env var REPO_ROOT_DIR
* chore: Update to Knative serving/eventing 0.14.0
and also move ApiServerSource to v1alpha2, adapting the option
(from "controller" to "labelSelector")
* fix go.sum
* chore: Update and fix tests
* chore: fix go.sum
The check of the maximum for concurrency-limit had to be removed as
this is picked up now also from the server side configuration
to which we don't have access. Checking against the default
max is misleading and contra-productive if this could be
different when configured differently by the Knative administrator.
* feat(source): Add 'kn source list'
Fixes#480
- Add 'kn source list' listing the available sources COs
- Use dynamic client to
- find out available source types
- find the COs in given namespace for each source type
- Add --type flag to filter source list based on source type
- Add unit tests
- Add e2e tests
- Add CHANGELOG entry
* Update group for ApiServerSource in tests
* Add kn duck source type for holding common eventing source fileds
- Common infromation from sources are extracted into a struct
for source list command output
- Printer function picks the information from this struct object
and doesn't know the details about extracting this info from multiple
types of sources received
- Group and Version for list is set to empty string and Kind to 'List',
if printed a source list with multiple types of sources in machine readable
format
- Group, Version and Kind for list are kept intact if printed a source list
with same type of source objects in machine readable format
* Update go.sum
* Add WithType builder for listing source
- Separate the flags definition
- WithType builder can be re-used to filter the source types
- Add unit tests
* Update ApiServer source group to apiserversources.sources.knative.dev
* Fix typos and align
Co-authored-by: Roland Huß <roland@ro14nd.de>
* chore(e2e): Optimized tests
Smoke Tests now run before the E2E tests, but in the same cluster
* chore: Removed unneeded test
* fix
* fix
* fix
* fix
* chore: Update to serving & eventing v0.13.0
* refactor(source): Update to Knative eventing 0.13.0
* Moved to "sources.knative.dev" API group
* Replaced CronJobSource with PingSource (and removed unsupported options for service account, requests limits)
* Move to versions:
- SinkBinding v1alpha2
- PingSource v1alpha2
- ApiServerSource v1alpha1
* update to eventing 0.13.1
* go.sum fix
* fixed test
* test updates
* try to enhance error output
* fix test.
* update tests infra to 0.13.1
* chore(e2e): Refactor e2e to better track errors
* Collect results from various `kn` calls to
provide the context
* Changed sub-Run() commands to t.Log() to reduce
the log noise and get file + line information
in the log output
* Removed any Fatal() calls to allows the test
to properly finish
* Only output via t.Log() to get the output at the
proper places and allow Prow to better pick
up the test results.
* Most important: EMOJIS !! 🦆🦆🦆🦆🦆
* chore(e2e): Add more dumpers
* Moar debug
* 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
* feature(source binding): Support for Sink Binding as source
Sink bindings are managed like any other source. Sinks are specified as usual (with prefix and name),
'subjects' (the other end of the binding) is managed via a shortcut notation:
* with name: `<kind>:<apiVersion>:<name>`
* with label selector: `<kind>:<apiVersion>:key1=value1,key2=value2`
With `--subject-namespace` and additional namespace can be provided (shoudl be possible for a sink, too but is not yet)
The implementation already uses the new sink binding from the `sources.knative.dev` group
and hence is a bit inconsistent to the still old usage kf `sources.eventing.knative.dev` for apiserver source and cronjob.
However as we will move over to `sources.knative.dev` very soon (right after v0.12.0) release,
this is was more appropriates.
Still WIP, but eventually fixes#624
Task list:
- [X] create
- [] update
- [] delete
- [] describe
- [] list
* fix(source binding): Added missing commands
Also, it looks like that knative eventing 0.12.0 is still on the old api group.
So I need to move this code to use the legacyclient, too, for the sink binding
and only switch over to the new client for 0.13.0
* feature(source binding): Added missing subcommands
* update
* delete
* list
* describe
* fix(source binding): Removed --subject-namespace as this namespace cant b set.
Tuned describe output a bit.
* feat(source binding) add support for CeOverride
* fix: Worked on review comments
* fix: review comments
* fix: names in binding client
- Pin contrib.go.opencensus.io/exporter/stackdriver@59d068f8d8ff5b653916aa30cdc4e13c7f15d56e
- Pin knative.dev/pkg@release-0.11
- Move `Destination` from (knative.dev/pkg) v1alpha1 to duckv1beta1
- Run tests against Eventing v0.11.0
* feat: kn source list-types (builtin types)
- Only lists the builtin source types
- Uses client-go dynamic client for listing CRDs
- Adds DyanmicClient interface to KnParams
- Adds printing options
* chore(lint): Address golint suggestions
* Rebase and update venodr/modules.txt
* Adds unit tests for DynamicClient in types.go
* Add kn source list-types command in smoke tests
* Constants for the CRD GVR and source identifier label key value
GVR as:
- Group: apiextensions.k8s.io
- Version: v1beta1
- Resource: customresourcedefinitions
Label as:
{"duck.knative.dev/source": "true"}
* Add tests for dynamic client
* Add description about SinkBinding source type
as - "Binding Pattern for ContainerSource"
* Remove unused imports
* Adds unit tests for list-types command processing
* More unit tests for flags
* Adds e2e tests for kn source list-types
- also test the YAML output
* Sort the source types while listing them
- Update the unit tests accordingly
* Add examples
* Add unit tests for CreateDynamicTestKnCommand
* Fix typo in unit tests
* golint fixes
* Updates to vendor/modules.txt after rebase
* Remove the extra lines
* Eventing setup in CI
- Update test-infra
- Use library functions for setting up released and latest Eventing
- Set up Eventing 0.10.2 and nightly release in `latest-release` and default e2e tests CI job respectively
* Fix typo in variable name and update formatting
* Integration tests for Tekton
* Use knative/client instead of fork
* also put back the e2e-tests into its original format where it doesn't
run the tekton tests
* Run ./hack/build.sh with Go 1.12
* Pull buildah and kn tasks directly from catalog
* Revert "Use knative/client instead of fork"
This reverts commit 2ab272f587.
* Revert "Revert "Use knative/client instead of fork""
This reverts commit f14c2105e2.
* Update Tekton to 0.8.0
* Revert "Use knative/client instead of fork"
This reverts commit 2ab272f587.
* Use knative/client instead of fork
This reverts commit 8eb87ada02.
* Export variables after calling initialize
* Run against arbitrary Docker registry
* Conditionally install Tekton
* Use knative/client instead of fork
This reverts commit 3800adbf69.
* Revert "Use knative/client instead of fork"
This reverts commit 71a3d33b5a.
* Simplify passing the flag to test
* Simplify imports
* Revision describe rebaseable
* Fix up for rebase
* Some tests
* moretests
* Forgot part of the refactor!
* Fix unit tests
* Change e2e tests and respond to feedback
* Updates spf13/cobra dep to v0.0.5
Fixes#426
- and a couple of patches on top which aren't merged yet
- spf13/cobra#884
- spf13/cobra#899
- also updates viper to 1.4.0
* Updates to go.sum
* Updates go.mod
as a result of `go install golang.org/x/tools/cmd/goimports`
* 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
* Change symbols, add latest and latest ready
* More info on what is latest and tags. Filter annotations and labels.
* Make current tests pass
* More tests
* No longer require Annotations in test
* Add error
* Adjust tests to match adjusted output
* Respond to review comments
* one more
* Fix double printing of revisions + test for it
* Differentiate between latest traffic and latest ready w/o that being reason for traffic
* Re-build with go 1.12
* Rebased
* Limit non-verbose output to error and image
* Fix tests for new format
This is in preparation of introducting eventing and makes sense anyway.
Also, the GVK update handling has been moved to "util" so that it then
can be also reused by eventing.
* 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
- Add e2e tests
- Use '=' for traffic and tag assignment instead of ':'
- Use --tag and --untag flags for tagging traffic targets
- Use --traffic flag for setting traffic portions
- Allow --traffic portion to either take revisionName or tagName
- Uses @latest identifier for referencing latest revision of service
- Dont throw error if requested revision=tag pair is same
- Support having multiple tags for a revision
- creates a new target in traffic block if revision present in traffic block with new tag requested
- creates N new targets in traffic block if revision absent in traffic block with Nxnew tags requested
- Ensure updating tag of @latest requires --untag flag
- streamline updating tag for latestReadyRevision
- adds respective tests
- adds tests for ensuring given traffic sum to 100 on CLI and fail fast
- Add note about preference of order in case where tagOfOneRevision == revisionOfAnother,
first tags are checked and assigned traffic if any, as tags are supposed to be
unique in traffic block and should be referenced in such scenario.
- Remove the examples from flag description, moves it to service update command example section
- Pass only traffic block to compute trffic, makes it better to consume.
- Cover more error cases for invalid value format for assignments, covers a=b=c, a=, =b, or variants of them
- Separate and improves the error messages
- Add unit tests for traffic computing
- Add sanity checks in dedicated function verifyInputSanity
- traffic perents should sum to 100
- individual percent should be in 0-100
- repetition of @latest or tagName or revisionRef is disallowed
- Verify traffic percents sum to 100 on client side and fail fast
- Add e2e tests for traffic splitting
- create and update service, assign tags and set traffic to make an existing state
- run the scenario on existing state of service
- form the desired state traffic block
- extract the traffic block and form the traffic block struct actual state
- assert.DeepEqual actual and desired traffic blocks
- Use logic to generate service name in the same way as namespace, use different service name per test case
- Run e2e test for traffic splitting in parallel
- Use timeout duration of 30m for e2e tests, use timeout parameter for go_test_e2e library function
- Use tagName in flag description of --untag, avoiding conflict with --tag flag
- Update CHANGELOG
* feature(service describe): Output of service details
`kn service show` mimics `kubectl describe <sth>` as that it output detail information in human readable output.
A future extension should add machine readable output with `-o` to export
a single object in json/yaml (that is missing from `kn service list`)
This command shows information about the service itself, but also a summary about the associated revisions.
It also knows about scaling and concurrency options.
Options:
`--details` : Print more information. By default only are shorter summary is shown
* chore: Cleanup up and refreshed dependencies
* fix(service describe): Integration test fix (revert "show" to "describe")
* fix: go.sum
* fix go.sum
* feature(service describe): Add printing of resources (requests/limits) + machine readable output with -o
* chore(service describe): Simplified digest handling
* chore(service describe): Sort maps by key when printed
* chore: Adapt mock framework
* chore(service describe): Test fixes
* chore: Added some tests
* more tests
* test: Moar tests
* chore: Even moar tests
* more, more tests
* changelog update
* fix(service describe): golint fixes
This version contains the following:
1. wraps the main root Kn command to support plugin
2. plugins are any executable in kn's config new pluginDir
variable which defaults to $PATH
3. plugins must have name kn-*
4. 'kn plugin list' sub-command to list found kn plugins
5. skips any kn plugins found with name that match core
commands, e.g., kn-service would be ignored
6. can execute any valid kn plugins found, e.g.,
`kn valid` where the plugin file `kn-valid` is in path
specified in 2.
7. unit tests (using gotest.tools)
And is missing:
1. integration tests
2. plugin install command
3. plugin repository command
4. plugin / Knative server version negotiation
5. anything else we agree on in plugin req doc
I plan to create issues for the things missing so we don't
end up with an even bigger PR. It's already big as is but is a
good MVP as per plugins requirement doc.
* Validate invalid container concurrency options
* Use assert package
* Use FlagSet.Changed and don't care about default values
* Update dependency
* Follow e2e test changes
* Return error if invalid value is specified by users
* Fix broken e2e test
* Add more unit tests
* Fix error message
* Fix comment statement
* Revert back unrelated changes
* Fix typo
* 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 custom comparison for checking multiple substrings
This changeset introduces custom comparison for checking if a target
string has given multiple substrings, namely `ContainsMultipleSubstrings`.
Also removes `commands.TestContains` function and replaces all references
of `commands.TestContains` with `gotest.tools/assert.Check` function and
uses `ContainsMultipleSubstrings` as comparison function.
* Renames and makes the compare function variadic
New name: ContainsAll
New location: pkg/util/compare.go
Also the function now takes target string as first arg,
and accepts any number of substrings to check.
Removed the message arg, the compare function composes the error message.
For eg:
```
Actual output: foo-abcd foo <unknown> 0 OK / 0 <unknown> <unknown>
Missing strings: foo-abcd1, foo1
```
* Adds tests for compare utility ContainsAll
* Update vendor/modules.txt
Explores all sub-commands from root and adds a RunE for all
commands that are groups with child commands and without a RunE.
The added RunE will return the correct errors when the command
is called with empty sub-command or with an unknown sub-command.
It will also print the command help message first.
Added a gotest.tools test for root.go.
- Accepts an argument name for listing particular route
- Enables the machine readable output flags
- Updates docs for kn route command group
- Adds unit tests for route command group and route list
- Adds integration tests for route list in basic workflow test
- Updates tests and getting namespace
- Adds more unit tests for code in pkg/kn/commands/route/list_flags.go
- Adds route list command in smoke tests
- Updates vendor/modules.txt
- Clean up imports
- Addresses review comments
- replaces knative to Knative
- uses reflect.DeepEqual for slice comparison
- removes few code comments
- removes irrelevant tests modifications from the PR
* 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
* Lists revisions for a given service
Fixes#127
* Adds unit tests for listing revisions of a service
* Adds integration tests for listing revisions of a service
* Updates docs for listing revisions of a service
* Updates vendor/modules.txt
* Remove unused `--config` option
Currently `--config` option in kn command is not used from anywhere.
This patch removes the option from the command.
* update auto gen files
* Update deps by hack/update-deps.sh
Autoscaler concurrency annotations are added to the revision template if
--min-scale / --max-scale / --concurrency-target/--concurrency-limit
are provided to `kn service create` and `kn service update`
Fixes#151
Creates four subpackages for now:
1. kn/commands - inludes types.go for common
struct and other common files and misc commands
2. kn/commands/service - all 'kn service *' commands
3. kn/commands/revision - all 'kn revision *' commands
4. kn/core - contains the root.go and other top level
for code and testing
5. refactors:
a. split .../commons/human_readable_flags.go into three
b. modifies the HumanReadableFlags.ToPrinter to get pass
a function that sets the columns and fields
Had to refactor all tests to avoid cycles.
This requires updating test-infra to deal with a repo that has no releases yet.
Also use hash and dates from the helper, to keep the binary and the GCS dirs in sync.
* Renames test names for service get command
also removes unnecessary commented imports
* Adds revision get command
renames `revision list` ==> `revision get`
* Adds tests for revision get command
* Updates the vendors/modules.txt
* Removes revision list command
* Adds service get command
replaces service list command
* Updates go.mod and vendors/*
* Adds message if no services found in requested namespace
* Adds tests for service get
* Adds human-friendly printer
All the credits goes to authors of https://github.com/kubernetes/kubernetes/tree/master/pkg/printers
* Updates the vendor/modules.txt
As its updated after running hack/verify-codegen.sh
* Removes WithKind and WithNamespace printing options
Lets start with bare minimum printer
* Adds licenses
and references the original implementation file link.
Removes pkg/printers/printers.go
* Removes unused imports
* chore: Update dependency to knative-serving 0.5.1
* chore: Changed deps to released versions where possible
Rebuilt mod deps and vendor dir based on this dependency list
github.com/knative/serving v0.5.
github.com/knative/pkg v0.0.0-20190330001454-aad7a9ad4639
github.com/mitchellh/go-homedir v1.1.0
github.com/spf13/cobra v0.0.3
github.com/spf13/pflag v1.0.3
github.com/spf13/viper v1.3.1
k8s.io/api kubernetes-1.14.1
k8s.io/apimachinery kubernetes-1.14.1
k8s.io/cli-runtime kubernetes-1.14.1
k8s.io/client-go v11.0.0
sigs.k8s.io/yaml v1.1.0
Not sure if all dependencies are required (e.g. is k8s.io/api required
to be specified explicitely or shouldn't we rely on k8s.io/client-go
to bring it this as a transitive dependency which maches always
the cli-runtime's version.
* chore: Update .gitignore to *not* ignore certain vendor files
* chore: Aligned with k8s version from serving 0.5.2
* chore: Run `go mod tidy`
* chore(modules): Update dependencies
* Added support for limits and requests of CPU and memory. Examples:
1. kn service create mysvc --image dev.local/ns/image:latest --request-cpu 100m --requests-memory 64Mi
2. kn service create mysvc --image dev.local/ns/image:latest --limits-cpu 1000m --limits-memory 1024Mi
You can also include and/or omit the requests and limits. So the following should also work:
kn service create mysvc --image dev.local/ns/image:latest --request-cpu 1000m --limits-memory 1024Mi
* Addressed comments about maintaining existing requests and limits and added more tests
* TestServiceCreateWithRequests
* TestServiceCreateWithLimits
* TestServiceCreateRequestsLimitsCPU
* TestServiceCreateRequestsLimitsMemory
* TestServiceCreateRequestsLimitsCPUMemory
* updating dependencies and formatting tests code
* Stub in an integration test
This just calls `kn service list` and verifies it doesn't have a
non-zero exit status.
* Build the client in pre_integration_tests
* Need to explicitly build the `kn` client
As opposed to just building the entire repo. That didn't actually
stick a `kn` binary in the root.
* Address code review feedback
Build the client in e2e-tests.sh instead of presubmit-tests.sh, fix a
couple copy/paste places that referred to eventing, remove unnecessary
knative_teardown function.
* Don't attempt to build kn twice
* Turns out pre_integration_tests() is the easiest way to build kn
We don't have any other good hooks at the moment to do something in
`e2e-tests.sh` that runs only once before the test cluster gets setup.
* Update test-infra to use the new cluster_setup function
This updates the version of test-infra to use the new cluster_setup
function added in https://github.com/knative/test-infra/pull/667
It simplifies our e2e setup logic into one place instead of being
split over presubmit-tests.sh and e2e-tests.sh
* Update vendored test-infra as well
* We have to explicitly tell CI to use the vendored modules
* Be a bit more descriptive in the stubbed out integration test