Tips for finding Knowledge Articles

  • - Enter just a few key words related to your question or problem
  • - Add Key words to refine your search as necessary
  • - Do not use punctuation
  • - Search is not case sensitive
  • - Avoid non-descriptive filler words like "how", "the", "what", etc.
  • - If you do not find what you are looking for the first time,reduce the number of key words you enter and try searching again.
  • - Minimum supported Internet Explorer version is IE9
Home  >
article

KB-2229: DM reports operation time out during discover phase

Centrify DirectControl ,  

26 May,16 at 04:33 PM

Applies to:

All versions of Centrify Deployment Manager.

 

Question:

During discover phase of DM, there is a timeout in the trace. The network response to the Unix server where DM is being deployment looks good.  Is there any reason?. See trace below.


---- ERROR DETAILS ----

Source:                Centrify.Cfw.Core
Type:                System.TimeoutException
Message:                The operation has timed out.
Help link:                


---- STACK TRACE ----

   at Centrify.Util.AsyncStream.Read(Byte[] buffer, Int32 offset, Int32 count)
   at Centrify.NetIO.Expector.Expect(Regex[] exprs, Boolean truncate)
   at Centrify.NetIO.NetIOBase.ExpectAndRespond(Dictionary`2 expects, Regex targetPromptEx)
   at Centrify.NetIO.NetIOBase.Initialize(IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
   at Centrify.NetIO.Ssh.Shell..ctor(SSH2Connection connection, TextWriter log, Int32 timeout, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
   at Centrify.NetIO.Ssh.Connection.OpenShell(Int32 timeout, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
   at Centrify.NetIO.Ssh.NetShell..ctor(String host, String user, String password, Int32 timeout, TextWriter log, TerminalCallback callback, Boolean useGSS, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
   at Centrify.NetIO.NetShellFactory.MakeNetShell(String host, String user, String password, Int32 timeout, TextWriter log, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
   at Centrify.DeploymentManager.Task.ComputerTask.MakeNetShellByAccount(String host, String user, String password, Int32 timeout, ConnectionType conn, TextWriter log, TerminalCallback callback, IEnumerable`1 commands, IEnumerable`1 expectPatterns, String targetPrompt)
   at Centrify.DeploymentManager.Task.ComputerTask.MakeNetShell(RunArguments args, String ipOrHost, Boolean isLogCommands)
   at Centrify.DeploymentManager.Task.ComputerTask.PrepareNetShellAndRun(RunArguments args, String ipOrHost)

 

Answer:

This can happen if customer set a different PS variable prompt than what DM is expecting. Due to this mi-match, the discover phase will timeout. You can find out what DM is expecting by enabling logging in DM. Pl. see extract below where DM is

expecting [\#\$\>]\s*$


On the Unix server where DM is trying to connect, you need to set the PS1 variable to include one of the matching characters which deployment script is looking for.

 

Below is a link which explains how to set PS prompt. It was provided as a courtesy. Please check with OS vendor on how to change PS prompt.


http://www.ibm.com/developerworks/linux/library/l-tip-prompt/


[Wed 11/23/2011 04:17:21.956 PM] mmc.exe[3600,15] Verbose: {Centrify.DeploymentManager.Task.RefreshTask}Expector.Expect: No mail.

[Wed 11/23/2011 04:17:21.956 PM] mmc.exe[3600,15] Verbose: {Centrify.DeploymentManager.Task.RefreshTask}Expector.Expect: [cs2tli01:wsadmin1:/home/wsadmin1]

[Wed 11/23/2011 04:17:21.956 PM] mmc.exe[3600,15] Verbose: {Centrify.DeploymentManager.Task.RefreshTask}Expector.Expect:
Matching: [\#\$\>]\s*$ to Last login: Wed Nov 23 2011 16:13:42 -0500 from 10.40.1.155

[Wed 11/23/2011 04:17:21.956 PM] mmc.exe[3600,15] Verbose: {Centrify.DeploymentManager.Task.RefreshTask}Expector.Expect:

 

(or)

 

You can set the prompt in registry on the machine running Deployment Manager.

 

1) At the run prompt, type regedit.

2) Navigate to HK\CurrentUser\Software\Centrify\Deployment Manager and create new string value called "Default Connect Prompt" and use Modify to change value to whatever you have set on the Unix machine.

3) Close Registry.

4) Open and close DM and try steps again.

 

Note: This works for both jumpbox and non-jumpbox cases. Please be reminded that this regex applies to all machines DM connects to.

 

**Some hints on Regex value for step 2:

 

Default Regex:[\#\$\>]\s*$

 

mean it matches with prompt that end with any of these symbols: "#" "$" ">" or whitespace so in the example:

 

[cs2tli01:wsadmin1:/home/wsadmin1]

 

The correct syntax is [\#\$\>\]]\s*$


which mean it matches with prompt that end with "]"

 

Please be careful with any leading white space when making changes to registry when adding [\#\$\>\]]\s*$ to key.


*****

In addition to the above


For the red colored bash prompt the prompt ends with  char ‘m’

(note: the bash color prompt is set as PS1="\e[0;31m[\u@\h \w]# \e[m"

 

The correct syntax is [m\#\$\>]\s*$  (The extra character "m" is for the color bash prompt)

********
If customer has a colon (:) for their prompt, the registry change in step 2) should be as follows:


[\#\$\>\:]\s*$


Update (6/28/2013): 

In future, Centrify will provide the options in UI of Deployment Manager. They still have to know which prompt (the ending character) is being used on the Unix side of things.

 

Still have questions? Click here to log a technical support case, or collaborate with your peers in Centrify's Online Community.