test_integration_azure_instance_service.py 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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-inst-{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. # key_pair_name = 'CbAzure-keypair-{0}'.format(uuid.uuid4().hex[:6])
  11. image_id = '/subscriptions/7904d702-e01c-4826-8519-f5a25c866a96' \
  12. '/resourceGroups/VM-TEST-RG/providers' \
  13. '/Microsoft.Compute/images/CbAzure-da80a6'
  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_DS1_v2'][0]
  25. sg = self.provider.security.security_groups.\
  26. create(security_group_name,
  27. 'A security group used by CloudBridge', '')
  28. sg.add_rule('tcp', 22, 22, '0.0.0.0/0')
  29. subnet = self.provider.network.subnets.list()[1]
  30. inst = self.provider.compute.instances.create(
  31. name=instance_name, image=img, instance_type=inst_type,
  32. subnet=subnet, zone=None,
  33. key_pair=None, security_groups=None, user_data=None,
  34. launch_config=None)
  35. inst.wait_till_ready()
  36. # floating_ip = self.provider.network.create_floating_ip()
  37. #
  38. # self.assertIsNotNone(floating_ip)
  39. #
  40. # inst.add_floating_ip(floating_ip.public_ip)
  41. #
  42. # inst.refresh()
  43. #
  44. # self.assertIsNotNone(inst.public_ips[0])
  45. instance = self.provider.compute.\
  46. instances.find(name=instance_name)[0]
  47. self.assertIsNotNone(instance)
  48. new_img = instance.create_image(image_name)
  49. self.assertIsNotNone(new_img)
  50. instance.terminate()