haotogu’s blog

伝えて学ぶ

DockerにOpenDaylight Karafをインストールする

Dockerを使ってODLを入れてみる。ODLはイメージを配布しているみたいなんだけれど、今回はプレーンのubuntuからチャレンジ。 Karafとは色々なモジュールをインストールするためのOSGiベースのランタイム、らしい。

docker pull ubuntu
docker run -it ubuntu --name="ubuntu-odl"

これでubuntuがあっさり立ち上がる。 続いて関連パッケージをインストール。最初はlessもwgetも入っていないプレーンな状態。

cd root
apt-get update
apt-get install aptitude wget software-properties-common

OracleJREをインストール。openjdkではJVMがないって言われるし、oracleでもjava9はなぜかJVMのバージョンが合ってないと言われた。

sudo add-apt-repository ppa:webupd8team/java
aptitude update
aptitude install oracle-java8-installer

Karafを動かしてみる。

wget https://nexus.opendaylight.org/content/repositories/public/org/opendaylight/integration/karaf/0.7.1/karaf-0.7.1.tar.gz
tar -xzf karaf-0.7.1.tar.gz
cd karaf-0.7.1
./bin/karaf

UbuntuでLACPのPDU情報を表示する

昨日これに引っかかって貴重な時間を無駄にしてしまったのでメモ。 modprobeでbondingの設定をすると、/proc/net/bonding/bond0にリンク情報を示すファイルが作成される。 このファイルにあるdetails lacp actor(partner) pduという項目の下に、主にポートの状態を示す情報が設定されており、これを常時監視するプログラムを作成していた。

www.cyberciti.biz

ところが、自分で何度LACPを設定してもPDUの項目が見つからない。。 UbuntuのオフィシャルサイトでLACP設定方法が載っていたが、ここで載っているbond0ファイルのように、インタフェースの大まかな情報のみが書き込まれているだけで、肝心のポート状態が見えない。

あらゆることを試してみてようやく分かったのは、sudoからbond0を見るのではなく、sudo suによって一旦スーパーユーザになり、そこからbond0を見れば、欲しかったポート状態が分かるようになっている。つまり、sudoとsuで表示される項目に違いがあるように見えたんだけれど、これは正しい振る舞いなのだろうか。 一応問題は解決したので良かったが、少し気になるので後で調べてみたい。