Direct Access to Local File system is not allowed on Knime server for List Files/Folder node

Hello ,

I am getting below error in my workflow node of List Files/Folder "Direct Access to Local File system is not allowed on Knime server " It works fine when I execute it from the knime studio on the knime server instance , but when the workflow is scheduled , it gives me this error .
I have set the configuration in default.epf and executor.epf “/instance/org.knime.filehandling.core/allow_local_fs_access_on_server=true”, as per the documentation Local file system access by KNIME workflows

I restarted the knime server , but still the same occurs. When fetched the preferences from the profile , I find my added config related local file system access .

Pls help what are additional to be done to make the local file access work . Version of Knime used is 4.5.2

Regards,
Nivedita

Hello @nivedita_dixit

I can’t show you what exactly I do because of security.

But this is the bones of it:

I have a KNIME user account for accessing certain files, folders and drives around my network (like you will have your own user account with set permissions).

I have created a component, and within that component I have a Credentials Configuration node. This holds the credentials for the KNIME user. Also, I have an SMB Connector which the Credentials Configuration node connects too via flow variable. In here I set up the domains and Share/Namespace. The output of this component is a File System connector type.

If I want to access a file or folder outside of the KNIME server I (for example) get a List FilesFolders node, right click and add File system connection port. Then attach your component to it. When you configure the List FilesFolders node the Read from drop down list will be re populated.

Hope this helps

Frank

Hello @FrankColumbo ,
Actually , I do not want to access files external to Knime server , In fact I want to access files which are on the same instance into which the KNime server is present . I have followed the Knime documentation for it as mentioned in the link “/instance/org.knime.filehandling.core/allow_local_fs_access_on_server=true” , as per the documentation Local file system access by KNIME workflows, but it does not work , irrespective of these changes.

Regards,
Nivedita

Did you restart the executor? In your first post you mentioned you restarted the server which is not necessary when changing customization profiles. But you have to restart the executor because these profiles control settings in the executor and they cannot be applied during runtime.

@thor , Yes. had restarted the executor.

Hi @nivedita_dixit what do you have set under these two parameters in your Executor/AP’s knime.ini file?

-profileLocation
-profileList

Hello @Dora_Oravecz , below are the values set in knime.ini for the executor
-profileLocation
<<>>/knime/rest/v4/profiles/contents
-profileList
executor

Thanks @nivedita_dixit , one more question: what is your KNIME Server version?

@Dora_Oravecz , version of Knime server is 4.5.2,

@nivedita_dixit KNIME Server’s access to the local file system was only disabled from KNIME Server version 4.11.2., so on 4.5.2 this should be enabled by default.

Apologies for the redundant question but are we correct to understand that your KNIME Server’s version is 4.5.2? If yes, what is your Executor/Analytics Platform version?

@Dora_Oravecz , my bad, the knime server version is 4.14.1 and the knime Analytics platform version is 4.5.2.

Hi @nivedita_dixit Thanks for clarifying. You mentioned “It works fine when I execute it from the knime studio on the knime server instance, but when the workflow is scheduled , it gives me this error” - are you perhaps using a distributed KNIME Executor setup, do you have multiple Executors?

On which machine is the file you are trying to access located? Is an Executor installed there?

Hi @Dora_Oravecz , Below are responses to your queries. It is not distributed Knime executor setup and Knime server , the file is located on the same instance where Knime server , knime executor and knime studio are installed . Knime exector are installed on the same VM instance , including the KNime studio .

are you perhaps using a distributed KNIME Executor setup, do you have multiple Executors?
No , not using distributed knime executor setup. have only 1 knime executor

On which machine is the file you are trying to access located?
the file is located on the same instance where Knime server , knime executor and knime studio are installed

Is an Executor installed there?
Yes, Knime server , knime executor and knime studio are installed on the same instance and files are also present on the same instance

Hi @nivedita_dixit This might be a matter of a subtle change in one of your configurations (e.g. extra invisible characters, spelling, wrong preferences file location, duplicate configurations in knime.ini and service definition). Would you mind sharing the following files with us over at support@knime.com?

  • the executor.epf file ( /knime-server/workflow-repository/config/client-profiles/executor/executor.epf)
  • knime.ini file (/knime-server/knime-executor/knime.ini)
  • the Executor service definition file
    (if the Executor is on Linux, the knime-executor.service - can be checked with the command #sudo systemctl edit knime-executor.service
    if it’s on Windows, the install-executor-as-a-service.bat file in /knime-server/knime-executor/)
  • the combined-preferences.epf file ( /knime-workspace or executor-workspace/.metadata/.plugins/org.knime.product/combined-preferences.epf) - this would also need to contain the executor preferences

Check if the above files are at the expected location or in a different path.
It might be a redundant action, but you could also try restarting your Executor one more time to see if anything changes.

Hello @Dora_Oravecz ,
I will not be able share the files . But all of these files are present in the location mentioned by you

  1. executor.epf does have
    /instance/org.knime.filehandling.core/allow_local_fs_access_on_server=true
  2. knime.ini does have below above the -vmargs
    -profileLocation
    http://<<>>/rest/v4/profiles
    -profileList
    executor
  3. Executor service definition file i.e. install-executor-as-a-service.bat has
    SET "KNIME_EXECUTOR_WORKSPACE to appropriate workspace as required

REM SET “KNIME_EXECUTOR_PROFILES=-profileLocation http://localhost:8080/knime/rest/v4/profiles/contents -profileList executor”

  1. combined-preferences.epf has only
    /instance/org.knime.filehandling.core/allow_local_fs_access_on_server=true
    Should we copy all the preferences from executor.efp into this ?

Should Knime executor installation bat , have KNIME_EXECUTOR_PROFILES set

Regards,
Nivedita

Hi @nivedita_dixit Ideally the combined-preferences.epf contains all preferences set in other .epf files in use.

You can confirm the combined-preferences.epf is under C:\knime\executor-workspace.metadata.plugins\org.knime.product\ ?

If yes, make sure the combined-preferences contains all that your executor.epf file contains.
After editing the combined-preferences, be sure to restart both KNIME Server and KNIME Executor.

Can you also please share more details about your use case of accessing the files locally?

Hi @Dora_Oravecz , Sorry for the delayed response.
Yes , combined-preferences.epf is under C:\knime\executor-workspace.metadata.plugins\org.knime.product\ folder
Will include all the preferences from executor.epf into combined-preferences.epf and revert

I have images files on local folder for processing , and will not work if accessed remotely

Hi @nivedita_dixit thanks for the details, let us know if you get any results by updating your combined-preferences.epf :slight_smile:

Hi @Dora_Oravecz , the combined-preferences.epf , is getting overridden on restart of Knime server and executor , the entries added from executor.epf are getting wiped out. Should these be added in any other config to ensure they are retained on the restart

Hi @nivedita_dixit if the combined-preferences.epf does not get updated/does not persist its settings after you modify the settings in the executor.epf, then it means it’s unable to properly fetch the executor.epf file.

I understand you checked already and sorry for the redundant question, but can you again confirm that executor.epf is under /knime-server/workflow-repository/config/client-profiles/executor/executor.epf?

Please copy the complete file path in your reply.