Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Drop the threaded telnet server #747

Closed
julien-duponchelle opened this issue Oct 28, 2016 · 6 comments
Closed

Drop the threaded telnet server #747

julien-duponchelle opened this issue Oct 28, 2016 · 6 comments
Milestone

Comments

@julien-duponchelle
Copy link
Contributor

Actually we have:

  • A telnet server using thread use by VMware and VirtualBox
  • A telnet server using thread use by IOU (reading on a tty)
  • A telnet server based on asyncio use by docker

My proposal is to put some effort in order to use the docker asyncio code in place of multiple telnet server implementation.

The telnet server use for Docker has many advantage:

  • use asyncio like the rest of server (no thread)
  • support multiple user at the same time connected to the same console
  • the telnet server receive a reader and writer. This mean the code for telnet is independent of the code for interacting with emulator. Easier to debug

And the benefits of a single code base:

  • We can drop ioucon which is hard to debug (I suspect it's freeze sometimes but not sure)
  • More tested by users (I think almost nobody use telnet for Vbox and VMware)
  • Easier to switch from telnet to a different console protocol (websocket for a web version?)

The long test session for 2.0 could be the good time to clean that.

@grossmj
Copy link
Member

grossmj commented Nov 1, 2016

I agree, would be nice to merge all of that to only use the Asyncio version. Be careful to test it well on Windows because this is usually the most troublesome platform regarding Telnet.

A telnet server using thread use by VMware and VirtualBox

Telnet server for VMware and VirtualBox acutally uses threads only on Windows because Named Pipes cannot be monitored by select() on this platform (default on OSX/Linux)

More tested by users (I think almost nobody use telnet for Vbox and VMware)

Some VMware and VirtualBox appliances are non graphic and you must use Telnet.

Easier to switch from telnet to a different console protocol (websocket for a web version?)

Could we / do we need to support SSH?

@grossmj grossmj removed the Question label Nov 1, 2016
@grossmj grossmj changed the title Drop the threaded telnet server? Drop the threaded telnet server Nov 1, 2016
@julien-duponchelle
Copy link
Contributor Author

SSH will problably creat trouble with the need to include paramiko and all the legal stuff related due to crypto export :(

@julien-duponchelle
Copy link
Contributor Author

It's ok for VMware and VirtualBox on Windows and OSX (should be the same for linux)

@Raizo62 serial console should work for VirtualBox

@Raizo62
Copy link
Contributor

Raizo62 commented Nov 8, 2016

@Raizo62 serial console should work for VirtualBox

It works :-D Thanks :-D

julien-duponchelle added a commit that referenced this issue Nov 8, 2016
@julien-duponchelle
Copy link
Contributor Author

Thanks for the feedback

@julien-duponchelle
Copy link
Contributor Author

Now IOU use the same telnet server. The code is much much simple:
3754a49

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants