CoreOSのイメージを自分で作ってみると、アップデートの戦略はどうなるのか
はじめに
CoreOSのイメージは自分で作ることもできるのですが、「この場合アップデート戦略はどう設定されているのか?」と不思議に思ったので確認してみることに
環境
実行環境
- VMWare Player6.0.5
CoreOS 557.2.0 developイメージの場合
GROUPには、謎のdeveloperなるものが指定されています。
CoreOS developer (557.2.0+2015-04-19-1400) core@localhost ~ $ cat /etc/coreos/update.conf GROUP=developer SERVER=http://localhost:8080/update # For gmerge DEVSERVER=http://localhost:8080
CoreOS 557.2.0 productイメージの場合
こちらもGROUPには、謎のdeveloperなるものが指定されています。
CoreOS developer (557.2.0+2015-04-21-1601) core@localhost ~ $ cat /etc/coreos/update.conf GROUP=developer
/etc/coreos/update.confを書き換えてアップデートしてみると?
developerなんてチャンネルは外部には公開されていないようなのですが、では、「/etc/coreos/update.confを自分で書き換えて、updateを実行してみるとどうなるのか?」と思ったので実験してみました。
productイメージの方で「beta」に書き換えて実行してみたところupdateは出来ずでした。
実行結果は以下のような感じです。
core@localhost ~ $ cat /etc/coreos/update.conf GROUP=beta core@localhost ~ $ sudo update_engine_client -update [0426/014726:INFO:update_engine_client.cc(245)] Initiating update check and install. [0426/014726:INFO:update_engine_client.cc(250)] Waiting for update to complete. LAST_CHECKED_TIME=1430012847 PROGRESS=0.000000 CURRENT_OP=UPDATE_STATUS_UPDATE_AVAILABLE NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 LAST_CHECKED_TIME=1430012847 PROGRESS=0.000000 CURRENT_OP=UPDATE_STATUS_UPDATE_AVAILABLE NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 LAST_CHECKED_TIME=1430012847 PROGRESS=0.000000 CURRENT_OP=UPDATE_STATUS_UPDATE_AVAILABLE NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 LAST_CHECKED_TIME=1430012847 PROGRESS=0.000000 CURRENT_OP=UPDATE_STATUS_UPDATE_AVAILABLE NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 LAST_CHECKED_TIME=1430012847 PROGRESS=0.000005 CURRENT_OP=UPDATE_STATUS_DOWNLOADING NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 (中略) LAST_CHECKED_TIME=1430012847 PROGRESS=0.956844 CURRENT_OP=UPDATE_STATUS_DOWNLOADING NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 LAST_CHECKED_TIME=1430012847 PROGRESS=0.000000 CURRENT_OP=UPDATE_STATUS_REPORTING_ERROR_EVENT NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 LAST_CHECKED_TIME=1430012847 PROGRESS=0.000000 CURRENT_OP=UPDATE_STATUS_IDLE NEW_VERSION=0.0.0.0 NEW_SIZE=129904561 [0426/015001:ERROR:update_engine_client.cc(189)] Update failed.
さいごに
「さすがに公式からイメージを取得してのアップデートはできないよねー」というのは想像に難くないので、その点は予想通りでした。
まあ、何事も実験ということで。