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

Validation fails due to outdated schema (OCP version difference) #16

Open
tumido opened this issue Sep 23, 2022 · 6 comments
Open

Validation fails due to outdated schema (OCP version difference) #16

tumido opened this issue Sep 23, 2022 · 6 comments
Assignees
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.

Comments

@tumido
Copy link
Member

tumido commented Sep 23, 2022

The thing we've been afraid of just happened.

Kubeval fails in operate-first/apps#2479 due to schema difference...

While master-standalone-strict/network-operator-v1.json doesn't list gatewayConfig as a valid property of .spec.defaultNetwork.ovnKubernetesConfig, this is totally acceptable in OCP 4.10:
image

How can we solve this? Track manifests per OCP version? Or order cluster artifacts in generate schemas job - so we store the latest schema versions rather than random one?

/cc @mimotej

@HumairAK
Copy link
Member

not sure but can we add this resource to the skip resource list to unblock this pr while we figure out a long term solution ?

@mimotej
Copy link
Member

mimotej commented Sep 26, 2022

@tumido
I think the simplest would be to run job over cluster which has latest manifests last (propably smaug?). Issue with this could be that there might be situation when schema is not backwards compatible. I am not sure how often that happens but there might be possibility.
Storing different versions comes with it's set of issues:

  1. I am not aware of any way how to tell simply if there was added any kind of breaking change or if it was only change in wording in some description. That means we would have to propably track any change there happens
  2. This is connected to the 1). We can't tell what version of manifest runs on the cluster that means we would have to run kubeval multiple times if it would fail. This would take a long time and also would be demanding on resources.
  3. Repository size would propably go out of control pretty fast.

If we are going to go with storing latest schema version I think this could be done by simply removing job from matrix and putting it after the matrix job.

@sesheta
Copy link
Member

sesheta commented Dec 25, 2022

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@sesheta sesheta added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 25, 2022
@tumido
Copy link
Member Author

tumido commented Jan 2, 2023

/remove-lifecycle stale

@sesheta sesheta removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jan 2, 2023
@sesheta
Copy link
Member

sesheta commented Apr 2, 2023

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@sesheta sesheta added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Apr 2, 2023
@sesheta
Copy link
Member

sesheta commented May 2, 2023

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

@sesheta sesheta added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels May 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants