[vr-sros] Node fails to boot after switching from classic CLI to MD-CLI and saving config
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:
- run nokia_sros node with classic cli and configure random part of the config
- enable md-cli:
/configure system management-interface configuration-mode model-driven - re-login and save the config:
/admin save - 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
Hello Team, sorry for the interruption. Could you please confirm whether the bug has been acknowledged and if there is any available workaround? At the moment, there seems to be no way to reboot the node or redeploy the lab without losing all configurations with MD-CLI activated.
Hi This use case was not tried, so we will rely on the community to figure it out
Thank you for reply, hellt This is not actually use case... this is the basic nokia_sros functionalyty described in the official doc (https://containerlab.dev/manual/kinds/vr-sros/) To reproduce the issue only one thing is needed: save the config and reboot the node/redeploy the lab
this topo is enough and no need to change config on the box, just save it
name: topo
topology:
nodes:
sros1:
kind: nokia_sros
image: vrnetlab/nokia_sros:22.10.R8
type: sr-1
license: license.txt
links:
# inter-switch link
[]
Partial/Full configs from files or from topo.yaml are broken if they are MD-CLI