Commit Graph

90 Commits

Author SHA1 Message Date
Nghia Tran a851d2b718 Fix error messages for missing traffic targets. (#1556)
* Fix error messages for missing traffic targets.

* Add tests for uncovered new functions

* Update per PR feedback

* Add missed files.

* Update per PR feedback.
2018-07-11 20:47:34 -07:00
jonjohnsonjr 1f4b8af54c Add ko local flag to kube cluster instructions (#1546)
* Add ko local flag to kube cluster instructions

* Address feedback

* Comments
2018-07-09 18:33:33 -07:00
Zhimin Xiang f27c719d2e Replace Ingress with Gateway in the instruction of setting up static IP (#1456)
* Replace Ingress with Gateway

* fix typos

* fix typo
2018-07-02 21:49:19 -07:00
Bernd Krannich 445c445e30 Fix Kibana UI link (#1435) 2018-07-02 01:03:19 -07:00
Jason Hall a1b43fbe48 Update Build vendor (#1384)
* Update build vendor, fix tests

* Update build.dev references

* update commit

* Update build vendor, fix tests

* update commit

* update

* update build/release.yaml

* Update samples to use revision instead of branch

* update dep
2018-07-01 19:38:26 -07:00
jonjohnsonjr 7aa1bdaf3b gofmt telemetry.md example (#1393) 2018-06-29 15:56:38 -07:00
Nghia Tran 519d3c0611 Migrate to Istio v1alpha3 Gateway / VirtualService (#1228)
* Move to using Istio v1alpha3 API.

* Removing ingressInformer from controllers since we no longer need.

* Update typo and utilization target for HPA.

* Add README.md to explain how we create these types.

* Update per PR feedback

* Update per PR feedback.

* Add back the timeout settings.

The timeout headers were added when we used v1alpha2 in order to allow
more time for 0->1 scaling.  I accidentally undo that change when
moving to v1alpha3.  This adds it back.

* Run hack/update-codegen.sh.

* Update per PR feedback.

* Update per PR feedback.

* Update per PR feedback.
2018-06-29 11:33:36 -07:00
Sukhil Suresh eb9210501c Certain registries can now skip tag to digest resolving (#1390)
By default the controller is configured to skip resolving
for the following registries:
- ko.local
- dev.local

This should address issue #1093

Co-authored-by: Sukhil Suresh <ssuresh@pivotal.io>
2018-06-29 09:49:42 -07:00
jonjohnsonjr 73ae06d6cd Remove lingering use of glog (#1391)
* Remove lingering use of glog

We can't remove it as a dependency, since we need to set its verbosity
level in test/logging.go still.

We can't remove it from pkg/client/clientset/versioned/clientset.go
because it's generated.

This also leaves some references to glog in docs/telemetry.md, since
it's not clear what we should recommend.

* Remove generating logs section
2018-06-28 14:47:53 -07:00
jonjohnsonjr ca31cf0407 Rename ela things (#1378)
Notably, ela-prow and elafros-e2e-tests, and image names are left.
2018-06-27 21:37:15 -07:00
Christie Wilson ad4d987f60 Update minikube docs post rename (#1332)
The docs for setting up minikube were using the namespaces and
resource names from elafros instead of knative. The naming changed
slightly, e.g. a knative controller is now called `controller`
instead of `knative-serving-controller`, so one of the loops had
to be broken into 2 statements.

Added steps about redeploying pods after setting up GCR
secrets b/c there is a chicken and egg problem where the namespaces
must exist before you can setup the secrets, but the secrets must
exist before the images can be pulled.

The PR that enabled `MutatingAdmissionWebhook` by default
(https://github.com/kubernetes/minikube/pull/2547) was merged, but
the latest minikube (0.28.0) still did not enable this option
by default b/c providing any arugments overrides all of the defaults,
so we must still set it explicitly.

Made it clear in the setting up knative serving docs that the cluster
admin binding is required, not just for istio.

Use a `NodePort` instead of a `LoadBalancer`
(see https://github.com/kubernetes/minikube/issues/384) - another
step along the road to #608.
2018-06-27 15:04:21 -07:00
Zhimin Xiang c9b08fe9ca Instruction to set static IP for Ingresses (#1275)
* add instruction to set static IP for Ingresses

* Add link in DEVELOPMENT.md to reference setting-up-ingress-static-ip doc

* fix typos

* fix typos

* Update the doc to use 'kubectl patch' to update istio-ingress service IP

* rephrase the doc a little bit

* fix typos

* fix nits

* wrap each line to 80 characters
2018-06-26 18:04:20 -07:00
Sam O'Dell 896bd5dac0 Updates to application debugging and telemetry documentation (#1258)
* Updates to debugging guide

* Update telemetry.md

Edit for clarity, add screenshots, steps, etc. Still need to upload screenshots and add in links

* Add two screenshots of the Kibana UI

* Add urls to screenshots

* Adding troubleshooting on Istio routing

Needs to be more actionable, but this is a start.

* Wording, grammer, etc.

* Typo fix

* Update telemetry.md

* Update telemetry.md

* Update telemetry.md

* Addressing Ivan's comments

* Remove reference to Pantheon

* Update telemetry.md

Clarify the relationship between Kibana and Elasticsearch

* Fixing whitespace so list renders properly

* Responding to Evan's comments

* More updates from Evan's PR comments

* Created a /docs/images folder for Kibana screenshots, fixed line wrapping.

* Adding docs/images folder.

* Making links to images relative.

* Removed hover text from link.
2018-06-26 17:24:21 -07:00
Thomas Risberg 6d3a3c5f47 Rename namespace to knative-serving (#1325) 2018-06-25 14:23:20 -07:00
Nghia Tran fd5b2b3d1e Update instruction to use latest GKE and COS image. (#1294)
* Update to use latest GKE and COS image.

* Fix e2e test, again

* Fix kubetest extract strategy

* Add back the node-image option
2018-06-21 10:37:19 -07:00
jonjohnsonjr 79b0e5879b Proposal: More uniform conditions (#1266)
* Conditions proposal

Replace LatestRevisionReady condition with:
Configuration.Status.Ready
Service.Status.ConfigurationReady

Updated Service Status to include:
Ready
ConfigurationReady
RouteReady

The overall condition of any resource can be checked by looking at its
Ready condition. This simplifies the logic for clients that need to poll
for Readiness.

For Service, the status of its owned resources can be checked by looking
at its ConfigurationReady and RouteReady conditions. This saves clients
from having to perform an extra hop to determine why a Service is not
Ready. The Ready condition of a Service should reflect a union of the
Ready conditions of its owned Configuration and Route.

Also fix typo: s/meassage/message/

* Pluralize conditions

* Add missing condition to errors example
2018-06-21 08:44:18 -07:00
Glyn Normington 62595dbc36 Retired serving state is not set anywhere (#1204) 2018-06-15 12:50:26 -07:00
Thomas Risberg 0427e45fe1 Changing Minikube instructions to use kubeadm as the bootstrapper (#1192)
- changing to k8s v1.10.4

- changing extra-config options to use kubeadm style keys
2018-06-14 13:24:16 -07:00
Ryan Gregg 8128e72a01 Fix typo (#1182) 2018-06-12 16:08:15 -07:00
Joseph Burnett fe22ba2887 Move scaling documentation to docs (#1170)
* Add scaling folder.

* Move autoscaling roadmap.

* Pointer to the new scaling docs folder.

* Update README.md

* Fix autoscaler.go link.
2018-06-12 12:17:15 -07:00
Evan Anderson f976fde906 Remove docs/overview in favor of a link to slides presentation. (#1099)
The slides were the original form of this content, and we don't need to keep it in two places now that we have an easy way to share Google Docs.
2018-06-12 11:13:15 -07:00
Matt Moore 6d7c3b6bf6 Move revision condition manipulation to _types.go (#1118)
* Move revision condition manipulation into revision_types.go

This is the Revision equivalent of #1113

This contains two other unrelated changes:
1. Condense the object construction in `revision_test.go`
1. Reorder the `helloworld` yaml to create the configuration first.

The reason for the second "unrelated" change is that I was seeing the route controller marking the Route as "AllTrafficAssigned = False" because the configuration wasn't created yet.

* Update the conditions spec to eliminate wording about elision.

Eliding conditions can come later, it's a premature optimization,
and I'm not sure we're handling conditions well enough to do it
reliably yet.

* Fix test breakages due to setCondition becoming private.

* Add unit test coverage of the condition logic.

* Clarify isBuildDone through local variable names.
2018-06-11 12:48:15 -07:00
Sukhil Suresh ea0bba0954 Command group name has to be `clusters` instead of `cluster` for (step 5); the `get-credentials` sample command (#1125)
Failed with group name `cluster`:
```
± |master ✓| → gcloud container cluster get-credentials ssuresh-knative-dev
ERROR: (gcloud.container) Invalid choice: 'cluster'. Did you mean 'clusters'?
Usage: gcloud container [optional flags] <group | command>
  group may be           builds | clusters | images | node-pools | operations
  command may be         get-server-config

For detailed information on this command and its flags, run:
  gcloud container --help
```

Works with group name `clusters`:
```
± |master ✓| → gcloud container clusters get-credentials ssuresh-knative-dev
Fetching cluster endpoint and auth data.
kubeconfig entry generated for ssuresh-knative-dev.
```
2018-06-11 11:18:15 -07:00
Evan Anderson 9b8ed3a237 Add notes about how to use `gcloud container clusters get-credentials` (#1111) 2018-06-08 11:00:14 -07:00
Matt Moore 15e4430932 Add an IngressReady condition. (#1086)
Today the "Ready" condition strictly reflects whether the ingress has become available and not whether the revisions they route two have been programmed into route rules.  In #986 Jon is adding AllTrafficAssigned to cover revision readiness, but this doesn't change the fact that the ingress becoming ready will cause the Route to become "Ready", even if traffic is unassigned.

This changes the original sense of "Ready" into "IngressReady", and predicates the new "Ready" on "IngressReady" and "AllTrafficAssigned".

Progress on: https://github.com/knative/serving/issues/1056
Fixes: https://github.com/knative/serving/issues/1074
2018-06-08 09:27:14 -07:00
akyyy ab200ff1cb add monitoring cleanup in the doc (#1064)
* add monitoring cleanup in the doc

* typo
2018-06-07 10:56:13 -07:00
Yanwei Guo a7d6a930b0 Add Stackdriver as alternative logging destination (#936)
* add google_cloud output plugin

* refactored structure

* modified readme

* add readme files and rename fluent-es

* unchange the flentd sidecar image

* address comments for first round

* add comment for dev and prod configs

* rename remainding fluent-es

* config for sidecar and daemonset may be different

* remove servicemonitor for fluentd-ds

* change fluentd-es to fluentd-ds

* change stackdriver logging viewer url

* explictly specify the port for forwarding

* rename config/monitoring:everything to config/monitoring:everything-es

* rename elafros to knative

* renamed

* fix a conflict

* changed doc

* rename

* remove space

* rename

* fixed typo and remove BUILD and METADATA files

* add the LICENSE file back

* add the LICENSE file back
2018-06-06 16:29:08 -07:00
jonjohnsonjr ff2a6276b9 Rename most ela-* things (#1045)
* Rename most ela-* things

Left `ela-prow` since that is an external dependency that might break.

* Fix filenames

* Revert some e2e test changes

* attempt to fight the Walk function

* Address feedback

* Rearrange yaml order

Attempt to reflect the important-looking order from bazel's build rules.

See: a15e38795b/config/BUILD.bazel (L121-L138)
2018-06-05 11:10:13 -07:00
Matt Moore 3840c7a74c [WIP] Remove Bazel from knative/serving (#1032) 2018-06-05 07:10:13 -07:00
jonjohnsonjr 6dda4f8465 s/ela-system/knative-serving-system/g (#1042)
Rename "ela-system" namespace to "knative-serving-system"

Fixes #1034.
2018-06-04 14:29:12 -07:00
Matt Moore 161f005dbc Switch e2e and docs to use GKE 1.10 now that it is GA. (#945)
* Switch e2e and docs to use GKE 1.10 now that it is GA.

* Use Ubuntu images until the kernel bug is fixed in COS.

* Correct the minikube version.
2018-06-04 08:59:12 -07:00
Matt Moore 56f12ce50a Rename Elafros to Knative Serving in non-Community markdown files. (#1019) 2018-06-01 13:15:11 -07:00
Scott Andrews 6de1824390 Rename the CRD group to serving.knative.dev (#1013)
Other Knative projects use the project name in the CRD group. Now that
the Serving project is no longer called "elafros", the project name
should be included in the CRD group namespace.

This is a breaking change, but aligns well with the other breakages
caused by the rename.

I intentionally did not update name for resource labels or for logging.

In docs there were a few references to CRDs from the build project.
Those CRD groups are now called build.knative.dev.
2018-06-01 12:54:11 -07:00
Ville Aikas 86ea1a1976 Rename repo to knative (#1009)
* elafros/elafros -> knative/service

* replace elafros with knative

* changed ela package to serving

* change elafros/build to knative/build and newer version

* things are running mostly

* address build / test failures

* address integration test failures

* repo has not chnaged
2018-05-31 17:21:11 -07:00
Mustafa Demirhan 3701b6192e Added information on how to open logs for a config, revision and build to telemetry documentation. (#943) 2018-05-30 14:20:10 -07:00
Christie Wilson 07c926d956 Update condition `type` in spec and do not assert against `reason` (#903)
* Some spec docs were using `RolloutComplete` for the condition type,
  however as errors.md documents and as discussed in #351, the type
  should actually be `Ready`
* The conformance tests were asserting against the condition `Reason`
  but as per #351 and errors.md, values in this field are for the
  user to consume and should be transpart to client applications.
* errors.md didn't make the latter as clear as mattmoor@'s comment
  in #351 so I copied some of his comment into the doc

Also reorganized some of errors.md to make it easier to identify,
by field, what requirements are.
2018-05-29 17:40:10 -07:00
Mustafa Demirhan f790e93b20 Remove Prometheus Operator dependency (#960)
* Remove the usage of prometheus operator and manage prometheus instances ourselves. This is needed because prometheus operator doesn't work with kubernetes 1.10 yet and we need that support. We are not making use of prometheus operator capabilities yet, so there is no functionality lost.

* Add OWNERS files to monitoring related folders.
2018-05-24 17:31:08 -07:00
jonjohnsonjr 29655efa09 Update spec for AllTrafficAssigned conditions (#840)
Instead of setting the name of a missing Revision to "Not found" in
`status.traffic`, just omit the revision entirely, since the error is already
communicated via the conditions' reasons.

Also s/TrafficDropped/AllTrafficAssigned/ to fix outdated docs.
2018-05-23 22:12:08 -07:00
Matt Moore 2f6b12db5e Add `ko` to our DEVELOPMENT documentation. (#909) 2018-05-18 07:54:05 -07:00
Brenda Chan f529c4b373 Generates logURL for revision (#831)
* Generates logURL for revision
- Uses 'logging.revision-url-template' in ela config to generate
revision URL for a specific revision.
https://github.com/elafros/elafros/issues/649
2018-05-11 10:09:48 -07:00
jonjohnsonjr afada8dae6 Clarify "happy state" condition types (#869)
It wasn't completely clear that "this" and "object name" refer to the
condition Type.
2018-05-10 11:07:24 -07:00
Matt Moore 60c27893f4 Complete the vendoring of elafros/build. (#830)
This completes the process from #829 and removes the WORKSPACE dependency on elafros/build. We now rely on a copy of the release.yaml that was published from elafros/build's nightly release.

This also updates the revision of Build that we depend on to reflect the release.yaml we are pulling in.

Fixes: #270
2018-05-08 14:04:24 -07:00
Evan Anderson 1ec350998b Service docs (#685)
* Initial checkin of Service docs (aka "Steve")

* Partial checkpoint on updating spec

* Add service to images

Adds Service to images

* Update the rest of examples

* Reorder errors to group logically into deployment and routing errors.

Introduce Service error documentation, and structure error blocks to show how Service aggregates errors from Route and Configuration.

* Address small comments from @vaikas-google and @mattmoor. Did not refactor service.pinned behavior.
2018-05-07 10:59:23 -07:00
Thomas Risberg c97e773daf Minikube doc updates (#802)
* Remove SecurityContextDeny from minikube instructions

Fixes #507

* Updated docs to work with minikube v0.26.0 and later

Fixes #801

- use explicit bootstrapper arg and

- also added a macOS specific startup command for easier cut-and-paste.

* Fix typo

* Switch to use `hyperkit` vm-driver instead of `xhyve` on macOS
2018-05-07 10:33:24 -07:00
Joseph Burnett 9f3d18b16f Single concurrency mode (#749)
* Implement Revision `concurrencyModel`, defaulting to `Multi`.
  * When concurrency model is `Single`, enforces one request at time in each pod.
  * Create separate target concurrency parameters for `Multi` and `Single` modes.
2018-05-03 11:16:32 -07:00
Christie Wilson 1b84d09106 Add docs re. keeping spec/implementation/conformance tests in sync (#781)
Created a README in docs/spec to list the docs in the dir and
indicate that changes to these docs should be kept in syn with
both the implementation and teh conformance tests. Folks who
are changing the API should also be responsible for updating
the docs and making sure their changes are covered by the
conformance tests.

In #780 we will look at checking this in PRs so we don't have to hope
folks will see the docs.

Fixes #592.
2018-05-03 10:32:20 +02:00
Mustafa Demirhan 501e8cca82 Autoscaler metrics and performance investigation guide (#789)
Fixes #578 and #493
* Added a document titled "Investigating Performance Issues" - this document will guide users through debugging application performance issues and will show how they can use the observability features offered by Elafros to identify such issues.
* Added metrics and a dashboard for autoscaler component and documented how it is used in the guide above.
2018-05-01 15:01:55 -07:00
Evan Anderson 9cf3c0879c Make all Conditions positive terminating conditions (#733)
* Update error documentation to address #351

* Update Condition usage to match spec described in #351

* Change "deploying" state to Ready=Unknown rather than Ready=False. Also re-add the "IsFailed" condition, keying off of non-Ready conditions on the revision.

* Address review comments by @sixolet and @mattmoor

* Updated per @sixolet and @mattmoor discussions.

* Update semantics on Ready, which should catch my true/false screwup on BuildSucceeded=False

* Fix added test that was failing in merge.

* Rerun update-codegen.sh

* Also need to update conformance test
2018-04-27 16:53:20 -07:00
akyyy 940b26614e Update Gke version (#702)
* update gke version in e2e test

* update gke version
2018-04-20 15:28:09 -07:00
Mustafa Demirhan 5a38964bd0 Add HTTP request dashboard for revisions (#696)
* Add revision and configuration specific request metrics.
* Add revision request dashboard.
* Update documentation with dashboard information.
2018-04-20 12:04:28 -07:00