* 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
* Update the API spec and overview to reflect ServingState intent.
I've reworded the description of a Revision in the overview docs to capture some of the key lifecycle stages a revision may be in. I also found the existing wording confusing, since it talked about "history", which is more a property of configuration that is enabled by retirement, and I think the new wording better captures this.
I've updated the specification to include `servingState`, clarify where fields aren't available (pointing to issues), and tweak assorted cosmetic things (e.g. trailing whitespace).
Fixes: https://github.com/elafros/elafros/issues/644
* Clarify that blocking Revision creation is NYI (link to issue).
* Various code review updated from @evankanderson and @grantr.
* Update personas to include text description of each persona, including notes from @mchmarny slides. Also fix formatting.
* Fix bullet point.
* Move build/event personas to appropriate repos.