https://jira.sonarsource.com/jira/secure/ReleaseNote.jspa?projectId=10935&version=12999

新しく追加された機能として、xunit.netのサポートがあり、xunit.netの実行結果レポートXMLを解釈して取り込むことが出来るようになっています。

但し、テスト用のユーティリティクラスを詰め込んだ、テストケースが一つも含まれていないテストアセンブリがあると、レポートXMLの解釈に失敗して以下のようなエラーを吐くようです。とりあえずダミーのテストケースを追加しておくと回避できます。

ERROR: Error during Sonar runner execution
org.sonar.runner.impl.RunnerException: Unable to execute Sonar
	at org.sonar.runner.impl.BatchLauncher$1.delegateExecution(BatchLauncher.java:91)
	at org.sonar.runner.impl.BatchLauncher$1.run(BatchLauncher.java:75)
	at java.security.AccessController.doPrivileged(Native Method)
	at org.sonar.runner.impl.BatchLauncher.doExecute(BatchLauncher.java:69)
	at org.sonar.runner.impl.BatchLauncher.execute(BatchLauncher.java:50)
	at org.sonar.runner.api.EmbeddedRunner.doExecute(EmbeddedRunner.java:102)
	at org.sonar.runner.api.Runner.execute(Runner.java:100)
	at org.sonar.runner.Main.executeTask(Main.java:70)
	at org.sonar.runner.Main.execute(Main.java:59)
	at org.sonar.runner.Main.main(Main.java:53)
Caused by: org.sonar.plugins.dotnet.tests.ParseErrorException: Missing attribute "total" in element <assembly> in
APR
17

今回は、pipでsphinxをインストールするが、システムワイドではインストールせず、venvでプロジェクトローカルにインストールするものとする。

 

まずはvenvのアップデート。Ubuntu14.04のインストール直後のpython3.4-venvはバグがあるので、アップデートが必要。

sudo apt-get install python3.4-venv

pyvenv-3.4コマンドでvenvを作成

pyvenv-3.4 venv

venvに入る

source venv/bin/activate

sphinxのインストール

(venv)   $ pip install sphinx sphinx_rtd_theme

sphinxの初期設定

(venv)   $ sphinx-quickstart # ダイアログにそって良しなに

(venv)   $ sed -ie "s/html_theme = 'default'/html_theme = 'sphinx_rtd_theme'/g" conf.py # テーマの変更

HTMLのビルド

(venv)   $ make html

出来上がり。

image

JUL
25

“The Martian”観たい

Published:2015-07-25 01:31:22 UTC

“The Martian”が面白そう。原作は同名小説(邦題は「火星の人」)で、事故で火星に取り残された宇宙飛行士が、火星でサバイバルしながら何とか地球とコンタクトを取り、救出を待つ、というもの。主演がマット・デイモンで他の星に取り残された宇宙飛行士という設定は「インターステラー」を思い起こしてしまうが、さてはて。

 

ACT-SBY構成を組む場合、リソースの調停にpacemaker/corosyncを使う場合が多いと思いますが、リソースが何らかの原因でフェールオーバーした場合にメールで通知を受けたい場合、どう実装するのが良いのかこの間悩んだ際のメモ。

ネット上で良く紹介されている方法として、MailTo ocfリソースを作り、監視したいリソースと同一ノードで動作するようcolocation設定をするというものがありますが、MailTo ocfリソースはstart、stopイベントに反応して常にメールを送信するため、計画メンテナンス時に非監視設定にし、アラートメールを飛ばさないように設定するということが出来ない(MailToリソースを通常の手順でstopさせた場合もアラートメールが発報されてしまう)問題があります。

 

CRMリソース設定

primitive mailto ocf:heartbeat:MailTo \
   params \
      email=<your mail address> \
   op monitor \
      depth="0" timeout="10s" interval="10s"

 

何か別に良い方法がないかと探していたところ見つけたのが、以下のcrm_monコマンドを使用する方法。

crm_monコマンドには–mail-toオプションがあり、リソースがフェールオーバーしたときにアラートメールを送信してくれます。こちらをUpstartでサービスとして動作させることで、監視を有効化しておきたい時だけサービスを立ち上げ、監視を無効化したいときはサービスを停止することで対応できました。

 

/etc/init/pacemaker-monitor

# pacemaker-monitor
#
# pacemakerを監視し、failoverが発生した場合はアラートを発報します

description     "pacemaker-monitor"

start on filesystem or runlevel [2345]
stop on runlevel [!2345]

respawn
respawn limit 10 5
umask 022

console output

exec crm_mon --mail-host=<mail host>:<mail host port> --mail-to=<your mail address> --mail-prefix="<your mail prefix>"

何かの参考になれば。

JUL
24

YAMAHA RTX1200買いました

Published:2015-07-24 23:20:55 UTC

YAMAHA RTX1200を中古で買いました。L2TP/IPsecでのリモートアクセスVPNに対応した物理ルータが2万円台で手に入るとは良い時代です。設定もGUIで大半が済ませられるのが手軽で良いですね。CUIは、シリアルケーブルとしてメス-メスのクロスケーブルが必要でかつ文字コードがShift-JISなのが少し面倒です。Ciscoケーブルが使えれば良かったのですが。

ともあれ、手軽で良いルータです。人気の商品は、それだけの理由がありますね。

VS14 CTP環境のRoslynでMSBuildWorkspace.Create();を実行すると、Microsoft.Buildのアセンブリが見つからないというエラーが発生し、Workspace APIが使えないという問題ですが、Microsoft Build Tools 2013をインストールすると解決するようです。

roslyn.codeplex.com/workitem/218

yum install pyliblzma

するとよい。
cobblerでepel7 betaのレポジトリのsyncをしようとしてハマった。

2014-05-28 12:33:56,782 DEBUG [kvm.storage.KVMStorageProcessor] (agentRequest-Handler-1:null) Copying template to primary storage, template format is qcow2
2014-05-28 12:33:56,798 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) copyPhysicalDisk: disk size:305463296, virtualsize:305459200 format:qcow2
2014-05-28 12:33:56,798 DEBUG [kvm.storage.LibvirtStorageAdaptor] (agentRequest-Handler-1:null) <volume>
<name>87d6232c-e681-11e3-b200-000c294946bd</name>
<capacity>305459200</capacity>
<target>
<format type='qcow2'/>
<permissions><mode>0744</mode></permissions></target>
</volume>

2014-05-28 12:33:56,848 DEBUG [utils.script.Script] (agentRequest-Handler-1:null) Executing: qemu-img info /mnt/7bd7a6e6-33b1-3314-a8e2-67d6de51e7a7/427295ce-95c1-4360-9c1d-c2de11a6cdca.qcow2
2014-05-28 12:33:56,859 DEBUG [utils.script.Script] (agentRequest-Handler-1:null) Exit value is 1
2014-05-28 12:33:56,860 DEBUG [utils.script.Script] (agentRequest-Handler-1:null) 'image' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3Could not open '/mnt/7bd7a6e6-33b1-3314-a8e2-67d6de51e7a7/427295ce-95c1-4360-9c1d-c2de11a6cdca.qcow2': Operation not supported

ビルドした環境のqemu-imgのバージョンと、systemvmが稼動するKVM hostのqemuのバージョンがずれていると、qcow2イメージが読めずに起動しない場合があります。

APR
18

_images/acslogo.pngApache CloudStackのCommitterになりました。CloudStackのKVMサポート周りへパッチを投げてきたことが評価されたのでしょうか。CloudStackの開発への参加を通じて、OSS開発のワークフローや、大規模ソフトウェアのアーキテクチャ設計など、それぞれのメリット・デメリット含めて、多くのことを学ぶことが出来ました。まだまだ力不足感は否めませんが、これからも時間を見つけてApache CloudStackコミュニティへの貢献を続けることで、その発展の一助になれればと思います。

APR
4

Roslyn build preview公開

Published:2014-04-04 15:57:20 UTC

BUILD 2014のKeynoteの場で、C# CompilerのC#再実装であるRoslynの最新プレビュー版が公開されましたね。合わせて、RoslynのApache License 2.0でのOSS化も発表され、.NET界隈にとって、エポックメイキングな発表でした。これで、Mono(やXamarin)はランタイムやOSS化されていないライブラリの開発に注力すればよいことになり、Windows以外でのC#利用も促進されそうです。

ざっとRoslynのドキュメントに目を通した限りでは、以前のCTPから大きく追加されたAPIなどは見当たらず(Scripting機能とかどうなっているのでしょう)、むしろC#の言語機能の細かい強化に注力していたのでしょうか。新しい言語機能については、SDKに添付のUpcoming Features in C#というドキュメントが詳しく、さっそく.NET Compiler Platform (Roslyn) Preview | ++C++; // 未確認飛行 C ブログ: で解説がされています。

ドキュメントを読んでいて個人的に気になったのが、FAQのCan I rewrite source code within the compiler pipeline? という項目で、残念ながら、コンパイラパイプラインの途中でフックして動作に介入することは出来ないようです。Roslynが最初に発表された時の謳い文句として、モノシリックなこれまでのコンパイラのパイプラインをコンポーネントごとに分割してユーザーに開放する、というのがあったように記憶しているのですが、やはりパフォーマンスの要件的にパイプラインの途中への介入は実現できなかったのでしょうか。属性でのマークアップベースのDSLからコンパイル時にメモリ上のSyntaxを書き換えるようなものを作りたいと考えていたので、少し残念です。MSBuildでpre-buildのターゲットとしてcsc.exeにコードが渡る前にコードを書き換える方法が代替手段として提示されていますが、その場合だとコードを書き換えた結果をファイルに書き出すことになり、コードの再編集が必要になった時に使いづらいDSLになってしまうのが懸念点です。

なんにせよ、C#が着実に前に進んでいることが感じられるKeynoteでした。より詳細が解説された各セッションのスライド、ビデオの公開が待ち遠しいですね。