2016-03-24 7 views
1

OpenStackのオーケストレーションエンジン「ヒート」では、コンピューティングリソースを展開し、HOTテンプレートと呼ばれるソフトウェアを構成できます。ここではgithubの上の多くの例があります。 スクリプトを含むOpenStackヒートテンプレートのデプロイ方法

熱テンプレートはYAMLで書かれているし、我々はこの構文で

heat stack-create my_first_stack -f heat_1a.yaml 

をテンプレートを展開できます。また、OpenStackのダッシュボードに直接テンプレートファイルをアップロードすることができhttps://github.com/openstack/heat-templates/tree/master/hot

。 しかし、ここで私の質問ですが、テンプレートの多くには展開後に実行されるpowershellスクリプトのシェルスクリプトも含まれます。これらのスクリプトをOpenStackにアップロードしてスタックに含めるにはどうすればいいですか?例えば

、ここではMicrosoft SQL Serverのテンプレートのディレクトリ一覧が

C:\heat-templates\hot\Windows\MSSQLServer>ls 
MSSQL.ps1 MSSQL.psm1 MSSQL.yaml Tests heat-powershell-utils.psm1 

された熱クライアントは、唯一の引数としてYAMLファイルがかかりますので、どのようにか、我々は、スクリプトで何をしますか?

ありがとう、 Rob。

答えて

1

は熱のテンプレートガイドを参照してください: http://docs.openstack.org/developer/heat/template_guide/software_deployment.html

基本的にYAMLテンプレートファイルで定義されたリソースは、指定されたファイル名から文字列を読み込み、「GET_FILE」ディレクティブを使用することができます。したがって、ヒートクライアントのMSSQL.yamlを呼び出すとヒートクライアントが解析し、ファイル名を引数として "get_file"が見つかると、そのファイルから読み取ります。

上記リンクから "GET_FILE" を用いて、実施例:

... 
the_server: 
    type: OS::Nova::Server 
    properties: 
    # flavor, image etc 
    user_data: 
     str_replace: 
     template: {get_file: the_server_boot.sh} 
     params: 
      $FOO: {get_param: foo} 
関連する問題