-
Notifications
You must be signed in to change notification settings - Fork 252
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
Detect common invalid annotations: e.g. olm.skiprange #568
Comments
Discussed in the OLM Feature Planning meeting today a bit. They suggested that this be fixed in the API repo here: |
Need to be careful that the validation doesn't happen in OLM and only in OPM. Example: If someone already added a bad bundle to the catalog (it's been there for months in production), and then OLM now fails to install the catalog or bundle, that would be bad. |
@cdjohnson Regarding your warning comment:
At the moment https://github.com/search?q=org%3Aoperator-framework+ClusterServiceVersionValidator&type=code You will see that the only projects that use this are:
Given the scope of your concern, we can ignore From within the operator-framework/operator-registry the https://github.com/search?q=org%3Aoperator-framework+ValidateBundleContent&type=code It's used in calls such as:
I don't see any initializer or registry-server usage of this validation logic, so I think we're OK with making changes in |
- update api project to v0.6.1 to pick up validator (and other) changes - indirectly update k8s.io v0.20.1 - add e2e documentation - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.6.1 to pick up validator (and other) changes - indirectly update k8s.io v0.20.1 - add e2e documentation - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.6.1 to pick up validator (and other) changes - indirectly update k8s.io v0.20.1 - add e2e documentation - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - add e2e documentation - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework#568 Signed-off-by: John Hunkins <[email protected]>
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework/operator-registry#568 Signed-off-by: John Hunkins <[email protected]> Upstream-repository: operator-registry Upstream-commit: 128142ab441fbe501336bddde4954f0623ed1a98
- update api project to v0.7.1 to pick up validator (and other) changes - update code paths which support skip tls but did not expose it - add test case and test data for annotation case sensitive validation - update test case to handle multiple errors - add .gitignore for artifacts generated from e2e tests - use mkcerts for better crossplatform SSL cert generation - create dedicated script for starting regsitry with & without SSL - implement e2e ctx (i.e. context) package - Provision impl for kind servers - Provision impl for kubeconfig (i.e. all other server types) - adjust makefile to account for `kind` build tag - allow e2e target to use focus flag - allow e2e target to use skip tls flag for local testing - adjust test.yml git action workflow to use start_registry script - adjust test.yml git action to remove kind (since its now dynamic) - add e2e documentation for all scenarios - use regex to determine possible kind control plane names - add --name argument for kind load docker-image call - update vendor Implements operator-framework/operator-registry#568 Signed-off-by: John Hunkins <[email protected]> Upstream-repository: operator-registry Upstream-commit: 128142ab441fbe501336bddde4954f0623ed1a98
It's a very common problem to accidentally use the annotation
olm.skiprange
instead ofolm.skipRange
. It can take days or weeks for a new developer to not understand why their operators will never upgrade to a new channel.It would be very helpful for new developers if
opm <index|registry> add
would simply detect some of the most common errors like this.The text was updated successfully, but these errors were encountered: