Skip to content

Commit a4d4585

Browse files
committed
wip!
1 parent bb5c93b commit a4d4585

File tree

5 files changed

+13
-20
lines changed

5 files changed

+13
-20
lines changed

apps/expert/lib/expert/engine_node.ex

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -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

apps/expert/lib/expert/port.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ defmodule Expert.Port do
106106
opts
107107
end
108108

109-
Port.open({:spawn_executable, launcher}, opts)
109+
Port.open({:spawn_executable, launcher}, [:stderr_to_stdout | opts])
110110
end
111111

112112
@doc """

apps/forge/lib/forge/epmd.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ defmodule Forge.EPMD do
9393
:erl_epmd.port_please(name, host, timeout)
9494
end
9595

96-
defdelegate start_link(), to: :erl_epmd
96+
defdelegate start_link, to: :erl_epmd
9797
defdelegate listen_port_please(name, host), to: :erl_epmd
9898
defdelegate address_please(name, host, family), to: :erl_epmd
9999
defdelegate names(host_name), to: :erl_epmd

apps/forge/lib/forge/node_port_mapper.ex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ defmodule Forge.NodePortMapper do
1515
end
1616
end
1717

18-
def register() do
18+
def register do
1919
GenServer.call({@name, parent_node()}, {:register, node(), Forge.EPMD.dist_port()})
2020
end
2121

apps/forge/lib/forge/project.ex

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ defmodule Forge.Project do
7777
"""
7878
def node_name(%__MODULE__{} = project) do
7979
{:ok, host} = :inet.gethostname()
80-
:"expert-project-#{name(project)}-#{entropy(project)}@#{host}"
80+
:"expert-project-#{name(project)}-#{entropy(project)}"
8181
end
8282

8383
def entropy(%__MODULE__{} = project) do
@@ -165,6 +165,7 @@ defmodule Forge.Project do
165165
end
166166

167167
def manager_node_name(%__MODULE__{} = project) do
168+
{:ok, hostname} = :inet.gethostname()
168169
:"expert-manager-#{name(project)}-#{entropy(project)}"
169170
end
170171

0 commit comments

Comments
 (0)