Commit Graph

282 Commits

Author SHA1 Message Date
Roland Huß 8ca97c7920
Feature: "kn service apply" (#964)
* feat: "kn service apply"

This commit introduces a client-side apply with a plain JsonPatchMerge. This is more limited than a StrategicPatchMerg as it does not allow to merge lists (they are just overwritten). Also is not a real 3-way merger that would lead to a conflict when both the, the server-side and the provide update overlapp in fields that updated, compared to the shared original configuration. This is a problem of  JsonThreeWayMerger itself, as pointed out in https://github.com/kubernetes/kubernetes/pull/40666#pullrequestreview-502804243.

This limitation is shared with kubectl, which suffers from the same issue if using `kubectl apply` with a custom resource (i.e. with everything that has schema that is not registered within kubectl).

Tests are missing, too, but will come soon

* chore: Add tests for 'kn apply'

* refactor: Removed PatchService from pulic API interface

* fix: Display of service URL at the end, when no changes apply

* chore: Add initial E2E test

* chore: Implemented review suggestions

* More tests
* Example for kn service apply
* Remove commented-out code

* lint fixes

* fix formatting of kn service apply doc

* fixing go.sum

* chore: Update deps
2020-11-02 00:36:35 -08:00
Scott Nichols d1552ee0a3
updating to use the hack repo (#1084)
* 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
2020-10-30 11:41:35 -07:00
Navid Shaikh abb75e4da2
fix(tekton e2e): Fix CONTAINER_REGISTRY name generation (#1074)
* fix(tekton e2e): Fix CONTAINER_REGISTRY name generation

 var `E2E_BASE_NAME` is no longer available

* debug: Run tekton tests

* Revert "debug: Run tekton tests"

This reverts commit dbe125ee04.
2020-10-26 08:38:41 -07:00
Navid Shaikh 40a840367a
chore(e2e): Run e2e against eventing v0.18.3 (#1063) 2020-10-15 15:01:56 -07:00
Navid Shaikh ce1f43cce2
fix(e2e): Remove "serving.knative.dev/route" revision label (#1067)
Dont expect mentioned key on the revision labels in service
  expect tests now. The test is skipped for serving v0.18 release
  and configured to only against current serving master.
  see #https://github.com/knative/serving/pull/9710
2020-10-15 13:15:56 -07:00
Josh Soref 4939c5ede3
Fix various misspellings and linter items (#1057)
* spelling: additional

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: bindings

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: blocked

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: bootstrap

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: channel

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: channel

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: commands

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: comparison

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: configuration

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: controller

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: convert

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: desired

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: dynamic

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: entry

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: execute

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: explicit

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: hardcoded

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: information

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: inject

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: item

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: kubectl

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: latest

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: message

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: namespace

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: namespaces

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: output

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: overriding

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: parameters

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: revision

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: separated

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: separator

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: service

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: specified

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: specifies

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: splitting

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: subscription

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: trigger

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unknown

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: unstructured

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* spelling: workflow

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* chore: Address golinter complaint for (c *MockKnServingClient) GetBaseRevision

Signed-off-by: Josh Soref <jsoref@users.noreply.github.com>

* chore: update changelog for spelling fixes (#1057)
2020-10-12 21:24:30 -07:00
kaustubh d9d52346e7
feat: List available channel types (#1027)
* add channel list-types

* add kn channel list-types doc
2020-10-06 13:17:20 -07:00
Navid Shaikh 6baab2eda4
fix(e2e): Run eventing e2e tests only against nightly and fix service export tests (#1046)
* fix(e2e): Run eventing e2e tests only against master

* fix(e2e): [service export] Service links are disabled by default

 see https://github.com/knative/serving/pull/9685
2020-10-06 09:17:21 -07:00
Arghya Sadhu 5025137f5a
add alias to commands (#1041) 2020-10-06 03:57:21 -07:00
Navid Shaikh ce519b520b
feat: Subscription CRUD (#1013)
* feat: Add subscription CRUD

 - Add kn subscription command group and CRUDL sub-commands
 - create/update uses following flag names for better alignment:
  - --sink for subscriber
  - --sink-reply for reply
  - --sink-dead-letter for dead-letter-sink
 - Add 'subscriptions' and 'sub' aliases
 - Introduce shared library `knative.dev/client/lib/printing`
   to print Sink object in describe output

* Set default channel type messaging.knative.dev/v1beta1:Channel

 i.e. if no prefix is given to `--channel`, consider it of `Channel` type

* Update e2e tests

* Update channel flag description
2020-10-01 09:44:29 -07:00
Arghya Sadhu e8ae0e1537
adding annotation-service and annotation-revision to kn create/update (#1029) 2020-09-30 07:48:29 -07:00
Navid Shaikh 769a5c0f1b
chore(e2e): Run e2e against serving/eventing v0.18.0 (#1036) 2020-09-30 05:12:29 -07:00
Zhimin Xiang 9b210e3be1
[Release-0.18] Pin knative deps to release-0.18 (#1025)
* 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
2020-09-23 11:58:41 -07:00
Martin Gencur f4e43c82d4
Print logs from PipelineRun pods when Tekton tests fail (#1019) 2020-09-22 01:17:36 -07:00
David Simansky 719269e891
fix: Fix autoscaling annotations in Service metadata (#1021)
* fix: Fix autoscaling annotations in Service metadata

* chore: Add test cases

* fix: Rerun codegen

* chore: Split UpdateAnnotations to dedicated functions
2020-09-22 00:06:37 -07:00
Martin Gencur 1607bf8c0c
Remove -mod=readonly from the helloworld's Dockerfile (#1017)
The go.mod file was removed in
4ea31c444a
, and breaks building using Tekton.

The error is as follows:
STEP 3: COPY ./test/test_images/helloworld/ .
STEP 4: RUN CGO_ENABLED=0 GOOS=linux go build -mod=readonly -v -o server
build flag -mod=readonly only valid when using modules
subprocess exited with status 1
subprocess exited with status 1
error building at STEP "RUN CGO_ENABLED=0 GOOS=linux go build
-mod=readonly -v -o server": exit status 1
2020-09-17 16:03:44 -07:00
Himanshu Ranjan 6c7fc7ca70
Add changes for --scale-init support (#990)
* Add changes for --scale-init support

* Added test cases

* Add test case in e2e tests

* minor fix

* Test case failure fix

* Incorporated review comments

* Add service update test cases

* Incorporate review comments
2020-09-15 02:51:41 -07:00
Markus Thömmes 8f7088f0c0
Add linting config and fix issues. (#1001) 2020-09-11 05:41:00 -07:00
Murugappan Chetty 77564112df
add e2e for h2c (#1000)
* add e2e for h2c

* add e2e for h2c

* add e2e for h2c

* add symlink for grpc example

* add symlinks

* add symlink
2020-09-11 03:32:00 -07:00
David Simansky e7b74a9863
fix: Fix service export annotations (#1004)
* fix: Fix service export annotations

* fix: Regen code

* fix: Skip test until 0.18 is available

* fix: Skip on specific version only
2020-09-10 01:19:50 -07:00
Navid Shaikh 5ed353d36b
feat(channel): Manage knative eventing channels (#967)
* 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
2020-08-25 09:25:49 -07:00
Murugappan Chetty 4ea31c444a
build test images for e2e (#974)
* 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
2020-08-20 04:42:13 -07:00
Navid Shaikh c39025f7ca
Vendor serving and eventing at v0.17.0 (#984)
* Vendor serving and eventing at v0.17.0

* Update version commmand output

* Run latest release e2e tests against serving/eventing v0.17.0
2020-08-20 03:22:13 -07:00
Himanshu Ranjan 980a6a9469
Fix exit code on service delete and revision delete (#971)
* Fix exit code 0 upon service delete

* Mentioned bug fix in CHANGELOG.adoc

* Add error check test for service not found

* Fix for kn revision delete failure exit code and add test cases

* Testing changes in test cases for failure in intergration tests

* Fix test case error causing integration test failure
2020-08-06 03:41:28 -07:00
tianfeiyu 7f2de9eb9d
fix: `kn source list` command print spelling problems (#963) 2020-08-05 02:49:28 -07:00
Chris Suszynski 7b2abc7a56
Use Tekton Catalog GA structure for tasks (#966) 2020-08-04 08:34:28 -07:00
Mike Petersen 4a3cf24550
Deprecates --max-scale/--min-scale for more consistent naming (#958)
* Depreciates --max-scale/--min-scale for more consistent naming

* Added back old flags and marked hidden
2020-08-03 16:58:27 -07:00
Michal Vinkler 582e48c32e
allow test image to be customized (#957) 2020-07-28 09:31:59 -07:00
Roland Huß 490fe574cc
feat: Add plugin listing to "kn --help" (#929)
* feat: Add plugin listing to "kn --help"

This works on all levels. Test needs to be expanded still.

Fixes #266

* chore: Fix test

* Add test and ported #910 over.

* changelog update

* fix test

* Fix test

* fix integration tests

* fix test

* chore: Add some explanatory comments

* fix test
2020-07-14 13:38:33 -07:00
Navid Shaikh 2e1a863815
Revisit sink prefixes: Support only 'ksvc' prefix and drop 'svc', 'service' support for knative service (#896)
* Update description for sink flag

 - Add examples for broker, service and URI
 - Add note about default prefix and service alias

* Update the sink flag description

* Update cli conventions doc

* Update the sink prefixes mapping

 - 'ksvc' prefix for knative services
 -  Remove 'svc' or 'service' prefixes mapping for knative services

* Hint in err msg to use 'ksvc' if used prefixes 'svc' or 'service'

* Update CHANGELOG

* Update source list e2e tests to refer ksvc prefix

* Update sink flag description
2020-07-14 00:46:18 -07:00
kaustubh ad145a89d8
Add E2E test cases for "kn source list". (#924)
* add invalid filter test case

* add invalid test case

* add source list test, output yaml format

* fix sourcelist failed test case
2020-07-11 06:21:37 -07:00
Mike Petersen e1c48e6f7a
Added the option to use --scale for setting MinScale and MaxScale to the same value (#914)
* Added the option to use --scale for setting MinScale and MaxScale to the
same value

* Updated service create/update to resolve test issues

* Removed scale from the annotation section - there isn't a scale
annotation

* Renamed test service name so that it doesn't match a previous test

* Addressed most issues/changes

* Added tests for multiple flags being used at the same time

* Cleaned up the update tests

* Added negative value tests and cleaned up tests in create_test.go
2020-07-11 02:33:37 -07:00
David Simansky 41e49b98c5
feat: Add --filename flag to service create command (#913)
* feat: Add --file flag to service create cmd

* fix: Fix linter warnings

* fix: Remove unecessary changes

* fix: Reflect review feedback

* fix: Change flag --file to -f,--filename

* fix: Reflect review feedback

* fix: Move test cleanup to correct place

* fix: Refactor name param restrictions

* fix: Fix flag name string in func
2020-07-11 02:03:37 -07:00
Navid Shaikh f91fb57f9a
kn v0.16.0 release prep (#922)
* 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
2020-07-10 10:41:19 -07:00
Navid Shaikh 1a8cf96997
Setup eventing extension sugar controller (#920)
We'll need sugar controller for reconciling broker for tests
 which labels namespace and annotates the triggers.

 Currently, sugar controller is not part of the eventing nightly release setup
 by test-infra libs. This changeset adds install of same for nightly
 CI setup.
2020-07-07 12:37:44 -07:00
David Simansky 1f59f5341c
Add broker create, delete and list cmds (#894)
* Add broker create, delete and list cmds

* fix: Fix copyright headers

* fix: Fix linter warnings

* Update pkg/kn/commands/broker/create.go

Co-authored-by: Roland Huß <rhuss@redhat.com>

* Update pkg/kn/commands/broker/delete.go

Co-authored-by: Roland Huß <rhuss@redhat.com>

* Update pkg/kn/commands/broker/list.go

Co-authored-by: Roland Huß <rhuss@redhat.com>

* feat: Add broker describe command

* fix: Fix copyright header

* fix: Fix linter issues

* fix: Fix broker describe test

* fix: Fix order of eventing cmds

* chore: Add e2e tests

* fix: Fix e2e tests annotation

* fix: Reorder e2e tests methods

* feat: Add synchronous broker delete option

* fix: Fix broker describe example

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* fix: Fix variable name

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* fix: Fix broker list example formatting

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* fix: Fix eventing client func name

Co-authored-by: Navid Shaikh <nshaikh@redhat.com>

* fix: Reflect changes from PR review suggestions

* fix: Fix formatting of cmd examples

* fix: Fix formatting of cmd examples & trailing spaces

* fix: Polish eventing client docs

* fix: Fix examples alignment

Co-authored-by: Roland Huß <rhuss@redhat.com>
Co-authored-by: Navid Shaikh <nshaikh@redhat.com>
2020-06-23 02:43:26 -07:00
Navid Shaikh 887d367861
Refer broker from v1beta1 APIs and add missing e2e tests (#895)
* Move broker injection namespace label, unlabel utilities to lib

* Refer broker from eventing v1beta1 APIs

* Add e2e test for refering default broker as sink

* Fix unit tests
2020-06-19 05:43:25 -07:00
Murugappan Chetty f869b44d66
add kn export type (#856)
* 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>
2020-06-18 02:33:25 -07:00
Roland Huß c7426459be
Refactor main flow and introduce explicit plugin and config handling (#877)
* 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>
2020-06-15 09:15:24 -07:00
Daniel Helfand 3f146b14db
Return Error Message from Using --untag with Nonexistent Tag (#880)
* return error message from using --untag with nonexistent tag

* improve err message for --untag and add e2e test

* change untagRevision to return bool and add traffic e2e tests

* update changelog
2020-06-10 23:22:23 -07:00
Chi Zhang 3c5ceff655
update test-infra to stop using serving.yaml (#876) 2020-06-04 23:32:18 -07:00
Navid Shaikh c1ab4ae863
Update flag names to --request and --limit (#872)
* Update flag names to --request and --limit

 - Use singular flag names and support comma separated or repeated flag values
 - Update tests and docs

* Update CHANGELOG

* Update the flag description and examples

* Remove release 0.15.0 header from CHANGELOG
2020-06-03 04:04:18 -07:00
Navid Shaikh af2d4c8f2a
chore(e2e): Run tests against serving and eventing 0.15 release (#868) 2020-06-02 02:05:16 -07:00
Daniel Helfand 834ee79049
do not check for plugin executable if none on path (#846) 2020-06-02 01:38:16 -07:00
dr.max e1ad66a60d
* allow plugins to extends all comamnd groups, e.g., kn-service-blah is OK (#834)
* prevent plugins that shadow commands of exsiting groups, e.g., kn-service-create is NOT OK
* list plugins that extend existing groups
* warn plugins that shadow command of existing groups
* add UTs for above
2020-06-01 03:07:03 -07:00
Navid Shaikh cdf6f29880
Add --requests and --limits resource flags (#859)
* Add --requests and --limits resource flags

  Fixes #490

  - Add deprecation message for --requests-cpu, --requests-memory,
  --limits-cpu and --limits-memory flag usage.

  - Add error message if new and deprecated, requests and limits flags
    are used together.

* Add resources requests and limits example for service create

* Add mock style unit tests

* Update existing unit tests for deprecated flags

* Add integration tests

* Add CHANGELOG entry

* Fix lint warnings

* Add unit tests for resource flags

* Fix typo for service name in e2e tests

* Refactor resource validation utility into test lib

* Remove commented out code

* Add references about managing resources and GPU in example

* Update image references in examples
2020-05-28 01:45:59 -07:00
Martin Gencur c6537a8e84
Update Tekton resources to v1beta1 (#861)
* Update to Tekton v1beta1

* replace PipelineResource with Task

* Pull kn task from github
2020-05-27 06:31:59 -07:00
Daniel Helfand 4b3b971ae5
remove use of os.Exit (#851) 2020-05-25 22:12:48 -07:00
Markus Thömmes 739e63f835
Replace pkg/errors with stdlib errors. (#853)
* Replace pkg/errors with stdlib errors.

* Add changelog entry.

* Fix changelog.
2020-05-25 08:10:47 -07:00
coryrc 2df459577e
Use test-infra direct insertion method (#840)
Now available from knative/test-infra repo directly.
2020-05-25 06:57:47 -07:00
Daniel Helfand 0df54bc500
refactor kn service delete --all e2e test (#837) 2020-05-15 04:09:00 -07:00
Navid Shaikh 20e1a79b62
fix(e2e): Create next namespace for e2e if one exists (#835)
* fix(e2e): Create next namespace if one exists

 Do not error out if the namespace to run e2e into exists, try creating
 next one in row. Retry at 20 next namespaces, before erroring out.

* Tag plugin tests as !serving and !eventing

* Debug: Create a test namespace to see if its skipped

* Revert "Debug: Create a test namespace to see if its skipped"

This reverts commit 8b45fcef4d.

* Refactor file utils from e2e tests to test lib
2020-05-14 04:33:59 -07:00
Daniel Helfand 6f615c6595
add kn service delete --all (#836) 2020-05-14 03:51:59 -07:00
Navid Shaikh e05c33447e
fix(e2e): Refactor e2e utils and resource actions (#832)
* fix(e2e): Refactor e2e utils and resource actions

 brings commonly re-used utilities into lib/test so they can be resused
 and e2e can be run selectively for eventing/serving.

* Refactor service and revision e2e test utils into test lib

* Docstrings for exported e2e test utils
2020-05-11 06:09:46 -07:00
Murugappan Chetty 644ecb68e5
refactor kn service export to export revisions (#819)
* refactor kn service export to export revisions

* refactor kn service export to export revisions

* refactor kn service export to export revisions

* refactor kn service export to export revisions

* kn service export refactor

* kn service export refactor

* kn service export refactor

* kn service export refactor

* review changes for #819
2020-05-05 02:19:44 -07:00
Roland Huß df9278743b
chore: Update to Knative serving/eventing 0.14.0 (#810)
* 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
2020-04-16 14:27:48 -07:00
Navid Shaikh ccf8b69fc3
chore(e2): Run tests against v0.14.0 release of serving, eventing (#807) 2020-04-15 08:05:48 -07:00
Navid Shaikh 98282307f6
e2e: Run tekton e2e against pipeline v0.11.1 (#803)
* Use buildah task from master branch and paramterize FORMAT

* Configure pipeline v0.11.1

* DNM: Run tekton e2e in this PR

* Revert "DNM: Run tekton e2e in this PR"

This reverts commit 903f5bec409c90174a37cc84acd561a405ef896e.
2020-04-14 23:40:47 -07:00
Navid Shaikh 48f4359b24
e2e: Foreground delete for revisions and services in e2e (#794)
* e2e: Foreground delete for revisions and services in e2e

 to avoid any race conditions and flakes

* Use --wait instead of --no-wait=false
2020-04-14 18:20:47 -07:00
Ying Chun Guo 2225b4c8dd
Fix resource listing with -oname flag (#799)
* Fix resource listing with -oname flag

* add e2e tests
2020-04-14 07:10:16 -07:00
Shashwathi 88109bd439
Add e2e test for different service and revision label (#766)
* Add e2e test for different service and revision label

- Store results from one call and validate both revision and service labels
- Update var name for more better readability

Signed-off-by: Andrew Su <asu@pivotal.io>

* Test verifies expected labels are exact match to received labels
2020-04-14 02:22:16 -07:00
Ying Chun Guo d725ef594a
Fix error when output is set to name (#775)
* fix error when output is set to name

* add e2e test

* change to flags/listprint.go
2020-04-13 21:58:15 -07:00
Doug Davis 030279be38
Add -a flag as alias for --annotations (#782)
I find that I'm using annotations more and more and since `-a`
wasn't being used I decided we should save people from typing too much

Signed-off-by: Doug Davis <dug@us.ibm.com>
2020-04-10 04:45:05 -07:00
Lv Jiawei deb96303dd
Add "--target-utilization" to manage "autoscaling.knative.dev/targetUtilizationPercentage" annotation (#788)
* Support setting "autoscaling.knative.dev/targetUtilizationPercentage" annotation.
2020-04-09 03:49:03 -07:00
dr.max 395fc6c3b2
fix(#772) refactored / simplified parameters to KnResultCollector (#773)
* fix(#772) refactored / simplified parameters to KnResultCollector

* added Teardown() call in VersionTest
2020-04-08 02:18:01 -07:00
Navid Shaikh d1eb9bcb71
Use vendored deps while running e2e locally (#783)
Also set GO111MODULE=on unconditionally
2020-04-07 16:26:08 -07:00
dr.max e524610b65
fix(769): various issues with godoc documents (#771) 2020-04-02 01:39:17 -07:00
dr.max df78b8b40c
(refactor) address the e2e extract / refactor of issue #763 (#765)
* (refactor) address the e2e extract / refactor of issue #763

* various updates to address reviewers feedback

* renamed lib/test/integration to lib/test and package to test
2020-04-01 09:21:18 -07:00
Navid Shaikh 062aeb9986
fix(e2e): Fix typos in TestBrokerTrigger (#747) 2020-03-19 01:14:06 -07:00
David Simansky 1b0e7124d7
fix(trigger): Fix filter delete for trigger update (#746) 2020-03-18 16:51:06 -07:00
David Simansky 58ee9c4788
fix(trigger): Make --filter flag truly optional (#745)
* fix(trigger): Make --filter flag truly optional

* fix(trigger): Update trigger docs

* chore: Update changelog
2020-03-18 06:39:06 -07:00
Murugappan Chetty a858a25135
e2e for service export (#739)
* e2e for service export

* e2e for service export

* e2e for service export

* e2e for service export

* e2e for service export
2020-03-17 15:29:05 -07:00
Ying Chun Guo 5ed62c801a
Verify "source ping describe" in ping e2e test (#727) 2020-03-11 00:32:29 -07:00
dr.max 2b9377d195
fixes(#606): adds --cluster-local / --no-cluster-local flags (#629)
When specified on 'service create' the '--cluster-local' flag will
make the created service 'private' by setting its config visibility
to 'cluster-local'. This is done with label:

serving.knative.dev/visibility: cluster-local

The --no-cluster-local will remove the label.
2020-03-10 14:24:29 -07:00
David Simansky 5ee9785b5f
fix(e2e): make local-e2e-tests.sh executable (#731) 2020-03-10 13:07:29 -07:00
David Simansky 8dbf4394a1
feat(trigger): add --inject-broker flag to trigger create command (#726)
* feat(trigger): annotate trigger to inject default broker

* chore: update changelog

* fix: reflect review feedback

* fix: code comment wording

* fix: reflect review feedback
2020-03-10 11:32:28 -07:00
Navid Shaikh 0d70b61615
chore(e2e): Support parsing int64 user id in test verification (#730) 2020-03-10 10:53:29 -07:00
Navid Shaikh ba7e14c807
feat(source): Add 'kn source list' (#666)
* 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>
2020-03-10 00:41:28 -07:00
Navid Shaikh 158c8f8980
fix(e2e): Restore local e2e test script (#708)
* fix(e2e): Restore local e2e test script

* Rename script to local-e2e-tests.sh and update test README
2020-03-09 10:46:32 -07:00
Matt Moore f9ccf36518
Format markdown (#710)
Produced via:
  `prettier --write --prose-wrap=always $(find -name '*.md' | grep -v vendor | grep -v .github)`
/assign maximilien rhuss
/cc maximilien rhuss
2020-03-09 09:19:28 -07:00
Navid Shaikh 34433f635e
fix(docs): Fix links to knative install and relative reference (#714)
- Setup Knative now points to https://knative.dev/docs/install/any-kubernetes-cluster/
 - Corrects the local link to docs/DEVELOPMENT.md
2020-03-09 08:05:28 -07:00
Roland Huß 46d5e60e42
refactor(source): Update to Knative eventing 0.13.0 (#705)
* 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
2020-03-06 13:47:27 -08:00
Ying Chun Guo e6c7d2859d
Add serviceaccount & resources config to cronjob source (#665)
Co-authored-by: Roland Huß <rhuss@redhat.com>
2020-03-04 00:51:53 -08:00
Navid Shaikh 136de19775
Re-enable markdown link check (#693)
* Re-enable markdown link check

 As https://github.com/raviqqe/liche/issues/33 is now fixed

* Update test-infra to latest
2020-03-03 09:22:53 -08:00
Navid Shaikh c1f3eb867b
fix(e2e): Update revision e2e tests (#696)
Fixes #695
 - Re-order revision tests operations to avoid any race condition that
   may cause.
2020-03-02 00:47:52 -08:00
Murugappan Chetty b95f40e2fe
add e2e for user flag (#692) 2020-02-29 09:22:52 -08:00
Ying Chun Guo ab00cc2969
fix for the failure of trigger e2e test (#690) 2020-02-28 02:36:51 -08:00
Ying Chun Guo d14c01fb5d
Allow configuration sink prefixes (#676) 2020-02-28 02:02:51 -08:00
Navid Shaikh 82381f36e4
chore(e2e): Increase e2e timeout to 45 minutes (#687)
Fixes #686

 - changed from 30m to 45m
2020-02-26 04:54:50 -08:00
Navid Shaikh e049ea9267
Disable markdown link check and enable presubmit test fail fast (#685)
sets `DISABLE_MD_LINK_CHECK=1` and `PRESUBMIT_TEST_FAIL_FAST=1`
2020-02-25 23:07:50 -08:00
Roland Huß c2dcb6b42d
chore(e2e): Minor cleanup (#670)
* chore(e2e): Minor cleanup

* chore(e2e): Remove t.Parallel() for the revision test

* chore: Some improvements wrt/ testing

* chore: fix formatting
2020-02-17 23:00:58 -08:00
Roland Huß a220a88534
chore(e2e): Refactor to better track errors (#667)
* 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
2020-02-16 23:52:10 -08:00
wslyln 12d718e7af
Support multiple arguments on revision delete (#657)
* added multiple parameters to revision and added e2e test

* add to changelog

* fix changelog table

* fix warning message and revision test

* remove commented lines

* remove 'successfully' from revision output

* added requires one or more revision name

* remove absent revision pre check

* re add nonexist revision

* fixed tests
2020-02-13 22:45:40 -08:00
Navid Shaikh 3019f6813b
e2e: Dump stdout and describe ksvc (#659)
if the service create/update command execution failed
2020-02-12 09:41:22 -08:00
Ying Chun Guo e0319177d6
Add E2E tests for trigger (#645)
* add integration test for trigger

* update doc
2020-02-12 06:27:22 -08:00
Navid Shaikh 15dec583ca
Implement human readable output for kn route describe (#643)
* Implement human readable output for kn route describe

 - Keeps the machine readable output
 - Align the command description text, check for single argument, reported error messages and unit tests in service, revision, route, source binding describe commands

* Dont print separate section for owner references

* Print Service heading irrespective of owner.Kind == Service

* Align desc, err msg for trigger, apiserver and cronjob source
2020-02-10 07:46:07 -08:00
David Simansky 8d2ecca7ae
Rename --async to --no-wait and deprecate it (#639)
* Rename --async to --no-wait and deprecate it

* Polish wording of deprecation warning message
2020-02-08 02:52:14 -08:00
Lv Jiawei 16bbfa37ed
Add E2E test for "kn source binding" commands (#634)
Fixes #631

* Add E2E test for "kn source binding" commands.
* Fix typo.
2020-02-07 14:37:14 -08:00
Roland Huß 1b9a76bc31
feature(serving): Update API to serving.knative.dev/v1 (#640)
* 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
2020-02-07 02:03:14 -08:00
David Simansky e88a873b27
Add e2e test for cmd and arg options (#637) 2020-02-05 09:50:31 -08:00
Roland Huß 0e5d1a86c8
chore(e2e): Update dependency to eventing v0.12.0 (#628)
* chore(e2e): Update dependency to eventing v0.12.0

* chore: update infa script dependencies

* chore: Update testinfra dep
2020-01-31 02:20:28 -08:00
dr.max 606de80741 fixes(#598): checks for namespace creation instead of waiting (#611) 2020-01-24 13:44:24 -08:00
Navid Shaikh 8c417c1226 Vendor serving v0.12.0 (#618)
- Vendor serving release v0.12.0
 - Update `kn version command` to print serving v0.12.0
 - Update latest release e2e tests script to setup serving v0.12.0

Co-authored-by: Roland Huß <rhuss@redhat.com>
2020-01-22 00:48:23 -08:00
Roland Huß 5001dcdc16 feature(serving): Add --autoscale-window (#614)
* feature(serving): Add --autoscale-window

Fixes #613

* chore: Update help-text for --autoscale-window

* chore: Add missing generated files
2020-01-22 00:18:23 -08:00
Murugappan Chetty de7e3880d4 Fix misleading error message when verb is bad (#589)
* validate sub command verb (#557)

* fix review comments for pr #555

* validate sub commands

* update error message

* use inner args returned by find func

* return appropriate error message for #557

* return appropriate error message for #557

* Revert "fix review comments for pr #555"

This reverts commit 14ea8d2dc6.

* review comments for pr 589

* misleading error message when verb is bad (#557)

* misleading error message when verb is bad (#557)

* misleading error message when verb is bad (#557)
2020-01-19 23:47:04 -08:00
Navid Shaikh 6ab9980e16 chore(e2e): Namespace specific k8s resources for tests (#597)
* chore(e2e): Namespace specific k8s resources for tests

 Completes #576
 - For ApiServer source: ClusteRole and ClusterRoleBinding name(s)
   are now test-namespace specific. They are cleared in test's tearDown method.
 - Use constant prefix as:
  clusterRolePrefix        = "apiserver-role-"
  clusterRoleBindingPrefix = "apiserver-binding-"
 - Use constant ServiceAccountName as:
  testServiceAccount = "apiserver-sa"
 - Rename methods and cleanup.

* Use correct format specifier for error as %v instead of %s
2020-01-10 06:50:56 -08:00
Navid Shaikh b8d571678f chore(e2e): Update tektoncd pipeline release to v0.9.2 (#594)
Fixes #601

 - Also replace deprecated `serviceAccount` with `serviceAccountName`
 - Sync helloworld test image code from https://github.com/knative/docs/tree/master/docs/serving/samples/hello-world/helloworld-go
 - Use local version of buildah task instead of one from catalog, adding `--format=docker` in `buildah bud` command
   - to build and push the image to registry in docker format to match the manifestype `application/vnd.docker.distribution.manifest.v2+json`
 - Update pipeline to add parameter BUILDER_IMAGE and sets it to quay.io/buildah/stable:latest
2020-01-10 03:42:56 -08:00
dr.max a0910db9a9 adds e2e tests for plugins (#591) 2020-01-09 01:25:54 -08:00
Murugappan Chetty 5ecad782d6 review comments for pr 555 (#602) 2020-01-08 15:17:53 -08:00
Martin Gencur 0aa2299818 Remove redundant cleanup in Tekton tests (#600)
* tear down only if the test passes, we want to keep the pods otherwise
so that the dump will show their errors
2020-01-07 10:17:51 -08:00
Lv Jiawei 9de6e612ef Add E2E tests for CronJob source (#599)
Fixes #566
2020-01-07 02:49:51 -08:00
Lv Jiawei e0877da3d6 Delete k8s cluster resource in e2e test (#596)
Fixes #576
2020-01-06 06:59:49 -08:00
Roland Huß b10580ff72 chore(trigger): Cleanup Trigger create API (#561)
* further updates

* chore: Fix calls to apiserver create

* fix namespace issue

* fix
2019-12-17 13:39:04 -08:00
Murugappan Chetty 8a9d8fcc94 Add readme for tests (#554) (#555)
* Add readme for tests (#554)

* add step to run test case selectively

* add step to run test case selectively

* add step to run test case selectively

* add step to run test case selectively

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* Update test/README.md

Co-Authored-By: Navid Shaikh <nshaikh@redhat.com>

* review changes for pr #555

* review changes for pr #555

* review changes for pr #555

* review changes for pr #555

* review changes for pr #555

* review changes for pr #555
2019-12-16 23:18:02 -08:00
Navid Shaikh 6ac25cdc00 Add ApiServer source update and describe commands (#556)
* Dont return created ApiServer source object but only error

 - After ApiServer source object is created, we don't need it to pass
   around in caller function.

* Align creating ApiServer source client, removes unit tests

* Add ApiServer source update command

* Rename TestMockKnClient to TestMockKnCronJobSourceClient

* Add mock client for ApiServer Source and its tests

* Add mock unit tests for create, delete and update

* Add e2e tests for apiserver source update

 - Add a test for apiserver source sink update
 - Verify the updated sink name after the apiserver source is created
 - Update resource names in existing tests

* Uses builder pattern for ApiServer source create command

* Update ApiServer source create/update flags and required config

* Uses builder pattern for ApiServer source update command

* Align create/update/delete description and error messages

* Add unit tests for get/create/update/delete in apiserver_client.go

* Update e2e tests expected output per change in commands output

* Golint fixes, Api -> API and add exported method docs

* Rename a test method and source update command description

* Add ApiServer source describe command

 - Add command and unit tests
 - TODO for later: Add 'Controller Selector' section for --verbose
2019-12-16 09:42:01 -08:00
Ying Chun Guo f4b5703972 add apiserver create/delete e2e test (#552) 2019-12-12 09:09:52 -08:00
Navid Shaikh 2c1e5dc88d Selectively run e2e tests for serving, eventing (#547)
- Run only serving specific e2e tests locally
  ```
  E2E_TAGS="serving" ./test/e2e-tests-local.sh
  ```

 - Run only eventing specific e2e tests locally
  ```
  E2E_TAGS="eventing" ./test/e2e-tests-local.sh
  ```

 - Run all e2e tests locally
  ```
  ./test/e2e-tests-local.sh
  ```
2019-12-11 03:58:48 -08:00
Navid Shaikh f0a40d1b4b Vendor eventing v0.11.0 and run tests against it (#546)
- 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
2019-12-11 00:21:48 -08:00
Navid Shaikh 4f0eb99f8e Vendor serving v0.11.0 and run tests against it (#545)
* Vendor serving v0.11.0

* Run tests against serving v0.11.0
2019-12-10 21:14:48 -08:00
Navid Shaikh 7dbb5a5bb0 kn source list-types (builtin types) (#536)
* 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
2019-12-10 11:20:47 -08:00
Murugappan Chetty 8e010d0cbd service describe command : Move Cluster URL to --verbose from default output (#543)
* move cluster url to verbose in svc desc

* move cluster url to verbose in svc desc
2019-12-09 23:55:46 -08:00
Chi Zhang a8e017b945 remove unused test flag (#540) 2019-12-08 23:16:44 -08:00
Navid Shaikh ed25066cf6 Eventing setup in CI (#538)
* 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
2019-12-06 10:39:40 -08:00
Martin Gencur 60567a9e37 Integration tests for Tekton (#528)
* 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
2019-12-06 05:03:39 -08:00
Navid Shaikh 339232b795 fix(e2e): Removes explicit timeout flag in smoke tests (#523)
Fixes #507

 - removes `--wait-timeout` flag, was set to 240 seconds which is lesser than the default timeout (600 seconds)
 - removes duplication of namespace flag in another smoke test command
2019-11-29 04:36:22 -08:00
Navid Shaikh 8de8e58de8 tests: Avoid downloading deps in unit tests (#525)
- Uses custom `unit_tests` function in presubmit-tests.sh to run unit tests
 - Custom function adds a flag `-mod=vendor` in addition to default unit tests runner
 - The deps are already downloaded part of the source repo, mentioned flag uses it (vendor dir)
   and avoids downloading the deps afresh
 - This prevents(in unit tests) the flake we see 'go: error loading module requirements' which occurs
   due to download error
2019-11-29 00:46:23 -08:00
Navid Shaikh 7024933f0a fix(e2e): Removes workaround for ensuring LCR=LRR at client side (#524)
Related to #500

 - The fix for serving#6060 merged (serving#6069), removing the workaround
   at client side e2e tests for additional LCR=LRR check after service update return.
 - Now we expect service status to have LCR=LRR if the service's conditions turned True after last update.
2019-11-28 00:40:22 -08:00
chaodaiG 0efde628cb Remove explicit flag parsing so that it works with go1.13 (#522) 2019-11-27 22:13:22 -08:00
Navid Shaikh 5b7a714021 chore(e2e): Run e2e against latest released serving version v0.10.0 (#501)
- This changeset updates serving version for pull-knative-client-integration-tests-latest-release
 - Serving nightly release is tested in prow job pull-knative-client-integration-tests
2019-11-19 03:52:08 -08:00
Navid Shaikh 35667391ae Verify service status before verifying traffic targets (#508)
- Verify service status LCR=LCR before verifying traffic targets
 - Retry 5 times with 2 seconds delay, else fail the tests
2019-11-19 02:50:07 -08:00
Navid Shaikh 1bcec16b24 Uses BYO revision names for traffic splitting e2e tests (#506)
* Uses BYO revision names for traffic splitting e2e tests

 - Avoid getting the revision name after service create/update using LCR or LRR from service status

* Pauses 3 seconds before verifying actual vs expected traffic targets

 - for traffic splitting e2e tests
 - Check the comment on https://github.com/knative/client/issues/500#issuecomment-554355688
2019-11-15 07:36:02 -08:00
Ying Chun Guo 5fc8197028 Support multiple NAMEs on service delete (#492)
* Support multiple NAMEs on service delete

* add e2e test
2019-11-12 03:02:23 -08:00
Roland Huß e6f15f9b58 fix(service describe): Clarify URL labels (#460)
* fix(service describe): Clarify URL labels

Fixes #459.

* fix: integration test
2019-11-05 21:11:02 -08:00
Naomi Seyfer 4874b9a384 Human-readable revision describe (#475)
* 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
2019-11-05 17:43:02 -08:00
Gong Zhang f77c034c4a Refine route list output (#407)
- Only show NAME/URL/READY

[issue 350](https://github.com/knative/client/issues/350)
2019-10-22 23:33:27 -07:00
Navid Shaikh df04573590 fix(version): Displays supported APIs and version (#453)
* fix(version): Displays supported APIs and version

 Fixes #404

 ```
  ./kn version
Version:      v20191017-local-6328a73-dirty
Build Date:   2019-10-17 09:55:55
Git Revision: 6328a73
Supported APIs:
- serving.knative.dev/v1alpha1 (knative-serving v0.8.0)
 ```

* Removes ServingVersion feeding from ldflags

 - hardcodes the supported APIs as they're supposed to be updated when we bump deps

* Fixes typo in e2e tests

* Uses array for deterministic order of printing supported APIs
2019-10-18 03:35:18 -07:00
Navid Shaikh 96c8028de1 fix(e2e): Improves the error message upon mismatch of traffic targets (#454)
* fix(e2e): Improves the error message upon mismatch of traffic targets

 Fixes #434
 - The error message now prints the expected/actual length of traffic targets
 - Also prints the actual traffic targets

* Fixes Golint errors

  Golint errors: should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...).
2019-10-17 09:32:16 -07:00
Navid Shaikh 039cdfcc09 fix(e2e): Uses serving v0.8.1 in custom prow job (#452)
s/v0.7.1/v0.8.1
2019-10-16 03:16:15 -07:00
Roland Huß a2d1ef7d83 chore(service): Improvements for waiting on service readiness (#431)
* 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.
2019-10-10 06:06:06 -07:00
Navid Shaikh 2f7fa6a7c2 feat(annotations): Adds annotation flag for service create and update (#422)
* feat(annotations): Adds annotation flag for service create and update

  - Adds specified annotations to service object meta and revision template meta
  - Adds --annotation / -a flag to service create and update options
  - User can specify '-' at the end of the annotation key to remove an annotation
  - Adds unit and e2e tests
  - Updates docs and changelog accordingly

* Adds example for service create with annotation

* Adds mock unit tests for service update with annotations

* Removes the short hand -a for annotation flag
2019-10-04 06:40:05 -07:00
Naomi Seyfer b27e366dcb Service describe: information about revision status, tags, latest [created, ready] revisions, and latest traffic (#379)
* 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
2019-10-03 11:33:08 -07:00
Naomi Seyfer 0ff537ad98 By default, set `Image` to the image of the prev. revision by digest (#373)
* Option to freeze revision to digest

* Tests pass. Checkpoint.

* Tests for env now check pinning to digest

* Bool flag using convention. Tweak usage.

* Describing the image carefully using the annotation and digest

* lint

* Test matrix of locking to digest behaviors

* Expose both flags, and rewrite help text again

* Unit tests.

* Removed unsed method

* Add tests for getting base revision

* Make tests actually test stuff better

* Make tests actually test stuff better

* A mergeout killed a returning of error. Restore it

* Help text again
2019-08-27 11:42:40 -07:00
Navid Shaikh 10f981ccaa Ensures kn cross platform build works in presubmit tests (#385)
Fixes #364

 - Ensure kn cross platform build works in pre-submit tests
 - Run ./hack/build.sh -x after running existing pre-submit tests
 - defines a function post_build_tests to invoke cross platform builds
 - post_build_tests will be run by test-infra after build tests are compelete
2019-08-26 10:59:17 -07:00
Toshinori Sugita 699ac5e7cb fix lint errors (#388)
* fix typo (misspell)

* ineffectual assignment to err (ineffassign)

* if block ends with a return statement, so drop this else and outdent its block (golint)

* should replace errors.New(fmt.Sprintf(...)) with fmt.Errorf(...) (golint)

* struct field LogHttp should be LogHTTP (golint)

* fix last typo
2019-08-24 22:46:13 -07:00
Roland Huß 9625b5f4c5 chore(plugins, services, routes): Aligned "Not found" messages (#359)
For the sake of consistency with out own service commands and for kubectl,

`kn plugin list` should print:

```
No plugins found.
```

`kn service list` should print:

```
No services found.
```

and not `No resources found.` like it does now.

Same for `kn routes list`.
2019-08-22 00:23:32 -07:00
Naomi Seyfer 223ff5316a Pass on args to e2e tests for local script (#382) 2019-08-21 15:46:33 -07:00
Naomi Seyfer 7b90959033 Fix json path to latest revision in e2e tests to something reliable (#376) 2019-08-19 22:31:04 -07:00
Naomi Seyfer 25c726453e Update serving dependency to 0.8; change all import paths (#368)
* 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
2019-08-15 18:09:08 -07:00
Navid Shaikh 746dacc47c feature(service): Implements traffic splitting and tagging targets (#345)
- 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
2019-08-15 10:56:08 -07:00
Roland Huß f7bec15480 fix(test): Give the namespace some time setup (#348)
Supposed to fix #329
2019-08-08 12:10:57 -07:00