@@ -1227,7 +1227,6 @@ class TestServerCreate(TestServer):
12271227 'locked' ,
12281228 'locked_reason' ,
12291229 'name' ,
1230- 'pinned_availability_zone' ,
12311230 'progress' ,
12321231 'project_id' ,
12331232 'properties' ,
@@ -1276,7 +1275,6 @@ def datalist(self):
12761275 None , # locked
12771276 None , # locked_reason
12781277 self .server .name ,
1279- None , # pinned_availability_zone
12801278 None , # progress
12811279 None , # project_id
12821280 format_columns .DictColumn ({}), # properties
@@ -4600,7 +4598,6 @@ class _TestServerList(TestServer):
46004598 'Flavor Name' ,
46014599 'Flavor ID' ,
46024600 'Availability Zone' ,
4603- 'Pinned Availability Zone' ,
46044601 'Host' ,
46054602 'Properties' ,
46064603 )
@@ -4739,7 +4736,6 @@ def test_server_list_long_option(self):
47394736 self .flavor .name ,
47404737 s .flavor ['id' ],
47414738 getattr (s , 'availability_zone' ),
4742- getattr (s , 'pinned_availability_zone' , '' ),
47434739 server .HostColumn (getattr (s , 'hypervisor_hostname' )),
47444740 format_columns .DictColumn (s .metadata ),
47454741 )
@@ -4785,8 +4781,6 @@ def test_server_list_column_option(self):
47854781 '-c' ,
47864782 'Availability Zone' ,
47874783 '-c' ,
4788- 'Pinned Availability Zone' ,
4789- '-c' ,
47904784 'Host' ,
47914785 '-c' ,
47924786 'Properties' ,
@@ -4809,7 +4803,6 @@ def test_server_list_column_option(self):
48094803 self .assertIn ('Image ID' , columns )
48104804 self .assertIn ('Flavor ID' , columns )
48114805 self .assertIn ('Availability Zone' , columns )
4812- self .assertIn ('Pinned Availability Zone' , columns )
48134806 self .assertIn ('Host' , columns )
48144807 self .assertIn ('Properties' , columns )
48154808 self .assertCountEqual (columns , set (columns ))
@@ -5222,7 +5215,6 @@ def test_server_list_long_with_host_status_v216(self):
52225215 self .flavor .name ,
52235216 s .flavor ['id' ],
52245217 getattr (s , 'availability_zone' ),
5225- getattr (s , 'pinned_availability_zone' , '' ),
52265218 server .HostColumn (getattr (s , 'hypervisor_hostname' )),
52275219 format_columns .DictColumn (s .metadata ),
52285220 )
@@ -5277,7 +5269,6 @@ def test_server_list_long_with_host_status_v216(self):
52775269 self .flavor .name ,
52785270 s .flavor ['id' ],
52795271 getattr (s , 'availability_zone' ),
5280- getattr (s , 'pinned_availability_zone' , '' ),
52815272 server .HostColumn (getattr (s , 'hypervisor_hostname' )),
52825273 format_columns .DictColumn (s .metadata ),
52835274 s .host_status ,
@@ -5314,7 +5305,6 @@ class TestServerListV273(_TestServerList):
53145305 'Image ID' ,
53155306 'Flavor' ,
53165307 'Availability Zone' ,
5317- 'Pinned Availability Zone' ,
53185308 'Host' ,
53195309 'Properties' ,
53205310 )
@@ -5513,6 +5503,152 @@ def test_server_list_v269_with_partial_constructs(self):
55135503 self .assertEqual (expected_row , partial_server )
55145504
55155505
5506+ class TestServerListV296 (_TestServerList ):
5507+ columns = (
5508+ 'ID' ,
5509+ 'Name' ,
5510+ 'Status' ,
5511+ 'Networks' ,
5512+ 'Image' ,
5513+ 'Flavor' ,
5514+ )
5515+ columns_long = (
5516+ 'ID' ,
5517+ 'Name' ,
5518+ 'Status' ,
5519+ 'Task State' ,
5520+ 'Power State' ,
5521+ 'Networks' ,
5522+ 'Image Name' ,
5523+ 'Image ID' ,
5524+ 'Flavor' ,
5525+ 'Availability Zone' ,
5526+ 'Host' ,
5527+ 'Properties' ,
5528+ 'Pinned Availability Zone' ,
5529+ )
5530+
5531+ def setUp (self ):
5532+ super ().setUp ()
5533+ self .set_compute_api_version ('2.96' )
5534+
5535+ Image = collections .namedtuple ('Image' , 'id name' )
5536+ self .image_client .images .return_value = [
5537+ Image (id = s .image ['id' ], name = self .image .name )
5538+ # Image will be an empty string if boot-from-volume
5539+ for s in self .servers
5540+ if s .image
5541+ ]
5542+
5543+ Flavor = collections .namedtuple ('Flavor' , 'id name' )
5544+ self .compute_sdk_client .flavors .return_value = [
5545+ Flavor (id = s .flavor ['id' ], name = self .flavor .name )
5546+ for s in self .servers
5547+ ]
5548+
5549+ self .data = tuple (
5550+ (
5551+ s .id ,
5552+ s .name ,
5553+ s .status ,
5554+ server .AddressesColumn (s .addresses ),
5555+ # Image will be an empty string if boot-from-volume
5556+ self .image .name if s .image else server .IMAGE_STRING_FOR_BFV ,
5557+ self .flavor .name ,
5558+ )
5559+ for s in self .servers
5560+ )
5561+
5562+ def test_server_list_long_option (self ):
5563+ self .data = tuple (
5564+ (
5565+ s .id ,
5566+ s .name ,
5567+ s .status ,
5568+ getattr (s , 'task_state' ),
5569+ server .PowerStateColumn (getattr (s , 'power_state' )),
5570+ server .AddressesColumn (s .addresses ),
5571+ # Image will be an empty string if boot-from-volume
5572+ self .image .name if s .image else server .IMAGE_STRING_FOR_BFV ,
5573+ s .image ['id' ] if s .image else server .IMAGE_STRING_FOR_BFV ,
5574+ self .flavor .name ,
5575+ getattr (s , 'availability_zone' ),
5576+ server .HostColumn (getattr (s , 'hypervisor_hostname' )),
5577+ format_columns .DictColumn (s .metadata ),
5578+ getattr (s , 'pinned_availability_zone' , '' ),
5579+ )
5580+ for s in self .servers
5581+ )
5582+ arglist = [
5583+ '--long' ,
5584+ ]
5585+ verifylist = [
5586+ ('all_projects' , False ),
5587+ ('long' , True ),
5588+ ]
5589+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
5590+
5591+ columns , data = self .cmd .take_action (parsed_args )
5592+ self .compute_sdk_client .servers .assert_called_with (** self .kwargs )
5593+ image_ids = {s .image ['id' ] for s in self .servers if s .image }
5594+ self .image_client .images .assert_called_once_with (
5595+ id = f'in:{ "," .join (image_ids )} ' ,
5596+ )
5597+ self .compute_sdk_client .flavors .assert_called_once_with (is_public = None )
5598+ self .assertEqual (self .columns_long , columns )
5599+ self .assertEqual (self .data , tuple (data ))
5600+
5601+ def test_server_list_column_option (self ):
5602+ arglist = [
5603+ '-c' ,
5604+ 'Project ID' ,
5605+ '-c' ,
5606+ 'User ID' ,
5607+ '-c' ,
5608+ 'Created At' ,
5609+ '-c' ,
5610+ 'Security Groups' ,
5611+ '-c' ,
5612+ 'Task State' ,
5613+ '-c' ,
5614+ 'Power State' ,
5615+ '-c' ,
5616+ 'Image ID' ,
5617+ '-c' ,
5618+ 'Flavor ID' ,
5619+ '-c' ,
5620+ 'Availability Zone' ,
5621+ '-c' ,
5622+ 'Host' ,
5623+ '-c' ,
5624+ 'Properties' ,
5625+ '-c' ,
5626+ 'Pinned Availability Zone' ,
5627+ '--long' ,
5628+ ]
5629+ verifylist = [
5630+ ('long' , True ),
5631+ ]
5632+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
5633+
5634+ columns , data = self .cmd .take_action (parsed_args )
5635+
5636+ self .compute_sdk_client .servers .assert_called_with (** self .kwargs )
5637+ self .assertIn ('Project ID' , columns )
5638+ self .assertIn ('User ID' , columns )
5639+ self .assertIn ('Created At' , columns )
5640+ self .assertIn ('Security Groups' , columns )
5641+ self .assertIn ('Task State' , columns )
5642+ self .assertIn ('Power State' , columns )
5643+ self .assertIn ('Image ID' , columns )
5644+ self .assertIn ('Flavor ID' , columns )
5645+ self .assertIn ('Availability Zone' , columns )
5646+ self .assertIn ('Pinned Availability Zone' , columns )
5647+ self .assertIn ('Host' , columns )
5648+ self .assertIn ('Properties' , columns )
5649+ self .assertCountEqual (columns , set (columns ))
5650+
5651+
55165652class TestServerAction (compute_fakes .TestComputev2 ):
55175653 def run_method_with_sdk_servers (self , method_name , server_count ):
55185654 servers = compute_fakes .create_sdk_servers (count = server_count )
@@ -8443,7 +8579,6 @@ def setUp(self):
84438579 'locked' ,
84448580 'locked_reason' ,
84458581 'name' ,
8446- 'pinned_availability_zone' ,
84478582 'progress' ,
84488583 'project_id' ,
84498584 'properties' ,
@@ -8493,7 +8628,6 @@ def setUp(self):
84938628 None , # locked
84948629 None , # locked_reason
84958630 self .server .name ,
8496- None , # pinned_availability_zone
84978631 None , # progress
84988632 'tenant-id-xxx' , # project_id
84998633 format_columns .DictColumn ({}), # properties
@@ -9444,7 +9578,6 @@ def test_prep_server_detail(self):
94449578 'locked' : None ,
94459579 'locked_reason' : None ,
94469580 'name' : _server .name ,
9447- 'pinned_availability_zone' : None ,
94489581 'progress' : None ,
94499582 'project_id' : 'tenant-id-xxx' ,
94509583 'properties' : format_columns .DictColumn ({}),
@@ -9531,7 +9664,6 @@ def test_prep_server_detail_v247(self):
95319664 'locked' : None ,
95329665 'locked_reason' : None ,
95339666 'name' : _server .name ,
9534- 'pinned_availability_zone' : None ,
95359667 'progress' : None ,
95369668 'project_id' : 'tenant-id-xxx' ,
95379669 'properties' : format_columns .DictColumn ({}),
0 commit comments