sushy-cli/sushycli/chassis_list.py
Ilya Etingof b2ce4d60ad Add systems, managers and chassis listing commands
To fish anything out of Redfish BMC, the user needs to discover
systems/managers/chassis entry points.

The commands introduced with this commit are:

  sushycli system list
  sushycli manager list
  sushycli chassis list

The output of these commands includes item ID which could
be fed back to other sushycli commands for addressing the
entity of interest.

Change-Id: If78c227a3f19067293bd67d5929af50d3245c611
Story: 2006608
Task: 36776
2020-02-17 11:52:21 +01:00

58 lines
1.7 KiB
Python

# -*- coding: utf-8 -*-
# Copyright 2010-2020 OpenStack Foundation
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may
# not use this file except in compliance with the License. You may obtain
# a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
from sushycli import base
class ChassisList(base.BaseLister):
"""List available chassis"""
def get_parser(self, prog_name):
"""List chassis command parser.
:param prog_name: name of the cliff command being executed
:returns: an `argparse.ArgumentParser` instance
"""
parser = super(ChassisList, self).get_parser(prog_name)
return parser
def take_action(self, args):
"""List chassis command action.
:param args: a namespace of command-line option-value pairs that
come from the user
:returns: CLI process exit code
"""
root = super(ChassisList, self).take_action(args)
chassis = root.get_chassis_collection()
rows = []
for chassis in chassis.get_members():
chassis_inst = root.get_chassis(chassis.path)
rows.append(
[chassis_inst.name, chassis_inst.uuid, chassis.path]
)
columns = [
'Name', 'Identity', 'Chassis ID'
]
return columns, rows