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
upgrade to ksonnet 0.12.0, jsonnet v0.11.2 in the Docker image for our test workers #1540
Comments
/assign @pdmack |
/assign @kunmingg |
/cc @wbuchwalter |
/cc @jlewi |
The ksonnet version is installed in our test image. So we'd need to update that and then build and push a new version of that image. I'm unclear though why #1534 requires a ksonnet update. Where is k8s.libsonnet being used? And where are apiextensions being used? |
Ok I see; it looks like #1534 is refactoring TFJob to make heavy use of k.libsonnet and that requires apiextensions for defining the CRD. I know we were discussing whether or not to use k.libsonnet in other issues; where did we land on this? |
I think this is one PR where we were discussing this |
You had said that for some of the libraries which aren't normally user-facing, the use of k.libsonnet would be ok. Others that have exposure to non-ksonnet experts we shouldn't go overboard on k.libsonnet, k8s.libsonnet. |
I can update the Dockerfile and submit it as a PR to this issue |
You are correct. I still am uncertain about what the best practice/style for using k.libsonnet is. I apologize if I wasn't clear about this. Your PR #1535 was helpful to spark some initial thoughts. See comment: |
kubeflow/testing#201 is merged I'll build a new Docker image with the changes. |
I built new docker images These are now tagged latest as well. |
Looks like this caused a bunch of presubmit failures; error message is
|
Looks like the previous images were Adding the latest tag back to those images. see: kubeflow/testing#196 |
It looks like if we want to upgrade to ksonnet 0.12 we will need to upgrade to the ksonnet app used for our tests. I think the way to handle this is we can upgrade individual tests to change the test-worker image to use the image rather than the "latest" tag. This way the presubmit will verify the tests pass with the new image. Ideally, the test worker image should be a ksonnet parameter that we set it in the prow_config.yaml The reason for setting it in prow_config.yaml and not the jsonnet file is that makes it easier to see its consistently set across all E2E tests. It looks like a lot of our E2E tests though don't expose it as a parameter. An example is the tf-operator E2E tests |
I feel that ideally our test workflows shouldn't have dependency on ks versions. |
@kunmingg isn't dynamically creating ksonnet apps going to be a lot more difficult? run_e2e_workflow.py can figure out which ksonnet version to use just by looking at app.yaml in the app dir specified in prow_config.yaml.We can install multiple versions of ksonnet in the same Docker image e.g This seems like a fairly tractable way to deal with ksonnet's app versioning. |
@jlewi @kunmingg @ankushagarwal seems like kfctl.sh also needs this logic
and should ask the user to install the latest ks version. |
@kkasravi can you open up a separate issue for that? For our E2E tests; this should be fixed by kubeflow/testing#228 ksonnet 0.11 and ksonnet 0.12 should now be installed in our test image and run_e2e_workflow.py will automatically select the correct version based on the ksonnet app. |
issue #1534 requires a version of workflows/k8s.libsonnet that includes apiextensions
This would be in {ksonnet 0.12.0, jsonnet v0.11.2}
Are we able to upgrade to ksonnet 0.12.0?
I wasn't able figure out where to upgrade ksonnet other that what was already done
for the web backend #1508
The text was updated successfully, but these errors were encountered: