alb_gateway_unittest.py 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. import logging
  2. import os
  3. import unittest
  4. from os import write
  5. from aliyunsdkecs.request.v20140526.RunInstancesRequest import RunInstancesRequest
  6. from gateway import gateway_config, alb_utils, alb_gateway_scaling_j_count, alb_gateway_update_list
  7. from longvideoapi.longvideoapi_config import server_group_id_list
  8. class MyTestCase(unittest.TestCase):
  9. def test_send_file_to_ecs(self):
  10. ecs_client = alb_utils.connect_client(access_key_id=gateway_config.ecs_client_params['access_key_id'],
  11. access_key_secret=gateway_config.ecs_client_params['access_key_secret'],
  12. region_id=gateway_config.ecs_client_params['region_id'])
  13. instance_ids = ["i-bp19n839usecekzn2ig9"]
  14. alb_utils.send_file_to_ecs(ecs_client,
  15. instance_id_list=instance_ids,
  16. **gateway_config.start_sh)
  17. def test_run_command(self):
  18. ecs_client = alb_utils.connect_client(access_key_id=gateway_config.ecs_client_params['access_key_id'],
  19. access_key_secret=gateway_config.ecs_client_params['access_key_secret'],
  20. region_id=gateway_config.ecs_client_params['region_id'])
  21. instance_ids = ["i-bp19n839usecekzn2ig9"]
  22. start_sh_param = "latest"
  23. server_start_sh = os.path.join(gateway_config.start_sh['target_dir'], gateway_config.start_sh['name'])
  24. server_start_commend = f"sh {server_start_sh} {start_sh_param}"
  25. alb_utils.run_command(ecs_client, instance_ids, command=server_start_commend)
  26. def test_add_servers_to_server_group(self):
  27. alb_client = alb_utils.connect_alb_client(
  28. access_key_id=gateway_config.alb_client_params['access_key_id'],
  29. access_key_secret=gateway_config.alb_client_params['access_key_secret'],
  30. endpoint=gateway_config.alb_client_params['endpoint']
  31. )
  32. instance_ids = ["i-bp19n839usecekzn2ig9"]
  33. alb_utils.add_servers_to_server_group(alb_client, gateway_config.server_group_id_list, instance_ids, weight=100, port=gateway_config.port)
  34. def test_list_server_group_servers(self):
  35. alb_client = alb_utils.connect_alb_client(
  36. access_key_id=gateway_config.alb_client_params['access_key_id'],
  37. access_key_secret=gateway_config.alb_client_params['access_key_secret'],
  38. endpoint=gateway_config.alb_client_params['endpoint']
  39. )
  40. online_instance_ids = alb_utils.list_server_group_servers(alb_client, server_group_id=gateway_config.server_group_id_list[0])
  41. logging.info(online_instance_ids)
  42. def test_update_server_group_servers_attribute(self):
  43. alb_client = alb_utils.connect_alb_client(
  44. access_key_id=gateway_config.alb_client_params['access_key_id'],
  45. access_key_secret=gateway_config.alb_client_params['access_key_secret'],
  46. endpoint=gateway_config.alb_client_params['endpoint']
  47. )
  48. instance_id = ["i-bp19n839usecekzn2ig9"]
  49. add_weight_list = [(10, 1), (20, 1), (40, 1)]
  50. port = gateway_config.port
  51. alb_utils.update_server_group_servers_attribute(alb_client=alb_client,
  52. server_group_id_list=gateway_config.server_group_id_list,
  53. instance_id_list=instance_id,
  54. weight_list=add_weight_list,
  55. port=port)
  56. def test_remove_servers_from_server_group(self):
  57. alb_client = alb_utils.connect_alb_client(
  58. access_key_id=gateway_config.alb_client_params['access_key_id'],
  59. access_key_secret=gateway_config.alb_client_params['access_key_secret'],
  60. endpoint=gateway_config.alb_client_params['endpoint']
  61. )
  62. instance_id = ["i-bp19n839usecekzn2ig9"]
  63. alb_utils.remove_servers_from_server_group(alb_client,
  64. server_group_id_list=gateway_config.server_group_id_list,
  65. instance_ids=instance_id,
  66. port=gateway_config.port)
  67. def test_create_multiple_instances(self):
  68. ecs_client = alb_utils.connect_client(access_key_id=gateway_config.ecs_client_params['access_key_id'],
  69. access_key_secret=gateway_config.ecs_client_params['access_key_secret'],
  70. region_id=gateway_config.ecs_client_params['region_id'])
  71. ess_instance_ids = alb_utils.create_multiple_instances(
  72. amount=1,
  73. ecs_client=ecs_client,
  74. **gateway_config.instance_config_j,
  75. )
  76. logging.info(ess_instance_ids)
  77. def test_remove_container_image(self):
  78. ecs_client = alb_utils.connect_client(access_key_id=gateway_config.ecs_client_params['access_key_id'],
  79. access_key_secret=gateway_config.ecs_client_params['access_key_secret'],
  80. region_id=gateway_config.ecs_client_params['region_id'])
  81. instance_id = 'i-bp1933o7phjzrwg1x3kd'
  82. container_name_list = ['piaoquan-gateway', 'gateway']
  83. alb_gateway_update_cluster.remove_container_image(ecs_client, instance_id, container_name_list)
  84. if __name__ == '__main__':
  85. unittest.main()