カスタムインストールスクリプトの例はありますか?

カスタムインストールスクリプトの例はありますか?

インストール後に実行されるカスタム スクリプトを提供する方法についての情報が見つからないようです。コミュニティが提供できる例はありますか?

答え1

使用しているインストーラに応じて、MAASはインストールをカスタマイズするためのさまざまなメカニズムを提供します。この回答では、カーティンインストーラー(高速パスインストーラーとも呼ばれる)は、マース1.7

MAASはクラウド初期化インストールプロセスの一部として、cloud-initの動作をカスタマイズする方法は複数ありますが、最も簡単な方法は、ユーザーデータスクリプトこれは、オペレーティング システムのインストールが完了した後、最初の起動時に cloud-init によって実行されます。

MAASでは、user_data引数をnode start CLIコマンドこのコマンドの形式は次のとおりです。

maas <user> node start <node uuid> user_data=<script> distro_series=<name>

ここで、は実際にはbase64でエンコードされた文字列です。具体的な例として、インストールコンソールに出力を出力する<script>というスクリプトを実行したいとします。addkey.shLaunchpadからSSHキーをインポートするユーザーに対して実行ubuntuされ、その結果がログファイルに記録されます。

#!/bin/sh
(
echo ======== Hi World ======================
echo ============== $(date) =================
ssh-import-id user
) | tee /my.log

次のコマンドを発行できます。

$ script=$(base64 addkey.sh)
$ maas myuser node start node-79b67e82-d25c-11e4-a333-00163eca91de \
  user_data=$script distro_series=trusty

成功した場合、しばらくすると次の形式の出力が返されます。

Success.
Machine-readable output follows:
{
    "status": 6, 
    "macaddress_set": [
        {
...

これで、デプロイ後にスクリプトが実行されます。特定のノード. コマンドを次のように設定したい場合は、任意のノードMAASを通じてインストールされたコマンドはlate_commands/etc/maas/preseeds/curtin_userdataファイル。このメカニズムを使用してネットワークインターフェースに2つのVLANを設定するより複雑な例については、http://astokes.org/customizing-fastpath-curtin-installations/

カーティンは現在ほとんど文書化されていないことに注意してください。しかし、概要ファイルその動作の詳細の一部を説明します。

このメカニズムはcomissioning script試運転段階MAAS ノードのライフサイクルではインストールの前に行われます。コミッショニングは通常、インストールに直接影響しないことを目的とした管理タスクに使用されます。例:

  • ファームウェアの更新
  • 主要なハードウェアコンポーネントの健全性テスト
  • バーンイン

答え2

ここでのコマンドは 1.0 API 用であることに注意してください。2.0 以降では、コマンドは次のようになります。

maas <profile> machine deploy <system_id> user_data=<base64-encoded-userdata>

関連情報