hasciiの日記

多分プログラミング関係

http プロキシ環境内で OpenDaylight とりあえず動かしたメモ

OpenDaylight をプロキシ越しでしかインターネッツアクセスできない環境内でセットアップしたときのメモ

とりあえず Ubuntu server 12.10 に OpenDaylight 入れて画面確認したところまで

2013/4/14 時点のソースコードで実施

下準備

多分以下の 3 つが入っていれば OK. apt の proxy 設定を /etc/apt/apt.conf で行なっておくこと。

git

  sudo apt-get install git

java

  sudo apt-get install openjdk-7-jdk

maven3

  sudo apt-get install maven
  wget http://ftp.br.debian.org/debian/pool/main/m/maven/maven_3.0.4-3_all.deb
  dpkg -i maven_3.0.4-3_all.deb

ビルド

ソースコードをチェックアウト

  git clone http://git.opendaylight.org/gerrit/p/controller.git

maven のプロキシ設定

ビルド中に依存解決のため http アクセスしまくるのでプロキシ設定しておく

  vi ~/.m2/settings.xml
  <settings>
    <proxies>
      <proxy>
        <active>true</active>
        <protocol>http</protocol>
        <host>プロキシホスト</host>
        <port>ポート番号</port>
        <username>ユーザ名</username>
        <password>パスワード</password>
        <nonProxyHosts>プロキシ使わないドメイン</nonProxyHosts>
      </proxy>
    </proxies>
  </settings>

ビルド実行

デフォ状態だと OutOfMemory でこけたのでメモリ割り当てを増やしておく

  export MAVEN_OPTS='-Xmx1024m -XX:MaxPermSize=256m' 

pom.xml があるディレクトリに移動してテスト、インストール

  cd controller/opendaylight/distribution/opendaylight/
  mvn test

問題なければ

  mvn install

実行

  cd target/<ビルド名>/opendaylight

そのまま実行すると http 越しの beans を読みにいってエラーが出るのでここでも http の Proxy 設定

 vi run.sh
 $JAVA_HOME/bin/java $@ \
     -Djava.io.tmpdir=${basedir}/work/tmp \
     -Dosgi.install.area=${basedir} \
     -Dosgi.configuration.area=${basedir}/configuration \
     -Dosgi.frameworkClassPath=${FWCLASSPATH} \
     -Dosgi.framework=file:${basedir}/lib/org.eclipse.osgi-3.8.1.v20120830-144521.jar \
 +   -Dhttp.proxyHost="プロキシホスト名" \
 +   -Dhttp.proxyPort="ポート番号" \
 +   -Dhttp.proxyUser="ユーザ名" \
 +   -Dhttp.proxyPassword="パスワード" \
     -classpath ${CLASSPATH} \
     org.eclipse.equinox.launcher.Main \
     -console \
     -consoleLog

環境変数 JAVA_HOME を設定してから run.sh を実行

 ./run.sh

httpで 8080 ポートにアクセスすれば画面が見えるはず