読者です 読者をやめる 読者になる 読者になる

folsomのnova.confで指定したbase_dir_nameが効かない件

essexリリースではnova.conf内で指定できていた base_dir_name がfolsomリリースでは さっぱり効いておらず、どのような値の書き方をしても、必ずデフォルト値である $instances_path/_base/ 以下にglanceからダウンロードされるOSイメージファイルのキャッ…

EPEL版 OpenStack folsomの設定(Horizon編)

Horizonのlocal_settings.pyでハマったのでメモ。 Horizonの設定ファイル Horizonは、PythonのWebアプリケーションフレームワークであるdjangoの上に構成されており、EPEL版のパッケージでインストールした場合、設定ファイルは以下に置かれています。 /usr/…

OpenStack Nova, Glance, Keystone, Cinder, Quantum and Horizon 2012.2.1 released

folsomのバグフィックス版(2012.2.1)がリリースされたようです。 リリースノートはコチラ。 http://wiki.openstack.org/ReleaseNotes/2012.2.1:Release Notes, 2012.2.1 個々のコンポーネントについて対応されたバグのリストはコチラ。 nova,quantumは結構あ…

EPEL版 OpenStack folsomインストール(訂正その3)

noVNCの設定が間違っていました。 修正箇所 noVNCのインストールと設定 [誤] $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_host 0.0.0.0 [正] $ sudo openstack-config --set /etc/nova/nova.conf DEFAULT novncproxy_listen 0.0.…

CentOS6系のEPEL版folsomが正式に提供されるようになりました

いつのまにやら、EPEL版のfolsomが正式に提供されるようになっています。 ftp://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/ もしも仮に僕の手順を参考にされている方がいたら、普通にepelの6.7をインストールしてください。 [正] sudo rpm -Uvh http://…

EPEL版 OpenStack folsomインストール(cinder編) (訂正その1)

EPELパッケージリポジトリが6-7になってました。ごめんなさい。 正式版がリリースされたので、6-7でOKです。** 修正箇所 EPELパッケージリポジトリ追加 [誤] $ sudo rpm -Uvh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.…

EPEL版 OpenStack folsomインストール(cinder編)

前提 cinderは独立したノードにインストールしました。 novaとは同居させていません。 構成図 +---------+ +-------+ +-------------+ |keystone | |cinder | |qpidd/mysqld | +----+----+ +---+---+ +------+------+ | | | |.101 |.102 |.100 172.16.201.0/…

EPEL版 OpenStack folsomインストール(訂正その2)

nova.confの設定も間違ってました。 なんか訂正ばっかりだなぁ。 修正箇所 openstack-novaのインストールと設定>novaを設定する>keystone認証設定 [誤] $ sudo openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password nova $ sudo o…

EPEL版 OpenStack folsomインストール(訂正その1)

修正箇所 openstack-glanceインストールと設定 > glance設定 > /etc/glance/glance-registry.conf設定 [誤] sudo openstack-config --set /etc/glance/glance-registry.conf paste_deploy config_file /etc/glance/glance-api-paste.ini [正] sudo openstack…

EPEL版OpenStack folsomインストール

OpenStackのfolsom(2012.2)のrpmパッケージがEPELで配布(まだtesting)され始めたのでインストールしてみました。 Quantumを使用しなかったこともあり、essex(2012.1)とほとんど変わらず、いまのところ問題なく動いているようです。 構成 OSバージョン CentOS…

CentOS6系のkickstartインストールとシリアルコンソールの謎

不思議な出来事 〜謎のエコーバック〜kickstartを利用してサーバを大量精算していたんだけれど、どうもシリアルコンソールを取得するとパスワードがエコーバックされたりしておかしい。kickstartファイルのオプションを設定kickstartファイルの中でブートロ…

parallel-ssh - PSSH を使ってみる

pipやgemが利用できずにFablicやcapistranoがインストールできない環境でも利用できる並列ssh/scpコマンドがparallel-ssh。 ログイン後にsudoしてコマンドを実行するような複雑な処理はできない(みたい)だけれど初期設定程度なら必要十分な機能があります。 …

Ubuntu12.04のCobblerWebInterfaceをDjango1.4に対応させる

