* 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.
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>
* 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
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.
* 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
* 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.
* 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
* 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.
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.
```
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
* 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
* 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)
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.
* 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
* 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.
* 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.
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.
* 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
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
* 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.
* 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
* 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.
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.
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.
* 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