You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
At the moment, the KFP profile controller is implemented as a metacontroller CompositeController. This allows for the management of child resources based on a parent that is being watched, which is Namespaces for this component.
However, according to the CompositeController documentation, the Metacontroller expects to have full control of the parent resource:
CompositeController expects to have full control over this resource. That is, you shouldn't define a CompositeController with a parent resource that already has its own controller. See DecoratorController for an API that's better suited for adding behavior to existing resources.
The current sync.py has to be changed to expect a request body that includes controller, object, attachments, related, and finalizing, with object being the parent Namespace and attachments being the attachments we subscribe to in the DecoratorController.
What is the use case or pain point?
I have not been able to find any writing about the consequences of using a CompositeController for resources that aren't owned by the controller, so we can just say that unexpected errors can occur by using it like we do.
Is there a workaround currently?
Continue as usual.
Love this idea? Give it a 👍.
The text was updated successfully, but these errors were encountered:
If we want to allow for backwards compatibility, we could expose the decorator-controller webhook URL under a new path such as /decorator-sync. This would allow users to choose whether to use a CompositeController or DecoratorController until the former is fully removed.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Feature Area
/area backend
What feature would you like to see?
At the moment, the KFP profile controller is implemented as a metacontroller CompositeController. This allows for the management of child resources based on a parent that is being watched, which is Namespaces for this component.
However, according to the CompositeController documentation, the Metacontroller expects to have full control of the parent resource:
This is obviously not the case here, since the Namespace should be owned by the Kubeflow profile controller
Instead, converting the controller into a DecoratorController, which has a slightly different API, would be more appropriate.
Converting the existing CompositeController resource to a DecoratorController would look like this:
The current
sync.py
has to be changed to expect a request body that includescontroller
,object
,attachments
,related
, andfinalizing
, withobject
being the parent Namespace andattachments
being the attachments we subscribe to in the DecoratorController.What is the use case or pain point?
I have not been able to find any writing about the consequences of using a CompositeController for resources that aren't owned by the controller, so we can just say that unexpected errors can occur by using it like we do.
Is there a workaround currently?
Continue as usual.
Love this idea? Give it a 👍.
The text was updated successfully, but these errors were encountered: