Commit 78e035e7 authored by Boris Glimcher's avatar Boris Glimcher Committed by Tomasz Zawadzki
Browse files

python/rpc: use client object directly in cli



Change-Id: Ifad43ca6e143c675fae2643f9d3136d4fc2e7446
Signed-off-by: default avatarBoris Glimcher <Boris.Glimcher@emc.com>
Reviewed-on: https://review.spdk.io/c/spdk/spdk/+/26430


Reviewed-by: default avatarKonrad Sztyber <ksztyber@nvidia.com>
Community-CI: Mellanox Build Bot
Reviewed-by: default avatarJim Harris <jim.harris@nvidia.com>
Tested-by: default avatarSPDK Automated Test System <spdkbot@gmail.com>
parent 682644f9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -7,6 +7,8 @@
Moved all cli code inside the python package for easier generation and packaging.
Split large rpc python file into modules.

Deprecate python.spdk.rpc modules and use JSONRPCClient object directly.

### sock

Simplified spdk_sock_[listen|connect] impl_name handling. Previously, if NULL was provided and the
+2 −3
Original line number Diff line number Diff line
@@ -17,8 +17,7 @@ except ImportError:

try:
    sys.path.append(os.path.dirname(__file__) + '/../../../python')
    from spdk.rpc.client import print_dict, JSONRPCException  # noqa
    import spdk.rpc as rpc  # noqa
    from spdk.rpc.client import print_dict, JSONRPCClient, JSONRPCException  # noqa
except ImportError:
    print("SPDK RPC library missing. Please add spdk/python directory to PYTHONPATH:")
    print("'export PYTHONPATH=$PYTHONPATH:spdk/python'")
@@ -102,7 +101,7 @@ if __name__ == "__main__":
    args = parser.parse_args()
    if args.time_in_sec is not None:
        args.timeout = max(float(args.time_in_sec + 5), args.timeout)
    args.client = rpc.client.JSONRPCClient(args.server_addr, args.port, args.timeout, log_level=getattr(logging, args.verbose.upper()))
    args.client = JSONRPCClient(args.server_addr, args.port, args.timeout, log_level=getattr(logging, args.verbose.upper()))
    if hasattr(args, 'func'):
        call_rpc_func(args)
    elif sys.stdin.isatty():
+13 −13
Original line number Diff line number Diff line
@@ -6,27 +6,26 @@
#

import sys
import spdk.rpc as rpc  # noqa
from spdk.rpc.client import print_dict, print_json, print_array  # noqa


def add_parser(subparsers):

    def accel_get_opc_assignments(args):
        print_dict(rpc.accel.accel_get_opc_assignments(args.client))
        print_dict(args.client.accel_get_opc_assignments())

    p = subparsers.add_parser('accel_get_opc_assignments', help='Get list of opcode name to module assignments.')
    p.set_defaults(func=accel_get_opc_assignments)

    def accel_get_module_info(args):
        print_dict(rpc.accel.accel_get_module_info(args.client))
        print_dict(args.client.accel_get_module_info())

    p = subparsers.add_parser('accel_get_module_info', aliases=['accel_get_engine_info'],
                              help='Get list of valid module names and their operations.')
    p.set_defaults(func=accel_get_module_info)

    def accel_assign_opc(args):
        rpc.accel.accel_assign_opc(args.client, opname=args.opname, module=args.module)
        args.client.accel_assign_opc(opname=args.opname, module=args.module)

    p = subparsers.add_parser('accel_assign_opc', help='Manually assign an operation to a module.')
    p.add_argument('-o', '--opname', help='opname')
