mirror of
https://github.com/wassname/ray.git
synced 2026-08-08 11:25:28 +08:00
Change logfile names and also allow plasma store socket to be passed in. (#2862)
This commit is contained in:
committed by
Robert Nishihara
parent
9c606ea06c
commit
cc7e2ecdd5
@@ -8,6 +8,7 @@ import pytest
|
||||
import time
|
||||
|
||||
import ray
|
||||
import ray.tempfile_services
|
||||
import ray.ray_constants as ray_constants
|
||||
|
||||
|
||||
@@ -173,10 +174,10 @@ def ray_start_reconstruction(request):
|
||||
plasma_addresses = []
|
||||
objstore_memory = plasma_store_memory // num_local_schedulers
|
||||
for i in range(num_local_schedulers):
|
||||
store_stdout_file, store_stderr_file = ray.services.new_log_files(
|
||||
"plasma_store_{}".format(i), True)
|
||||
manager_stdout_file, manager_stderr_file = (ray.services.new_log_files(
|
||||
"plasma_manager_{}".format(i), True))
|
||||
store_stdout_file, store_stderr_file = (
|
||||
ray.tempfile_services.new_plasma_store_log_file(i, True))
|
||||
manager_stdout_file, manager_stderr_file = (
|
||||
ray.tempfile_services.new_plasma_manager_log_file(i, True))
|
||||
plasma_addresses.append(
|
||||
ray.services.start_plasma_store(
|
||||
node_ip_address,
|
||||
|
||||
@@ -0,0 +1,119 @@
|
||||
import os
|
||||
import shutil
|
||||
import time
|
||||
import pytest
|
||||
import ray
|
||||
import ray.tempfile_services as tempfile_services
|
||||
|
||||
|
||||
def test_conn_cluster():
|
||||
# plasma_store_socket_name
|
||||
with pytest.raises(Exception) as exc_info:
|
||||
ray.init(
|
||||
use_raylet=True,
|
||||
redis_address="127.0.0.1:6379",
|
||||
plasma_store_socket_name="/tmp/this_should_fail")
|
||||
assert exc_info.value.args[0] == (
|
||||
"When connecting to an existing cluster, "
|
||||
"plasma_store_socket_name must not be provided.")
|
||||
|
||||
# raylet_socket_name
|
||||
with pytest.raises(Exception) as exc_info:
|
||||
ray.init(
|
||||
use_raylet=True,
|
||||
redis_address="127.0.0.1:6379",
|
||||
raylet_socket_name="/tmp/this_should_fail")
|
||||
assert exc_info.value.args[0] == (
|
||||
"When connecting to an existing cluster, "
|
||||
"raylet_socket_name must not be provided.")
|
||||
|
||||
# temp_dir
|
||||
with pytest.raises(Exception) as exc_info:
|
||||
ray.init(
|
||||
use_raylet=True,
|
||||
redis_address="127.0.0.1:6379",
|
||||
temp_dir="/tmp/this_should_fail")
|
||||
assert exc_info.value.args[0] == (
|
||||
"When connecting to an existing cluster, "
|
||||
"temp_dir must not be provided.")
|
||||
|
||||
|
||||
def test_tempdir():
|
||||
ray.init(use_raylet=True, temp_dir="/tmp/i_am_a_temp_dir")
|
||||
assert os.path.exists(
|
||||
"/tmp/i_am_a_temp_dir"), "Specified temp dir not found."
|
||||
ray.shutdown()
|
||||
shutil.rmtree("/tmp/i_am_a_temp_dir", ignore_errors=True)
|
||||
|
||||
|
||||
def test_raylet_socket_name():
|
||||
ray.init(use_raylet=True, raylet_socket_name="/tmp/i_am_a_temp_socket")
|
||||
assert os.path.exists(
|
||||
"/tmp/i_am_a_temp_socket"), "Specified socket path not found."
|
||||
ray.shutdown()
|
||||
try:
|
||||
os.remove("/tmp/i_am_a_temp_socket")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def test_temp_plasma_store_socket():
|
||||
ray.init(
|
||||
use_raylet=True, plasma_store_socket_name="/tmp/i_am_a_temp_socket")
|
||||
assert os.path.exists(
|
||||
"/tmp/i_am_a_temp_socket"), "Specified socket path not found."
|
||||
ray.shutdown()
|
||||
try:
|
||||
os.remove("/tmp/i_am_a_temp_socket")
|
||||
except Exception:
|
||||
pass
|
||||
|
||||
|
||||
def test_raylet_tempfiles():
|
||||
ray.init(use_raylet=True, redirect_worker_output=False)
|
||||
top_levels = set(os.listdir(tempfile_services.get_temp_root()))
|
||||
assert top_levels == {"ray_ui.ipynb", "sockets", "logs"}
|
||||
log_files = set(os.listdir(tempfile_services.get_logs_dir_path()))
|
||||
assert log_files == {
|
||||
"log_monitor.out", "log_monitor.err", "plasma_store_0.out",
|
||||
"plasma_store_0.err", "webui.out", "webui.err", "monitor.out",
|
||||
"monitor.err", "redis-shard_0.out", "redis-shard_0.err", "redis.out",
|
||||
"redis.err"
|
||||
} # without raylet logs
|
||||
socket_files = set(os.listdir(tempfile_services.get_sockets_dir_path()))
|
||||
assert socket_files == {"plasma_store", "raylet"}
|
||||
ray.shutdown()
|
||||
|
||||
ray.init(use_raylet=True, redirect_worker_output=True, num_workers=0)
|
||||
top_levels = set(os.listdir(tempfile_services.get_temp_root()))
|
||||
assert top_levels == {"ray_ui.ipynb", "sockets", "logs"}
|
||||
log_files = set(os.listdir(tempfile_services.get_logs_dir_path()))
|
||||
assert log_files == {
|
||||
"log_monitor.out", "log_monitor.err", "plasma_store_0.out",
|
||||
"plasma_store_0.err", "webui.out", "webui.err", "monitor.out",
|
||||
"monitor.err", "redis-shard_0.out", "redis-shard_0.err", "redis.out",
|
||||
"redis.err", "raylet_0.out", "raylet_0.err"
|
||||
} # with raylet logs
|
||||
socket_files = set(os.listdir(tempfile_services.get_sockets_dir_path()))
|
||||
assert socket_files == {"plasma_store", "raylet"}
|
||||
ray.shutdown()
|
||||
|
||||
ray.init(use_raylet=True, redirect_worker_output=True, num_workers=2)
|
||||
top_levels = set(os.listdir(tempfile_services.get_temp_root()))
|
||||
assert top_levels == {"ray_ui.ipynb", "sockets", "logs"}
|
||||
time.sleep(3) # wait workers to start
|
||||
log_files = set(os.listdir(tempfile_services.get_logs_dir_path()))
|
||||
assert log_files.issuperset({
|
||||
"log_monitor.out", "log_monitor.err", "plasma_store_0.out",
|
||||
"plasma_store_0.err", "webui.out", "webui.err", "monitor.out",
|
||||
"monitor.err", "redis-shard_0.out", "redis-shard_0.err", "redis.out",
|
||||
"redis.err", "raylet_0.out", "raylet_0.err"
|
||||
}) # with raylet logs
|
||||
|
||||
# Check numbers of worker log file.
|
||||
assert sum(
|
||||
1 for filename in log_files if filename.startswith("worker")) == 4
|
||||
|
||||
socket_files = set(os.listdir(tempfile_services.get_sockets_dir_path()))
|
||||
assert socket_files == {"plasma_store", "raylet"}
|
||||
ray.shutdown()
|
||||
Reference in New Issue
Block a user