Skip to content

[platform][barefoot] Add Psu.get_name#7717

Merged
jleveque merged 1 commit intosonic-net:masterfrom
vboykox:vboykox/fix_psu_get_name
May 26, 2021
Merged

[platform][barefoot] Add Psu.get_name#7717
jleveque merged 1 commit intosonic-net:masterfrom
vboykox:vboykox/fix_psu_get_name

Conversation

@vboykox
Copy link
Copy Markdown
Member

@vboykox vboykox commented May 26, 2021

Signed-off-by: Volodymyr Boyko volodymyrx.boiko@intel.com

Why I did it

To fix the following:

# psuutil status
Traceback (most recent call last):
  File "/usr/local/bin/psuutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/psuutil/main.py", line 93, in status
    psu_name = psu.get_name()
  File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/device_base.py", line 28, in get_name
    raise NotImplementedError
NotImplementedError

How I did it

Implemented get_name

How to verify it

Which release branch to backport (provide reason below if selected)

  • 201811
  • 201911
  • 202006
  • 202012

Description for the changelog

A picture of a cute animal (not mandatory but encouraged)

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
@vboykox vboykox requested a review from lguohan as a code owner May 26, 2021 13:05
@vboykox
Copy link
Copy Markdown
Member Author

vboykox commented May 26, 2021

https://github.com/Azure/sonic-utilities/blob/00bd0cea4f260ca8cecc382a6bcea05272dfd070/psuutil/main.py#L93
@jleveque Maybe it's worth handling not implemented in utilities with default value "PSU " (as it was before)? Or make get_name stated as mandatory somewhere

@jleveque
Copy link
Copy Markdown
Contributor

https://github.com/Azure/sonic-utilities/blob/00bd0cea4f260ca8cecc382a6bcea05272dfd070/psuutil/main.py#L93
@jleveque Maybe it's worth handling not implemented in utilities with default value "PSU " (as it was before)? Or make get_name stated as mandatory somewhere

I don't think we should implement any default values. Platform vendors should implement the methods in the API. get_name is mandatory, but it (along with a few other methods) may get overlooked by the vendor because they are inherited by all devices from the DeviceBase class.

@jleveque jleveque merged commit 0fa0248 into sonic-net:master May 26, 2021
carl-nokia pushed a commit to carl-nokia/sonic-buildimage that referenced this pull request Aug 7, 2021
#### Why I did it
To fix the following:
```
# psuutil status
Traceback (most recent call last):
  File "/usr/local/bin/psuutil", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 717, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.7/dist-packages/click/core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/psuutil/main.py", line 93, in status
    psu_name = psu.get_name()
  File "/usr/local/lib/python3.7/dist-packages/sonic_platform_base/device_base.py", line 28, in get_name
    raise NotImplementedError
NotImplementedError
```
#### How I did it
Implemented get_name

Signed-off-by: Volodymyr Boyko <volodymyrx.boiko@intel.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants