@@ -34,14 +34,16 @@ defmodule Expert.EngineNode do
3434 args =
3535 [
3636 "--erl" ,
37- "-start_epmd false" ,
38- "--sname" ,
39- Project . node_name ( state . project ) ,
37+ "-start_epmd false -epmd_module #{ Forge.EPMD } " ,
4038 "--cookie" ,
4139 state . cookie ,
4240 "--no-halt" ,
4341 "-e" ,
44- "Forge.NodePortMapper.register(); IO.puts(\" ok\" )"
42+ """
43+ Node.start(:"#{ Project . node_name ( state . project ) } ", :shortnames)
44+ #{ Forge.NodePortMapper } .register()
45+ IO.puts(\" ok\" )
46+ """
4547 | path_append_arguments ( paths )
4648 ]
4749
@@ -74,7 +76,7 @@ defmodule Expert.EngineNode do
7476 end
7577
7678 def on_nodeup ( % __MODULE__ { } = state , node_name ) do
77- if node_name == Project . node_name ( state . project ) do
79+ if String . starts_with? ( to_string ( node_name ) , to_string ( Project . node_name ( state . project ) ) ) do
7880 { pid , _ref } = state . started_by
7981 Process . monitor ( pid )
8082 GenServer . reply ( state . started_by , :ok )
@@ -127,7 +129,6 @@ defmodule Expert.EngineNode do
127129 use GenServer
128130
129131 def start ( project ) do
130- :ok = ensure_epmd_started ( )
131132 start_net_kernel ( project )
132133
133134 node_name = Project . node_name ( project )
@@ -151,16 +152,6 @@ defmodule Expert.EngineNode do
151152 :rpc . call ( node , Engine , :ensure_apps_started , [ ] )
152153 end
153154
154- defp ensure_epmd_started do
155- case System . cmd ( "epmd" , ~w( -daemon) ) do
156- { "" , 0 } ->
157- :ok
158-
159- _ ->
160- { :error , :epmd_failed }
161- end
162- end
163-
164155 if Mix . env ( ) == :test do
165156 # In test environment, Expert depends on the Engine app, so we look for it
166157 # in the expert build path.
@@ -376,6 +367,7 @@ defmodule Expert.EngineNode do
376367
377368 @ impl true
378369 def handle_info ( { _port , { :data , message } } , % State { } = state ) do
370+ dbg ( message )
379371 Logger . debug ( "Node port message: #{ to_string ( message ) } " )
380372 { :noreply , state }
381373 end
0 commit comments