@@ -6285,6 +6285,10 @@ def setUp(self):
62856285
62866286 self .image = image_fakes .FakeImage .create_one_image ()
62876287 self .flavor = compute_fakes .FakeFlavor .create_one_flavor ()
6288+ self .topology = {
6289+ 'nodes' : [{'vcpu_set' : [0 , 1 ]}, {'vcpu_set' : [2 , 3 ]}],
6290+ 'pagesize_kb' : None ,
6291+ }
62886292 server_info = {
62896293 'image' : {'id' : self .image .id },
62906294 'flavor' : {'id' : self .flavor .id },
@@ -6298,6 +6302,7 @@ def setUp(self):
62986302 resp .status_code = 200
62996303 server_method = {
63006304 'diagnostics' : (resp , {'test' : 'test' }),
6305+ 'topology' : self .topology ,
63016306 }
63026307 self .server = compute_fakes .FakeServer .create_one_server (
63036308 attrs = server_info , methods = server_method )
@@ -6348,6 +6353,7 @@ def test_show(self):
63486353 ]
63496354 verifylist = [
63506355 ('diagnostics' , False ),
6356+ ('topology' , False ),
63516357 ('server' , self .server .name ),
63526358 ]
63536359 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
@@ -6365,6 +6371,7 @@ def test_show_embedded_flavor(self):
63656371 ]
63666372 verifylist = [
63676373 ('diagnostics' , False ),
6374+ ('topology' , False ),
63686375 ('server' , self .server .name ),
63696376 ]
63706377 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
@@ -6391,6 +6398,7 @@ def test_show_diagnostics(self):
63916398 ]
63926399 verifylist = [
63936400 ('diagnostics' , True ),
6401+ ('topology' , False ),
63946402 ('server' , self .server .name ),
63956403 ]
63966404 parsed_args = self .check_parser (self .cmd , arglist , verifylist )
@@ -6400,6 +6408,47 @@ def test_show_diagnostics(self):
64006408 self .assertEqual (('test' ,), columns )
64016409 self .assertEqual (('test' ,), data )
64026410
6411+ def test_show_topology (self ):
6412+ self .app .client_manager .compute .api_version = \
6413+ api_versions .APIVersion ('2.78' )
6414+
6415+ arglist = [
6416+ '--topology' ,
6417+ self .server .name ,
6418+ ]
6419+ verifylist = [
6420+ ('diagnostics' , False ),
6421+ ('topology' , True ),
6422+ ('server' , self .server .name ),
6423+ ]
6424+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
6425+
6426+ self .columns += ('topology' ,)
6427+ self .data += (format_columns .DictColumn (self .topology ),)
6428+
6429+ columns , data = self .cmd .take_action (parsed_args )
6430+
6431+ self .assertCountEqual (self .columns , columns )
6432+ self .assertCountEqual (self .data , data )
6433+
6434+ def test_show_topology_pre_v278 (self ):
6435+ self .app .client_manager .compute .api_version = \
6436+ api_versions .APIVersion ('2.77' )
6437+
6438+ arglist = [
6439+ '--topology' ,
6440+ self .server .name ,
6441+ ]
6442+ verifylist = [
6443+ ('diagnostics' , False ),
6444+ ('topology' , True ),
6445+ ('server' , self .server .name ),
6446+ ]
6447+ parsed_args = self .check_parser (self .cmd , arglist , verifylist )
6448+
6449+ self .assertRaises (
6450+ exceptions .CommandError , self .cmd .take_action , parsed_args )
6451+
64036452
64046453class TestServerStart (TestServer ):
64056454
0 commit comments