Eucalyptus Advent Calendar 2013 JP 4日目

菅緑

皆さん、遊園地とかの絶叫系マシンは好きですか?私は大嫌いです。何で金を出して怖い目にあわないといけないんでしょうかね?ちっとも理解できません。ちなみに私の妻は絶叫系マシンが大好きなので、遊園地に行くときはいつも寿命が年単位で縮んでいます。だぶんこのままだと私の戒名は緑毒草子守熊絶叫居士とかになりそうです。

はい、どうでもいい個人的な話から始めてしまいました今日12/4は熊本出身で第2日本テレビの元アナウンサー菅緑さんの誕生日です。全く存じあげない人(をお祝いするというのは、かなり変な行為だということは重々承知のうえ)ですが、お誕生日おめでとうございます。

Eucalyptus 1.6.2 で CLC がなかなか起動しないことがあったという話

えーと、本題です。普段仕事で使うプライベートクラウドに Eucalyptus 1.6.2 相当のものを使っているのですが、今日触っていたらどうも様子が変だということでログを見ていました。

そしたら定期的にスタックトレースを吐いている様子で、ちょっと原因追求する暇も余力もないから、やってはいけないと思いつつ、背に腹はかえられぬということで、エイヤッと CLC を再起動しました。

するとですね、cloud-debug.log に

2013/12/03 21:58:35  WARN [GroovyUtil:GroovyUtil:loadConfig:91:main] javax.script.ScriptException: javax.script.ScriptException: java.lang.N
ullPointerException
javax.script.ScriptException: javax.script.ScriptException: java.lang.NullPointerException
        at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:119)
        at javax.script.AbstractScriptEngine.eval(AbstractScriptEngine.java:264)
        at com.eucalyptus.util.GroovyUtil.loadConfig(GroovyUtil.java:89)
(中略)
        at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:113)
        ... 76 more
Caused by: java.lang.NullPointerException
        at org.codehaus.groovy.jsr223.GroovyScriptEngineImpl.eval(GroovyScriptEngineImpl.java:253)
        ... 77 more
2013/12/03 21:58:48  WARN [Environment:Environment:verifyProperties:532:main] Property [hibernate.cglib.use_reflection_optimizer] has been renamed to [hibernate.bytecode.use_reflection_optimizer]; update your properties appropriately

ってな感じのログが吐かれて、そのままピタっとログ出力が止まったまま、起動処理が進まなくなる現象が発生しました。自分しか使ってない環境なら、まぁそんなに慌てないんですが、Eucalyptus 1.6.2 です、そりゃぁもう使ってきた歴史がそれなりに長いわけでして、みんなこの環境に頼りまくりです。

もうね同僚のみなさんが「OpenStack すげーイカしてるー、しびれるわー」とか言ってても、何だかんだで Eucalyptus 1.6.2 のインスタンス上で動く Redmine でバグ管理とかしているんですよ、もう私は心の中でニヤリなわけでして…って何の話だ?

ということで、このままだと OpenStacker な同僚から「ちっ、羽深だけじゃなくて Eucalyptus も使えねーなー」とか蔑まれちゃうこと間違いなしですよ。もうね、焦って焦って色々と見ます。下手したら焦りすぎてテンパりだして、別環境を構築して手動マイグレーションしちゃおうかとか考えだす始末です。

いくら Eucalyptus が「環境を構築し易い」とは言え、トラブル対応放っておいて環境構築をやっちゃ駄目ですよね。

で、基本として /etc/eucalyptus/, /var/lib/eucalyptus/, /var/log/eucalyptus/ 配下をチェックしていくんですが、ふと違和感を感じました。/var/lib/eucalyptus/db/ 配下を見ると…

-rw-r--r--  1 root       root         20G Dec  3 21:58 eucalyptus_general.log

とかってデカいのが居るわけですよ。普段このファイルがそんなに大きくなっているのを見てないので、ちょっとビビります。で、このファイル、そんなに肥大化すんだっけ?と思ってバグチケットに何か情報ないかと検索してみたところ…

http://gyazo.com/636b0cdfa998f0e7a6ead1406174a1b9

あれ?さすがにもう 1.6.2 の情報なんて世の中から消えさってしまったの?と不安を抱きながら漫画を読みながら、試行錯誤しているうちに、

-rw-r--r--  1 root       root        154K Dec  3 23:06 eucalyptus_general.log

あらやだ、ファイルが小さくなってる…

で、再び cloud-debug.log を見てみると

2013/12/03 22:11:43  WARN [Environment:Environment:verifyProperties:532:main] Property [hibernate.cglib.use_reflection_optimizer] has been r
enamed to [hibernate.bytecode.use_reflection_optimizer]; update your properties appropriately
2013/12/03 22:56:12  INFO [DatabaseUtil:DatabaseUtil:registerPersistenceContext:45:main] -> Setting up persistence context for : eucalyptus_
general

なんと、ログ出力が再開しているじゃないですか。えー、つまりですよ、CLC 君は hsqldb を起動してレスポンスが返ってくるのを待ち続けていただけという、つまりそーゆーこと?



クリスマスまであと21日です✌(́◓q◔`)✌