Wiki Graphviz macro プラグイン
例によって無保証です。
自分ところのredmineはまだ0.8.7なんだけど、早食いな人はもう0.9を使っているらしく、0.9で動かないよ、というメッセージが来た。
せっせと自分のところでも環境を作って試してみると「Filter chain halted as [:authorize] rendered_or_redirected.」が出ている。
リンクの作り方がまずいと言えばまずいんだけど、0.8.x時代のWikiのURLと0.9からのURLが異なることが原因みたい。
どうもプラグインROOT/config/routes.rbに置かないと読んでくれないっぽい。
0.8系でも0.9系でも動くように二か所にroutes.rbを置くことにした。
プラグインROOT/
routes.rb ←(1):こっちは(2)をrequireするだけ
config/
routes.rb ←(2):redmineが0.9以降かどうかでURLマップを設定しわける
(1)
(2)
0.9もfeature freezeしたことだしリリースが待ち遠しい。
「バージョンに状態(進行中、ロック中、終了)を設定出来て、チケットの編集画面に終了済みバージョンがドロップダウンに表示されない」機能が地味にうれしい。
環境:
CentOS 5.4
ruby-1.8.7-p248(from source)
mysql-server-5.0.77-3.el5
graphviz-2.26.0(from source)
redmine-0.9-stable branch at 2010/01/07(JST)
例によって無保証です。
redmineの wikiマクロで graphviz その1上のwikiマクロをgihubに置いている。
redmineの wikiマクロで graphviz その2
redmineの wikiマクロで graphviz その3
tckz's redmine-wiki_graphviz_plugin at master - GitHub
自分ところのredmineはまだ0.8.7なんだけど、早食いな人はもう0.9を使っているらしく、0.9で動かないよ、というメッセージが来た。
せっせと自分のところでも環境を作って試してみると「Filter chain halted as [:authorize] rendered_or_redirected.」が出ている。
リンクの作り方がまずいと言えばまずいんだけど、0.8.x時代のWikiのURLと0.9からのURLが異なることが原因みたい。
0.8.7: http://example.com/wiki/project_id/WikiPageそれでは、とroutes.rbを書き換えてみるも反応なし。
0.9-stableブランチ: http://example.com/projects/project_id/wiki/WikiPage
どうもプラグインROOT/config/routes.rbに置かないと読んでくれないっぽい。
0.8系でも0.9系でも動くように二か所にroutes.rbを置くことにした。
プラグインROOT/
routes.rb ←(1):こっちは(2)をrequireするだけ
config/
routes.rb ←(2):redmineが0.9以降かどうかでURLマップを設定しわける
(1)
require File.join(File.dirname(__FILE__), "config", "routes.rb")
(2)
ActionController::Routing::Routes.draw do |map|
if (Redmine::VERSION.to_a <=> [0, 9, 0]) >= 0
# 0.9.0 or higher
map.connect 'projects/:id/wiki/:page/graphviz', :controller => 'wiki_graphviz', :action => 'graphviz'
else
map.connect 'wiki/:id/:page/graphviz', :controller => 'wiki_graphviz', :action => 'graphviz'
end
end
0.9もfeature freezeしたことだしリリースが待ち遠しい。
「バージョンに状態(進行中、ロック中、終了)を設定出来て、チケットの編集画面に終了済みバージョンがドロップダウンに表示されない」機能が地味にうれしい。
環境:
CentOS 5.4
ruby-1.8.7-p248(from source)
mysql-server-5.0.77-3.el5
graphviz-2.26.0(from source)
redmine-0.9-stable branch at 2010/01/07(JST)
あるイベント起動で、「AD統合DNSのCNAMEの指すAレコードを変える」、ということをしたい。
イベントハンドリングはとりあえずおいといて、スクリプトでDNSのCNAMEを変更する方法を探す。
やっぱりというかなんというかWMIにしっかりと用意されていた。
DNS WMI Classes (Windows)
PowershellはWMIオブジェクトも扱えるので、こんな感じに。
特定のCNAMEを表すMicrosoftDNS_CNAMETypeだけすぱっと取得したかったが、全CNAMEを取る方法しか分からなかったので場当たり的にWhere-Objectで絞り込む。とても無駄な感じ。
環境:
Windows XP Pro SP3 x86
Powershell 1.0
Windows Server 2008 Standard x64
Active Directory
DNS
イベントハンドリングはとりあえずおいといて、スクリプトでDNSのCNAMEを変更する方法を探す。
やっぱりというかなんというかWMIにしっかりと用意されていた。
DNS WMI Classes (Windows)
PowershellはWMIオブジェクトも扱えるので、こんな感じに。
$cnames = gwmi -Class MicrosoftDNS_CNAMEType -Namespace Root\MicrosoftDNS -ComputerName DCコンピュータ名
$cname = $cnames | ? {$_.OwnerName -eq "cname.example.com"}
$cname.Modify($null, "some.example.com.")
特定のCNAMEを表すMicrosoftDNS_CNAMETypeだけすぱっと取得したかったが、全CNAMEを取る方法しか分からなかったので場当たり的にWhere-Objectで絞り込む。とても無駄な感じ。
- CNAMEもAレコードも事前に作成してある前提なので、見つからない場合を考えていない。
- 適切な権限が必要。
環境:
Windows XP Pro SP3 x86
Powershell 1.0
Windows Server 2008 Standard x64
Active Directory
DNS
http://www.vmware.com/jp/products/player/
playerを起動して仮想マシン作って、お試しにCentOS 5.3 x64をインストール。
とりあえずでNAT構成で始めたけど、サブネットを変更したいなと思った。
VMware Serverだとスタートメニューに仮想ネットワークの構成ツールがあるのだけど、これが見当たらない。
ネットで調べてみると、Program Files下にvmnetcfg.exeというのがあるの直接実行すればよい、ということらしい。
が、64ビット環境のせいなのか
C:\Program Files (x86)\VMware\VMware Player\にそのようなファイルはない。
これまたネットで調べると、vmnetcfg.exeがインストールされない問題があるらしい。
- セットアップファイルに「/e」オプションを付けて実行し、中身を取り出す。
- VMware-player-3.0.0-203739.exe /e c:\path\to\somewhere
- network.cabというファイルの中にvmnetcfg.exeがあるので、これを取り出してplayerのインストール先にコピー。
- 自分ところでは管理者として実行したエクスプローラ上でコピーした。
desktop PC上の仮想化環境はVMware Serverを使ってたので、Playerのウィンドウを閉じると仮想マシンOFF(orサスペンド)になるのは、ちょっとイマイチ。。。
環境:
Gigabyte MA790FX-DQ6
Phenom II x4 965BE
Radeon HD3850
Intel PRO/1000 CT Desktop Adapter(PCIe接続)
Windows 7 Ultimate x64
VMware Player:3.0.0 build-203739
eclipseのプラグインを作っていて、このビルドをCIに乗せたい。
プラグインのエクスポート部分をどうやってantで実行したらいいのか、という話。
pde.exportPluginsタスクというのがあるので、これをbuild.xmlに書けばいいのだけども、このタスクが実行できるほどのCLASSPATHを通すことを考えるとめまいがしてしまう。
以下のページで、eclipseが抱えているant(org.eclipse.ant.core.antRunner)から実行する例が。
[news.eclipse.platform.pde] Re: Ant and <pde.exportPlugins> task doesn't
んー、eclipseが抱えてるantに任せるわけか。これならちょっとした環境固有のpathを与えるだけでpde.exportPluginsタスクが動かせるわけだ。
■build.xml(部分)
■バッチファイル例
eclipseを使うので、環境にeclipse(PDE)とワークスペースを事前に用意する必要があるけど、ファイルコピーするだけでいいのは助かる。
環境:
Windows XP Pro SP3
Eclipse 3.4
JDK5
プラグインのエクスポート部分をどうやってantで実行したらいいのか、という話。
pde.exportPluginsタスクというのがあるので、これをbuild.xmlに書けばいいのだけども、このタスクが実行できるほどのCLASSPATHを通すことを考えるとめまいがしてしまう。
以下のページで、eclipseが抱えているant(org.eclipse.ant.core.antRunner)から実行する例が。
[news.eclipse.platform.pde] Re: Ant and <pde.exportPlugins> task doesn't
んー、eclipseが抱えてるantに任せるわけか。これならちょっとした環境固有のpathを与えるだけでpde.exportPluginsタスクが動かせるわけだ。
■build.xml(部分)
<property name="dist" location="dist"/>
<target name="export_plugin">
<pde.exportPlugins
destination="${dist}"
exportSource="false"
exportType="directory"
plugins="com.example.plugins.id"
useJARFormat="true"/>
</target>
■バッチファイル例
SET JAVA_HOME=C:\Program Files\Java\jdk1.5.0_21org.eclipse.equinox.launcher******.jarのpathおよびファイル名は環境それぞれに合わせて。
SET PATH=%JAVA_HOME%\bin;%PATH%
java -jar C:\path\to\eclipse\plugins\org.eclipse.equinox.launcher_1.0.101.R34x_v20081125.jar -application org.eclipse.ant.core.antRunner -data "C:\path\to\workspace" -buildfile build.xml
eclipseを使うので、環境にeclipse(PDE)とワークスペースを事前に用意する必要があるけど、ファイルコピーするだけでいいのは助かる。
環境:
Windows XP Pro SP3
Eclipse 3.4
JDK5
XPモードやっと動いた。
クリーンインストールにXP mode(とVPC)を入れただけの状態で「他の仮想化ソフトウェアの実行中にWindows Virtual PCを起動することはできません。~~」という理解しがたいメッセージが出てきて足止めされてた。
※CPUの仮想化サポートが効いてない(BIOSでdisabledなど)ときとは違うメッセージ。
この辺の話のようにAMD CPU(Phenom II X4 965)とGigabyte M/B(GA-MA790FX-DQ6)の食い合わせなのか。
GigabyteのサイトからBIOS F7dを持ってきて再チャレンジしたらいけた。
@BIOSを使ってWindows 7からBIOS更新という冒険魂。@BIOSの自動DLを使うと「F7b」に更新しようとする(僕が試したときは)ので、BIOSを先にDLしておいてファイルを指定した。

