def _delete_server(self, nova_client, server): """Delete nova instance :param server: instance to delete :return: """ # delete server sec_group_name = server.security_groups[0]['name'] server_key_name = server.key_name LOG.debug("DELETING NOVA INSTANCE: %s", server.id) nova_client.servers.delete(server.id) LOG.debug("WAITING FOR INSTANCE TO GET DELETED") task_utils.wait_for_delete( server, update_resource=task_utils.get_from_manager()) # delete sec-group for secgroup in nova_client.security_groups.list(): if secgroup.name == sec_group_name: LOG.debug("DELETING SEC_GROUP: %s", sec_group_name) nova_client.security_groups.delete(secgroup.id) # delete key-pair for key_pair in nova_client.keypairs.list(): if key_pair.name == server_key_name: LOG.debug("DELETING KEY_PAIR: %s", server_key_name) nova_client.keypairs.delete(key_pair.id)
def _delete_share_network(self, share_network): """Delete share network. :param share_network: instance of :class:`ShareNetwork`. """ share_network.delete() utils.wait_for_delete( share_network, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.manila_share_delete_timeout, check_interval=CONF.benchmark.manila_share_delete_poll_interval)
def _delete_security_service(self, security_service): """Delete security service. :param security_service: instance of :class:`SecurityService`. """ security_service.delete() utils.wait_for_delete( security_service, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.manila_share_delete_timeout, check_interval=CONF.benchmark.manila_share_delete_poll_interval)
def delete_floating_ip(self, fip_id, wait=False): """Delete floating IP. :param fip_id: int floating IP id :param wait: if True then wait to return until floating ip is deleted """ self.client.floating_ips.delete(fip_id) if not wait: return task_utils.wait_for_delete( fip_id, update_resource=lambda i: self._get_floating_ip(i, do_raise=True))
def _delete_share(self, share): """Delete the given share. :param share: :class:`Share` """ share.delete() error_statuses = ("error_deleting", ) utils.wait_for_delete( share, update_resource=utils.get_from_manager(error_statuses), timeout=CONF.benchmark.manila_share_delete_timeout, check_interval=CONF.benchmark.manila_share_delete_poll_interval)
def _delete_volume(self, volume): """Delete the given volume. Returns when the volume is actually deleted. :param volume: volume object """ volume.delete() bench_utils.wait_for_delete( volume, update_resource=bench_utils.get_from_manager(), timeout=CONF.benchmark.cinder_volume_delete_timeout, check_interval=CONF.benchmark.cinder_volume_delete_poll_interval)
def _delete_environment(self, environment): """Delete given environment. Return when the environment is actually deleted. :param environment: Environment instance """ self.clients("murano").environments.delete(environment.id) utils.wait_for_delete( environment, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.delete_environment_timeout, check_interval=CONF.benchmark.delete_environment_check_interval)
def _delete_stack(self, stack): """Delete given stack. Returns when the stack is actually deleted. :param stack: stack object """ stack.delete() utils.wait_for_delete( stack, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.heat_stack_delete_timeout, check_interval=CONF.benchmark.heat_stack_delete_poll_interval)
def _delete_snapshot(self, snapshot): """Delete the given snapshot. Returns when the snapshot is actually deleted. :param snapshot: snapshot object """ snapshot.delete() bench_utils.wait_for_delete( snapshot, update_resource=bench_utils.get_from_manager(), timeout=CONF.benchmark.cinder_volume_delete_timeout, check_interval=CONF.benchmark.cinder_volume_delete_poll_interval)
def _delete_backup(self, backup): """Delete the given backup. Returns when the backup is actually deleted. :param backup: backup instance """ backup.delete() bench_utils.wait_for_delete( backup, update_resource=bench_utils.get_from_manager(), timeout=CONF.benchmark.cinder_volume_delete_timeout, check_interval=CONF.benchmark.cinder_volume_delete_poll_interval)
def _delete_image(self, image): """Deletes given image. Returns when the image is actually deleted. :param image: Image object """ image.delete() utils.wait_for_delete( image, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.glance_image_delete_timeout, check_interval=CONF.benchmark.glance_image_delete_poll_interval)
def _delete_volume(self, volume): """Delete the given volume. Returns when the volume is actually deleted. :param volume: volume object """ volume.delete() bench_utils.wait_for_delete( volume, update_resource=bench_utils.get_from_manager(), timeout=CONF.benchmark.cinder_volume_delete_timeout, check_interval=CONF.benchmark.cinder_volume_delete_poll_interval )
def _delete_snapshot(self, snapshot): """Delete the given snapshot. Returns when the snapshot is actually deleted. :param snapshot: snapshot object """ snapshot.delete() bench_utils.wait_for_delete( snapshot, update_resource=bench_utils.get_from_manager(), timeout=CONF.benchmark.cinder_volume_delete_timeout, check_interval=CONF.benchmark.cinder_volume_delete_poll_interval )
def _delete_environment(self, environment): """Delete given environment. Return when the environment is actually deleted. :param environment: Environment instance """ self.clients("murano").environments.delete(environment.id) utils.wait_for_delete( environment, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.delete_environment_timeout, check_interval=CONF.benchmark.delete_environment_check_interval )
def _delete_backup(self, backup): """Delete the given backup. Returns when the backup is actually deleted. :param backup: backup instance """ backup.delete() bench_utils.wait_for_delete( backup, update_resource=bench_utils.get_from_manager(), timeout=CONF.benchmark.cinder_volume_delete_timeout, check_interval=CONF.benchmark.cinder_volume_delete_poll_interval )
def cleanup(self): try: manager = osclients.Clients(self.context['users'][0]['credential']).nova().servers server = manager.get(self.context['server']['id']) server.force_delete() try: utils.wait_for_delete(server, manager.get) except BaseException: pass LOG.debug("Server '%s' deleted" % self.context["server"]["id"]) except Exception as e: msg = "Can't delete server: %s" % e if logging.is_debug(): LOG.exception(msg) else: LOG.warning(msg)
def _delete_server(self, server, force=False): """Delete the given server. Returns when the server is actually deleted. :param server: Server object :param force: If True, force_delete will be used instead of delete. """ atomic_name = ("nova.%sdelete_server") % (force and "force_" or "") with atomic.ActionTimer(self, atomic_name): if force: server.force_delete() else: server.delete() utils.wait_for_delete( server, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.nova_server_delete_timeout, check_interval=CONF.benchmark.nova_server_delete_poll_interval)
def _delete_server(self, server, force=False): """Delete the given server. Returns when the server is actually deleted. :param server: Server object :param force: If True, force_delete will be used instead of delete. """ atomic_name = ("nova.%sdelete_server") % (force and "force_" or "") with atomic.ActionTimer(self, atomic_name): if force: server.force_delete() else: server.delete() utils.wait_for_delete( server, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.nova_server_delete_timeout, check_interval=CONF.benchmark.nova_server_delete_poll_interval )
def delete_servers(nova_client, servers): """Delete nova servers It deletes the nova servers, associated security groups. :param nova_client: nova client :param servers: nova instances to be deleted :return: """ for server in servers: LOG.debug("DELETING NOVA INSTANCE: %s", server.id) sec_group_name = server.security_groups[0]["name"] nova_client.servers.delete(server.id) LOG.debug("WAITING FOR INSTANCE TO GET DELETED") task_utils.wait_for_delete(server, update_resource=task_utils.get_from_manager()) for secgroup in nova_client.security_groups.list(): if secgroup.name == sec_group_name: LOG.debug("DELETING SEC_GROUP: %s", sec_group_name) nova_client.security_groups.delete(secgroup.id)
def _delete_servers(self, servers, force=False): """Delete multiple servers. :param servers: A list of servers to delete :param force: If True, force_delete will be used instead of delete. """ atomic_name = ("nova.%sdelete_servers") % (force and "force_" or "") with atomic.ActionTimer(self, atomic_name): for server in servers: if force: server.force_delete() else: server.delete() for server in servers: utils.wait_for_delete( server, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.nova_server_delete_timeout, check_interval=CONF.benchmark. nova_server_delete_poll_interval)
def delete_servers(nova_client, servers): """Delete nova servers It deletes the nova servers, associated security groups. :param nova_client: nova client :param servers: nova instances to be deleted :return: """ for server in servers: LOG.debug("DELETING NOVA INSTANCE: %s", server.id) sec_group_id = server.security_groups[0]['name'] nova_client.servers.delete(server.id) LOG.debug("WAITING FOR INSTANCE TO GET DELETED") task_utils.wait_for_delete( server, update_resource=task_utils.get_from_manager()) for secgroup in nova_client.security_groups.list(): if secgroup.id == sec_group_id: LOG.debug("DELETING SEC_GROUP: %s", sec_group_id) nova_client.security_groups.delete(secgroup.id)
def _delete_servers(self, servers, force=False): """Delete multiple servers. :param servers: A list of servers to delete :param force: If True, force_delete will be used instead of delete. """ atomic_name = ("nova.%sdelete_servers") % (force and "force_" or "") with atomic.ActionTimer(self, atomic_name): for server in servers: if force: server.force_delete() else: server.delete() for server in servers: utils.wait_for_delete( server, update_resource=utils.get_from_manager(), timeout=CONF.benchmark.nova_server_delete_timeout, check_interval=CONF. benchmark.nova_server_delete_poll_interval )
def _delete_server(self, nova_id): """Delete nova instance :param nova_id: instance id to delete :return: """ # Remove rally key-pair nova_client = self.clients("nova") vm_list = nova_client.servers.list() for vm in vm_list: if nova_id == vm.id: server = vm sec_group_name = vm.security_groups[0]['name'] server_id = vm.id server_key_name = vm.key_name break LOG.info("Deleting nova instance: %s", server_id) nova_client.servers.delete(server_id) LOG.info("Waiting for instance to get deleted") task_utils.wait_for_delete( server, update_resource=task_utils.get_from_manager()) # delete sec-group for secgroup in nova_client.security_groups.list(): if secgroup.name == sec_group_name: LOG.info("Deleting sec-group: %s", sec_group_name) nova_client.security_groups.delete(secgroup.id) # delete key-pair for key_pair in nova_client.keypairs.list(): if key_pair.name == server_key_name: LOG.info("Deleting key-pair: %s", server_key_name) nova_client.keypairs.delete(key_pair.id)
def test_wait_for_delete(self): def update_resource(self): raise exceptions.GetResourceNotFound(resource=None) resource = mock.MagicMock() utils.wait_for_delete(resource, update_resource=update_resource)