Skip to content

Disabling config validation doesn't actually seem to disable it #27868

@Stono

Description

@Stono

Bug description
Hey,
We have .Values.global.configValidation: false in our installation options, however we still get a ValidatingWebhookConfiguration generated from istioctl generate-manifests.

We explicitly ignore that file in our templating to work around this, but then istiod is full of spammy logs like this:

istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:43.926055Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:43.928898Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:43.929126Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:44.929083Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:44.978814Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:44.979049Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:45.979007Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:45.982631Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:45.982835Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:46.982778Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:46.986500Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:46.986701Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:47.986708Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:47.989817Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:47.990110Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:48.990059Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:48.993643Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:48.993841Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:49.993844Z    info    validationController    Reconcile(enter): retry dry-run creation of invalid config
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:49.997637Z    info    validationController    Not ready to switch validation to fail-closed: dummy invalid config not rejected
istiod-8b6c5dcc6-d2sdt discovery 2020-10-10T17:36:49.997842Z    warn    validationController    validatingwebhookconfiguration.admissionregistration.k8s.io "istiod-istio-system" not found

Which looks like its continually running some sort of test?

We want to minimise the amount of change between 1.5 -> 1.6, so do not wish to run with a webhook validating resources for now.

[ ] Docs
[x] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[x] Developer Infrastructure

Expected behavior
The config option to disable the webhook and any logic in istiod around config validation.

Steps to reproduce the bug

Version (include the output of istioctl version --remote and kubectl version --short and helm version if you used Helm)
1.6.12

How was Istio installed?
Helm

Environment where bug was observed (cloud vendor, OS, etc)

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/environmentslifecycle/automatically-closedIndicates a PR or issue that has been closed automatically.lifecycle/staleIndicates a PR or issue hasn't been manipulated by an Istio team member for a while

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions