[jbosstools-issues] [JBoss JIRA] (JBIDE-23039) Need an interactive terminal that fits specific requirements

Martin Malina (JIRA) issues at jboss.org
Fri Sep 2 11:18:00 EDT 2016


    [ https://issues.jboss.org/browse/JBIDE-23039?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13288265#comment-13288265 ] 

Martin Malina commented on JBIDE-23039:
---------------------------------------

Roland is correct.

I just tried this on Windows and the output of vagrant up is now printed in the Terminal view. But I have one question: Why is the terminal instance called Test? That's a bit confusing. Another slightly confusing thing: vagrant up output is in Terminal view, but when you stop your cdk, the output from "vagrant halt" is shown in the Console view.

But then I tried unchecking "pass credentials to environment" to see if it actually works. And *it does not really work*. When I reach the point in vagrant up when it asks whether I want to registrer, there is a cursor blinking. But when I press "y", nothing is shown. If I press Enter, in a few seconds it proceeds and asks for my username, but again, nothing is printed and I was not able to properly enter my credentials at all.

> Need an interactive terminal that fits specific requirements
> ------------------------------------------------------------
>
>                 Key: JBIDE-23039
>                 URL: https://issues.jboss.org/browse/JBIDE-23039
>             Project: Tools (JBoss Tools)
>          Issue Type: Feature Request
>          Components: server
>    Affects Versions: 4.4.1.AM2
>            Reporter: Rob Stryker
>            Assignee: Rob Stryker
>            Priority: Blocker
>             Fix For: 4.4.1.Final
>
>         Attachments: vagranttty.png
>
>
> CDK Tools requires a terminal that allows interactivity of i/o. The full set of requirements is a bit difficult to find a solution for. 
> 1) I must be able to get a Process or IProcess object when a command is run
> 2) I must be able to get an event or know when the process terminates
> 3) The terminal or console must be interactive and allow user input when prompted. 
> 4) It must behave as in 3) for 'vagrant' commands and any and all associated plugins. 
> These three requirements thus far seem impossible to solve. Solutions that have been attempted are:
> 1) Creating a java Process by myself via Runtime.exec.  The interactive prompts never arrive and there is no API for Process to know when it is waiting for input. 
> 2) Using the external-tools launch configuration. When running a command like mvn, the console that pops up seems to allow input from the user, and functions as expected. However, when running a command such as vagrant, such prompts are not provided. In our usecase, the following behavior is observed:
>    a) During vagrant-registration prompts, the console indicates it is not a TTY terminal and cannot allow input
>    b) During a landrush prompt for superuser status, no prompt is made, no TTY message is listed, and the process appears to have frozen
> 3) Launching / Opening a tm.terminal view.  This solution fails requirements 1 and 2.  We are not able to get a Process or an IProcess when a command is launched in a proper interactive terminal. This means we can have no way to know when the process has completed. 
> Other options have been explored but ended up at dead ends and not worth mentioning. The real question is why interactive behavior is visible when using external-tools launch config for maven, but is not visible when running vagrant. 
> Is this a function of the way the vagrant commands display or prompt for input? Why does vagrant-registration require a TTY terminal, but maven does not? Is this something that can be fixed upstream? 
> No other obvious solutions have presented themselves in the past year. 



--
This message was sent by Atlassian JIRA
(v6.4.11#64026)


More information about the jbosstools-issues mailing list