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

xlate/openconfig: disable client-signal-mapping-type configuration #67

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

noguchiko
Copy link
Contributor

This change disables a clinet-signal-mapping-type configuration as a part of optical-channel's operational-mode configuration. Because the attribute is not yet a standard TAI attribute. So common TAI adapters do not support it. This change allows users to configure optical-channel's operational-mode with common TAI adapters.

This change disables a clinet-signal-mapping-type configuration as a
part of optical-channel's operational-mode configuration. Because the
attribute is not yet a standard TAI attribute. So common TAI adapters
do not support it. This change allows users to configure optical-
channel's operational-mode with common TAI adapters.
@ishidawataru
Copy link
Contributor

@noguchiko What is the current behavior if client-signal-mapping-type is not supported by the TAI adapter? south-tai rejects the changes?

@noguchiko
Copy link
Contributor Author

noguchiko commented Nov 17, 2022

@ishidawataru

What is the current behavior if client-signal-mapping-type is not supported by the TAI adapter? south-tai rejects the changes?

Yes it does. A set operational-mode operation will fail because south-tai rejects a change for client-signal-mapping-type.


client

$ gnmic -a 192.168.10.37:51052 -u nil -p nil --insecure --timeout 30s set --update-path /openconfig-platform:components/component[name=och-transceiver-line-piu2-0]/config/name --update-value och-transceiver-line-piu2-0 --update-path /openconfig-platform:components/component[name=och-transceiver-line-piu2-0]/openconfig-terminal-device:optical-channel/config/operational-mode --update-value 400
target "192.168.10.37:51052" set request failed: target "192.168.10.37:51052" SetRequest failed: rpc error: code = Aborted desc = failed to apply changes. Apply changes to the repository failed: apply failed. unsupported attribute: client-signal-mapping-type, <class 'goldstone.north.gnmi.repo.repo.ApplyFailedError'>
Error: one or more requests failed

xlate-oc

DEBUG core change_cb l.122 | id: 1, event: change, changes: [ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']: {'name': 'och-transceiver-line-piu2-0', 'config': {'name': 'och-transceiver-line-piu2-0'}, 'power-supply': {'config': {'enabled': True}}, 'optical-channel': {'config': {'operational-mode': 400}}}), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/name: 'och-transceiver-line-piu2-0'), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/config: {'name': 'och-transceiver-line-piu2-0'}), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/config/name: 'och-transceiver-line-piu2-0'), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/power-supply: {'config': {'enabled': True}}), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/power-supply/config: {'enabled': True}), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/power-supply/config/openconfig-platform-psu:enabled: True), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/openconfig-terminal-device:optical-channel: {'config': {'operational-mode': 400}}), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/openconfig-terminal-device:optical-channel/config: {'operational-mode': 400}), ChangeCreated(/openconfig-platform:components/component[name='och-transceiver-line-piu2-0']/openconfig-terminal-device:optical-channel/config/operational-mode: 400)]
DEBUG sysrepo get l.71 | xpath: /goldstone-transponder:modules/module[name='piu2']/network-interface[name='0'], ds: running, not found. returning None
INFO lib validate l.142 | Given service value: 400
DEBUG lib validate l.146 | Validated Goldstone value: ('400g', 'dp-16-qam', 'ofec', 'flexo-lr')
DEBUG sysrepo get l.71 | xpath: /goldstone-transponder:modules/module[name='piu2'], ds: running, not found. returning None
DEBUG sysrepo get l.71 | xpath: /goldstone-transponder:modules/module[name='piu2']/network-interface[name='0'], ds: running, not found. returning None
ERROR lib post l.307 | Failed to apply changes. unsupported attribute: client-signal-mapping-type

xlate-oc received an unsupported attribute: client-signal-mapping-type error.

south-tai

DEBUG core change_cb l.122 | id: 1, event: change, changes: [ChangeCreated(/goldstone-transponder:modules/module[name='piu2']: {'name': 'piu2', 'config': {'name': 'piu2'}, 'network-interface': [{'name': '0', 'config': {'name': '0', 'line-rate': '400g', 'modulation-format': 'dp-16-qam', 'fec-type': 'ofec', 'client-signal-mapping-type': 'flexo-lr'}}]}), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/name: 'piu2'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/config: {'name': 'piu2'}), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/config/name: 'piu2'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']: {'name': '0', 'config': {'name': '0', 'line-rate': '400g', 'modulation-format': 'dp-16-qam', 'fec-type': 'ofec', 'client-signal-mapping-type': 'flexo-lr'}}), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/name: '0'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/config: {'name': '0', 'line-rate': '400g', 'modulation-format': 'dp-16-qam', 'fec-type': 'ofec', 'client-signal-mapping-type': 'flexo-lr'}), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/config/name: '0'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/config/line-rate: '400g'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/config/modulation-format: 'dp-16-qam'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/config/fec-type: 'ofec'), ChangeCreated(/goldstone-transponder:modules/module[name='piu2']/network-interface[name='0']/config/client-signal-mapping-type: 'flexo-lr')]
DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'config', [])]
INFO transponder _init l.123 | obj: <taish.Module object at 0xffff9c5350f0>, xpath: [(None, 'config', [])]
DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'config', []), (None, 'name', [])]
INFO transponder _init l.123 | obj: <taish.Module object at 0xffff9c5391b0>, xpath: [(None, 'config', []), (None, 'name', [])]
DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'network-interface', [('name', '0')]), (None, 'config', [])]
DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'network-interface', [('name', '0')]), (None, 'config', []), (None, 'name', [])]
DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'network-interface', [('name', '0')]), (None, 'config', []), (None, 'line-rate', [])]
INFO transponder validate l.65 | cap: attr_id: 9
default_value: "400g"
supportedvalues: "100g"
supportedvalues: "200g"
supportedvalues: "300g"
supportedvalues: "400g"

DEBUG sysrepo get l.88 | xpath: /goldstone-transponder:modules, ds: running, value: {}
DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'network-interface', [('name', '0')]), (None, 'config', []), (None, 'modulation-format', [])]
INFO transponder validate l.65 | cap: attr_id: 10
default_value: "dp-16-qam"
supportedvalues: "dp-qpsk"
supportedvalues: "dp-8-qam"
supportedvalues: "dp-16-qam"

DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'network-interface', [('name', '0')]), (None, 'config', []), (None, 'fec-type', [])]
INFO transponder validate l.65 | cap: attr_id: 11
default_value: "ofec"
supportedvalues: "sc-fec"
supportedvalues: "cfec"
supportedvalues: "ofec"
supportedvalues: "hg-fec"

DEBUG transponder get_module_from_xpath l.677 | xpath: [('goldstone-transponder', 'modules', []), (None, 'module', [('name', 'piu2')]), (None, 'network-interface', [('name', '0')]), (None, 'config', []), (None, 'client-signal-mapping-type', [])]

It seems there are no supported values for the attribute client-signal-mapping-type.

@ishidawataru
Copy link
Contributor

@noguchiko I think the current behavior is valid. xlate-oc should not skip setting client-signal-mapping-type.
Which TAI adapter are you using? libtai-ldc.so? In that case, I think I can add support of client-signal-mapping-type relatively soon.

@noguchiko
Copy link
Contributor Author

@ishidawataru

Which TAI adapter are you using? libtai-ldc.so?

Yes.

In that case, I think I can add support of client-signal-mapping-type relatively soon.

It sounds good to me! Should I create an issue for the work?

@ishidawataru
Copy link
Contributor

ishidawataru commented Nov 18, 2022

@noguchiko Yes, please. The TAI adapters don't have their own open repo and binary-distributed ATM. Please open an issue in goldstone-buildimages repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants