feat(backend): Add plugin input/output fields to RecurringRun and Run protobufs#12919
feat(backend): Add plugin input/output fields to RecurringRun and Run protobufs#12919hbelmiro wants to merge 1 commit intokubeflow:mlflow-integrationfrom
Conversation
|
Skipping CI for Draft Pull Request. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
59d5dd1 to
ec7bebe
Compare
|
/retest |
| // Default. No special rendering. | ||
| UNSPECIFIED = 0; | ||
| // Render the value as a hyperlink. | ||
| URL = 1; |
There was a problem hiding this comment.
Don't we need number, text types here?
There was a problem hiding this comment.
ContentType is a UI rendering hint, not a data type. The value itself is google.protobuf.Value which already carries type information (string, number, etc.). UNSPECIFIED means "render as-is" which covers plain text and numbers. URL is the only case that needs special rendering (hyperlink).
Maybe we should renamen it from ContentType to UIHint or something to avoid confusing. But that should be done in the KEP first.
| PipelineSpec | ||
| Conditions string `gorm:"column:Conditions; not null;"` | ||
| Conditions string `gorm:"column:Conditions; not null;"` | ||
| PluginsInputString *LargeText `gorm:"column:PluginsInput; default:null;"` |
There was a problem hiding this comment.
This might be my lack of knowledge, why are we adding pluginsinput to Job?
There was a problem hiding this comment.
Job is the Go model for RecurringRun.
|
/retest |
… protobufs Signed-off-by: Helber Belmiro <helber.belmiro@gmail.com>
ec7bebe to
cbd5137
Compare
|
@hbelmiro Is AutoMigrate sufficient for adding plugins_input and plugins_output to run_details table, or should we include an explicit DB migration script to avoid schema discrepancies ? |
Description of your changes:
Adds a generic plugin metadata interface to
RunandRecurringRunas specified in KEP-12862. This is the schema-only change -- no MLflow or plugin business logic is introduced.MetadataValue,PluginOutputmessages andplugins_input(field 19) /plugins_output(field 20) toRunplugins_input(field 19) toRecurringRun*LargeText), storage layer (SQL NULL for absent), and API convertersDetails
*LargeTextwith nil = absent (SQL NULL), never empty stringlargeTextToNullableSQL; read paths use pointer assignmentGetRun/ListRuns/GetRecurringRunreturn plugins fields as stored, no external callstoApiRun,toApiRecurringRun, etc.) are unchangedTest plan
toModelRun,toApiRun,toModelJob,toApiRecurringRun(with data + nil)Checklist: