1

python-novaclientライブラリのおかげで、OpenStack でインスタンスを作成できる動作中の python プログラムがあります。

ここで、作成時にインストール後のスクリプトを提供したいと思います。メソッドのドキュメントを見ましたが、実装されていないようです。Servers.create()

誰かがこの問題に直面しましたか?


編集

Horizo​​n でインスタンスを作成すると、インストール後のスクリプトのテキスト領域の横に次の情報が表示されます。

「カスタマイズ スクリプト」フィールドは、他のシステムの「ユーザー データ」に類似しています。

それuserdataは私が必要とするパラメータですか?

userdata – メタデータ サーバーによって公開されるために渡されるユーザー データ。これは、ファイル タイプ オブジェクトまたは文字列にすることができます。

4

2 に答える 2

2

確かに解決策はオンですuserdata

私の問題を解決するために書いたPythonコードは次のとおりです。

## Return the new created instance
# @param name Name of the instance to create in a String format
# @param image OpenStack image to deploy on the virtual machine
# @param flavor OpenStack flavor to use for the virtual machine
# @param keypair Name of the keypair to copy on the instance
# @param sec_groups List of security groups to link to the instance
def create_instance(self,name,image,flavor,keypair=None,sec_groups=None):
  instance = self.client.servers.create(
    name=name,
    image=image,
    flavor=flavor,
    key_name=keypair,
    security_groups=sec_groups,
    userdata="#!/bin/bash \n echo 'AMAZING TEST' > /root/test"
  )
  return instance
于 2015-04-08T11:45:17.927 に答える
1

構成ドライブを有効にしてみてください。ユーザー データは、構成ドライブ経由で VM に送信できます。

于 2015-04-08T12:24:37.987 に答える