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

SeldonDeployment creation strips out an empty "children" list field in the manifest #242

Closed
gsunner opened this issue Oct 1, 2018 · 2 comments · Fixed by #270
Closed
Assignees

Comments

@gsunner
Copy link
Contributor

gsunner commented Oct 1, 2018

How to reproduce:

  1. Create a SeldonDeployment with children as empty list in the graph.
  2. Compare the original manifest with one obtained using "kubectl get seldondeployments ..."

A diff of the two manifests will show the children field as missing.

Tools that provision deployments (eg argocd) will see the difference as an out of sync deployment.

seldon-core-crd-issue

@ukclivecox ukclivecox self-assigned this Oct 4, 2018
@ukclivecox
Copy link
Contributor

The core issue is the parsing and output into JSON from proto buffers stripping default fields.

The solution would be to update the CRD to include the Status field and use the /status update endpoint available from Kubernetes 1.11 API to ensure just the Status fields are updated. We will need to wait until the k8s Java client includes this support or we add it.

For illustration the API call from the python client is : https://github.com/kubernetes-client/python/blob/master/kubernetes/docs/CustomObjectsApi.md#replace_cluster_custom_object_status

We would need to check the version of k8s running to be >= 1.11 for this to be used otherwise we would need to fallback to updating the whole CR object when updating the status.

to check the version in java

VersionApi apiInstance = new VersionApi(client);
		try {
		    VersionInfo result = apiInstance.getCode();
		    System.out.println(result);
		} catch (ApiException e) {
		    System.err.println("Exception when calling VersionApi#getCode");
		    e.printStackTrace();
		}

@ukclivecox
Copy link
Contributor

This has been merged in the k8s java client so we need to wait until a release to merge this code:
kubernetes-client/java#381

agrski pushed a commit that referenced this issue Dec 2, 2022
* change some flags to inplace args in CLI

* update docs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants