Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Can't instantiate abstract class SfpUtil with abstract methods get_transceiver_change_event #2017

Closed
lguohan opened this issue Sep 5, 2018 · 11 comments
Assignees

Comments

@lguohan
Copy link
Collaborator

lguohan commented Sep 5, 2018

Description

Steps to reproduce the issue:
1.
2.
3.

Describe the results you received:

https://groups.google.com/forum/#!topic/sonicproject/7YeMVQRbbLs

Describe the results you expected:

Additional information you deem important (e.g. issue happens only occasionally):

**Output of `show version`:**

```
(paste your output here)
```

**Attach debug file `sudo generate_dump`:**

```
(paste your output here)
```
@jleveque
Copy link
Contributor

jleveque commented Sep 8, 2018

All plugins which inherit the base class must define a concrete implementation of every abstract property and method, otherwise this error will be encountered. When adding a new abstract property or method to a base class, one should also add concrete implementations to all subclasses in the project. The concrete methods can simply be stubs with a "TODO" comment and a raise NotImplementedError instruction.

@keboliu
Copy link
Collaborator

keboliu commented Sep 10, 2018

as Joe mentioned, in the implementation of xcvrd, some more method was added, all the platforms need to implement this method or add a stub.

@lguohan
Copy link
Collaborator Author

lguohan commented Sep 10, 2018

@keboliu, please add a stub for all other platforms which do not have implementation yet. The reason is that we cannot break other platforms when introducing new functions.

@xinliu-seattle
Copy link
Contributor

@keboliu, can you input the repro steps, I will ping all platform vendors to add this support.

@keboliu
Copy link
Collaborator

keboliu commented Sep 11, 2018

@xinliu-seattle for the way to reproduce this issue, please check this link https://groups.google.com/forum/#!topic/sonicproject/7YeMVQRbbLs.
@lguohan I'd like to resolve this issue and have Xcvrd work on all the platforms, but I have concern to modify the code on other platforms directly, it's not about efforts, it's about capability and ownership.

@lguohan
Copy link
Collaborator Author

lguohan commented Sep 11, 2018

@keboliu, it won't work if we break other platforms when we introduce new APIs. The right thing to do is to first add dummy interface all platform as suggested by Joe. Then, later those platforms can implemented their own.

@keboliu
Copy link
Collaborator

keboliu commented Sep 12, 2018

@lguohan @xinliu-seattle I can create PR to add stubs to other platforms, but without verification as you know I don't have other platforms. Do we have some list for the platform should be included or just all the platforms?

@lguohan
Copy link
Collaborator Author

lguohan commented Sep 12, 2018

all platforms with sfputil.py plugin in their folder.

@lguohan
Copy link
Collaborator Author

lguohan commented Sep 12, 2018

we cannot ask you to do the test, but the syntax of the code should be correct.

@keboliu
Copy link
Collaborator

keboliu commented Sep 12, 2018

please check PR #2038

@lguohan
Copy link
Collaborator Author

lguohan commented Sep 12, 2018

thanks!