devstackでOpenStackの開発環境をインストールしたタイミングでうっかりDjangoが1.4になってしまった...その影響でCobblerWebInterfaceが動かなくなってしまったので、ちょいちょい修正してDjango1.4に対応させたときのメモ。 CSRF対策関連が変更されている…

東京電力電力供給状況APIを使わせてもらう

有志の方が提供してくれている、東京電力電力供給状況APIを使ってみる。 ワンライナーでこんな感じ。提供ありがとうございます。 戻り値はjson形式です。 $ python -c "import json,urllib2;r=json.loads(urllib2.urlopen('http://tepco-usage-api.appspot.c…

libvirt-0.8.8をコンパイルしたときのメモ

libvirtをosxでコンパイルするには、いろいろと準備が必要。 依存関係的には、こんな感じ。 libvirt ----- GnuTLS --+-- libgpg-error | +-- libgcrypt必要なライブラリ類のバージョンは以下の通り。 ftp://ftp.gnupg.org/gcrypt/libgpg-error/libgpg-error-…

SnowLeopardでncurses5.7をコンパイルしたときのメモ

近所のミラーから取ってくるコンパイルオプションに--with-sharedだけは必須。 必須オプションって言葉はおかしいか。 $ ./configure \ --prefix=$HOME/app \ --with-shared \ --disable-rpath \ --enable-safe-sprintf \

SnowLeopardでctags-5.8をコンパイルしたときのメモ

sourceforgeから取ってくる emacsでしか使わないので--enable-etagsを忘れずに。 ./configure --prefix=$HOME/app --enable-etags

DOMを利用してXMLファイルを読む その3

ちょいと本業が忙しくて... ようやく落ち着いたので、XMLファイルのパースについてメモを書いておく。 明日書こうってのが1/4だったけど、ずいぶん忙しかったなぁ... ■ Documentオブジェクトを取得 XMLファイルをDocumentオブジェクトとして扱うために、Docu…

DOMを利用してXMLファイルを読む その2

Javaの流儀はまったくわからんけれども、とりあえず書いてみた。 XMLファイルのパース部分の動きについてのメモは明日書こう。 今日はその前準備メモ。 ■ パースしたXML形式データの扱い読み込んでパースしたXML形式のデータ構造は、そのまま出力するのでは…

DOMを利用してXMLファイルを読む その1

android用のアプリを書くために、いまさらJavaを勉強中...われながらイケてない...ここでは、DOM(Document Object Model)を使ったXMLファイルのパース方法を備忘録としてメモ。 ■ DOMの長所と短所 DOMは読み込んだXML形式のデータを木構造で保持できる。 た…

Javaで書き初め

androidアプリを書く前にまずはJavaプログラミングだろう...

はじめてのandroid その1

