Add list fabrics command
Add new command 'rsd fabric list' to allow user to list all fabrics brief info. Change-Id: I7fbd102c9ff67a54c7f6633eb573b038c0d43f1e
This commit is contained in:
26
rsdclient/osc/v1/fabric.py
Normal file
26
rsdclient/osc/v1/fabric.py
Normal file
@@ -0,0 +1,26 @@
|
||||
# Copyright 2017 Intel, Inc.
|
||||
#
|
||||
# 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 rsdclient.common import command
|
||||
|
||||
|
||||
class ListFabric(command.Command):
|
||||
_description = "List all Fabrics"
|
||||
|
||||
def take_action(self, parsed_args):
|
||||
self.log.debug("take_action(%s)", parsed_args)
|
||||
rsd_client = self.app.client_manager.rsd
|
||||
fabric_list = rsd_client.fabric.list()
|
||||
print(fabric_list)
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
import rsd_lib
|
||||
|
||||
from rsdclient.v1 import fabric
|
||||
from rsdclient.v1 import node
|
||||
from rsdclient.v1 import storage_service
|
||||
|
||||
@@ -27,3 +28,4 @@ class Client(object):
|
||||
self.node = node.NodeManager(self.client)
|
||||
self.storage_service = \
|
||||
storage_service.StorageServiceManager(self.client)
|
||||
self.fabric = fabric.FabricManager(self.client)
|
||||
|
||||
33
rsdclient/v1/fabric.py
Normal file
33
rsdclient/v1/fabric.py
Normal file
@@ -0,0 +1,33 @@
|
||||
# Copyright 2017 Intel, Inc.
|
||||
#
|
||||
# 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 rsdclient.common import base
|
||||
from rsdclient.common import utils
|
||||
|
||||
|
||||
class FabricManager(base.Manager):
|
||||
_resource_name = 'fabrics'
|
||||
|
||||
def __init__(self, *args, **kwargs):
|
||||
super(FabricManager, self).__init__(*args, **kwargs)
|
||||
self.fabrics_path = self.client._fabrics_path
|
||||
|
||||
def list(self):
|
||||
fabric_collection = self.client.get_fabric_collection()
|
||||
fabrics = [utils.extract_attr(self.client.get_fabric(fabric_uri))
|
||||
for fabric_uri in fabric_collection.members_identities]
|
||||
fabric_info_table = utils.print_dict(
|
||||
fabrics, ["Identity", "Name", "Fabric_Type", "Description"])
|
||||
return fabric_info_table
|
||||
@@ -38,6 +38,8 @@ openstack.rsd.v1 =
|
||||
rsd_storage_list = rsdclient.osc.v1.storage_service:ListStorageServices
|
||||
rsd_storage_show = rsdclient.osc.v1.storage_service:ShowStorageServices
|
||||
|
||||
rsd_fabric_list = rsdclient.osc.v1.fabric:ListFabric
|
||||
|
||||
[build_sphinx]
|
||||
all-files = 1
|
||||
warning-is-error = 1
|
||||
|
||||
Reference in New Issue
Block a user