Spaces:
Sleeping
Sleeping
| import pytest | |
| import os | |
| from ding.entry.cli_parsers.k8s_parser import k8s_parser | |
| def set_k8s_env(): | |
| os.environ["DI_NODES"] = 'SH-0,SH-1,SH-2,SH-3,SH-4,SH-5' # All the nodes | |
| os.environ["DI_RANK"] = '3' # Proc order, start from 0, can not be modified by config | |
| yield | |
| del os.environ["DI_NODES"] | |
| del os.environ["DI_RANK"] | |
| def test_k8s_parser(): | |
| # With platform_spec | |
| platform_spec = { | |
| "tasks": [ | |
| { | |
| "labels": "league,collect", | |
| "node_ids": 10 | |
| }, { | |
| "labels": "league,collect", | |
| "node_ids": 11 | |
| }, { | |
| "labels": "evaluate", | |
| "node_ids": 20, | |
| "attach_to": "$node.10,$node.11" | |
| }, { | |
| "labels": "learn", | |
| "node_ids": 31, | |
| "ports": 50000, | |
| "attach_to": "$node.10,$node.11,$node.20" | |
| }, { | |
| "labels": "learn", | |
| "node_ids": 32, | |
| "attach_to": "$node.10,$node.11,$node.20" | |
| }, { | |
| "labels": "learn", | |
| "node_ids": 33, | |
| "attach_to": "$node.10,$node.11,$node.20" | |
| } | |
| ] | |
| } | |
| all_args = k8s_parser(platform_spec, mq_type="nng") | |
| assert all_args["labels"] == "learn" | |
| assert all_args["address"] == "SH-3" | |
| assert all_args["ports"] == 50000 | |
| assert all_args["node_ids"] == 31 | |
| assert all_args["parallel_workers"] == 1 | |
| assert all_args[ | |
| "attach_to" | |
| ] == "tcp://SH-0:50515," +\ | |
| "tcp://SH-1:50515," +\ | |
| "tcp://SH-2:50515" | |
| # Without platform_spec, parse by global config | |
| all_args = k8s_parser(None, topology="mesh", mq_type="nng") | |
| assert all_args["address"] == "SH-3" | |
| assert all_args["node_ids"] == 3 | |
| assert all_args["parallel_workers"] == 1 | |
| assert all_args[ | |
| "attach_to" | |
| ] == "tcp://SH-0:50515," +\ | |
| "tcp://SH-1:50515," +\ | |
| "tcp://SH-2:50515" | |
| # With multiple parallel workers | |
| all_args = k8s_parser(None, topology="mesh", parallel_workers=2) | |
| assert all_args["address"] == "SH-3" | |
| assert all_args["node_ids"] == 6 | |
| assert all_args["parallel_workers"] == 2 | |
| assert all_args[ | |
| "attach_to" | |
| ] == "tcp://SH-0:50515,tcp://SH-0:50516," +\ | |
| "tcp://SH-1:50515,tcp://SH-1:50516," +\ | |
| "tcp://SH-2:50515,tcp://SH-2:50516" | |