chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import sys
|
||||
|
||||
import pytest
|
||||
|
||||
from ray._private.services import get_node
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"ray_start_cluster_head",
|
||||
[
|
||||
{
|
||||
"gcs_server_port": 0,
|
||||
"metrics_export_port": 0,
|
||||
"metrics_agent_port": 0,
|
||||
"runtime_env_agent_port": 0,
|
||||
"dashboard_agent_listen_port": 0,
|
||||
}
|
||||
],
|
||||
indirect=True,
|
||||
)
|
||||
def test_local_port_service_discovery(ray_start_cluster_head):
|
||||
"""
|
||||
Test that when all ports are set to 0 (auto-assign), all components
|
||||
self-bind to available ports and the port information is correctly
|
||||
reported to GCS.
|
||||
|
||||
"""
|
||||
cluster = ray_start_cluster_head
|
||||
gcs_address = cluster.gcs_address
|
||||
node_id = cluster.head_node.node_id
|
||||
|
||||
# We won't be able to get node info if GCS port didn't report correctly
|
||||
# So, get_node implicitly validate GCS port reporting.
|
||||
node_info = get_node(gcs_address, node_id)
|
||||
|
||||
port_fields = [
|
||||
"metrics_export_port",
|
||||
"metrics_agent_port",
|
||||
"runtime_env_agent_port",
|
||||
"dashboard_agent_listen_port",
|
||||
]
|
||||
for field in port_fields:
|
||||
port = node_info.get(field)
|
||||
assert port and port > 0, f"{field} should be > 0, got {port}"
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(pytest.main(["-sv", __file__]))
|
||||
Reference in New Issue
Block a user