OVFファイルの読み解きとカスタマイズ手順 日本アイ・ビー・エム株式会社 仮想アプライアンスセンター © 2013 IBM Corporation OVFテンプレートの詳細 ovaに含まれるovfファイル(VMの 定義)の内容。ovfファイルには XMLで定義が書かれています。 <DiskSection> <Info>List of Virtual Disks</Info> <Disk ovf:capacity="6442450944" ovf:diskId="disk1" ovf:fileRef="RHEL62_x64_LVM.vmdk" ovf:format="http://www.vmware.com/interfaces/specifications/v mdk.html#streamOptimized" ovf:populatedSize="0"> <cloudburst:partition id="1" mount="/" size="5292560384" type="ext4" ovf:required="false"/> <cloudburst:partition id="2" mount="" size="536862720" type="swap" ovf:required="false"/> </Disk> </DiskSection> <VirtualSystem ovf:id="RHEL62 Base Image"> <Info>RHEL62 with Sample SW Bundle</Info> <Name>RHEL62 with Sample SW Bundle</Name> <ProductSection> <Info>Test SW Bundle RHEL62</Info> <Product>Test SW Bundle RHEL62</Product> <Vendor></Vendor> <Version>1.0.0</Version> </ProductSection> ICCTではこの部分が該当する 表示となります。 1 © 2013 IBM Corporation エンドユーザー利用許諾契約書 <EulaSection> <Info ovf:msgid="rhel-license-info">RedHat Enterprise Linux</Info> <License ovf:msgid="rhel-license"></License> </EulaSection> <EulaSection> <Info ovf:msgid="vmware-tools-info">VMware Tools</Info> <License ovf:msgid="vmware-tools-license"></License> </EulaSection> <EulaSection> <Info ovf:msgid="my-app-license-1-info">My App License 1</Info> <License ovf:msgid="my-app-license-1"></License> </EulaSection> <EulaSection> <Info ovf:msgid="my-app-license-2-info">My App License 2</Info> <License ovf:msgid="my-app-license-2"></License> </EulaSection> <EulaSection> <Info ovf:msgid="my-app-license-3-info">My App License 3</Info> <License ovf:msgid="my-app-license-3"></License> </EulaSection> <Msg ovf:msgid="my-app-license-3">Application 利用許諾
 
 これは日本語で記載した利用許諾のサンプルです。
 文字コードはUTF-8で記載し、改行コードはLFです。
 
 </Msg> ja-JP-bundle.msgファイルには ovfのタグに該当する部分の日本語 メッセージが書かれています。 2 © 2013 IBM Corporation エンドユーザー利用許諾契約書の登録方法 ICCTで拡張イメージの作成時に Add Licenseをクリックして任意 の利用許諾を追加できます。 Add Licenseをクリックするとこの画面が表示されるので、 利用許諾を記載したテキストファイルを指定します。 テキストファイルの文字コードは必ずUTF-8にしてください。 デプロイ時の言語にあわせて表示されますので、日本語の利 用許諾の場合はLanguageでJapaneseを指定します。 3 © 2013 IBM Corporation OVFテンプレートのデプロイ ① <ProductSection ovf:class="ConfigLocale" ovf:instance="1"> <Info ovf:msgid="ConfigLocale.label">Default locale configuration</Info> <Product>Red Hat Enterprise Linux</Product> <Version>5.4</Version> <Category ovf:msgid="ConfigLocale.label">Default locale configuration</Category> <Property ovf:key="language" ovf:type="string" ovf:userConfigurable="true" ovf:value="en" ovf:required="false"> <Label ovf:msgid="ConfigLocale.language.label">Default locale</Label> <Description ovf:msgid="ConfigLocale.lanaguage.description">This is the default locale of the operating system</Description> </Property> <Property ovf:key="country" ovf:type="string" ovf:userConfigurable="true" ovf:value="US" ovf:required="false"> <Label ovf:msgid="ConfigLocale.country.label">Default country</Label> <Description ovf:msgid="ConfigLocale.country.description">This is the default country of the operating system</Description> </Property> <Property ovf:key="encoding" ovf:type="string" ovf:userConfigurable="true" ovf:value="UTF-8" ovf:required="false"> <Label ovf:msgid="ConfigLocale.encoding.label">Default encoding</Label> <Description ovf:msgid="ConfigLocale.encoding.description">This is the default encoding of the operating system</Description> </Property> </ProductSection> <Msg <Msg <Msg <Msg <Msg <Msg <Msg <Msg 4 ovf:msgid="ConfigLocale.label">デフォルト・ロケール構成</Msg> ovf:msgid="ConfigLocale.description">ロケール構成用のパラメーター</Msg> ovf:msgid="ConfigLocale.language.label">デフォルト・ロケール</Msg> ovf:msgid="ConfigLocale.lanaguage.description">これはオペレーティング・システムのデフォルト・ロケールです</Msg> ovf:msgid="ConfigLocale.country.label">デフォルトの国</Msg> ovf:msgid="ConfigLocale.country.description">これはオペレーティング・システムのデフォルトの国です</Msg> ovf:msgid="ConfigLocale.encoding.label">デフォルト・エンコード</Msg> ovf:msgid="ConfigLocale.encoding.description">これはオペレーティング・システムのデフォルト・エンコードです</Msg> © 2013 IBM Corporation OVFテンプレートのデプロイ ② <ProductSection ovf:class="ConfigNET" ovf:instance="1"> <Info ovf:msgid="ConfigNET.label">System network configuration</Info> <Product>Red Hat Enterprise Linux</Product> <Version>5.4</Version> <Category ovf:msgid="ConfigNET.label">System network configuration</Category> <Property ovf:key="bootproto" ovf:qualifiers="ValueMap{"DHCP", "static"}" ovf:type="string" ovf:userConfigurable="true" ovf:value="" ovf:required="false"> <Label ovf:msgid="ConfigNET.bootproto.label">Boot protocol</Label> <Description ovf:msgid="ConfigNET.bootproto.description">This is the boot protocol of the system (DHCP or static)</Description> </Property> <Property ovf:key="hostname" ovf:type="string" ovf:userConfigurable="true" ovf:value="" ovf:required="false"> <Label ovf:msgid="ConfigNET.hostname.label">Host name</Label> <Description ovf:msgid="ConfigNET.hostname.description">This is the host name of the system</Description> </Property> <Property ovf:key="domain" ovf:type="string" ovf:userConfigurable="true" ovf:value="" ovf:required="false"> <Label ovf:msgid="ConfigNET.domain.label">Domain</Label> <Description ovf:msgid="ConfigNET.domain.description">This is the domain of the system</Description> </Property> <Msg ovf:msgid="ConfigNET.label">システム・ネットワーク構成</Msg> <Msg ovf:msgid="ConfigNET.description">ネットワーク構成用のパラメーター</Msg> <Msg ovf:msgid="ConfigNET.bootproto.label">ブート・プロトコル</Msg> <Msg ovf:msgid="ConfigNET.bootproto.description">これはシステムのブート・プロトコルです (DHCP または静的)</Msg> <Msg ovf:msgid="ConfigNET.hostname.label">ホスト名</Msg> <Msg ovf:msgid="ConfigNET.hostname.description">これはシ ステムのホスト名です</Msg> <Msg ovf:msgid="ConfigNET.domain.label">ドメイン</Msg> <Msg ovf:msgid="ConfigNET.domain.description">これはシステムのドメインです</Msg> 5 © 2013 IBM Corporation OVFテンプレートのデプロイ ③ <ProductSection ovf:class="ConfigVNC" ovf:instance="1"> <Info ovf:msgid="ConfigVNC.label">VNC configuration</Info> <Product>Red Hat Enterprise Linux</Product> <Version>5.4</Version> <Category ovf:msgid="ConfigVNC.label">VNC configuration</Category> <Property ovf:key="enabled" ovf:type="boolean" ovf:userConfigurable="true" ovf:value="true" ovf:required="false"> <Label ovf:msgid="ConfigVNC.enabled.label">Enable VNC</Label> <Description ovf:msgid="ConfigVNC.enabled.description">Specifies whether or not to enable VNC on the node</Description> </Property> <Property ovf:key="username" ovf:type="string" ovf:userConfigurable="true" ovf:value="virtuser" ovf:required="false"> <Label ovf:msgid="ConfigVNC.username.label">VNC Username</Label> <Description ovf:msgid="ConfigVNC.username.description">User name of the VNC user</Description> </Property> <Property ovf:key="password" ovf:password="true" ovf:type="string" ovf:userConfigurable="true" ovf:value="" ovf:required="false"> <Label ovf:msgid="ConfigVNC.password.label">VNC Password</Label> <Description ovf:msgid="ConfigVNC.password.description">Password of the VNC user</Description> </Property> </ProductSection> <Msg <Msg <Msg <Msg <Msg <Msg <Msg <Msg 6 ovf:msgid="ConfigVNC.label">VNC 構成</Msg> ovf:msgid="ConfigVNC.description">VNC 構成</Msg> ovf:msgid="ConfigVNC.enabled.label">VNC を有効にする</Msg> ovf:msgid="ConfigVNC.enabled.description">ノードで VNC を有効にするかどうかを指定します</Msg> ovf:msgid="ConfigVNC.username.label">VNC ユーザー名</Msg> ovf:msgid="ConfigVNC.username.description">VNC ユーザーのユーザー名</Msg> ovf:msgid="ConfigVNC.password.label">パスワード (VNC)</Msg> ovf:msgid="ConfigVNC.password.description">VNC ユーザーのパスワード</Msg> © 2013 IBM Corporation OVFテンプレートのデプロイ ④ 7 <ProductSection ovf:class="configuration"> <Info>configuration</Info> <Property ovf:key="opt1" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="configuration.opt1.label">オプションパラメーター1</Label> <Description ovf:msgid="configuration.opt1.description"></Description> </Property> <Property ovf:key="opt2" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="configuration.opt2.label">オプションパラメーター2</Label> <Description ovf:msgid="configuration.opt2.description"></Description> </Property> <Property ovf:key="opt3" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="configuration.opt3.label">オプションパラメーター3(数値) </Label> <Description ovf:msgid="configuration.opt3.description"></Description> </Property> </ProductSection> <ProductSection ovf:class="create_user"> <Info>create_user</Info> <Property ovf:key="user" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="create_user.user.label">作成するユーザー</Label> <Description ovf:msgid="create_user.user.description"></Description> </Property> <Property ovf:key="password" ovf:password="true" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="create_user.password.label">新規パスワード</Label> <Description ovf:msgid="create_user.password.description"></Description> </Property> <Property ovf:key="option" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="create_user.option.label">適当なオプション</Label> <Description ovf:msgid="create_user.option.description"></Description> </Property> </ProductSection> © 2013 IBM Corporation OVFファイルのカスタマイズ tarを展開できるソフトで OVAファイルを展開します ovfの拡張子をovfからxmlにかえ てエディタで編集します。編集後 はUTF-8で保存してください。保 存後に拡張子をovfに戻します。 8 ovfファイルがあるので、コ ピーをとっておきます © 2013 IBM Corporation OVFファイルのカスタマイズ 9 デフォルトの”分類されていません”の 表記はこの1行で変更できます <ProductSection ovf:class="configuration"> <Info>configuration</Info> <Category ovf:msgid="configuration.label">オプションパラメーターの指定</Category> <Property ovf:key="opt1" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="configuration.opt1.label">オプションパラメーター1</Label> <Description ovf:msgid="configuration.opt1.description"></Description> </Property> <Property ovf:key="opt2" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="configuration.opt2.label">オプションパラメーター2</Label> <Description ovf:msgid="configuration.opt2.description"></Description> </Property> <Property ovf:key="opt3" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="configuration.opt3.label">オプションパラメーター3(数値)</Label> <Description ovf:msgid="configuration.opt3.description"></Description> </Property> </ProductSection> パラメーターの説明は <ProductSection ovf:class="create_user"> <Description>タグ内に <Info>create_user</Info> 記入します。デフォルトで <Category ovf:msgid="create_user.label">新規ユーザーの作成</Category> はタグのみです。 <Property ovf:key="user" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="create_user.user.label">作成するユーザー</Label> <Description ovf:msgid="create_user.user.description">新規作成するユーザー名を入力してください。 </Description> </Property> <Property ovf:key="password" ovf:password="true" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="create_user.password.label">新規パスワード</Label> <Description ovf:msgid="create_user.password.description">新規ユーザーのパスワードを入力してくださ い。</Description> </Property> <Property ovf:key="option" ovf:qualifiers="ValueMap{"aaaaa", "bbbbb"}" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="create_user.option.label">適当なオプション</Label> 選択するパラメーターにした <Description ovf:msgid="create_user.option.description">選択できるオプションのテストです。 い場合はValueMapを使用し </Description> ます。"はHTMLの特 </Property> 殊文字で ” を表します。 </ProductSection> © 2013 IBM Corporation OVFファイルのカスタマイズ チェックボックスを表示したい場合は type=booleanを指定します。この場 合valueはtrueかfalseになります。 引数となるのは”True”か”False”と最 初が大文字になるので注意してくださ い。 <ProductSection ovf:class="disk-mount"> <Info>disk-mount</Info> <Category ovf:msgid="disk-mount.label">新規ディスクの追加</Category> <Property ovf:key="execute" ovf:type="boolean" ovf:userConfigurable="true" ovf:value="false"> <Label ovf:msgid="disk-mount.execute.label">デプロイ後にディスクの追加を行う</Label> <Description ovf:msgid="disk-mount.execute.description"></Description> </Property> <Property ovf:key="device" ovf:type="string" ovf:userConfigurable="true" ovf:value="/dev/sdb"> <Label ovf:msgid="disk-mount.device.label">追加するデバイス</Label> <Description ovf:msgid="disk-mount.device.description"></Description> </Property> <Property ovf:key="fs" ovf:type="string" ovf:userConfigurable="true" ovf:value="ext4"> <Label ovf:msgid="disk-mount.fs.label">ファイルシステム(ext3 or ext4)</Label> <Description ovf:msgid="disk-mount.fs.description"></Description> </Property> <Property ovf:key="mp" ovf:type="string" ovf:userConfigurable="true" ovf:value=""> <Label ovf:msgid="disk-mount.mp.label">マウントポイント</Label> <Description ovf:msgid="disk-mount.mp.description"></Description> </Property> </ProductSection> 10 © 2013 IBM Corporation カスタマイズ後の動作確認 編集したovfファイルがovaを展 開したディレクトリにあれば、そ のままovfを指定してもデプロイ できます。 11 © 2013 IBM Corporation OVAファイルの再作成 ① 編集後のOVFファイルを含んだOVAファイルを作成します。 [root@icct-svr ~]# mkdir testsw_rhel62_1_0_0 ICCTサーバー上に任意のディレクト [root@icct-svr ~]# cd testsw_rhel62_1_0_0 リを作成し、ICCTがエクスポートし たOVAファイルを展開します。 [root@icct-svr testsw_rhel62_1_0_0]# ls -l 合計 1358264 -rw-r--r-- 1 root root 87726 9月 11 17:17 2013 Automation.topology -rw------- 1 root root 1390474752 9月 11 17:20 2013 RHEL62_x64_LVM.vmdk -rw-r--r-- 1 root root 15751 9月 11 17:17 2013 Semantic.topology -rw-r--r-- 1 root root 20687 9月 11 17:20 2013 de-DE-bundle.msg -rw-r--r-- 1 root root 18526 9月 11 17:20 2013 en-US-bundle.msg -rw-r--r-- 1 root root 20364 9月 11 17:20 2013 es-ES-bundle.msg -rw-r--r-- 1 root root 20534 9月 11 17:20 2013 fr-FR-bundle.msg -rw-r--r-- 1 root root 20138 9月 11 17:20 2013 it-IT-bundle.msg -rw-r--r-- 1 root root 23820 9月 11 17:20 2013 ja-JP-bundle.msg -rw-r--r-- 1 root root 19114 9月 11 17:20 2013 ko-KR-bundle.msg -rw-r--r-- 1 root root 15090 9月 11 17:17 2013 osNode1378887469149.xml -rw-r--r-- 1 root root 13721 9月 11 17:17 2013 osNode1378887469149C.xml -rw-r--r-- 1 root root 20204 9月 11 17:20 2013 pt-BR-bundle.msg -rw-r--r-- 1 root root 22249 9月 11 17:20 2013 testsw_rhel62_1_0_0.ovf -rw-r--r-- 1 root root 16875 9月 11 17:20 2013 zh-CN-bundle.msg -rw-r--r-- 1 root root 18395 9月 11 17:20 2013 zh-TW-bundle.msg [root@icct-svr testsw_rhel62_1_0_0]# 12 © 2013 IBM Corporation OVAファイルの再作成 ② SSHクライアントでICCTサーバーに接続し、カスタマイズしたOVFファイルを上書きでコ ピーします。 コピー ICCTサーバー上でOVAファイルを 展開したディレクトリにカスタマイ ズしたOVFファイルを上書きでコ ピーします。 13 © 2013 IBM Corporation OVAファイルの再作成 ③ tarコマンドでアーカイブを作成します。この際ファイルを指定する順序が重要です。必ず OVFファイルを最初に指定してください。 [root@icct-svr testsw_rhel62_1_0_0]# tar cvf testsw_rhel62_1_0_0.ova testsw_rhel62_1_0_0.ovf *.msg Automation.topology Semantic.topology *.vmdk *.xml testsw_rhel62_1_0_0.ovf こちらは元のファイルと同じファイル de-DE-bundle.msg 順序になるコマンドです。 en-US-bundle.msg 正しく指定すると1行目にOVFファイル tar cvf <OVAファイル名> xxx.ovf の名前がリストされます。 es-ES-bundle.msg のように必ず最初にOVFを指定してく fr-FR-bundle.msg ださい。 it-IT-bundle.msg ja-JP-bundle.msg ko-KR-bundle.msg pt-BR-bundle.msg zh-CN-bundle.msg zh-TW-bundle.msg Automation.topology Semantic.topology RHEL62_x64_LVM.vmdk osNode1378887469149.xml osNode1378887469149C.xml [root@icct-svr testsw_rhel62_1_0_0]# 完成したOVAファイル はSSHで取得します。 14 © 2013 IBM Corporation OVAファイルの動作確認 作成したOVAファイルを指定して デプロイの動作確認をします。 このエラーが出る場合はOVFファ イルの順番がおかしいので、ファ イルの順序に注意してOVAの再作 成を行ってください。 15 © 2013 IBM Corporation
© Copyright 2024 ExpyDoc