albtest.py 3.0 KB

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