[
https://issues.apache.org/jira/browse/BEAM-5288?focusedWorklogId=143433&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-143433
]
ASF GitHub Bot logged work on BEAM-5288:
----------------------------------------
Author: ASF GitHub Bot
Created on: 12/Sep/18 09:41
Start Date: 12/Sep/18 09:41
Worklog Time Spent: 10m
Work Description: mxm commented on a change in pull request #6373:
[BEAM-5288] Enhance Environment proto to use support different types of
environments
URL: https://github.com/apache/beam/pull/6373#discussion_r216962883
##########
File path: model/pipeline/src/main/proto/beam_runner_api.proto
##########
@@ -963,16 +963,39 @@ message SideInput {
SdkFunctionSpec window_mapping_fn = 3;
}
-// An environment for executing UDFs. Generally an SDK container URL, but
-// there can be many for a single SDK, for example to provide dependency
-// isolation.
+// An environment for executing UDFs. By default, an SDK container URL, but
+// can also be a process forked by a command, or an externally managed process.
message Environment {
- // (Required) The URL of a container
- //
- // TODO: reconcile with Fn API's DockerContainer structure by
- // adding adequate metadata to know how to interpret the container
- string url = 1;
+ // (Required) The URN of the payload
+ string urn = 1;
+
+ // (Optional) The data specifying any parameters to the URN. If
+ // the URN does not require any arguments, this may be omitted.
+ bytes payload = 2;
+}
+
+message StandardEnvironments {
+ enum Environments {
+ DOCKER = 0 [(beam_urn) = "beam:env:docker:v1"];
+
+ PROCESS = 1 [(beam_urn) = "beam:env:process:v1"];
+
+ EXTERNAL = 2 [(beam_urn) = "beam:env:external:v1"];
+ }
+}
+
+// The payload of a Docker image
+message DockerPayload {
+ string container_image = 1; // implicitly linux_amd64.
+}
+
+message ProcessPayload {
+ string os = 1; // "linux", "darwin", ..
+ string arch = 2; // "amd64", ..
+ string command = 3; // process to execute
+ repeated string args = 4; // Arguments to the command
Review comment:
Not sure if we need those and how they interact with the container contract
parameters. Would be good to keep the already defined entry point for the SDK
harness.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
Issue Time Tracking
-------------------
Worklog Id: (was: 143433)
Time Spent: 50m (was: 40m)
> Modify Environment to support non-dockerized SDK harness deployments
> ---------------------------------------------------------------------
>
> Key: BEAM-5288
> URL: https://issues.apache.org/jira/browse/BEAM-5288
> Project: Beam
> Issue Type: New Feature
> Components: beam-model
> Reporter: Maximilian Michels
> Assignee: Ankur Goenka
> Priority: Major
> Time Spent: 50m
> Remaining Estimate: 0h
>
> As of mailing discussions and BEAM-5187, it has become clear that we need to
> extend the Environment information. In addition to the Docker environment,
> the extended environment holds deployment options for 1) a process-based
> environment, 2) an externally managed environment.
> The proto definition, as of now, looks as follows:
> {noformat}
> message Environment {
> // (Required) The URN of the payload
> string urn = 1;
> // (Optional) The data specifying any parameters to the URN. If
> // the URN does not require any arguments, this may be omitted.
> bytes payload = 2;
> }
> message StandardEnvironments {
> enum Environments {
> DOCKER = 0 [(beam_urn) = "beam:env:docker:v1"];
> PROCESS = 1 [(beam_urn) = "beam:env:process:v1"];
> EXTERNAL = 2 [(beam_urn) = "beam:env:external:v1"];
> }
> }
> // The payload of a Docker image
> message DockerPayload {
> string container_image = 1; // implicitly linux_amd64.
> }
> message ProcessPayload {
> string os = 1; // "linux", "darwin", ..
> string arch = 2; // "amd64", ..
> string command = 3; // process to execute
> map<string, string> env = 4; // environment variables
> }
> {noformat}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)