示例#1
0
def remove_instance(num):
    global current_instances
    num = int(num)
    for i in range(0, num):
        nova_client.servers.delete(current_instances[i].id)
        utils.wait_for_delete(nova_client.servers, current_instances[i].id)
    removed = current_instances[0:num]
    current_instances = current_instances[num:]
    return removed
 def test_wait_for_delete_error_with_overrides_exception(self, mock_sleep):
     # Tests that we succeed if the resource is specific exception
     mock_get = mock.Mock(side_effect=Exception)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertTrue(utils.wait_for_delete(manager, res_id, exception_name=["Exception"]))
     mock_sleep.assert_not_called()
 def test_wait_for_delete_error(self, mock_sleep):
     # Tests that we fail if the resource goes to error state while waiting.
     resource = mock.MagicMock(status="ERROR")
     mock_get = mock.Mock(return_value=resource)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertFalse(utils.wait_for_delete(manager, res_id))
     mock_sleep.assert_not_called()
 def test_wait_for_delete_error_with_overrides(self, mock_sleep):
     # Tests that we fail if the resource is my_status=failed
     resource = mock.MagicMock(my_status="FAILED")
     mock_get = mock.Mock(return_value=resource)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertFalse(utils.wait_for_delete(manager, res_id, status_field="my_status", error_status=["failed"]))
     mock_sleep.assert_not_called()
 def test_wait_for_delete_error(self, mock_sleep):
     # Tests that we fail if the resource goes to error state while waiting.
     resource = mock.MagicMock(status='ERROR')
     mock_get = mock.Mock(return_value=resource)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertFalse(utils.wait_for_delete(manager, res_id))
     mock_sleep.assert_not_called()
 def test_wait_for_delete_timeout(self, mock_sleep):
     # Tests that we fail if the resource is not deleted before the timeout.
     resource = mock.MagicMock(status="ACTIVE")
     mock_get = mock.Mock(return_value=resource)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertFalse(utils.wait_for_delete(manager, res_id, sleep_time=1, timeout=1))
     mock_sleep.assert_called_once_with(1)
 def test_wait_for_delete_error_with_overrides_exception(self, mock_sleep):
     # Tests that we succeed if the resource is specific exception
     mock_get = mock.Mock(side_effect=Exception)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertTrue(utils.wait_for_delete(manager, res_id,
                                           exception_name=['Exception']))
     mock_sleep.assert_not_called()
 def test_wait_for_delete_timeout(self, mock_sleep):
     # Tests that we fail if the resource is not deleted before the timeout.
     resource = mock.MagicMock(status='ACTIVE')
     mock_get = mock.Mock(return_value=resource)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertFalse(utils.wait_for_delete(manager, res_id, sleep_time=1,
                                            timeout=1))
     mock_sleep.assert_called_once_with(1)
 def test_wait_for_delete_error_with_overrides(self, mock_sleep):
     # Tests that we fail if the resource is my_status=failed
     resource = mock.MagicMock(my_status='FAILED')
     mock_get = mock.Mock(return_value=resource)
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     self.assertFalse(utils.wait_for_delete(manager, res_id,
                                            status_field='my_status',
                                            error_status=['failed']))
     mock_sleep.assert_not_called()
 def test_wait_for_delete_ok(self, mock_sleep):
     # Tests the normal flow that the resource is deleted with a 404 coming
     # back on the 2nd iteration of the wait loop.
     resource = mock.MagicMock(status="ACTIVE", progress=None)
     mock_get = mock.Mock(side_effect=[resource, exceptions.NotFound(404)])
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     callback = mock.Mock()
     self.assertTrue(utils.wait_for_delete(manager, res_id, callback=callback))
     mock_sleep.assert_called_once_with(5)
     callback.assert_called_once_with(0)
 def test_wait_for_delete_ok(self, mock_sleep):
     # Tests the normal flow that the resource is deleted with a 404 coming
     # back on the 2nd iteration of the wait loop.
     resource = mock.MagicMock(status='ACTIVE', progress=None)
     mock_get = mock.Mock(side_effect=[resource, exceptions.NotFound(404)])
     manager = mock.MagicMock(get=mock_get)
     res_id = str(uuid.uuid4())
     callback = mock.Mock()
     self.assertTrue(
         utils.wait_for_delete(manager, res_id, callback=callback))
     mock_sleep.assert_called_once_with(5)
     callback.assert_called_once_with(0)
示例#12
0
 def take_action(self, parsed_args):
     compute_client = self.app.client_manager.compute
     for server in parsed_args.server:
         server_obj = utils.find_resource(compute_client.servers, server)
         compute_client.servers.delete(server_obj.id)
         if parsed_args.wait:
             if utils.wait_for_delete(compute_client.servers, server_obj.id, callback=_show_progress):
                 sys.stdout.write("\n")
             else:
                 self.log.error(_("Error deleting server: %s"), server_obj.id)
                 sys.stdout.write(_("\nError deleting server"))
                 raise SystemExit
 def take_action(self, parsed_args):
     self.log.debug('take_action(%s)', parsed_args)
     compute_client = self.app.client_manager.compute
     for server in parsed_args.servers:
         server_obj = utils.find_resource(compute_client.servers, server)
         compute_client.servers.delete(server_obj.id)
         if parsed_args.wait:
             if utils.wait_for_delete(
                     compute_client.servers,
                     server_obj.id,
                     callback=_show_progress,
             ):
                 sys.stdout.write('\n')
             else:
                 self.log.error(_('Error deleting server: %s'),
                                server_obj.id)
                 sys.stdout.write(_('\nError deleting server'))
                 raise SystemExit
     return
示例#14
0
 def take_action(self, parsed_args):
     self.log.debug('take_action(%s)', parsed_args)
     compute_client = self.app.client_manager.compute
     for server in parsed_args.servers:
         server_obj = utils.find_resource(
             compute_client.servers, server)
         compute_client.servers.delete(server_obj.id)
         if parsed_args.wait:
             if utils.wait_for_delete(
                 compute_client.servers,
                 server_obj.id,
                 callback=_show_progress,
             ):
                 sys.stdout.write('\n')
             else:
                 self.log.error(_('Error deleting server: %s'),
                                server_obj.id)
                 sys.stdout.write(_('\nError deleting server'))
                 raise SystemExit
     return
示例#15
0
from asg import nova_client,ASG_NAME
import os
import signal
from openstackclient.common import utils

f = open(ASG_NAME, 'r')
content = f.readlines()
if content:
    pid = content[0]
    os.kill(int(pid), signal.SIGTERM)
    for i in range(1:len(content)):
        server = nova_client.servers.find(id=content[i])
        notify_LB_remove(server)
        nova_client.servers.delete(content[i])
        utils.wait_for_delete(nova_client.servers, content[i])
        
print 'ok'