Skip to content

[DPB][YANG] sonic-crm.yang is not aligned with newest changes in CONFIG_DB #6331

@vadymhlushko-mlnx

Description

@vadymhlushko-mlnx

Description

The Dynamic Port Breakout feature requires all YANG-models to be fully aligned with CONFIG_DB.
If some engineer extends the CONFIG_DB with the new fields, those fields needed to be represented in the appropriate .yang file.

CONFIG_DB was extended with the fields snat_entry_threshold_type, snat_entry_low_threshold, snat_entry_high_threshold, dnat_entry_threshold_type, dnat_entry_low_threshold, dnat_entry_high_threshold, ipmc_entry_threshold_type, ipmc_entry_low_threshold, ipmc_entry_high_threshold.
Need to add representation of these fields inside the sonic-crm.yang

Steps to reproduce the issue:
Run the command config interface breakout <interface> <breakout_mode>

Describe the results you received:

root@arc-switch1038:/usr/local/yang-models# config interface breakout Ethernet0 2x100G[50G,40G,25G,10G,1G] -v -y

Running Breakout Mode : 1x200G[100G,50G,40G,25G,10G,1G]
Target Breakout Mode : 2x100G[50G,40G,25G,10G,1G]

Ports to be deleted :
 {
    "Ethernet0": "200000"
}
Ports to be added :
 {
    "Ethernet0": "100000",
    "Ethernet2": "100000"
}

After running Logic to limit the impact

Final list of ports to be deleted :
 {
    "Ethernet0": "200000"
}
Final list of ports to be added :
 {
    "Ethernet0": "100000",
    "Ethernet2": "100000"
}
Loaded below Yang Models
['sonic-acl', 'sonic-breakout_cfg', 'sonic-device_metadata', 'sonic-device_neighbor', 'sonic-extension', 'sonic-interface', 'sonic-loopback-interface', 'sonic-port', 'sonic-portchannel', 'sonic-types', 'sonic-versions', 'sonic-vlan']
Note: Below table(s) have no YANG models:
BGP_NEIGHBOR, FLEX_COUNTER_TABLE, FEATURE, TELEMETRY,
Data Loading Failed
Failed to break out Port. Error: Failed to load the config. Error: ConfigMgmtDPB Class creation failed

Describe the results you expected:

root@arc-switch1038:/usr/local/yang-models# config interface breakout Ethernet0 2x100G[50G,40G,25G,10G,1G] -v -y

Running Breakout Mode : 1x200G[100G,50G,40G,25G,10G,1G]
Target Breakout Mode : 2x100G[50G,40G,25G,10G,1G]

Ports to be deleted :
 {
    "Ethernet0": "200000"
}
Ports to be added :
 {
    "Ethernet0": "100000",
    "Ethernet2": "100000"
}

After running Logic to limit the impact

Final list of ports to be deleted :
 {
    "Ethernet0": "200000"
}
Final list of ports to be added :
 {
    "Ethernet0": "100000",
    "Ethernet2": "100000"
}
Loaded below Yang Models
['sonic-acl', 'sonic-breakout_cfg', 'sonic-device_metadata', 'sonic-device_neighbor', 'sonic-extension', 'sonic-interface', 'sonic-loopback-interface', 'sonic-port', 'sonic-portchannel', 'sonic-types', 'sonic-versions', 'sonic-vlan']
Note: Below table(s) have no YANG models:
BGP_NEIGHBOR, FEATURE, TELEMETRY,
Do you wish to Continue? [y/N]: y
Breakout process got successfully completed.
Please note loaded setting will be lost after system reboot. To preserve setting, run `config save`.

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

**Output of `show version`:**
root@arc-switch1038:/usr/local/yang-models# show version

SONiC Software Version: SONiC.dpb_qa_image_draft.0-1cdf86d6
Distribution: Debian 10.7
Kernel: 4.19.0-9-2-amd64
Build commit: 1cdf86d6
Build date: Wed Dec 30 00:08:54 UTC 2020
Built by: vadymh@r-build-sonic02

Platform: x86_64-mlnx_msn3700-r0
HwSKU: ACS-MSN3700
ASIC: mellanox
ASIC Count: 1
Serial Number: MT1851X02961
Uptime: 11:44:12 up 47 min,  2 users,  load average: 1.65, 1.83, 1.69

Docker images:
REPOSITORY                    TAG                             IMAGE ID            SIZE
docker-syncd-mlnx             dpb_qa_image_draft.0-1cdf86d6   e438f97b84ff        624MB
docker-syncd-mlnx             latest                          e438f97b84ff        624MB
docker-teamd                  dpb_qa_image_draft.0-1cdf86d6   c551495d6919        524MB
docker-teamd                  latest                          c551495d6919        524MB
docker-nat                    dpb_qa_image_draft.0-1cdf86d6   f6cd6923a0cc        527MB
docker-nat                    latest                          f6cd6923a0cc        527MB
docker-sonic-mgmt-framework   dpb_qa_image_draft.0-1cdf86d6   d12ec3b88aee        681MB
docker-sonic-mgmt-framework   latest                          d12ec3b88aee        681MB
docker-router-advertiser      dpb_qa_image_draft.0-1cdf86d6   c8ad45b01878        480MB
docker-router-advertiser      latest                          c8ad45b01878        480MB
docker-platform-monitor       dpb_qa_image_draft.0-1cdf86d6   bab065afbda6        687MB
docker-platform-monitor       latest                          bab065afbda6        687MB
docker-lldp                   dpb_qa_image_draft.0-1cdf86d6   cc383ca46a4c        520MB
docker-lldp                   latest                          cc383ca46a4c        520MB
docker-snmp                   dpb_qa_image_draft.0-1cdf86d6   3286280b4087        525MB
docker-snmp                   latest                          3286280b4087        525MB
docker-dhcp-relay             dpb_qa_image_draft.0-1cdf86d6   df2677ca38ed        487MB
docker-dhcp-relay             latest                          df2677ca38ed        487MB
docker-database               dpb_qa_image_draft.0-1cdf86d6   6c78a351a07b        480MB
docker-database               latest                          6c78a351a07b        480MB
docker-orchagent              dpb_qa_image_draft.0-1cdf86d6   93bb56fc8e02        554MB
docker-orchagent              latest                          93bb56fc8e02        554MB
docker-sonic-telemetry        dpb_qa_image_draft.0-1cdf86d6   93cf2cec0c87        554MB
docker-sonic-telemetry        latest                          93cf2cec0c87        554MB
docker-fpm-frr                dpb_qa_image_draft.0-1cdf86d6   0c9d1641a997        540MB
docker-fpm-frr                latest                          0c9d1641a997        540MB
docker-sflow                  dpb_qa_image_draft.0-1cdf86d6   1790924a6134        525MB
docker-sflow                  latest                          1790924a6134        525MB

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions