albtest.py 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import unittest
  2. import os
  3. import sys
  4. import logging
  5. import utils
  6. from aliyunsdkcore.client import AcsClient
  7. from alibabacloud_alb20200616.client import Client as Alb20200616Client
  8. from alibabacloud_tea_openapi import models as open_api_models
  9. from alibabacloud_alb20200616 import models as alb_models
  10. from alibabacloud_alb20200616 import models as alb_20200616_models
  11. # 配置客户端参数
  12. alb_client_params = {
  13. 'access_key_id': 'LTAI5tASD5yEZLeC8ffmNebY',
  14. 'access_key_secret': '1PtsFRdp8viJmI78lEhNZR8MezWZBq',
  15. # 'endpoint': 'alb-vpc.cn-hangzhou.aliyuncs.com',
  16. 'endpoint': 'alb.cn-hangzhou.aliyuncs.com', # 外网调试
  17. 'region_id': 'cn-hangzhou'
  18. }
  19. ecs_client_params = {
  20. 'access_key_id': 'LTAI4GBWbFvvXoXsSVBe1o9f',
  21. 'access_key_secret': 'kRAikWitb4kDxaAyBqNrmLmllMEDO3',
  22. 'region_id': 'cn-hangzhou'
  23. }
  24. server_group_id = "sgp-ec4gopoclruofsfmxu" # 测试用的服务器组
  25. instance_id = "i-bp19n839usecekzn2ig9" # PaddlePaddle_k8s集群登陆实例,不影响线上服务
  26. def connect_client(access_key_id, access_key_secret, region_id):
  27. try:
  28. clt = AcsClient(ak=access_key_id, secret=access_key_secret, region_id=region_id)
  29. return clt
  30. except Exception as e:
  31. logging.error(e)
  32. sys.exit()
  33. def connect_alb_client(access_key_id, access_key_secret, endpoint):
  34. config = open_api_models.Config(
  35. access_key_id=access_key_id,
  36. access_key_secret=access_key_secret,
  37. endpoint=endpoint
  38. )
  39. alb_client = Alb20200616Client(config)
  40. return alb_client
  41. class MyTestCase(unittest.TestCase):
  42. ecs_client = connect_client(
  43. access_key_id=ecs_client_params['access_key_id'],
  44. access_key_secret=ecs_client_params['access_key_secret'],
  45. region_id=ecs_client_params['region_id']
  46. )
  47. alb_client = connect_alb_client(
  48. access_key_id=alb_client_params['access_key_id'],
  49. access_key_secret=alb_client_params['access_key_secret'],
  50. endpoint=alb_client_params['endpoint']
  51. )
  52. def test_add_servers_to_server_group(self):
  53. weight = 0
  54. utils.add_servers_to_server_group(self.alb_client, server_group_id, instance_id, weight)
  55. def test_remove_servers_from_server_group(self):
  56. utils.remove_servers_from_server_group(self.alb_client, server_group_id, instance_id)
  57. def test_set_instance_weight_process_with_alb(self):
  58. instance_ids = ["i-bp19n839usecekzn2ig9"] # PaddlePaddle_k8s集群登陆实例,不影响线上服务
  59. weight_list = [(10, 1)] # 权重和sleep时间
  60. utils.set_instance_weight_process_with_alb(self.alb_client, [server_group_id], instance_ids, weight_list)
  61. if __name__ == '__main__':
  62. unittest.main()