albtest.py 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. import unittest
  2. import os
  3. import sys
  4. import logging
  5. import alb_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. from aliyunsdkalb.request.v20200616.ListServerGroupServersRequest import ListServerGroupServersRequest
  12. # 配置客户端参数
  13. alb_client_params = {
  14. 'access_key_id': 'LTAI5tASD5yEZLeC8ffmNebY',
  15. 'access_key_secret': '1PtsFRdp8viJmI78lEhNZR8MezWZBq',
  16. # 'endpoint': 'alb-vpc.cn-hangzhou.aliyuncs.com',
  17. 'endpoint': 'alb.cn-hangzhou.aliyuncs.com', # 外网调试
  18. 'region_id': 'cn-hangzhou'
  19. }
  20. ecs_client_params = {
  21. 'access_key_id': 'LTAI4GBWbFvvXoXsSVBe1o9f',
  22. 'access_key_secret': 'kRAikWitb4kDxaAyBqNrmLmllMEDO3',
  23. 'region_id': 'cn-hangzhou'
  24. }
  25. server_group_id = "sgp-ec4gopoclruofsfmxu" # 测试用的服务器组
  26. instance_id = "i-bp19n839usecekzn2ig9" # PaddlePaddle_k8s集群登陆实例,不影响线上服务
  27. def connect_client(access_key_id, access_key_secret, region_id):
  28. try:
  29. clt = AcsClient(ak=access_key_id, secret=access_key_secret, region_id=region_id)
  30. return clt
  31. except Exception as e:
  32. logging.error(e)
  33. sys.exit()
  34. def connect_alb_client(access_key_id, access_key_secret, endpoint):
  35. config = open_api_models.Config(
  36. access_key_id=access_key_id,
  37. access_key_secret=access_key_secret,
  38. endpoint=endpoint
  39. )
  40. alb_client = Alb20200616Client(config)
  41. return alb_client
  42. class MyTestCase(unittest.TestCase):
  43. ecs_client = connect_client(
  44. access_key_id=ecs_client_params['access_key_id'],
  45. access_key_secret=ecs_client_params['access_key_secret'],
  46. region_id=ecs_client_params['region_id']
  47. )
  48. alb_client = connect_alb_client(
  49. access_key_id=alb_client_params['access_key_id'],
  50. access_key_secret=alb_client_params['access_key_secret'],
  51. endpoint=alb_client_params['endpoint']
  52. )
  53. def test_add_servers_to_server_group(self):
  54. weight=0
  55. server_group_id = "sgp-ec4gopoclruofsfmxu"
  56. instance_id = "i-bp19n839usecekzn2ig9"
  57. alb_utils.add_servers_to_server_group(self.alb_client, server_group_id, instance_id, weight)
  58. def test_list_server_group_servers(self):
  59. instance_ids = alb_utils.list_server_group_servers(self.alb_client, server_group_id)
  60. print(instance_ids)
  61. def test_remove_servers_from_server_group(self):
  62. alb_utils.remove_servers_from_server_group(self.alb_client, server_group_id, instance_id)
  63. def test_update_server_group_servers_attribute(self):
  64. instance_id = ["i-bp19n839usecekzn2ig9"]
  65. server_group_id = "sgp-ec4gopoclruofsfmxu"
  66. add_weight_list = [(10, 3), (0, 1)]
  67. alb_utils.update_server_group_servers_attribute(self.alb_client, [server_group_id], instance_id, add_weight_list)
  68. if __name__ == '__main__':
  69. unittest.main()