In KNIME server, Credential Input flowvariable not shown in Flow Variable Output table

#1
  1. Open KNIME Desktop, connect to a knime server
  2. Right-click on any existing workflow and click Open-> ‘as new Job on Server’.
  3. In the opened workflow, place a ‘Credentials Input’ node and enter ‘Variable Name’, Username and Password.
  4. Execute this node. In the node’s ‘Flow Variable Output’ table, notice that the specified flow variable under ‘Variable Name’, is not seen.
  5. Now I connect the flow variable output to one of my node which expects credentials input from previous node. On executing this workflow, my node fails.

In knime.log file I see the below log message:
2019-10-24 10:12:54,609 : WARN : RMI TCP Connection(318)-172.31.10.179 : fe2358be-b1a7-4561-bbb4-22b5473f7696 : Node : Credentials Input : 2:42 : No password set after loading workflow - reconfigure the node to fix it

0 Likes

#2

Hi,

in general, the remote job editor is not intended to provide full functionality as in a local workflow. I think, the behaviour that you have observed is caused by the credentials node falling outside of the “almost all functionality” that is dubbed in the remote job view.

A side question. How do you make use of the new credentials variable in step 5, if the variable is not created, as you pointed out in step 4?

Best,
Mischa

0 Likes

#3

Hi Mischa,

How do you make use of the new credentials variable in step 5, if the variable is not created, as you
pointed out in step 4?

I use below code to look for available credential in my node model’s execute method.

CredentialsProvider credProvider = getCredentialsProvider();
ICredentials cred = credProvider.get(‘my_creds’);
String username = cred.getLogin();
String passwd = cred.getPassword();

and if ‘my_creds’ or usename or password is not available, my node fails.

Thanks
Ravikiran

0 Likes

#4

Hi Ravikiran,

I see. Thanks- i did not realize that you are using a custom node.

But in general i suspect that the root is in the missing credential variable at the first place caused by the fact, that most, but not all editing functionalities are available in the remote job editor. So i suggest that you set up the credentials input locally and deploy the workflow with the credentials included. I pinged our experts to double-check and will get back to you, if i was wrong about it.

Cheers,
Mischa

1 Like

#5

Dear Mischa,

Thanks for the clarifications.

// But in general i suspect that the root is in the missing credential variable at the first place caused by the fact, that most, but not all editing functionalities are available in the remote job editor. So i suggest that you set up the credentials input locally and deploy the workflow with the credentials included. I pinged our experts to double-check and will get back to you, if i was wrong about it.

As far as I can see configuring and running the Credential node before opening the workflow remotely doesn’t help: the password information is still missing in the output table (see the screenshots).


Jean-Christophe

0 Likes

#6

Hi Jean-Christophe,

yes, you are right. It seems it is a general feature that the credentials variables are not visible in the list of variable in the interactive job view. So my suspicion was inconclusive, as not seeing this variable we can not conclude if it was created or not.
What one can do is to save the job as a workflow and then open the local saved copy and inspect variables

Mischa

0 Likes