Add a show capabilities command to view the capabilities of nodes
Bug: https://bugzilla.redhat.com/show_bug.cgi?id=1212390 Change-Id: I18715be7db6b640f2b6f4d5ca0a6459656fad13b
This commit is contained in:
parent
b27dcc652d
commit
273f7acfad
|
@ -1003,3 +1003,33 @@ class TestConfigureBaremetalBoot(fakes.TestBaremetal):
|
||||||
'path': '/driver_info/deploy_kernel'
|
'path': '/driver_info/deploy_kernel'
|
||||||
}]),
|
}]),
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
class TestShowNodeCapabilities(fakes.TestBaremetal):
|
||||||
|
|
||||||
|
def setUp(self):
|
||||||
|
super(TestShowNodeCapabilities, self).setUp()
|
||||||
|
|
||||||
|
# Get the command object to test
|
||||||
|
self.cmd = baremetal.ShowNodeCapabilities(self.app, None)
|
||||||
|
|
||||||
|
def test_success(self):
|
||||||
|
|
||||||
|
bm_client = self.app.client_manager.rdomanager_oscplugin.baremetal()
|
||||||
|
|
||||||
|
bm_client.node.list.return_value = [
|
||||||
|
mock.Mock(uuid='UUID1'),
|
||||||
|
mock.Mock(uuid='UUID2'),
|
||||||
|
]
|
||||||
|
|
||||||
|
bm_client.node.get.return_value = mock.Mock(
|
||||||
|
properties={'capabilities': 'boot_option:local'})
|
||||||
|
|
||||||
|
arglist = []
|
||||||
|
parsed_args = self.check_parser(self.cmd, arglist, [])
|
||||||
|
result = self.cmd.take_action(parsed_args)
|
||||||
|
|
||||||
|
self.assertEqual((
|
||||||
|
('Node UUID', 'Node Capabilities'),
|
||||||
|
[('UUID1', 'boot_option:local'), ('UUID2', 'boot_option:local')]
|
||||||
|
), result)
|
||||||
|
|
|
@ -531,3 +531,18 @@ class ConfigureBaremetalBoot(command.Command):
|
||||||
'value': kernel_id,
|
'value': kernel_id,
|
||||||
},
|
},
|
||||||
])
|
])
|
||||||
|
|
||||||
|
|
||||||
|
class ShowNodeCapabilities(lister.Lister):
|
||||||
|
"""List the capabilities for all Nodes"""
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__ + ".ShowNodeProfile")
|
||||||
|
|
||||||
|
def take_action(self, parsed_args):
|
||||||
|
bm_client = self.app.client_manager.rdomanager_oscplugin.baremetal()
|
||||||
|
rows = []
|
||||||
|
for node in bm_client.node.list():
|
||||||
|
node_detail = bm_client.node.get(node.uuid)
|
||||||
|
capabilities = node_detail.properties.get('capabilities')
|
||||||
|
rows.append((node.uuid, capabilities))
|
||||||
|
return (("Node UUID", "Node Capabilities"), rows, )
|
||||||
|
|
|
@ -59,6 +59,7 @@ openstack.rdomanager_oscplugin.v1 =
|
||||||
baremetal_instackenv_validate = rdomanager_oscplugin.v1.baremetal:ValidateInstackEnv
|
baremetal_instackenv_validate = rdomanager_oscplugin.v1.baremetal:ValidateInstackEnv
|
||||||
baremetal_import = rdomanager_oscplugin.v1.baremetal:ImportBaremetal
|
baremetal_import = rdomanager_oscplugin.v1.baremetal:ImportBaremetal
|
||||||
baremetal_introspection_bulk_start = rdomanager_oscplugin.v1.baremetal:StartBaremetalIntrospectionBulk
|
baremetal_introspection_bulk_start = rdomanager_oscplugin.v1.baremetal:StartBaremetalIntrospectionBulk
|
||||||
|
baremetal_show_capabilities = rdomanager_oscplugin.v1.baremetal:ShowNodeCapabilities
|
||||||
baremetal_introspection_bulk_status = rdomanager_oscplugin.v1.baremetal:StatusBaremetalIntrospectionBulk
|
baremetal_introspection_bulk_status = rdomanager_oscplugin.v1.baremetal:StatusBaremetalIntrospectionBulk
|
||||||
baremetal_configure_ready_state = rdomanager_oscplugin.v1.baremetal:ConfigureReadyState
|
baremetal_configure_ready_state = rdomanager_oscplugin.v1.baremetal:ConfigureReadyState
|
||||||
baremetal_configure_boot = rdomanager_oscplugin.v1.baremetal:ConfigureBaremetalBoot
|
baremetal_configure_boot = rdomanager_oscplugin.v1.baremetal:ConfigureBaremetalBoot
|
||||||
|
|
Loading…
Reference in New Issue