Eucalyptus用に改造されたElasticfoxでは,起動できるインスタンスのVMタイプがなぜか制限されてしまいます. それを変更しよう,というのが今回の記事の趣旨です.
起動できるインスタンスのVMタイプは,具体的には32bitOSでは'm1.small'と'c1.medium'しか,64bitOSでは'm1.large','m1.xlarge','c1.xlarge'しか選べないです.
この制限を解除する方法は以下の通り.
(1) アドオンであるxpiファイルの拡張子を「.xpi」から「.zip」に書き換え,解凍する.
(2) 解凍後,chrome/ec2ui.jarファイルを解凍する.
(3) chrome/content/ec2ui/newinstancesdialog.jsを開き,243-248行目を以下のものに書き換える.
typeMenu.appendItem('m1.small', 'm1.small'); typeMenu.appendItem('c1.medium', 'c1.medium'); typeMenu.appendItem('m1.large', 'm1.large'); typeMenu.appendItem('m1.xlarge', 'm1.xlarge'); typeMenu.appendItem('c1.xlarge', 'c1.xlarge');
(4) カレントディレクトリをchromeにし,4つのディレクトリ(content,locate,META-INF,skin)をzip形式に圧縮する. その後,「ec2ui.jar」にリネームする.
(5) 上のディレクトリに戻り,1つのディレクトリと5つのファイル (chrome,chrome.manifest,install.js,install.rdf,LICENSE,README)をzip形式で圧縮する. その後,「任意の名前.xpi」にリネームする.
これで,このElasticfoxでは,OSのタイプによらずVMタイプを選べます.
<備考>
xpi,jarファイル共に,zip形式の圧縮ファイルです.なので,拡張子を.zipに変えても問題ないのです.
<最後に>
Elasticfox,Eucalyptusって何なの?という方,すいません. それぞれ何なのかは調べてください.
10/9 11:17追記 「改造」と書いてありますが,実はただ単に”if{・・・}else{・・・・}'で分けられていた条件を取り外しただけなんですけどね.