@@ -4832,6 +4832,40 @@ def test_server_live_migrate_with_disk_overcommit(self):
48324832 self .assertNotCalled (self .servers_mock .migrate )
48334833 self .assertIsNone (result )
48344834
4835+ def test_server_live_migrate_with_disk_overcommit_post_v224 (self ):
4836+ arglist = [
4837+ '--live-migration' ,
4838+ '--disk-overcommit' ,
4839+ self .server .id ,
4840+ ]
4841+ verifylist = [
4842+ ('live' , None ),
4843+ ('live_migration' , True ),
4844+ ('block_migration' , None ),
4845+ ('disk_overcommit' , True ),
4846+ ('wait' , False ),
4847+ ]
4848+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
4849+
4850+ self .app .client_manager .compute .api_version = \
4851+ api_versions .APIVersion ('2.25' )
4852+
4853+ with mock .patch .object (self .cmd .log , 'warning' ) as mock_warning :
4854+ result = self .cmd .take_action (parsed_args )
4855+
4856+ self .servers_mock .get .assert_called_with (self .server .id )
4857+ # There should be no 'disk_over_commit' value present
4858+ self .server .live_migrate .assert_called_with (
4859+ block_migration = 'auto' ,
4860+ host = None )
4861+ self .assertNotCalled (self .servers_mock .migrate )
4862+ self .assertIsNone (result )
4863+ # A warning should have been logged for using --disk-overcommit.
4864+ mock_warning .assert_called_once ()
4865+ self .assertIn (
4866+ 'The --disk-overcommit and --no-disk-overcommit options ' ,
4867+ str (mock_warning .call_args [0 ][0 ]))
4868+
48354869 def test_server_live_migrate_with_false_value_options (self ):
48364870 arglist = [
48374871 '--live' , 'fakehost' , '--no-disk-overcommit' ,
0 commit comments