Merge "Don't sent disk_over_commit if nova api > 2.24"
This commit is contained in:
commit
c056780691
@ -21,6 +21,7 @@ import io
|
|||||||
import logging
|
import logging
|
||||||
import os
|
import os
|
||||||
|
|
||||||
|
from novaclient import api_versions
|
||||||
from novaclient.v2 import servers
|
from novaclient.v2 import servers
|
||||||
from osc_lib.cli import parseractions
|
from osc_lib.cli import parseractions
|
||||||
from osc_lib.command import command
|
from osc_lib.command import command
|
||||||
@ -1384,11 +1385,13 @@ class MigrateServer(command.Command):
|
|||||||
parsed_args.server,
|
parsed_args.server,
|
||||||
)
|
)
|
||||||
if parsed_args.live:
|
if parsed_args.live:
|
||||||
server.live_migrate(
|
kwargs = {
|
||||||
host=parsed_args.live,
|
'host': parsed_args.live,
|
||||||
block_migration=parsed_args.block_migration,
|
'block_migration': parsed_args.block_migration
|
||||||
disk_over_commit=parsed_args.disk_overcommit,
|
}
|
||||||
)
|
if compute_client.api_version < api_versions.APIVersion('2.25'):
|
||||||
|
kwargs['disk_over_commit'] = parsed_args.disk_overcommit
|
||||||
|
server.live_migrate(**kwargs)
|
||||||
else:
|
else:
|
||||||
if parsed_args.block_migration or parsed_args.disk_overcommit:
|
if parsed_args.block_migration or parsed_args.disk_overcommit:
|
||||||
raise exceptions.CommandError("--live must be specified if "
|
raise exceptions.CommandError("--live must be specified if "
|
||||||
|
@ -18,6 +18,7 @@ import getpass
|
|||||||
|
|
||||||
import mock
|
import mock
|
||||||
from mock import call
|
from mock import call
|
||||||
|
from novaclient import api_versions
|
||||||
from osc_lib import exceptions
|
from osc_lib import exceptions
|
||||||
from osc_lib import utils as common_utils
|
from osc_lib import utils as common_utils
|
||||||
from oslo_utils import timeutils
|
from oslo_utils import timeutils
|
||||||
@ -2207,6 +2208,9 @@ class TestServerMigrate(TestServer):
|
|||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.app.client_manager.compute.api_version = \
|
||||||
|
api_versions.APIVersion('2.24')
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.servers_mock.get.assert_called_with(self.server.id)
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
@ -2228,6 +2232,9 @@ class TestServerMigrate(TestServer):
|
|||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.app.client_manager.compute.api_version = \
|
||||||
|
api_versions.APIVersion('2.24')
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.servers_mock.get.assert_called_with(self.server.id)
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
@ -2249,6 +2256,9 @@ class TestServerMigrate(TestServer):
|
|||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.app.client_manager.compute.api_version = \
|
||||||
|
api_versions.APIVersion('2.24')
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.servers_mock.get.assert_called_with(self.server.id)
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
@ -2271,6 +2281,9 @@ class TestServerMigrate(TestServer):
|
|||||||
]
|
]
|
||||||
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.app.client_manager.compute.api_version = \
|
||||||
|
api_versions.APIVersion('2.24')
|
||||||
|
|
||||||
result = self.cmd.take_action(parsed_args)
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
self.servers_mock.get.assert_called_with(self.server.id)
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
@ -2280,6 +2293,28 @@ class TestServerMigrate(TestServer):
|
|||||||
self.assertNotCalled(self.servers_mock.migrate)
|
self.assertNotCalled(self.servers_mock.migrate)
|
||||||
self.assertIsNone(result)
|
self.assertIsNone(result)
|
||||||
|
|
||||||
|
def test_server_live_migrate_225(self):
|
||||||
|
arglist = [
|
||||||
|
'--live', 'fakehost', self.server.id,
|
||||||
|
]
|
||||||
|
verifylist = [
|
||||||
|
('live', 'fakehost'),
|
||||||
|
('block_migration', False),
|
||||||
|
('wait', False),
|
||||||
|
]
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, verifylist)
|
||||||
|
|
||||||
|
self.app.client_manager.compute.api_version = \
|
||||||
|
api_versions.APIVersion('2.25')
|
||||||
|
|
||||||
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
|
self.servers_mock.get.assert_called_with(self.server.id)
|
||||||
|
self.server.live_migrate.assert_called_with(block_migration=False,
|
||||||
|
host='fakehost')
|
||||||
|
self.assertNotCalled(self.servers_mock.migrate)
|
||||||
|
self.assertIsNone(result)
|
||||||
|
|
||||||
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
@mock.patch.object(common_utils, 'wait_for_status', return_value=True)
|
||||||
def test_server_migrate_with_wait(self, mock_wait_for_status):
|
def test_server_migrate_with_wait(self, mock_wait_for_status):
|
||||||
arglist = [
|
arglist = [
|
||||||
|
Loading…
x
Reference in New Issue
Block a user