-
Notifications
You must be signed in to change notification settings - Fork 54
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
control-service: Add python_version to Control Service API #1806
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM;
May you link to PR description for convenience, the VEP-1739 described API and use cases?
For example, having a pinned python version corresponds to an exact python version requirement. Is there a use case of applying a lower bound only, so you still get your data job automatically upgraded to latest?
projects/control-service/projects/model/apidefs/datajob-api/api.yaml
Outdated
Show resolved
Hide resolved
projects/control-service/projects/model/apidefs/datajob-api/api.yaml
Outdated
Show resolved
Hide resolved
...lines_control_service/src/main/java/com/vmware/taurus/datajobs/DeploymentModelConverter.java
Show resolved
Hide resolved
...cts/pipelines_control_service/src/main/java/com/vmware/taurus/service/KubernetesService.java
Show resolved
Hide resolved
.../pipelines_control_service/src/test/java/com/vmware/taurus/service/JobImageDeployerTest.java
Show resolved
Hide resolved
python_version validation will be added in a separate PR, right? |
Shouldn't we return a default python version in case of empty python-version annotation? |
9f5b111
to
45c1d4f
Compare
45c1d4f
to
f2573cb
Compare
Added in this PR. |
In case of empty python-version, we set the defaultPythonVersion. |
85f8c32
to
3470770
Compare
...lines_control_service/src/main/java/com/vmware/taurus/datajobs/DeploymentModelConverter.java
Outdated
Show resolved
Hide resolved
3470770
to
37dc043
Compare
...elines_control_service/src/main/java/com/vmware/taurus/service/deploy/DeploymentService.java
Outdated
Show resolved
Hide resolved
...elines_control_service/src/main/java/com/vmware/taurus/service/deploy/DeploymentService.java
Outdated
Show resolved
Hide resolved
Have you seen the Codacy issues? |
...elines_control_service/src/main/java/com/vmware/taurus/service/deploy/DeploymentService.java
Outdated
Show resolved
Hide resolved
...elines_control_service/src/main/java/com/vmware/taurus/service/deploy/DeploymentService.java
Outdated
Show resolved
Hide resolved
As part of the effort to provide users with the ability to specify the python release version, which they want their data jobs to be deployed with, we need to expose a property in the Control Service's API and ensure that the configuration is stored in the database and the kubernetes objects. This change exposes a `python_version` property in the api schemas of the DataJobDeployment and DataJobDeploymentStatus components, and propagates the property to the database model and kubernetes resources. All of this is done as one change, to avoid unexpected behaviour or regressions. Testing Done: New and modified existing tests. Signed-off-by: Andon Andonov <andonova@vmware.com>
Signed-off-by: Andon Andonov <andonova@vmware.com>
Signed-off-by: Andon Andonov <andonova@vmware.com>
37dc043
to
68e53cd
Compare
As discussed offline, these are fixed now. Thanks |
...elines_control_service/src/main/java/com/vmware/taurus/service/deploy/DeploymentService.java
Outdated
Show resolved
Hide resolved
Signed-off-by: Andon Andonov <andonova@vmware.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The change looks good to me.
But I'd like to discuss following questions (at some point before the feature is considered implemented)
:
- What happens when administrators change the supported versions?
What is the right behaviour ?
- the same goes for the default version. What happens when administrators change teh default version ?
I don't think we've thought about and discussed it.
As part of the effort to provide users with the ability to specify the python release version, which they want their data jobs to be deployed with, we need to expose a property in the Control Service's API and ensure that the configuration is stored in the database and the kubernetes objects.
This change exposes a
python_version
property in the api schemas of the DataJobDeployment and DataJobDeploymentStatus components, and propagates the property to the database model and kubernetes resources. All of this is done as one change, to avoid unexpected behaviour or regressions.VEP for Reference: https://github.com/vmware/versatile-data-kit/tree/main/specs/vep-1739-multiple-python-versions
Testing Done: New and modified existing tests.