2014年6月26日木曜日

keystone に endpoint 登録で "Malformed endpoint URL"

OpenStack の keystone に endpoint 登録したのはいいが、その後 keystone endpoint-list とか
の関連コマンドを実行すると以下のエラーが出て苦しんだ。

Malformed endpoint URL (http://hoge.example.com:8080/v1/AUTH_%{tenant_id}s)
どうやら URL の中括弧がまずいらしい。正しくは %() と普通のカッコだった。
どうにもコマンドが実行できないので、直接 mysql にログインして endpoint テーブル
から該当の行を直接 delete したら治った...

ちなみに mysql の接続情報は keystone.conf にある。

Qcow2 のローカルマウント

Qcow2 のイメージの中をちゃちゃっと見たいとき、qemu-nbd を使うのが良いらしいが、
RHEL6 や Cent6 には標準で入ってないっす。

この場合 guestmount ってのを使うと良いようで、RHEL6 の場合、
yum install libguestfs-tools すればインストールされる。

で、hoge.img を /mnt/tmp 下にマウントしたい場合以下のコマンド実行

guestmount -a hoge.img -m /dev/sda1 /mnt/tmp

取り急ぎ調べたので -m を指定する意味がイマイチわからんが、あとで調べるってことで。

2014年6月19日木曜日

Fedora 19 -> Fedora 20 の fedup でハマったこと

# fedup --network 20 -v --debuglog /var/tmp/fedup.log --disablerepo google-chrome 
でエラーなくコマンドが終了したんだけど、一向に grub.cfg が書き換わらず、
仕方ないので fedup のソースを追ったところ boot.py 内で new-kernel-pkg なる
コマンドで grub の設定ファイルをいじっていることを発見。
このコマンドを手動で実行してみるも何のエラーもなし。
-v つけてみたところ、どうも /boot/grub2/grub.cfg は書き込み対象じゃないら
しい。以下のように /etc/grub2.cfg が対象の模様。
$ sudo new-kernel-pkg -v --initrdfile /boot/initramfs-fedup.img --banner 'System Upgrade' --kernel-args 'upgrade systemd.unit=system-upgrade.target plymouth.splash=fedup enforcing=0' --make-default --install fedup
initrdfile is /boot/initramfs-fedup.img
found /boot/initramfs-fedup.img and using it with grubby
/etc/grub.conf does not exist, not running grubby for grub 0.97
/etc/grub2.cfg does not exist, not running grubby for grub 2
/boot/efi/EFI/fedora/grub.cfg does not exist, not running grubby for grub 2 with UEFI
/etc/lilo.conf does not exist, not running grubby
/etc/extlinux.conf does not exist, not running grubby for extlinux
 仕方ないので ln -s /boot/grub2/grub.cfg /etc/grub2.cfg しました。
で、再起動後アップグレード処理が完了。

しかし今度は grub の起動時にFedora20 のカーネルで立ち上がらん。
以下のエラー。
alloc magic is broken at 0x8a9b0360: 73......
Aborted. Press any key to exit.
いろいろ調べたところ、 grub.cfg で initrd を指定するところの
パラメータ名が initrdefi になってなかった(EFIな環境)。
initrdefi /boot/initramfs-3.14.8-200.fc20.x86_64.img
上記に書き換えたら起動した。

あと、起動後音が出なかったのだが、これは以前経験済みで alsaunmute コマンドで
解決。