[ 
https://issues.apache.org/jira/browse/DRILL-8359?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

James Turton updated DRILL-8359:
--------------------------------
    Description: 
This Jira proposes optional mount and unmount commands in the filesystem plugin 
with the goal of enabling the dynamic definition of filesystem mounts in the 
storage configuration. It is mainly anticpiated that network and cloud 
filesystems that have FUSE drivers will be used in this way but local device 
mounts and image/loop device mounts (ISO, IMG, squashfs, etc.) might also be of 
interest.

 

The provided commands are executed in their own processes by the host OS and 
run under the OS user that is running the Drill JVM. The mount command will be 
executed when an enabled plugin is initialised (something that is done lazily) 
and whenever it transitions from disabled to enabled. The provided unmount 
command will be executed whenever a plugin transitions from enabled to disabled 
and when the Drillbit shuts down while the plugin has been initialised and is 
enabled.

 

Example that 
{code:java}
{
  "type" : "file",
  "connection" : "file:///",
  "mountCommand" : [ "sh", "-c", "udisksctl loop-setup -f /tmp/test.img && 
udisksctl mount -b /dev/loop0" ],
  "unmountCommand" : [ "sh", "-c", "udisksctl unmount -b /dev/loop0 && 
udisksctl loop-delete -b /dev/loop0" ],
  "workspaces" : {     {code}
 

  was:
This Jira proposes optional mount and unmount commands in the filesystem plugin 
with the goal of enabling the dynamic definition of filesystem mounts in the 
storage configuration. It is mainly anticpiated that network and cloud 
filesystems that have FUSE drivers will be used in this way but local device 
mounts and image/loop device mounts (ISO, IMG, squashfs, etc.) might also be of 
interest.

 

The provided commands are executed in their own processes by the host OS and 
run under the OS user that is running the Drill JVM. The mount command will be 
executed when an enabled plugin is initialised (something that is done lazily) 
and whenever it transitions from disabled to enabled. The provided unmount 
command will be executed whenever a plugin transitions from enabled to disabled 
and when the Drillbit shuts down while the plugin has been initialised and is 
enabled.

 

Example. TODO
{code:java}
{
  "type": "file",
  "connection": "file:///",
  "mountCommand": "touch /tmp/foo.drill",
  "unmountCommand": "rm /tmp/foo.drill",
  "workspaces": { ...
 
  {code}
 


> Add mount and unmount command support to the filesystem plugin
> --------------------------------------------------------------
>
>                 Key: DRILL-8359
>                 URL: https://issues.apache.org/jira/browse/DRILL-8359
>             Project: Apache Drill
>          Issue Type: Improvement
>          Components: Storage - File
>    Affects Versions: 1.20.2
>            Reporter: James Turton
>            Assignee: James Turton
>            Priority: Minor
>             Fix For: 2.0.0
>
>
> This Jira proposes optional mount and unmount commands in the filesystem 
> plugin with the goal of enabling the dynamic definition of filesystem mounts 
> in the storage configuration. It is mainly anticpiated that network and cloud 
> filesystems that have FUSE drivers will be used in this way but local device 
> mounts and image/loop device mounts (ISO, IMG, squashfs, etc.) might also be 
> of interest.
>  
> The provided commands are executed in their own processes by the host OS and 
> run under the OS user that is running the Drill JVM. The mount command will 
> be executed when an enabled plugin is initialised (something that is done 
> lazily) and whenever it transitions from disabled to enabled. The provided 
> unmount command will be executed whenever a plugin transitions from enabled 
> to disabled and when the Drillbit shuts down while the plugin has been 
> initialised and is enabled.
>  
> Example that 
> {code:java}
> {
>   "type" : "file",
>   "connection" : "file:///",
>   "mountCommand" : [ "sh", "-c", "udisksctl loop-setup -f /tmp/test.img && 
> udisksctl mount -b /dev/loop0" ],
>   "unmountCommand" : [ "sh", "-c", "udisksctl unmount -b /dev/loop0 && 
> udisksctl loop-delete -b /dev/loop0" ],
>   "workspaces" : {     {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to