Skip to content

Commit

Permalink
Create PluginOverrides MatchableResource. (#80)
Browse files Browse the repository at this point in the history
  • Loading branch information
katrogan authored Sep 15, 2020
1 parent dd03881 commit 1ae0d7b
Show file tree
Hide file tree
Showing 33 changed files with 3,779 additions and 244 deletions.
632 changes: 594 additions & 38 deletions flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.cc

Large diffs are not rendered by default.

414 changes: 408 additions & 6 deletions flyteidl/gen/pb-cpp/flyteidl/admin/matchable_resource.pb.h

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

229 changes: 173 additions & 56 deletions flyteidl/gen/pb-go/flyteidl/admin/matchable_resource.pb.go

Large diffs are not rendered by default.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

53 changes: 45 additions & 8 deletions flyteidl/gen/pb-go/flyteidl/service/admin.swagger.json
Original file line number Diff line number Diff line change
Expand Up @@ -1144,7 +1144,7 @@
"parameters": [
{
"name": "resource_type",
"description": " - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.",
"description": " - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.",
"in": "query",
"required": false,
"type": "string",
Expand All @@ -1153,7 +1153,8 @@
"CLUSTER_RESOURCE",
"EXECUTION_QUEUE",
"EXECUTION_CLUSTER_LABEL",
"QUALITY_OF_SERVICE_SPECIFICATION"
"QUALITY_OF_SERVICE_SPECIFICATION",
"PLUGIN_OVERRIDE"
],
"default": "TASK_RESOURCE"
}
Expand Down Expand Up @@ -1567,7 +1568,7 @@
},
{
"name": "resource_type",
"description": " - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.",
"description": " - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.",
"in": "query",
"required": false,
"type": "string",
Expand All @@ -1576,7 +1577,8 @@
"CLUSTER_RESOURCE",
"EXECUTION_QUEUE",
"EXECUTION_CLUSTER_LABEL",
"QUALITY_OF_SERVICE_SPECIFICATION"
"QUALITY_OF_SERVICE_SPECIFICATION",
"PLUGIN_OVERRIDE"
],
"default": "TASK_RESOURCE"
}
Expand Down Expand Up @@ -2301,7 +2303,7 @@
},
{
"name": "resource_type",
"description": " - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.",
"description": " - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type.",
"in": "query",
"required": false,
"type": "string",
Expand All @@ -2310,7 +2312,8 @@
"CLUSTER_RESOURCE",
"EXECUTION_QUEUE",
"EXECUTION_CLUSTER_LABEL",
"QUALITY_OF_SERVICE_SPECIFICATION"
"QUALITY_OF_SERVICE_SPECIFICATION",
"PLUGIN_OVERRIDE"
],
"default": "TASK_RESOURCE"
}
Expand Down Expand Up @@ -2799,6 +2802,15 @@
"description": "- UPLOAD_ON_EXIT: All data will be uploaded after the main container exits\n - UPLOAD_EAGER: Data will be uploaded as it appears. Refer to protocol specification for details\n - DO_NOT_UPLOAD: Data will not be uploaded, only references will be written",
"title": "Mode to use for uploading"
},
"PluginOverrideMissingPluginBehavior": {
"type": "string",
"enum": [
"FAIL",
"USE_DEFAULT"
],
"default": "FAIL",
"description": " - USE_DEFAULT: Uses the system-configured default implementation."
},
"QualityOfServiceTier": {
"type": "string",
"enum": [
Expand Down Expand Up @@ -3500,10 +3512,11 @@
"CLUSTER_RESOURCE",
"EXECUTION_QUEUE",
"EXECUTION_CLUSTER_LABEL",
"QUALITY_OF_SERVICE_SPECIFICATION"
"QUALITY_OF_SERVICE_SPECIFICATION",
"PLUGIN_OVERRIDE"
],
"default": "TASK_RESOURCE",
"description": "Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes\nbased on matching tags.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec."
"description": "Defines a resource that can be configured by customizable Project-, ProjectDomain- or WorkflowAttributes\nbased on matching tags.\n\n - TASK_RESOURCE: Applies to customizable task resource requests and limits.\n - CLUSTER_RESOURCE: Applies to configuring templated kubernetes cluster resources.\n - EXECUTION_QUEUE: Configures task and dynamic task execution queue assignment.\n - EXECUTION_CLUSTER_LABEL: Configures the K8s cluster label to be used for execution to be run\n - QUALITY_OF_SERVICE_SPECIFICATION: Configures default quality of service when undefined in an execution spec.\n - PLUGIN_OVERRIDE: Selects configurable plugin implementation behavior for a given task type."
},
"adminMatchingAttributes": {
"type": "object",
Expand All @@ -3522,6 +3535,9 @@
},
"quality_of_service": {
"$ref": "#/definitions/coreQualityOfService"
},
"plugin_override": {
"$ref": "#/definitions/adminPluginOverride"
}
},
"description": "Generic container for encapsulating all types of the above attributes messages."
Expand Down Expand Up @@ -3800,6 +3816,27 @@
}
}
},
"adminPluginOverride": {
"type": "object",
"properties": {
"task_type": {
"type": "string",
"description": "A predefined yet extensible Task type identifier."
},
"plugin_id": {
"type": "array",
"items": {
"type": "string"
},
"description": "A set of plugin ids which should handle tasks of this type instead of the default registered plugin. The list will be tried in order until a plugin is found with that id."
},
"missing_plugin_behavior": {
"$ref": "#/definitions/PluginOverrideMissingPluginBehavior",
"description": "Defines the behavior when no plugin from the plugin_id list is not found."
}
},
"description": "This MatchableAttribute configures selecting alternate plugin implementations for a given task type.\nIn addition to an override implementation a selection of fallbacks can be provided or other modes\nfor handling cases where the desired plugin override is not enabled in a given Flyte deployment."
},
"adminProject": {
"type": "object",
"properties": {
Expand Down
2 changes: 2 additions & 0 deletions flyteidl/gen/pb-go/flyteidl/service/flyteadmin/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ Class | Method | HTTP request | Description
- [AdminNotification](docs/AdminNotification.md)
- [AdminNotificationList](docs/AdminNotificationList.md)
- [AdminPagerDutyNotification](docs/AdminPagerDutyNotification.md)
- [AdminPluginOverride](docs/AdminPluginOverride.md)
- [AdminProject](docs/AdminProject.md)
- [AdminProjectDomainAttributes](docs/AdminProjectDomainAttributes.md)
- [AdminProjectDomainAttributesDeleteRequest](docs/AdminProjectDomainAttributesDeleteRequest.md)
Expand Down Expand Up @@ -260,6 +261,7 @@ Class | Method | HTTP request | Description
- [FlyteidleventWorkflowNodeMetadata](docs/FlyteidleventWorkflowNodeMetadata.md)
- [IoStrategyDownloadMode](docs/IoStrategyDownloadMode.md)
- [IoStrategyUploadMode](docs/IoStrategyUploadMode.md)
- [PluginOverrideMissingPluginBehavior](docs/PluginOverrideMissingPluginBehavior.md)
- [ProtobufListValue](docs/ProtobufListValue.md)
- [ProtobufNullValue](docs/ProtobufNullValue.md)
- [ProtobufStruct](docs/ProtobufStruct.md)
Expand Down
Loading

0 comments on commit 1ae0d7b

Please sign in to comment.