ソフトウェア設定情報の詳細について説明します。
ソフトウェア設定情報とは、ソフトウェアに設定できるパラメーターを定義するXMLドキュメントです。このソフトウェア設定情報には、パラメーター一覧(キー名とデフォルト値)と設定方式を記述します。
パラメーター一覧には、ソフトウェアに設定できる複数のパラメーターを記述します。1つのパラメーターは、キー名とデフォルト値で表します。ただし、デフォルト値は省略することが可能です。また、デフォルト値には、変数を記述することもできます。
パラメーターの設定方式は、パラメーターの値を、どのような方式でソフトウェアに設定するかを指定します。この方式は、Windowsで使用できるバッチファイルのソフトウェア設定スクリプトか、Linuxで使用できるシェルスクリプトのソフトウェア設定スクリプトかを選択できます。このソフトウェア設定スクリプトを登録するには、ZIPファイルのスクリプトパッケージにまとめて、テンプレート管理コマンドで登録します。
項目(タグ)の説明については、「1.5.5.2 ソフトウェア設定情報の詳細」を参照してください。
ソフトウェア設定スクリプトについては、「1.5.5.3 ソフトウェア設定スクリプトの詳細」を参照してください。
スクリプトパッケージについては、「1.5.5.4 パッケージファイルの詳細」を参照してください。
デフォルト値に指定できる変数は、「1.5.5.5 値に指定できる変数の詳細」を参照してください。
ソフトウェア設定情報には、以下の3通りがあります。
本製品で提供するもの
Webで公開するもの
ユーザーが作成するもの
a.については、「付録B 予約済ソフトウェア設定ID」を参照してください。
b.については、『ソフトウェア説明書』の「Systemwalker技術情報ホームページについて」を参照してください。
c.については、以下のディレクトリに格納されている雛形を参考にして、テンプレート管理者が作成してください。
【Windows】 格納先:<本製品のインストール先>\templates\softwaresetups\ 【Linux】 格納先:/opt/FJSVcfmg/templates/softwaresetups/ |
ソフトウェア設定情報の関連付け
ソフトウェア設定情報は、ソフトウェアに設定できるパラメーターを定義していますが、対象となるソフトウェアを指定していません。それには、ソフトウェア設定情報とソフトウェア情報を関連付ける必要があります。
ソフトウェア設定情報1つに対して、複数のソフトウェア情報を関連付けることができます。そのため、ソフトウェアに複数のエディションが存在しても、ソフトウェア設定情報を1つに集約できます。ただし、Windows版とLinux版は混在できないため、このような場合は別々のソフトウェア設定情報を作成する必要があります。
ソフトウェア設定情報とソフトウェア情報を関連付けると、ソフトウェアにパラメーターを設定するソフトウェア設定スクリプトがサーバ配備時に動作します。ただし、ソフトウェア設定情報にあるすべてのデフォルト値が省略されていると動作しません。このようなソフトウェア設定スクリプトが動作するのは、パラメーター情報で値を設定した場合になります。
ソフトウェア設定情報 (XMLファイル) は以下の形式となっています。
<?xml version="1.0" encoding="UTF-8"?> <softwareSetup version="1.0"> <id>[ソフトウェア設定情報ID]</id> <lcid>[ロケールID]</lcid> <name>[ソフトウェア設定情報の名前]</name> <description>[説明]</description> <method>[パラメーター設定の方式]</method> <parameters> <parameter> <key>[パラメーターのキー]</key> <type>[パラメーターの値の型]</type> <value>[設定必須パラメーターのデフォルト値]</value> <label>[パラメーターのラベル]</label> <description>[パラメーターの説明]</description> </parameter> … </parameters> </softwareSetup> |
以下にそれぞれの項目 (タグ) の説明および設定内容について示します。
この情報を参考にして、必要に応じてソフトウェア設定情報を修正してください。
タグ名の[ ]は、省略可能なタグであることを示しています。
タグ名 | 型 | 設定範囲 | 説明 | 必須 | 設定内容 |
---|---|---|---|---|---|
id | string | 0~32Bytes | ソフトウェア設定IDを指定します。 | △ | 新規追加する場合は空文字列を指定します。 |
lcid | string | 選択 | ソフトウェア設定情報のロケールを指定します。 | ○ | 以下から選択します。 |
name | string UTF-8 | 64文字以内 | ソフトウェア設定の名前を指定します。 | △ | |
description | string | 256文字以内 | ソフトウェア設定の説明を指定します。 | △ | |
method | string | 選択 | パラメーター設定方式を指定します。 | ○ | 以下から選択します。 |
parameters | - | - | ソフトウェアに設定できる複数のパラメーターを指定します。 | × | |
parameter | - | 1個以上 | ソフトウェアに設定できるパラメーターをキーと値で指定します。 | × | |
key | string | 1~256Bytes | パラメーターのキーを指定します。 | ○ | 使用可能文字は英数字と「.」です。 |
type | string | 選択 | 値の型を指定します。 | ○ | 以下から選択します。 |
[ value ] | string | 4096文字以内 | 配備時にソフトウェアが動作するために必要となるパラメーターの値を指定します。 | △ | 配備時に設定しないパラメーターは、valueを省略します。 |
[ label ] | string | 64文字以内 | パラメーターを画面上に表示する場合のラベルを指定します。 | △ | |
[ description ] | string | 256文字以内 | パラメーターの説明を指定します。 | △ |
必須欄の記号は、以下を意味しています。
○:タグを指定した場合は、必ず値を指定してください。
△:値は省略可能です。
×:値の設定は不要です。タグだけの指定です。
ソフトウェア設定スクリプトとは、ソフトウェアにパラメーターを設定するためのスクリプトです。このスクリプトは、仮想サーバに転送されて、仮想サーバ上で実行されます。
ソフトウェア設定スクリプトは、複数のファイルで構成されています。また、Windowsで使用できるバッチファイルと、Linuxで使用できるシェルスクリプトが決められています。このファイルの説明を、以下に示します。
スタートアップスクリプト
スタートアップスクリプトは、必ず初めに呼び出されるスクリプトです。
このスクリプトはファイル名が決められていて、バッチファイルがstartup.cmdで、シェルスクリプトがstartup.shです。このスクリプトの処理では、必ず入力となる環境変数設定スクリプトを呼び出すことと、出力となる結果を復帰することが必要です。この他の処理は、ソフトウェアごとに作成することができます。
環境変数設定スクリプト
スタートアップスクリプトへの入力は、環境変数を経由して渡します。この環境変数を設定するのが、環境変数設定スクリプトです。
このスクリプトはファイル名が決められていて、バッチファイルがsetenv.cmdで、シェルスクリプトがsetenv.shです。
環境変数設定スクリプトは、本製品がソフトウェア設定情報やパラメーター情報から生成します。
添付ファイル
スタートアップスクリプトでは、任意のファイルを使用できます。
添付ファイルにシェルスクリプトを含める場合は、実行権をシェルスクリプトのスタートアップスクリプトの中で設定してください。
スタートアップスクリプト (バッチファイル) の形式【Windows】
バッチファイルのスタートアップスクリプト (startup.cmd) は、以下の形式で作成します。
初めに環境変数設定スクリプト (setenv.cmd) を呼び出します。最後に処理が成功した場合は0を復帰して、失敗した場合は0以外を復帰します。標準出力と標準エラー出力は、エージェントのログに出力されます。
@echo off setlocal @rem 環境変数を設定する call .\setenv.cmd @rem ソフトウェアのセットアップ処理 <各ソフトウェアの処理> @rem 結果(正常)を復帰する if ERRORLEVEL 1 goto ERROR_END endlocal exit /B 0 @rem 結果(異常)を復帰する : ERROR_END echo ERROR0001 setup failed 1>&2 endlocal exit /B 1 |
スタートアップスクリプト(シェルスクリプト) の形式【Linux】
シェルスクリプトのスタートアップスクリプト (startup.sh) は、以下の形式で作成します。
初めに環境変数設定スクリプト (setenv.sh) を呼び出します。最後に処理が成功した場合は0を復帰して、失敗した場合は0以外を復帰します。標準出力と標準エラー出力は、エージェントのログに出力されます。
#!/bin/sh # 環境変数を設定する source ./setenv.sh # ソフトウェアのセットアップ処理 <各ソフトウェアの処理> # 結果を復帰する if [ $? = "0" ]; then # 正常を復帰する exit 0 else # 異常を復帰する echo "ERROR0001 setup failed" 1>&2 exit 1 fi |
環境変数設定スクリプト (バッチファイル) の形式【Windows】
バッチファイルの環境変数設定スクリプト (setenv.cmd) は、以下の形式で本製品が生成します。
環境変数の名前は、ソフトウェア設定情報(パラメーター情報)にあるパラメーターのキーが設定されます。ただし、パラメーターのキーは英数字と「 . 」の組合せですが、環境変数名は「.」を「 _ 」に変換した名前になります。環境変数の値は、ソフトウェア設定情報やパラメーター情報にあるパラメーターの値が設定されます。
set パラメーターのキー=パラメーターの値 <パラメーターの数だけ環境変数を定義します> |
環境変数設定スクリプト(シェルスクリプト)の形式【Linux】
シェルスクリプトの環境変数設定スクリプト (setenv.sh) は、以下の形式で本製品が生成します。
環境変数の名前は、ソフトウェア設定情報(パラメーター情報)にあるパラメーターのキーが設定されます。ただし、パラメーターのキーは英数字と「 . 」の組合せですが、環境変数名は「 . 」を「 _ 」に変換した名前になります。環境変数の値は、ソフトウェア設定情報やパラメーター情報にあるパラメーターの値が設定されます。
set パラメーターのキー=パラメーターの値 <パラメーターの数だけ環境変数を定義します> |
注意
ソフトウェア設定スクリプト
実行順序
ソフトウェア設定スクリプトが動作する順番は、イメージ情報に記述されたソフトウェア情報の順番になります。
スタートアップスクリプト
実行権限
Windows版では、Administratorで実行されます。
Linux版では、スーパーユーザーで実行されます。
カレントディレクトリ
スタートアップスクリプトのファイルが格納されているパスが、カレントディレクトリになります。
実行権【Linux】
スタートアップスクリプトのシェルスクリプトは、実行時に自動的に実行権が設定されます。
改行
Windows版では、CR+LFです。
Linux版では、LFです。
バイトオーダーマーク(BOM)【Linux】
シェルスクリプトでは、UTF-8のバイトオーダーマーク (BOM) を含めないでください。
環境変数設定スクリプト
環境変数の定義
パラメーターの値を設定しない場合は、環境変数を定義しません。このため、スタートアップスクリプトでは、パラメーターの値を設定するかしないかを、環境変数の定義があるかなしかで判断します。
環境変数が定義されているか判定する方法を、以下に示します。
バッチファイルの場合:【Windows】
if defined <環境変数> (<定義されている処理>) else <定義されていない処理> 例: set PARAM=%hostname% if defined parameter_Key1 (set PARAM=-v %parameter_Key1% %PARAM%) |
シェルスクリプトの場合:【Linux】
${<環境変数>+${<環境変数>}} 例: PARAM=${hostname} PARAM="${parameter_Key1+"-v ${parameter_Key1}"} ${PARAM}" |
値の空文字列【Windows】
Windowsの環境変数は空文字列を設定できません。このため、バッチファイルの空文字列は、「__EMPTY__」(「
__ 」は「 _ 」と「 _ 」が2つ続いています) を設定します。このため、パラメーターの値として、「__EMPTY__」を使用はできないことに注意してください。
添付ファイル
実行権【Linux】
添付ファイルにシェルスクリプトを含める場合は、実行権をシェルスクリプトのスタートアップスクリプトの中で設定してください。
パッケージファイルとは、1つ以上のファイルをZIP形式で圧縮したファイルです。このファイルは、ソフトウェア設定スクリプトをソフトウェア設定情報やパラメーター情報に関連付けるために使用します。また、このファイルは、仮想サーバに転送されてから、仮想サーバ上で解凍されます。
ソフトウェア設定情報に登録するパッケージファイルを、スクリプトパッケージと呼びます。パラメーター情報に登録するパッケージファイルを、パラメーターパッケージと呼びます。それぞれのパッケージファイルの中に含まれるソフトウェア設定スクリプトは異なります。この説明を以下に示します。
スクリプトパッケージ
ソフトウェア設定スクリプトのスタートアップスクリプトと添付ファイルを含めます。スタートアップスクリプトは、必ず含める必要があります。
パラメーターパッケージ
ソフトウェア設定スクリプトの添付ファイルを含めます。
ソフトウェア設定スクリプトの実行イメージ
スクリプトパッケージやパラメーターパッケージは仮想サーバに転送されて、仮想サーバ上で解凍されます。また、本製品が生成する環境変数設定スクリプトも仮想サーバ上に転送されます。これらのソフトウェア設定スクリプトは、仮想サーバ上のワークディレクトリに、以下の構造で格納されます。そして、スタートアップスクリプトが格納されているディレクトリをカレントディレクトリとして、スタートアップスクリプトが実行されます。
<ワークディレクトリ> + <ソフトウェアID> + scriptpkg | + スタートアップスクリプト(startup.cmd、startup.sh) | + 環境変数設定スクリプト(setenv.cmd、setenv.sh) | + スクリプトパッケージの添付ファイル + parampkg + パラメーターパッケージの添付ファイル |
各ディレクトリの説明を以下に示します。
ソフトウェアIDディレクトリ
ソフトウェアごとに独立したディレクトリを作成します。このディレクトリの名前は、ソフトウェアIDになります。
scriptpkgディレクトリ
スクリプトパッケージを解凍したスタートアップスクリプトと添付ファイルが格納されます。また、環境変数設定スクリプトも格納します
parampkgディレクトリ
パラメーターパッケージを解凍した添付ファイルが格納されます。スタートアップスクリプトからパラメーターパッケージの添付ファイルを使用する場合は、相対パスで添付ファイルを参照するようにします。
注意
パッケージファイル
スタートアップスクリプトの格納位置
スタートアップスクリプトは、ディレクトリの配下ではなく、ZIPファイルのルートに格納してください。
スタートアップスクリプトをディレクトリの配下に格納すると、このスクリプトが実行できません。
日本語名のファイルは禁止
日本語名のファイルを含めることはできません。
ファイルの削除
仮想サーバに転送したファイルは、スクリプトを実行した後に削除されます。
仮想サーバを配備してから決定される値 (コンピュータ名、ホスト名、IPアドレス) をパラメーターの値に指定する場合は、パラメーターの値に変数を記述します。
変数は、以下の形式で記述します。
#{変数名} 例: <value>#{server.os.computername}</value> |
変数の一覧
使用できる変数と説明を、以下に示します。
変数名 | 説明 |
---|---|
server.os.computername | コンピュータ名/ホスト名 |
server.nic.ipaddress | IPアドレス |
server.nic[NIC連番].ipaddress | IPアドレス |
server.nic[NIC_BUSINESS].ipaddress | IPアドレス |
server.nic[NIC_MANAGEMENT].ipaddress | IPアドレス |
server.nic[NIC_CONTROL].ipaddress | IPアドレス |
注意
変数
エスケープシーケンス
パラメーターの値として文字「#」を指定したい場合は、「\#」のように「\」でエスケープします。文字「\」を指定したい場合は、「\\」と記述してください。