Xperiaを購入して半年、そろそろアプリ開発のお勉強をはじめよう。 ということで、androidアプリ開発メモを残しておく。今回は、Xperia SO-01B(Google™ Android version 2.1)をターゲットにして、アプリを書いてみる。 まずは開発環境としてSDKとIDE(Eclipse…

はじめてのandroid その2 (Android SDKをインストールする)

1.ダウンロードしたAndroid SDKを解凍 $ cd ~ $ mkdir android $ cd android $ unzip ~/Desktop/android-sdk_r07-mac_x86.zip [...] $ ls -F android-sdk-mac_x86/ $ cd android-sdk-mac_x86/ $ ls -F SDK Readme.txt market_licensing/ temp/ add-ons/ plat…

はじめてのandroid その3(Xperia SDKをインストールする)

1.ダウンロードしたXperia SDKを解凍 Android SDKのadd-onディレクトリにダウンロードしたXperia SDKを展開する $ cd ~/android/android-sdk-mac_x86/add-ons $ unzip ~/Desktop/102216-XPERIA-X10_SDK_Add-on_r1.zip Archive: ~/Desktop/102216-XPERIA-X10_…

はじめてのandroid その4(ADTをインストールする)

Android Development Tools(ADT)は、Eclipse上でAndroidアプリを開発するためのプラグイン。 IDEとしては、netbeansのNBandroidも考えたけど、ここは無難にEclipseを選択した。 1.Eclipseを起動 2.プラグインをインストール Help -> Install New Software...…

はじめてのandroid その5(ADT環境を設定する)

Eclipseに対してプラグインのインストールが完了したら、続いてADTの完了設定を行う。 といっても、ここでは既にインストール済みのAndroid SDKのベースディレクトリパスを、SDK Locationに設定してやるだけ。 1.Eclipseの環境設定 Eclipseメニューから環境…

はじめてのandroid その6(ADV ManagerでVirtualDeviceを作成する)

開発環境準備の締め括りとして、エミュレータ用のVirtual Deviceを作成する。 1.ADV Managerを起動 Virtual Devicesを選択する。 2.新規Virtual Deviceを作成する。 Newボタンを押して新規Virtual Deviceを作成する。 Create AVDボタンを押すと、Virtual Dev…

はじめてのandroid その7(Hello, World!)

いよいよプロジェクトの作成と、エミュレータ上での実行! プロジェクト名は、もちろんHelloWorld。 実際にアプリケーションをXperiaには転送しないので、ここまではXperiaは不要。 1.Eclipse上からプロジェクトを作成 fileメニュー -> New -> Android Proje…

はじめてのandroid その8(HelloWorld起動!)

エミュレータの起動にはちょっと時間がかかります。 MacBookPro15インチ(Intel Core2 Duo 2.4GHz)で約45秒。 起動中... 起動完了。ここまで約45秒くらい。 ロックを解除する ドロワーを引き出してアプリ HelloWorld を起動 実機でのタッチスクリーン操作はマ…

XperiaでASE

Xperia購入から一ヶ月。 時々3gを掴めなくて再起動しないと復旧しないとか、まだまだ安定しないねぇ。そんな中、Android Scripting Environmentをインストールしてみたよ。 でもXperiaではPython/JRuby/Perlは利用できないみたい。現在のase-r25ではshellとl…

Pythonのsyslogモジュールを使ってsyslogd経由でログ出力してみる。

手順としては、 syslogモジュールをimport syslog.openlog()でプログラム名,Option,Facilityを設定し、syslogdに接続開始 syslog.syslog()でログレベルを設定してメッセージを出力 syslog.closelog()でsyslogdとの接続終了 python-2.6.4のコードを見ると、 s…

ひょんなことから、emailアドレスのフォーマットが正しいかどうかをチェックするスクリプトを書くはめになった。

正規表現を考えてみたけど、こんな感じかしら。 import reclass Validation: def email(self, argv): msg = '^\w[\w\.\-\_]*[^\.]@\w[\w\-]*(\.[\w\-]{1,})+[^\.]$' regex = re.compile(msg) if regex.match(argv): return True return False

とあるプログラムのテストコードをpickleを使って表現しようと思ったんだけれども、どうも手書きでデータ構造を生成するのは大変そう。しかたがないのでYAMLにしてみた。

YAMLパーサはモジュールを別途インストールしないといけないの...電池付属のPythonの付属の電池だけでなんとかしたかった... PythonのYAMLパーサとしてはPyYAMLとPySyckが主流(なのか?)みたい。 どちらを使うか PyYAML is the next generation YAML parser a…

あらかじめファイルに保存しておいたpickle化済みデータを読み込んでみる。

$ python >>> import pickle >>> fp = open('dict.txt','r') >>> x = pickle.load(fp) >>> print x {'mem': '4GB', 'os': 'Snow Leopard', 'name': 'MacBook Pro', 'cpu': 'Core2 Duo'} >>> fp.close() >>> 実際にどんな内容が書かれているかというと... $ c…

Pythonライブラリリファレンスによると、pickleモジュールを使うとPythonのオブジェクト階層をバイトストリームに変換(pickle化)したり、バイトストリームをオブジェクト階層に変換(unpickle化)したりできるらしい。

バイトストリームにしてしまえば、それをファイルに保存したり、逆にファイルからそのバイトストリームデータを読み込んでオブジェクトに変換することも可能ってことね。 テスト用のデータ構造とかを生成できると楽かなぁと思って使ってみようと思ったけれど…

Pythonのyieldを使ってフィボナッチ数列を表現してみるメモ

Pythonでは関数定義の中にyield文があると、その関数はジェレネレータ関数となる(らしい)。フィボナッチ数列を10項表示してみるとこんな感じ。 $ python >>> def fib(): ... x, y = 0, 1 ... while True: ... yield x ... x, y = y, x + y ... >>> z = fib()…