@lguohan lguohan closed this as completed Sep 12, 2018
stephenxs added a commit to stephenxs/sonic-buildimage that referenced this issue Nov 23, 2021
bb0733a [aclorch] Add ACL_TABLE_TYPE configuration  (sonic-net#1982)
59cab5d Support for setting switch level DSCP to TC QoS map (sonic-net#2023)
da21172 [aclorch] add generic AclOrch::updateAclRule() method (sonic-net#1993)
4f6cb05 [Reclaiming buffer] Support reclaiming buffer in traditional model (sonic-net#2011)
32d7a69 [Reclaiming buffer] Common code update (sonic-net#1996)
b91d8ba [swss] L2 Forwarding Enhancements (sonic-net#1716)
797dab4 [muxorch] Bind all ports to drop ACL table (sonic-net#2027)
99929cd [lgtm.yml] add libgmock-dev (sonic-net#2035)
8727ae5 [flex counter] Flex counter threads consume too much CPU resources sonic-net#9202 (sonic-net#2031)
103fdf0 Remove redundant calls to get child scheduler group during initialization (sonic-net#1965)
18ea840 [macsec]: MACsec statistics support (sonic-net#1867)
0c46242 [orchagent] Flush pipeline every 1 second, not only when select will timeout (sonic-net#2003)
339101c [cbf] Add class-based forwarding support (sonic-net#1963)
24a615b Fix issue: accumulative headroom can exceed limit in rare scenario (sonic-net#2020)
708e232 Test divide by zero processing path (sonic-net#2028)
8f1d035 [macsecmgr]: Wait for port up before enabling macsec (sonic-net#2032)
4912a77 Remove buffer drop counter when port is removed (sonic-net#1860)
f9462c4 [Dynamic buffer] [Mellanox] Calculate the peer response time according to the speed (sonic-net#1930)
8b5a401 Routed subinterface enhancements (sonic-net#2017)
cdea5e9 Fix next hop compilation (sonic-net#2025)
37c197d [SRV6] Sonic-swss changes for SRV6 (sonic-net#1964)
f502c32 [vnetorch] Add ECMP support for vnet tunnel routes (sonic-net#1960)

Signed-off-by: Stephen Sun <stephens@nvidia.com>
liat-grozovik pushed a commit that referenced this issue Nov 24, 2021
bb0733a [aclorch] Add ACL_TABLE_TYPE configuration  (#1982)
59cab5d Support for setting switch level DSCP to TC QoS map (#2023)
da21172 [aclorch] add generic AclOrch::updateAclRule() method (#1993)
4f6cb05 [Reclaiming buffer] Support reclaiming buffer in traditional model (#2011)
32d7a69 [Reclaiming buffer] Common code update (#1996)
b91d8ba [swss] L2 Forwarding Enhancements (#1716)
797dab4 [muxorch] Bind all ports to drop ACL table (#2027)
99929cd [lgtm.yml] add libgmock-dev (#2035)
8727ae5 [flex counter] Flex counter threads consume too much CPU resources #9202 (#2031)
103fdf0 Remove redundant calls to get child scheduler group during initialization (#1965)
18ea840 [macsec]: MACsec statistics support (#1867)
0c46242 [orchagent] Flush pipeline every 1 second, not only when select will timeout (#2003)
339101c [cbf] Add class-based forwarding support (#1963)
24a615b Fix issue: accumulative headroom can exceed limit in rare scenario (#2020)
708e232 Test divide by zero processing path (#2028)
8f1d035 [macsecmgr]: Wait for port up before enabling macsec (#2032)
4912a77 Remove buffer drop counter when port is removed (#1860)
f9462c4 [Dynamic buffer] [Mellanox] Calculate the peer response time according to the speed (#1930)
8b5a401 Routed subinterface enhancements (#2017)
cdea5e9 Fix next hop compilation (#2025)
37c197d [SRV6] Sonic-swss changes for SRV6 (#1964)
f502c32 [vnetorch] Add ECMP support for vnet tunnel routes (#1960)

Signed-off-by: Stephen Sun <stephens@nvidia.com>
theasianpianist pushed a commit to theasianpianist/sonic-buildimage that referenced this issue Feb 5, 2022
* Routed subinterface library implementation
taras-keryk pushed a commit to taras-keryk/sonic-buildimage that referenced this issue Apr 28, 2022
…t#1951)"" (sonic-net#2019)

Refer to sonic-net#1951 for details

The PR sonic-net#1951 was reverted in sonic-net#2016 because it was thought to be causing the build failure in sonic-swss TestWarmReboot UTs. But it seems the failures in TestWarmReboot are still occurring e.g. sonic-net#2017 [build](https://dev.azure.com/mssonic/build/_build/results?buildId=65653&view=logs&s=859b8d9a-8fd6-5a5c-6f5e-f84f1990894e)

I think we can reapply sonic-net#1951 and need to investigate TestWarmReboot tests instability
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants