Closed balmasea closed 1 year ago
Can you provide the stacktrace? I would guess it correctly calls wait for device reboot, which is the loop that gives it an hour to reboot, but the reality is it hasn’t rebooted yet, and since that, it fails since the version isn’t correct.
Stacktrace does not contain much, just the exception being raised.
fatal: [hostname]: FAILED! => {"changed": false, "msg": "hostname was unable to boot into cat9k_iosxe.17.06.03.SPA.bin"}
That's exactly what we have seen, reboot after running the install mode command in https://github.com/networktocode/pyntc/blob/develop/pyntc/devices/ios_device.py#L709 does not reboot immediately for some devices.
Hi there. Any update about this matter? Is there anything I can help with?
So the summarization is:
show
method with a custom delay factor.So what we're seeing is the delay factor is not long enough here for the install command to complete. It then moves to L721, and waits for reboot, however the install process is still occurring so it actually assumes the reboot has already completed.
We need the wait for reboot to be smarter then just running show version.
Yep, what you stated in your comment is accurate. I will rework a little bit the merge request soon. Thanks for the answer.
closed in #268
Environment
Expected Behavior
After running an upgrade in install mode, I would expect that library would wait for the device to be reloaded.
Observed Behavior
It immediately runs the method
_wait_for_device_reboot
, capturing theshow version
output and exceptionOSInstallError
is raised. Show version output fragment:Steps to Reproduce
We could not find a deterministic way to reproduce the error. Pretty much, we have run an upgrade in install mode and capture the output from
_wait_for_reboot
method.