Windows 7の電卓とXPモードのFirefoxの図。スクリーンショット撮るために始めて起動したけど電卓が進化しすぎてて笑った。
ホストのUSBデバイスと接続できるのがすごい便利というか感動。
仮想PC側の通知(ウイルス対策の警告など)が、ホスト側の通知に統合されて表示されるんだな。
もっといろんなアプリで試そうと考えたけど、どうしてもXP側で動かさないといけないアプリが特になかったりで。。。このごろはウェブアプリ多いし。
まーしかし結構便利かもという印象。
クリーンインストールにXP mode(とVPC)を入れただけの状態で「他の仮想化ソフトウェアの実行中にWindows Virtual PCを起動することはできません。~~」という理解しがたいメッセージが出てきて足止めされてた。
※CPUの仮想化サポートが効いてない(BIOSでdisabledなど)ときとは違うメッセージ。
この辺の話のようにAMD CPU(Phenom II X4 965)とGigabyte M/B(GA-MA790FX-DQ6)の食い合わせなのか。
GigabyteのサイトからBIOS F7dを持ってきて再チャレンジしたらいけた。
@BIOSを使ってWindows 7からBIOS更新という冒険魂。@BIOSの自動DLを使うと「F7b」に更新しようとする(僕が試したときは)ので、BIOSを先にDLしておいてファイルを指定した。
ホストのUSBデバイスと接続できるのがすごい便利というか感動。
仮想PC側の通知(ウイルス対策の警告など)が、ホスト側の通知に統合されて表示されるんだな。
もっといろんなアプリで試そうと考えたけど、どうしてもXP側で動かさないといけないアプリが特になかったりで。。。このごろはウェブアプリ多いし。
まーしかし結構便利かもという印象。
ドスパラで予約しておいたWindows7 x64 Ultimate来た(^^
さっそくインストール。
インストールの最終処理で妙に時間がかかったけど、じっと待ってたら完了した。
エクスペリエンスインデックスは↓のスクリーンショットのとおり。5.4。
HDDがSATA/1500なので、SATA/3000にしたらちょっとは違うだろうか。
Vista x64をずっと使ってきたので大きな変化は感じない。
ドスパラの予約特典で「窓辺ななみオリジナルテーマ」がついてきて、一度はセットアップしたものの壁紙/サウンドが萌え萌えしすぎてて人前では使えん(^^; でもまー いいと思います。
2~3時間さわってみたちょっとした感想。
さっそくインストール。
- CPU:Phenom II 965
- M/B:Gigabyte MA790FX-DQ6
- メモリ:6GB(ここで書いた理由でDDR2)
- VGA:Radeon HD 3850
- HDD:WDC WD740ADFD(結構前のRaptor)
インストールの最終処理で妙に時間がかかったけど、じっと待ってたら完了した。
エクスペリエンスインデックスは↓のスクリーンショットのとおり。5.4。
HDDがSATA/1500なので、SATA/3000にしたらちょっとは違うだろうか。
ドスパラの予約特典で「窓辺ななみオリジナルテーマ」がついてきて、一度はセットアップしたものの壁紙/サウンドが萌え萌えしすぎてて人前では使えん(^^; でもまー いいと思います。
2~3時間さわってみたちょっとした感想。
- Teraterm:ちょうどCentOS5.4が公開されたところでサーバメンテ用にインストールした。フォントの設定に「Terminal」が現れず困った。
コンパネ→フォントで、Terminalフォントを「表示」にしないと選択肢に出てこない。 - iTunes:x64版をインストール。ストアの表示であるとか、iPodの同期は普通に出来た。
- アンチウイルス:とりあえずのインストール(ライセンス認証も保留にした)なので、いつものNOD32でなく「Microsoft Security Essentials」をインストール。重いのか軽いのかもう1つ実感はわかず。
- Vista 64ビットでは動かなかった(ウチの環境固有の問題かも)USB外付けDVD-ROMドライブ(Logitec LDR-PMC8U2)が標準ドライバで使えたのはちょっとうれしい。
※CD-ROMの読みこみに使っただけなので、書き込めるかどうかは知らない。 - Aeroシェイクの使いどころがわからん・・・。
- 左右にウィンドウをスナップさせるやつの使いどころがわからん・・。ウィンドウを左右並べて比較することってそんな多いかなあ。
手持ちのPhenomなPCでESXi 4.0が動かないかな~と思い立ってチャレンジ。
結果的に下記の環境で動いたんだけど、やはりというかなんというか、非Intelなデスクトッププラットフォームでは何かと面倒があった、というメモ。
環境:
CPU:Phenom II X4 965BE
メモリ:DDR2 6GB
→最初に2GB、後から4GB買い足したので半端な数字に・・
M/B:Gigabyte GA-MA790FX-DQ6
→BIOS F7bに更新
NIC:Intel PRO/1000 CT Desktop Adapter(PCIe接続)
HDD:SATA
光学ドライブ:IDEなDVD ROM
VGA:Radeon HD3850
他:
RATOC REX-PCI15S SATA拡張カード(PCI接続)
※965なのになんでDDR2なのか。それはCPUを買ったときにメモリとM/Bをとっかえるほど散財する気力がなかったから。。
インストールCDイメージをCD-Rに焼いてDVD ROMから起動→SATA HDDにインストール。
再起動後、ネットワークの設定(IP/GW/DNS)→vSphereClientをダウンロードしてセットアップ。
仮想マシンを作ってCentOS 5.3(x64)をインストール→VMwareToolsをセットアップ、てところまでは動いた。ESXi 4のVMwareTools(RHEL5 64bit)はrpmじゃなくってtarになったのか。
この↓ページに非公式ながらも各デバイス(チップ)のHCLがあって非常に役に立った。
ESXi simple.map
以下、「だめだった」こと。
おまけ:
評価状態から、無償利用のライセンスを入力すると機能制限はこんな感じだった。
■評価状態
結果的に下記の環境で動いたんだけど、やはりというかなんというか、非Intelなデスクトッププラットフォームでは何かと面倒があった、というメモ。
環境:
CPU:Phenom II X4 965BE
メモリ:DDR2 6GB
→最初に2GB、後から4GB買い足したので半端な数字に・・
M/B:Gigabyte GA-MA790FX-DQ6
→BIOS F7bに更新
NIC:Intel PRO/1000 CT Desktop Adapter(PCIe接続)
HDD:SATA
光学ドライブ:IDEなDVD ROM
VGA:Radeon HD3850
他:
RATOC REX-PCI15S SATA拡張カード(PCI接続)
※965なのになんでDDR2なのか。それはCPUを買ったときにメモリとM/Bをとっかえるほど散財する気力がなかったから。。
インストールCDイメージをCD-Rに焼いてDVD ROMから起動→SATA HDDにインストール。
再起動後、ネットワークの設定(IP/GW/DNS)→vSphereClientをダウンロードしてセットアップ。
仮想マシンを作ってCentOS 5.3(x64)をインストール→VMwareToolsをセットアップ、てところまでは動いた。ESXi 4のVMwareTools(RHEL5 64bit)はrpmじゃなくってtarになったのか。
この↓ページに非公式ながらも各デバイス(チップ)のHCLがあって非常に役に立った。
ESXi simple.map
以下、「だめだった」こと。
- MA790FX-DQ6のオンボードNICは認識されなかった。
インストーラの起動時点で「failed to load lvmdriver」で動かず。
RealtekチップがHCLにないのは知っていたので、以前購入しておいたIntel PRO/1000 CT(PCI express)をさしてクリア。
- MA790FX-DQ6のオンボードSATAポートにぶらさがってるHDDは認識されなかった。
インストーラ起動するも、「unable to find supported device to write」で終了。
ネットで見かけたインストーラのスクリプトを書き換える作戦もやってみたが認識せず(そもそもデバイスが見えてないようなので当然といえば当然)。上記非公式HCLを見る限りでは(このM/Bの)オンボードSATAでは無理そう。
ではSATAポート拡張カードをさしたらどうかということで、内側SATAポートを持っていてHCLに載っているSATAカード(かつお手ごろなやつ)を探した。最終的にはRATOCのREX-PCI15Sを購入。
カード上のジャンパを「BIOS有効」に変更し、オンボートSATAは全部disableにした。
チップはSilicon Image製Sil 3512。本当はPCIe接続のものがよかったのだけどHCLに載ってないので冒険せず(^^
RATOCの製品は、製品ウェブページでもパッケージでも使っているチップがはっきり書いてあって好感度高し。 - ESXiをUSB Flashメモリに書き込んでの起動にチャレンジするも、USBメモリからの起動自体が出来ず挫折。。。
同メモリをThinkpad X60に挿すとESXi起動途中まではいけるので、書き込み自体は問題ないはず。。
おまけ:
評価状態から、無償利用のライセンスを入力すると機能制限はこんな感じだった。
■評価状態
製品の機能:■ライセンスキー入力後
最大 8 ウェイの Virtual SMP
ESX Server 用 vCenter Agent
vStorage API
VMsafe
DVfilter
VMware HA
ホットプラグが可能な仮想ハードウェア
VMotion
VMware FT
Data Recovery
vShield ゾーン
VMware DRS
Storage VMotion
MPIO / サードパーティ マルチパス
分散仮想スイッチ
ホスト プロファイル
製品の機能:
最大 256 GB のメモリ
最大 4 ウェイの Virtual SMP
