При попытке использовать AWS userdata
возможность запустить сценарий при загрузке экземпляра, я заметил, что иногда (не всегда) часть облачной инициализации застревает где-то посередине и не достигает той части, где запускается пользовательский сценарий.
Вот так это должно выглядеть в /var/log/cloud-init-output.log
файл:
Cloud-init v. 0.7.5 running 'init-local' at Tue, 30 May 2017 06:38:40 +0000. Up 18.56 seconds.
Cloud-init v. 0.7.5 running 'init' at Tue, 30 May 2017 06:38:45 +0000. Up 23.39 seconds.
SOME_NETWORK_AND_SSH_KEYS_INFO_HERE
Cloud-init v. 0.7.5 running 'modules:config' at Tue, 30 May 2017 06:38:51 +0000. Up 28.80 seconds.
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
Cloud-init v. 0.7.5 running 'modules:final' at Tue, 30 May 2017 06:39:35 +0000. Up 73.20 seconds.
MY_USERDATA_SCRIPT_OUTPUT_HERE
Но вот как это выглядит, когда он застрял:
Cloud-init v. 0.7.5 running 'init-local' at Tue, 30 May 2017 06:36:43 +0000. Up 21.80 seconds.
Cloud-init v. 0.7.5 running 'init' at Tue, 30 May 2017 06:36:51 +0000. Up 30.13 seconds.
SOME_NETWORK_AND_SSH_KEYS_INFO_HERE
Cloud-init v. 0.7.5 running 'modules:config' at Tue, 30 May 2017 06:36:59 +0000. Up 37.66 seconds.
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
Как видите, он застрял после Generation complete
и это все.
Есть идеи, что может вызвать это и как я должен его смягчить?
Кстати, ОС - Ubuntu 14.04
Таким образом, проблема заключалась в том, что другой не связанный сценарий, который также был настроен для запуска на том же уровне выполнения, застрял, из-за чего весь уровень выполнения ждал его завершения перед запуском следующего уровня (в каком модуле: final в).
Как только мы исправили этот сценарий, проблема исчезла.