test_integration_azure_instance_service.py 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import uuid
  2. import azure_integration_test.helpers as helpers
  3. from azure_integration_test.helpers import ProviderTestBase
  4. class AzureIntegrationInstanceServiceTestCase(ProviderTestBase):
  5. @helpers.skipIfNoService(['compute.instances'])
  6. def test_azure_instance_service(self):
  7. instance_name = 'CbAzure-test6-{0}'.format(uuid.uuid4().hex[:6])
  8. # image_name = 'CbAzure-img-{0}'.format(uuid.uuid4().hex[:6])
  9. security_group_name = 'CbAzure-sg-{0}'.format(uuid.uuid4().hex[:6])
  10. network_name = 'CbAzure-net-{0}'.format(uuid.uuid4().hex[:6])
  11. subnet_name = 'CbAzure-subnet-{0}'.format(uuid.uuid4().hex[:6])
  12. # key_pair_name = 'CbAzure-keypair-4e36b7'
  13. image_id = 'CBAZURE-USER-TEST-IMG'
  14. img = self.provider.compute.images.get(image_id)
  15. self.assertIsNotNone(img)
  16. # key_pair = self.provider.security.\
  17. # key_pairs.create(key_pair_name)
  18. #
  19. # self.assertIsNotNone(key_pair)
  20. #
  21. # with open('{0}.pem'.format(key_pair_name), 'w') as f:
  22. # f.write(key_pair.material)
  23. inst_type = [t for t in self.provider.compute.instance_types.list()
  24. if t.name == 'Standard_DS2_v2'][0]
  25. net = self.provider.network.create(network_name)
  26. self.assertIsNotNone(net)
  27. subnet = net.create_subnet('10.0.0.0/23', name=subnet_name)
  28. self.assertIsNotNone(subnet)
  29. sg = self.provider.security.security_groups.\
  30. create(security_group_name,
  31. 'A security group used by CloudBridge', '')
  32. self.assertIsNotNone(sg)
  33. sg.add_rule('tcp', 22, 22, '0.0.0.0/0')
  34. # lc = self.provider.compute.instances.create_launch_config()
  35. #
  36. # volume = self.provider.block_store.\
  37. # volumes.create('CbAzure-Vol-{0}'.
  38. # format(uuid.uuid4().hex[:6]), 30)
  39. #
  40. # volume.wait_till_ready()
  41. #
  42. # self.assertIsNotNone(volume)
  43. #
  44. # snapshot = volume.\
  45. # create_snapshot('CbAzure-Snap-{0}'.format(uuid.uuid4().hex[:6]))
  46. #
  47. # snapshot.wait_till_ready()
  48. #
  49. # self.assertIsNotNone(snapshot)
  50. #
  51. # lc.add_volume_device(
  52. # is_root=False,
  53. # source=volume,
  54. # size=volume.size,
  55. # delete_on_terminate=True)
  56. #
  57. # lc.add_volume_device(
  58. # is_root=False,
  59. # source=snapshot,
  60. # size=snapshot.size,
  61. # delete_on_terminate=True)
  62. #
  63. # lc.add_volume_device(
  64. # is_root=False,
  65. # source=None,
  66. # size=40,
  67. # delete_on_terminate=True)
  68. inst = self.provider.compute.instances.create(
  69. name=instance_name, image=img, instance_type=inst_type,
  70. subnet=subnet, zone=None,
  71. key_pair=None, security_groups=None, user_data=None,
  72. launch_config=None)
  73. inst.wait_till_ready()
  74. floating_ip = self.provider.network.create_floating_ip()
  75. self.assertIsNotNone(floating_ip)
  76. inst.add_floating_ip(floating_ip.public_ip)
  77. inst.refresh()
  78. self.assertIsNotNone(inst.public_ips[0])
  79. # inst = self.provider.compute.instances.
  80. # get('/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96
  81. # /resourceGroups/CB-INST-DEMO-RG/providers/
  82. # Microsoft.Compute/virtualMachines/CbAzure-inst-304a17-968334')
  83. #
  84. # img = inst.\
  85. # create_image(image_name)
  86. # self.assertIsNotNone(img)
  87. # inst.terminate()
  88. #
  89. # subnet.delete()
  90. #
  91. # net.delete()
  92. #
  93. # sg.delete()
  94. #
  95. # snapshot.delete()
  96. #
  97. # img.delete()