@@ -34,7 +33,7 @@ def add_parser(subparsers):
    p.set_defaults(func=accel_assign_opc)

    def accel_crypto_key_create(args):
        print_dict(rpc.accel.accel_crypto_key_create(args.client,
        print_dict(args.client.accel_crypto_key_create(
                                                     cipher=args.cipher,
                                                     key=args.key,
                                                     key2=args.key2,
@@ -50,23 +49,21 @@ def add_parser(subparsers):
    p.set_defaults(func=accel_crypto_key_create)

    def accel_crypto_key_destroy(args):
        print_dict(rpc.accel.accel_crypto_key_destroy(args.client,
                                                      key_name=args.name))
        print_dict(args.client.accel_crypto_key_destroy(key_name=args.name))

    p = subparsers.add_parser('accel_crypto_key_destroy', help='Destroy encryption key')
    p.add_argument('-n', '--name', help='key name', required=True, type=str)
    p.set_defaults(func=accel_crypto_key_destroy)

    def accel_crypto_keys_get(args):
        print_dict(rpc.accel.accel_crypto_keys_get(args.client,
                                                   key_name=args.key_name))
        print_dict(args.client.accel_crypto_keys_get(key_name=args.key_name))

    p = subparsers.add_parser('accel_crypto_keys_get', help='Get a list of the crypto keys')
    p.add_argument('-k', '--key-name', help='Get information about a specific key', type=str)
    p.set_defaults(func=accel_crypto_keys_get)

    def accel_set_driver(args):
        rpc.accel.accel_set_driver(args.client, name=args.name)
        args.client.accel_set_driver(name=args.name)

    p = subparsers.add_parser('accel_set_driver', help='Select accel platform driver to execute ' +
                              'operation chains')
@@ -74,8 +71,11 @@ def add_parser(subparsers):
    p.set_defaults(func=accel_set_driver)

    def accel_set_options(args):
        rpc.accel.accel_set_options(args.client, args.small_cache_size, args.large_cache_size,
                                    args.task_count, args.sequence_count, args.buf_count)
        args.client.accel_set_options(small_cache_size=args.small_cache_size,
                                      large_cache_size=args.large_cache_size,
                                      task_count=args.task_count,
                                      sequence_count=args.sequence_count,
                                      buf_count=args.buf_count)

    p = subparsers.add_parser('accel_set_options', help='Set accel framework\'s options')
    p.add_argument('--small-cache-size', type=int, help='Size of the small iobuf cache')
@@ -86,7 +86,7 @@ def add_parser(subparsers):
    p.set_defaults(func=accel_set_options)

    def accel_get_stats(args):
        print_dict(rpc.accel.accel_get_stats(args.client))
        print_dict(args.client.accel_get_stats())

    p = subparsers.add_parser('accel_get_stats', help='Display accel framework\'s statistics')
    p.set_defaults(func=accel_get_stats)
+9 −12
Original line number Diff line number Diff line
@@ -6,15 +6,13 @@
#

import sys
import spdk.rpc as rpc  # noqa
from spdk.rpc.client import print_dict, print_json, print_array  # noqa


def add_parser(subparsers):

    def spdk_kill_instance(args):
        rpc.app.spdk_kill_instance(args.client,
                                   sig_name=args.sig_name)
        args.client.spdk_kill_instance(sig_name=args.sig_name)

    p = subparsers.add_parser('spdk_kill_instance', help='Send signal to instance')
    p.add_argument('sig_name', help='signal will be sent to server.')
@@ -26,8 +24,7 @@ def add_parser(subparsers):
            enabled = True
        if args.disable:
            enabled = False
        print_dict(rpc.app.framework_monitor_context_switch(args.client,
                                                            enabled=enabled))
        print_dict(args.client.framework_monitor_context_switch(enabled=enabled))

    p = subparsers.add_parser('framework_monitor_context_switch',
                              help='Control whether the context switch monitor is enabled')
@@ -36,14 +33,14 @@ def add_parser(subparsers):
    p.set_defaults(func=framework_monitor_context_switch)

    def framework_get_reactors(args):
        print_dict(rpc.app.framework_get_reactors(args.client))
        print_dict(args.client.framework_get_reactors())

    p = subparsers.add_parser(
        'framework_get_reactors', help='Display list of all reactors')
    p.set_defaults(func=framework_get_reactors)

    def framework_set_scheduler(args):
        rpc.app.framework_set_scheduler(args.client,
        args.client.framework_set_scheduler(
                                        name=args.name,
                                        period=args.period,
                                        load_limit=args.load_limit,
@@ -62,21 +59,21 @@ def add_parser(subparsers):
    p.set_defaults(func=framework_set_scheduler)

    def framework_get_scheduler(args):
        print_dict(rpc.app.framework_get_scheduler(args.client))
        print_dict(args.client.framework_get_scheduler())

    p = subparsers.add_parser(
        'framework_get_scheduler', help='Display currently set scheduler and its properties.')
    p.set_defaults(func=framework_get_scheduler)

    def framework_get_governor(args):
        print_dict(rpc.app.framework_get_governor(args.client))
        print_dict(args.client.framework_get_governor())

    p = subparsers.add_parser(
        'framework_get_governor', help='Display currently set governor and the available, set CPU frequencies.')
    p.set_defaults(func=framework_get_governor)

    def scheduler_set_options(args):
        rpc.app.scheduler_set_options(args.client,
        args.client.scheduler_set_options(
                                      isolated_core_mask=args.isolated_core_mask,
                                      scheduling_core=args.scheduling_core)
    p = subparsers.add_parser('scheduler_set_options', help='Set scheduler options')
@@ -86,14 +83,14 @@ def add_parser(subparsers):
    p.set_defaults(func=scheduler_set_options)

    def framework_disable_cpumask_locks(args):
        rpc.framework_disable_cpumask_locks(args.client)
        args.client.framework_disable_cpumask_locks()

    p = subparsers.add_parser('framework_disable_cpumask_locks',
                              help='Disable CPU core lock files.')
    p.set_defaults(func=framework_disable_cpumask_locks)

    def framework_enable_cpumask_locks(args):
        rpc.framework_enable_cpumask_locks(args.client)
        args.client.framework_enable_cpumask_locks()

    p = subparsers.add_parser('framework_enable_cpumask_locks',
                              help='Enable CPU core lock files.')
+82 −105

File changed.

Preview size limit exceeded, changes collapsed.

Loading