Skip to content

[vr-sros] Node fails to boot after switching from classic CLI to MD-CLI and saving config #2824

@mkorneyc

Description

@mkorneyc

Environment:
Platform: Containerlab / QEMU last version
Image: nokia_sros-22.x.x
Host OS: 24.04.3 LTS

Preconditions:
Run a fresh Nokia SR OS VM/container with classic CLI enabled.

Steps to Reproduce:

  1. run nokia_sros node with classic cli and configure random part of the config
  2. enable md-cli: /configure system management-interface configuration-mode model-driven
  3. re-login and save the config: /admin save
  4. reboot the node

Expected Result:
Node should reboot successfully and load the saved configuration with MD-CLI enabled.

Actual Result:
Node is in unhealthy state, last logs are:

2025-09-22 17:19:57,747: vrnetlab       INFO Writing to console: 'admin'
2025-09-22 17:19:57,748: vrnetlab       INFO Waiting on console for: 'Password:'
admin
Password:
2025-09-22 17:19:57,955: vrnetlab       INFO Writing to console: 'admin'
2025-09-22 17:19:57,955: launch         INFO Scrapli timeout is 900s (default 900s)
2025-09-22 17:19:57,955: launch         DEBUG Configuration file exists
2025-09-22 17:19:57,965: factory        INFO Driver '<class 'scrapli.driver.network.sync_driver.NetworkDriver'>' selected from scrapli community platforms, with the following platform arguments: '{'privilege_levels': {'exec': <scrapli.driver.network.base_driver.PrivilegeLevel object at 0x7c832e0d51e0>, 'configuration': <scrapli.driver.network.base_driver.PrivilegeLevel object at 0x7c832e0d5240>}, 'default_desired_privilege_level': 'exec', 'failed_when_contains': ['MINOR:', 'MAJOR:', 'Error:', 'Bad Command:'], 'textfsm_platform': '', 'genie_platform': '', 'on_open': <function classic_default_sync_on_open at 0x7c832e0d3100>, 'on_close': <function default_sync_on_close at 0x7c832e0d3240>}'
2025-09-22 17:34:57,975: decorators     CRITICAL operation timed out, closing connection
Traceback (most recent call last):
  File "/launch.py", line 1984, in <module>
    ia.start()
  File "/vrnetlab.py", line 1050, in start
    vm.work()
  File "/vrnetlab.py", line 927, in work
    self.bootstrap_spin()
  File "/launch.py", line 1026, in bootstrap_spin
    self.bootstrap_config()
  File "/launch.py", line 1296, in bootstrap_config
    self.sros_con.commandeer(conn=self.scrapli_tn)
  File "/.venv/lib/python3.12/site-packages/scrapli/driver/base/sync_driver.py", line 192, in commandeer
    self.on_open(self)
  File "/.venv/lib/python3.12/site-packages/scrapli_community/nokia/sros/sync_driver.py", line 39, in classic_default_sync_on_open
    conn.acquire_priv(desired_priv=conn.default_desired_privilege_level)
  File "/.venv/lib/python3.12/site-packages/scrapli/driver/network/sync_driver.py", line 165, in acquire_priv
    current_prompt = self.channel.get_prompt()
                     ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.12/site-packages/scrapli/decorators.py", line 224, in decorate
    return _multiprocessing_timeout(
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.12/site-packages/scrapli/decorators.py", line 110, in _multiprocessing_timeout
    return _handle_timeout(
           ^^^^^^^^^^^^^^^^
  File "/.venv/lib/python3.12/site-packages/scrapli/decorators.py", line 142, in _handle_timeout
    raise ScrapliTimeout(message)
scrapli.exceptions.ScrapliTimeout: timed out getting prompt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions