[ 
https://issues.apache.org/jira/browse/YARN-9562?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16889182#comment-16889182
 ] 

Eric Badger commented on YARN-9562:
-----------------------------------

bq. GetContainerRuntimeData is designed to return an object. When the object is 
actually used in RuncContainerRuntime, object is casted to 
ContainerRuntimeObject. Would it be cleaner to accept RuncContainerRuntime 
object only? It may reduce casting errors.
The idea here was that {{ContainerRuntimeObject}} is specific to 
{{RuncContainerRuntime}} where {{container.getContainerRuntimeData()}} could 
return any arbitrary object. That way other runtimes could utilize this runtime 
data with their own unique runtime object. 

bq. Can you talk about the OCIImageTagToManifestPlugin and 
OCIManifestToResourcesPlugin? It would help to understand the usage of plugins. 
Thanks
Sure, the plugins are there to turn an image tag into a list of resources to 
localize. The Docker images that are converted into squashFS layers will have 3 
major file types: a manifest, a config, and a list of layers. The 
{{OCIImageTagToManifestPlugin}} converts an image tag, such as 
{{hadoop/rhel6:current}} into a manifest JSON. The manifest JSON defines what 
the image looks like. It has data on the config and layers associated with the 
image. Since you could host the manifest in a docker registry, in hdfs, S3, 
etc. we made this a plugin so that different implementations could be made.

After you have a manifest, you need to actually find the resources associated 
with the manifest (the config and layers, maybe more in a different 
implementation). Again, there are many different places where the config and 
layers could be held. They could be in a docker registry, hdfs, S3, etc. The 
plugin takes in the manifest json and gives you back local resources that YARN 
will localize. We're using a plugin-based approach here so that different 
implementations can be built and swapped in. 

> Add Java changes for the new RuncContainerRuntime
> -------------------------------------------------
>
>                 Key: YARN-9562
>                 URL: https://issues.apache.org/jira/browse/YARN-9562
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Eric Badger
>            Assignee: Eric Badger
>            Priority: Major
>         Attachments: YARN-9562.001.patch
>
>
> This JIRA will be used to add the Java changes for the new 
> RuncContainerRuntime. This will work off of YARN-9560 to use much of the 
> existing DockerLinuxContainerRuntime code once it is moved up into an 
> abstract class that can be extended. 



--
This message was sent by Atlassian JIRA
(v7.6.14#76016)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscr...@hadoop.apache.org
For additional commands, e-mail: yarn-issues-h...@hadoop.apache.org

Reply via email to