gigalixir / gigalixir-cli

MIT License
52 stars 45 forks source link

`ps:remote_console` should allow more than one connection #85

Closed marcandre closed 3 years ago

marcandre commented 3 years ago

It looks like we can’t open more than one ps:remote_console to a given instance; any attempt to open another one (from the same terminal or another) gives:

Protocol 'inet_tcp': the name remsh@10.56.46.72 seems to be in use by another Erlang node
Connection to v2018-us-central1.gcp.ssh.gigalixir.com closed.

(Using gigalixir-cli v1.2.0)

jesseshieh commented 3 years ago

Oh, good catch! I think the remsh@ needs to be randomized. In case you're willing to send a pull request, the relevant section is here. https://github.com/gigalixir/gigalixir-run/blob/bc55894ee467e990a45daa82a2ca4419728cd7d9/gigalixir_run/__init__.py#L332

marcandre commented 3 years ago

I'm afraid I won't dedicate the time to make a PR. I thought I'd give myself an hour to try, but the testing instructions fail for me. 1) I am using brew, not apt-get. 2) Moreover mix local.hex also gives me troubles:

$ mix local.hex

17:39:04.962 [warn]  Description: 'Authenticity is not established by certificate path validation'
     Reason: 'Option {verify, verify_peer} and cacertfile/cacerts is missing'

17:39:05.170 [warn]  Description: 'Authenticity is not established by certificate path validation'
     Reason: 'Option {verify, verify_peer} and cacertfile/cacerts is missing'

Found existing entry: /Users/work/.asdf/installs/elixir/1.11.4/.mix/archives/hex-0.21.2
Are you sure you want to replace it with "https://repo.hex.pm/installs/1.11.0/hex-0.21.3.ez"? [Yn]

17:39:05.862 [warn]  Description: 'Authenticity is not established by certificate path validation'
     Reason: 'Option {verify, verify_peer} and cacertfile/cacerts is missing'

* creating /Users/work/.asdf/installs/elixir/1.11.4/.mix/archives/hex-0.21.3

(I pressed on 'Y', even though I don't understand the implcations). Redoing the command afterwards give the same output, so it seems like it was unsuccessful, but then maybe not.

Just to be clear: I am not willing to spend more time trying to make this run locally and/or to make a PR for this. I am still hoping for an improved release of gigalixir.

marcandre commented 3 years ago

FWIW I consider fixing this limitation a high priority, as it prevents any kind of emergency interventions from more than one developer at a time.

jesseshieh commented 3 years ago

Oh, good point. I'll see if I can get a fix out today. I just tried reproducing this, but couldn't at first because my app uses distillery. I was able to reproduce it with an app that uses mix. I wonder if this only affects mix.

jesseshieh commented 3 years ago

Just pushed a change. I need to test it thoroughly before releasing it though. https://github.com/gigalixir/gigalixir-run/commit/b4bccb03a43efa074a2068cd7a42f557c80d4bc0

jesseshieh commented 3 years ago

Alright, released. After restarting your app, can you try it again and see if it works now?

marcandre commented 3 years ago

Looks fine now. Awesome, thanks! ❤️