def destroy(name, call=None): """ This function irreversibly destroys a virtual machine on the cloud provider. Before doing so, it should fire an event on the Salt event bus. The tag for this event is `salt/cloud/<vm name>/destroying`. Once the virtual machine has been destroyed, another event is fired. The tag for that event is `salt/cloud/<vm name>/destroyed`. Dependencies: list_nodes @param name: @type name: str @param call: @type call: @return: True if all went well, otherwise an error message @rtype: bool|str """ log.info("Attempting to delete instance %s", name) if not vb_machine_exists(name): return "{0} doesn't exist and can't be deleted".format(name) cloud.fire_event('event', 'destroying instance', 'salt/cloud/{0}/destroying'.format(name), {'name': name}, transport=__opts__['transport']) vb_destroy_machine(name) cloud.fire_event('event', 'destroyed instance', 'salt/cloud/{0}/destroyed'.format(name), {'name': name}, transport=__opts__['transport'])
def tearDown(self): try: vb_stop_vm(BOOTABLE_BASE_BOX_NAME) except Exception: pass if vb_machine_exists(INSTANCE_NAME): try: vb_stop_vm(INSTANCE_NAME) vb_destroy_machine(INSTANCE_NAME) except Exception as e: log.warning("Possibly dirty state after exception", exc_info=True)
def destroy(name, call=None): """ This function irreversibly destroys a virtual machine on the cloud provider. Before doing so, it should fire an event on the Salt event bus. The tag for this event is `salt/cloud/<vm name>/destroying`. Once the virtual machine has been destroyed, another event is fired. The tag for that event is `salt/cloud/<vm name>/destroyed`. Dependencies: list_nodes @param name: @type name: str @param call: @type call: @return: True if all went well, otherwise an error message @rtype: bool|str """ log.info("Attempting to delete instance %s", name) if not vb_machine_exists(name): return "{0} doesn't exist and can't be deleted".format(name) cloud.fire_event( 'event', 'destroying instance', 'salt/cloud/{0}/destroying'.format(name), args={'name': name}, sock_dir=__opts__['sock_dir'], transport=__opts__['transport'] ) vb_destroy_machine(name) cloud.fire_event( 'event', 'destroyed instance', 'salt/cloud/{0}/destroyed'.format(name), args={'name': name}, sock_dir=__opts__['sock_dir'], transport=__opts__['transport'] )
def tearDown(self): """ Clean up after tests """ if vb_machine_exists(INSTANCE_NAME): vb_destroy_machine(INSTANCE_NAME)
expected_minimal_attribute_count = len(MINIMAL_MACHINE_ATTRIBUTES) self.assertIn(BASE_BOX_NAME, machines) machine = machines[BASE_BOX_NAME] self.assertGreaterEqual(len(machine.keys()), expected_minimal_attribute_count) def tearDown(self): """ Clean up after tests """ if vb_machine_exists(INSTANCE_NAME): vb_destroy_machine(INSTANCE_NAME) @skipIf( HAS_LIBS and vb_machine_exists(BOOTABLE_BASE_BOX_NAME) is False, "Bootable VM '{0}' not found. Cannot run tests.".format( BOOTABLE_BASE_BOX_NAME), ) class VirtualboxProviderHeavyTests(VirtualboxCloudTestCase): """ Tests that include actually booting a machine and doing operations on it that might be lengthy. """ def assertIsIpAddress(self, ip_str): """ Is it either a IPv4 or IPv6 address @param ip_str: @type ip_str: str @raise AssertionError """
expected_minimal_attribute_count = len(MINIMAL_MACHINE_ATTRIBUTES) self.assertIn(BASE_BOX_NAME, machines) machine = machines[BASE_BOX_NAME] self.assertGreaterEqual(len(machine.keys()), expected_minimal_attribute_count) def tearDown(self): """ Clean up after tests """ if vb_machine_exists(INSTANCE_NAME): vb_destroy_machine(INSTANCE_NAME) @skipIf( vb_machine_exists(BOOTABLE_BASE_BOX_NAME) is False, "Bootable VM '{0}' not found. Cannot run tests.".format( BOOTABLE_BASE_BOX_NAME)) class VirtualboxProviderHeavyTests(VirtualboxCloudTestCase): """ Tests that include actually booting a machine and doing operations on it that might be lengthy. """ def assertIsIpAddress(self, ip_str): """ Is it either a IPv4 or IPv6 address @param ip_str: @type ip_str: str @raise AssertionError """ try:
} machines = self.run_cloud_function('show_image', kw_function_args, timeout=30) expected_minimal_attribute_count = len(MINIMAL_MACHINE_ATTRIBUTES) self.assertIn(BASE_BOX_NAME, machines) machine = machines[BASE_BOX_NAME] self.assertGreaterEqual(len(machine.keys()), expected_minimal_attribute_count) def tearDown(self): """ Clean up after tests """ if vb_machine_exists(INSTANCE_NAME): vb_destroy_machine(INSTANCE_NAME) @skipIf(vb_machine_exists(BOOTABLE_BASE_BOX_NAME) is False, "Bootable VM '{0}' not found. Cannot run tests.".format(BOOTABLE_BASE_BOX_NAME) ) class VirtualboxProviderHeavyTests(VirtualboxCloudTestCase): """ Tests that include actually booting a machine and doing operations on it that might be lengthy. """ def assertIsIpAddress(self, ip_str): """ Is it either a IPv4 or IPv6 address @param ip_str: @type ip_str: str @raise AssertionError """ try: