Repository: sonic-net/sonic-utilities

Issue:
Unexpected keyword argument when changing port speed using config command
**Description**

Hi,

I tried to change the speed of an interface config command. 
But received error stating that "TypeError: speed() got an unexpected keyword argument 'interface_speed'"


**Steps to reproduce the issue**
1. config interface Ethernet0 speed 100

**Describe the results you received**

```
admin@sonic:~$ sudo config interface Ethernet0 speed 100
Traceback (most recent call last):
  File "/usr/bin/config", line 9, in <module>
    load_entry_point('sonic-utilities==1.2', 'console_scripts', 'config')()
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 722, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 697, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 1066, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 895, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python2.7/dist-packages/click/core.py", line 535, in invoke
    return callback(*args, **kwargs)
  File "/usr/lib/python2.7/dist-packages/click/decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
TypeError: speed() got an unexpected keyword argument 'interface_speed'
```
**Describe the results you expected**

Expected to change the interface speed.

**Additional information you deem important (e.g. issue happens only occasionally)**


**Output of `show version`**

```
SONiC Software Version: SONiC.HEAD.788-7056b49
Distribution: Debian 9.6
Kernel: 4.9.0-7-amd64
Build commit: 7056b49
Build date: Tue Nov 27 14:10:56 UTC 2018
Built by: johnar@jenkins-worker-4

Docker images:
REPOSITORY                 TAG                 IMAGE ID            SIZE
docker-syncd-brcm          HEAD.788-7056b49    623f99bb65b5        336.3 MB
docker-syncd-brcm          latest              623f99bb65b5        336.3 MB
docker-orchagent-brcm      HEAD.788-7056b49    cac56ba1c8ea        282.7 MB
docker-orchagent-brcm      latest              cac56ba1c8ea        282.7 MB
docker-lldp-sv2            HEAD.788-7056b49    f598e85d0beb        271.1 MB
docker-lldp-sv2            latest              f598e85d0beb        271.1 MB
docker-dhcp-relay          HEAD.788-7056b49    65eac5ef3ac3        253.3 MB
docker-dhcp-relay          latest              65eac5ef3ac3        253.3 MB
docker-database            HEAD.788-7056b49    65dadc6b26ff        252 MB
docker-database            latest              65dadc6b26ff        252 MB
docker-teamd               HEAD.788-7056b49    c43eebe0a96e        270.9 MB
docker-teamd               latest              c43eebe0a96e        270.9 MB
docker-snmp-sv2            HEAD.788-7056b49    f73134de5204        290.8 MB
docker-snmp-sv2            latest              f73134de5204        290.8 MB
docker-router-advertiser   HEAD.788-7056b49    ac09860a76a3        249.6 MB
docker-router-advertiser   latest              ac09860a76a3        249.6 MB
docker-platform-monitor    HEAD.788-7056b49    8f7899735d59        283.5 MB
docker-platform-monitor    latest              8f7899735d59        283.5 MB
docker-fpm-quagga          HEAD.788-7056b49    e109db1be164        277.7 MB
docker-fpm-quagga          latest              e109db1be164        277.7 MB
```



Discussion:

Resolving patch:
diff --git a/config/main.py b/config/main.py
--- a/config/main.py
+++ b/config/main.py
@@ -825,7 +825,7 @@ def shutdown(ctx):
 @click.pass_context
 @click.argument('interface_speed', metavar='<interface_speed>', required=True)
 @click.option('-v', '--verbose', is_flag=True, help="Enable verbose output")
-def speed(ctx, verbose):
+def speed(ctx, interface_speed, verbose):
     """Set interface speed"""
     interface_name = ctx.obj['interface_name']
 


Test patch: