Skip to content

[action] [PR:3972] [db_migrator] Fix parse_xml fails when minigraph has SonicQosProfile#4009

Merged
mssonicbld merged 1 commit intosonic-net:202505from
mssonicbld:cherry/202505/3972
Aug 1, 2025
Merged

[action] [PR:3972] [db_migrator] Fix parse_xml fails when minigraph has SonicQosProfile#4009
mssonicbld merged 1 commit intosonic-net:202505from
mssonicbld:cherry/202505/3972

Conversation

@mssonicbld
Copy link
Copy Markdown
Collaborator

What I did

This change is to fix sonic-net/sonic-buildimage#22120 "Bug: [db_migrator] parse_xml fails when minigraph has SonicQosProfile".

If there is SonicQosProfile in minigraph.xml, parse_xml fails with below error:

2025 Jul 14 06:49:23.590302 vlab-01 ERR db_migrator: Caught exception while trying to parse minigraph: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'

It's because select_mmu_profiles needs platform.
https://github.com/sonic-net/sonic-buildimage/blob/master/src/sonic-config-engine/minigraph.py#L1925

How I did it

This change added code in db_migrator.py to get platform info. While calling parse_xml, pass in the platform argument.

How to verify it

Add SonicQosProfile to minigraph:

    <a:DeviceProperty>
        <a:Name>SonicQosProfile</a:Name>
        <a:Reference i:nil="true"/>
        <a:Value>Balanced</a:Value>
    </a:DeviceProperty>

Run db_migrator.py -o migrate. Check syslog, migration passed without exception.

Previous command output (if the output of a command-line utility has changed)

New command output (if the output of a command-line utility has changed)

<!--
    Please make sure you've read and understood our contributing guidelines:
    https://github.com/Azure/SONiC/blob/gh-pages/CONTRIBUTING.md

    ** Make sure all your commits include a signature generated with `git commit -s` **

    If this is a bug fix, make sure your description includes "closes #xxxx",
    "fixes #xxxx" or "resolves #xxxx" so that GitHub automatically closes the related
    issue when the PR is merged.

    If you are adding/modifying/removing any command or utility script, please also
    make sure to add/modify/remove any unit tests from the tests
    directory as appropriate.

    If you are modifying or removing an existing 'show', 'config' or 'sonic-clear'
    subcommand, or you are adding a new subcommand, please make sure you also
    update the Command Line Reference Guide (doc/Command-Reference.md) to reflect
    your changes.

    Please provide the following information:
-->

#### What I did
This change is to fix sonic-net/sonic-buildimage#22120 "Bug: [db_migrator] parse_xml fails when minigraph has SonicQosProfile".

If there is `SonicQosProfile` in minigraph.xml, parse_xml fails with below error:
```
2025 Jul 14 06:49:23.590302 vlab-01 ERR db_migrator: Caught exception while trying to parse minigraph: join() argument must be str, bytes, or os.PathLike object, not 'NoneType'
```
It's because select_mmu_profiles needs platform.
https://github.com/sonic-net/sonic-buildimage/blob/master/src/sonic-config-engine/minigraph.py#L1925

#### How I did it
This change added code in db_migrator.py to get platform info. While calling `parse_xml`, pass in the `platform` argument.

#### How to verify it
Add SonicQosProfile to minigraph:
```
    <a:DeviceProperty>
        <a:Name>SonicQosProfile</a:Name>
        <a:Reference i:nil="true"/>
        <a:Value>Balanced</a:Value>
    </a:DeviceProperty>
```

Run `db_migrator.py -o migrate`. Check syslog, migration passed without exception.

#### Previous command output (if the output of a command-line utility has changed)

#### New command output (if the output of a command-line utility has changed)
@mssonicbld
Copy link
Copy Markdown
Collaborator Author

Original PR: #3972

@mssonicbld
Copy link
Copy Markdown
Collaborator Author

/azp run

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines successfully started running 1 pipeline(s).

@mssonicbld mssonicbld merged commit 5eac9e3 into sonic-net:202505 Aug 1, 2025
7 checks passed
kktheballer pushed a commit to kktheballer/sonic-utilities that referenced this pull request Jan 14, 2026
```<br>* 1c262ab - (HEAD -> 202506) Merge branch '202505' of https://github.com/sonic-net/sonic-utilities into 202506 (2025-08-02) [Sonic Automation]
* 5eac9e3 - (origin/202505) [db_migrator] Fix parse_xml fails when minigraph has SonicQosProfile (sonic-net#4009) (2025-08-01) [mssonicbld]
* a3989b4 - Exclude Smart Switch from modular chassis operations/checks (sonic-net#4008) (2025-08-01) [mssonicbld]<br>```
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.

1 participant