Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Drop /var/log support #7751

Closed
wants to merge 4 commits into from

Conversation

dprotaso
Copy link
Member

Fixes #6147

Proposed Changes

  • Update the runtime contract to make support collecting logs under /var/log` optional
  • The /var/log support currently in serving is coupled with the existing monitoring bundle. Since that monitoring bundle is being deprecated were going to drop support for it

Release Note

Collection of logs under /var/log is now optional per the runtime contract and the functionality has been removed

@knative-prow-robot knative-prow-robot added the do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. label Apr 28, 2020
@googlebot googlebot added the cla: yes Indicates the PR's author has signed the CLA. label Apr 28, 2020
@knative-prow-robot knative-prow-robot added the size/L Denotes a PR that changes 100-499 lines, ignoring generated files. label Apr 28, 2020
Copy link
Contributor

@knative-prow-robot knative-prow-robot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@dprotaso: 0 warnings.

In response to this:

Fixes #6147

Proposed Changes

  • Update the runtime contract to make support collecting logs under /var/log` optional
  • The /var/log support currently in serving is coupled with the existing monitoring bundle. Since that monitoring bundle is being deprecated were going to drop support for it

Release Note

Collection of logs under /var/log is now optional per the runtime contract and the functionality has been removed

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@knative-prow-robot knative-prow-robot added area/API API objects and controllers area/networking labels Apr 28, 2020
@knative-prow-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: dprotaso
To complete the pull request process, please assign vaikas
You can assign the PR to them by writing /assign @vaikas in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Copy link
Member

@mattmoor mattmoor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Produced via:
prettier --write --prose-wrap=always $(find -name '*.md' | grep -v vendor | grep -v .github | grep -v docs/cmd/)

Copy link
Member

@mattmoor mattmoor left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Produced via:
prettier --write --prose-wrap=always $(find -name '*.md' | grep -v vendor | grep -v .github | grep -v docs/cmd/)

docs/runtime-contract.md Outdated Show resolved Hide resolved
@dprotaso
Copy link
Member Author

/assign @JRBANCEL

@JRBANCEL
Copy link
Contributor

JRBANCEL commented Apr 28, 2020

What is the depreciation process in Knative?
We can't drop a feature like this without knowing who is using it, can we?

@vagababov
Copy link
Contributor

I guess this deserves a mention at the API WG.
But we're relaxing restraints so it's not dropping feature?

@JRBANCEL
Copy link
Contributor

But we're relaxing restraints so it's not dropping feature?

How is removing the code implementing the feature not dropping the feature?

@vagababov
Copy link
Contributor

🤷
I read the optional part :)

@dprotaso
Copy link
Member Author

FYI - I'm in no rush to merge this

This should be paired with the deprecation & removal of the monitoring bundle. This was mentioned in the 0.14.0 release notes

@mattmoor
Copy link
Member

Let's discuss tomorrow, but I think we're stuck with this for the duration of the deprecation period.

The monitoring bundle was alpha / PoC, but this was part of our v1 runtime contract, so it's a higher bar.

@dprotaso
Copy link
Member Author

dprotaso commented Apr 29, 2020

Here's the raw download stats of our release yamls - which might be a rough measure of interest?

See gist
https://gist.github.com/dprotaso/e3caa7a5756c6be66a4f810e131dfa3a

@knative-prow-robot
Copy link
Contributor

@dprotaso: The following tests failed, say /retest to rerun all failed tests:

Test name Commit Details Rerun command
pull-knative-serving-build-tests 1bf04be link /test pull-knative-serving-build-tests
pull-knative-serving-integration-tests 1bf04be link /test pull-knative-serving-integration-tests

Full PR test history. Your PR dashboard.

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@knative-test-reporter-robot

The following jobs failed:

Test name Triggers Retries
pull-knative-serving-integration-tests pull-knative-serving-integration-tests
pull-knative-serving-integration-tests
pull-knative-serving-integration-tests
pull-knative-serving-integration-tests
3/3

Job pull-knative-serving-integration-tests expended all 3 retries without success.

@dprotaso
Copy link
Member Author

dprotaso commented Apr 30, 2020

@JRBANCEL From the WG meeting discussion a suggested approach could be:

  1. Make /var/log optional in the runtime contract
  2. Instead of dropping support in the upstream we change the behaviour to:
    2.1 When /var/log collection is enabled by the operator we keep the same behaviour as is
    2.2 When /var/log collection is disabled by the operator we do not mount the read/writable /var/log volume
    2.2 We can still drop the queue proxy logic with the subpath expression but it'll require changes to the monitoring bundle (ie. the regex)

For 2.1 we could also move the logic to add the volumes to a webhook

@JRBANCEL
Copy link
Contributor

Sound like a plan 👍

About 2.2, there only problem with this approach is that then enabling the feature has potential to break existing working services.

@dprotaso dprotaso mentioned this pull request May 7, 2020
@dprotaso
Copy link
Member Author

dprotaso commented May 7, 2020

Closing in favour of moving the discussion to the issue #7881

@dprotaso dprotaso closed this May 7, 2020
@dprotaso dprotaso deleted the drop-var-log-support branch May 7, 2020 16:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/API API objects and controllers area/monitoring area/networking cla: yes Indicates the PR's author has signed the CLA. do-not-merge/work-in-progress Indicates that a PR should not merge because it is a work in progress. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Stop mounting an emptyDir to /var/log
7 participants