Zero-Touch Provisioning Does not Run unless there Is Activity on the Serial Console

Follow

Issue

The Cumulus Linux zero-touch provisioning script works only when I am connected to the switch through the serial console and attempt to log in. If I don't log in through the console, the script doesn't run.

Environment

  • Cumulus Linux 1.5.2
  • Cumulus Linux 2.0.0

Resolution

Cumulus Linux 1.5.2

Use a Cumulus Linux 1.5.3 install image, or upgrade to cl-basefiles from Cumulus Linux 1.5.3:

root@switch:~# apt-get update
root@switch:~# apt-get install cl-basefiles

Cumulus Linux 2.0.0

Use a Cumulus Linux 2.0.1 install image, or upgrade cl-basefiles to Cumulus Linux 2.0.1:

cumulus@switch:~$ sudo apt-get update
cumulus@switch:~$ sudo apt-get install cl-basefiles

Root Cause

The autoprovisioning script in the affected versions delays execution of the payload until /bin/login has started. /bin/login does not start unless there is activity on the console.

The fix includes a new init script /etc/init.d/autoprovision that creates a file /var/run/boot.done to signal when the boot process is complete.

Have more questions? Submit a request

Comments

Powered by Zendesk