Closed i-chvets closed 1 year ago
There is a conflict between kubeflow-roles
1.6/stable and kserve-controller
0.10/stable. Both charms are creating the same resource (or attempting to).
So here's what happens:
kubeflow-roles
1.6/stable is deployed and creates the following ClusterRole
: kubeflow-kserve-edit
, kubeflow-kserve-view
, kubeflow-kserve-admin
. This happens because in 1.6, kubeflow-roles
was in charge of all the aggregation roles for kserve
When you try to install kserve-controller
0.10/stable in a model where kubeflow-roles
1.6/stable is there or was deployed and refreshed to 1.7/stable, the conflict occurs because kserve-controller
also wants to create those clusterRoles.
kserve-controller
was recently changed and in the latest version, we are rendering and applying the charm's roles and clusterRoles, including aggregation roles; therefore, assistance from kubeflow-roles
to create those is not needed anymore.
Option 1: If you need Charmed Kubeflow 1.6/stable alongside kserve 0.10/stable, you could:
kubectl delete clusterroles <all the clusterroles I listed above>
juju deploy kserve-controller --channel 0.10/stable
Option 2: If you are upgrading from Charmed Kubeflow 1.6 -> 1.7
juju remove-application kubeflow-roles
juju deploy kubeflow-roles --channel 1.7/stable
<- this version won't create the conflicting clusterRolesjuju deploy kserve-controller --channel 0.10/stable
<- this charm will create its own clusterRoles@DnPlas Do you want to proceed with option 2 for upgrade guide?
I think it's fair to proceed with Option 2, let's just mention that some applications may have some sort of downtime that will be fixed when the new roles charm is up.
Guide has been updated. Will do publishing to Discourse next.
Published with workarouind option 2: https://discourse.charmhub.io/t/how-to-upgrade-kubeflow-from-1-6-to-1-7/9367
Description
Kserve controller fails to install in complete Kubeflow deployment
Found during upgrade. Kserve was deployed last after the whole Kubeflow was upgraded. Looks like it is due to conflicts when updating K8S resource. Most likely due to field management.
Status of deployment when Kserve deployed last (
juju deploy kserve-controller --channel 0.10/stable --trust
):Juju debug log: