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

[milvus] Ability to use user specified ConfigMap for Milvus configuration #97

Merged

Conversation

nustiueudinastea
Copy link
Contributor

What this PR does / why we need it:

This PR adds an extra config field which allows users to use a completely custom ConfigMap for configuring Milvus. This is useful for situation where dynamic info needs to be added to the configmap for various reasons (example: configuring storage account ID based on some automatically provisioned resource).

Checklist

[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

  • Chart Version bumped
  • Variables are documented in the README.md
  • Title of the PR starts with chart name (e.g. [mychartname])
  • PR only contains changes for one chart

@sre-ci-robot
Copy link
Collaborator

Welcome @nustiueudinastea! It looks like this is your first PR to zilliztech/milvus-helm 🎉

@LoveEachDay
Copy link
Collaborator

@nustiueudinastea This is not working as you expected. By default milvus helm chart will generate a default.yaml config which will generates all the dependencies configurations like etcd, minio, and message queue. In your pull request, you mount to the same path which will generate side effect.

It's recommended to provide custom configuration through extraConfigFiles.user.yaml instead.

@nustiueudinastea
Copy link
Contributor Author

@LoveEachDay as far as I understand, it does what I think it does. It allows a user to TOTALLY override the config and provide a fully customised config. This is very useful in some situations because you can't dynamically pass values to the chart, but you can easily create dynamic config maps with custom tailored configs. We have an operator that creates storage accounts for Milvus and that way we can customise the deployment without having to pass values (which are static).

The extraConfigFiles.user.yaml is yet another static way of configuring the chart, by passing values.

@nustiueudinastea
Copy link
Contributor Author

hey @LoveEachDay any chance we can continue with this?

@haorenfsa
Copy link
Collaborator

haorenfsa commented Jul 5, 2024

Hi @nustiueudinastea, it seems reasonable feature to me. 2 things to note:

  1. The mounted file better be named as user.yaml which will have the highest priority when being processed by Milvus, thus make sure the configuration is not overwrited ( the default.yaml is to keep the default configs of this Milvus version. )
  2. By using subpath, kubelet won't be able to dynamically update it in the Pod. For now you still have to exec into the pod to make the actual dynamic change happen. There will be a patch later to solve this. How does Milvus install by Helm can support dynamic configuration changes when I changed config user.yaml in config map? #94

@haorenfsa
Copy link
Collaborator

Oh, by the way, if possible, plz also add an values file in https://github.com/zilliztech/milvus-helm/tree/master/charts/milvus/ci for integration test.

@mergify mergify bot removed the ci-passed label Jul 9, 2024
@nustiueudinastea nustiueudinastea force-pushed the configurable-configmap branch 2 times, most recently from 83f5887 to 84f9384 Compare July 9, 2024 15:34
@haorenfsa
Copy link
Collaborator

Hi @nustiueudinastea, the changes looks good. Before we could merge it, please resolve the conflicts with current master by git rebase,

@nustiueudinastea
Copy link
Contributor Author

@haorenfsa ready.

@haorenfsa
Copy link
Collaborator

We're getting close. Please also bump the version like other PRs did, check this for example: https://github.com/zilliztech/milvus-helm/pull/89/files @nustiueudinastea

@mergify mergify bot added the ci-passed label Jul 11, 2024
Signed-off-by: Alex Giurgiu <[email protected]>
@mergify mergify bot removed the ci-passed label Jul 11, 2024
@nustiueudinastea
Copy link
Contributor Author

@haorenfsa bumped version as well. I bumped the patch version number, even though this PR includes an extra parameter. Should I bump the minor version?

@haorenfsa
Copy link
Collaborator

@nustiueudinastea It's OK. Thank you again for the contribution!

@sre-ci-robot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

Approval requirements bypassed by manually added approval.

This pull-request has been approved by: haorenfsa, nustiueudinastea

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@mergify mergify bot added the ci-passed label Jul 12, 2024
@sre-ci-robot sre-ci-robot merged commit 0535fc8 into zilliztech:master Jul 12, 2024
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants