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 os
|
||||
|
||||
from novaclient import api_versions
|
||||
from novaclient.v2 import servers
|
||||
from osc_lib.cli import parseractions
|
||||
from osc_lib.command import command
|
||||
@ -1384,11 +1385,13 @@ class MigrateServer(command.Command):
|
||||
parsed_args.server,
|
||||
)
|
||||
if parsed_args.live:
|
||||
server.live_migrate(
|
||||
host=parsed_args.live,
|
||||
block_migration=parsed_args.block_migration,
|
||||
disk_over_commit=parsed_args.disk_overcommit,
|
||||
)
|
||||
kwargs = {
|
||||
'host': parsed_args.live,
|
||||
'block_migration': parsed_args.block_migration
|
||||
}
|
||||
if compute_client.api_version < api_versions.APIVersion('2.25'):
|
||||
kwargs['disk_over_commit'] = parsed_args.disk_overcommit
|
||||
server.live_migrate(**kwargs)
|
||||
else:
|
||||
if parsed_args.block_migration or parsed_args.disk_overcommit:
|
||||
raise exceptions.CommandError("--live must be specified if "
|
||||
|
@ -18,6 +18,7 @@ import getpass
|
||||
|
||||
import mock
|
||||
from mock import call
|
||||
from novaclient import api_versions
|
||||
from osc_lib import exceptions
|
||||
from osc_lib import utils as common_utils
|
||||
from oslo_utils import timeutils
|
||||
@ -2207,6 +2208,9 @@ class TestServerMigrate(TestServer):
|
||||
]
|
||||
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)
|
||||
|
||||
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)
|
||||
|
||||
self.app.client_manager.compute.api_version = \
|
||||
api_versions.APIVersion('2.24')
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
|
||||
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)
|
||||
|
||||
self.app.client_manager.compute.api_version = \
|
||||
api_versions.APIVersion('2.24')
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
|
||||
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)
|
||||
|
||||
self.app.client_manager.compute.api_version = \
|
||||
api_versions.APIVersion('2.24')
|
||||
|
||||
result = self.cmd.take_action(parsed_args)
|
||||
|
||||
self.servers_mock.get.assert_called_with(self.server.id)
|
||||
@ -2280,6 +2293,28 @@ class TestServerMigrate(TestServer):
|
||||
self.assertNotCalled(self.servers_mock.migrate)
|
||||
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)
|
||||
def test_server_migrate_with_wait(self, mock_wait_for_status):
|
||||
arglist = [
|
||||
|
Loading…
x
Reference in New Issue
Block a user