main
py 53 lines 1.5 KB
Raw
1 #!/usr/bin/env python3
2 # SPDX-License-Identifier: Apache-2.0
3 # SPDX-FileCopyrightText: Copyright contributors to the vLLM project
4
5 import argparse
6 import json
7 import sys
8
9 import requests
10
11
12 def scale(host, port, new_dp_size):
13 url = f"http://{host}:{port}/scale_elastic_ep"
14 payload = {"new_data_parallel_size": new_dp_size}
15 headers = {"Content-Type": "application/json"}
16
17 print(f"Sending scale request to {url}")
18 print(f"Payload: {json.dumps(payload, indent=2)}")
19
20 try:
21 response = requests.post(url, json=payload, headers=headers, timeout=300)
22
23 print(f"Status Code: {response.status_code}")
24 print(f"Response: {response.text}")
25
26 if response.status_code == 200:
27 print("Scale up/down request successful!")
28 return True
29 else:
30 print("Scale up/down request failed!")
31 return False
32
33 except requests.exceptions.RequestException as e:
34 print(f"Request failed: {e}")
35 return False
36
37
38 def main():
39 parser = argparse.ArgumentParser(description="Test scale up/down functionality")
40 parser.add_argument("--host", default="localhost", help="API server host")
41 parser.add_argument("--port", type=int, default=8006, help="API server port")
42 parser.add_argument(
43 "--new-dp-size", type=int, default=2, help="New data parallel size"
44 )
45
46 args = parser.parse_args()
47
48 success = scale(args.host, args.port, args.new_dp_size)
49 sys.exit(0 if success else 1)
50
51
52 if __name__ == "__main__":
53 main()