Openstackを使用してVM using 'nova boot'コマンドを作成しています。イメージはcloud-initが有効になっています。cloud-のbashシェル形式である--user-dataスクリプトを渡します- VM起動時間中に実行するinit。これはすべて正常に行われます。今の私のユースケースは、VMを再起動せずに同じユーザーデータスクリプトを実行するためにcloud-initを再実行することです。/usr/bin/cloud-initオプションを見て、それらは特定のモジュールの実行について話しますが、同じユーザーデータスクリプトを実行させることはできません。
Cloud-initをリセットするには、rm -rf /var/lib/cloud/instances
を実行する必要があります。
次に、cloud-init start
を再実行すると、完全なブートスクリプトプロセスが再度実行されます。
これは検索結果にポップアップし続けているので、私にとって何がうまくいきますか:
/var/lib/cloud/instances/i-xxxxxxx/sem
のセマフォを削除します。これらのファイルが存在する場合、cloud-initは再実行されません。/var/lib/cloud/instances/i-xxxxxxxx/scripts/part-001
を編集します。これはユーザーデータスクリプトです。実行only cloud-initのユーザースクリプトモジュール。これにより、ユーザーデータが再ダウンロードされることはありませんが、手順2で既にダウンロードされた(そして現在は変更された)スクリプトが実行されます。
Sudo /usr/bin/cloud-init single -n cc_scripts_user
コマンドが更新されたため、再実行するには、既存の構成をclean
実行する必要があります。
Sudo cloud-init clean
次に、init
ディレクティブを使用して再実行します。
Sudo cloud-init init
注意:sshホストキーなどのものが再生成される可能性があります。
Cloud-initのcloud-config部分のパッケージモジュールを実行するには、次のコマンドを実行できます。
# cloud-init-cfg all config
Cloud-initのcloud-config部分のruncmdモジュールを実行するには、次を実行できます。
# cloud-init-cfg all final