Ubuntu  14.04  LTSから16.04  
LTSへのアップグレードを
ConoHaでやる
cloud-‑init パッケージのOpenStackで ConfigDriveを
使っている場合の対応、対策(work  around)
郷古 直仁 naototty @naoto_̲gohko
郷古直仁 (@naoto_̲gohko,  naototty)
• ConoHa のOpenStack  cloudサービスの裏の⼈人
• 最近やっているゲーム
• FGO  (ガチャります)
• Overwatch(PS4)(ガチャります)
さてさてさて
今回はConoHaで、
Ubuntu  16.04  LTSイメージを
すぐに提供できていない理由につ
いて、ちょっとLT
Ubuntu  14.04  LTS
èpython2.7  base
Ubuntu  16.04  LTS
èpython3.5  base
今回のupgradeは⼤大きな変更
(python的には)
Python3.5は開発ツールとしては嬉しいんですけど…
Ubuntu  OpenStackの通常のテ
ストケースでは、どうも引っ
かからない問題でした
ちなみに
Ubuntu  16.04  LTS  +  Mitaka
releaseはOpenStack  community
てきには⾮非推奨らしいです
Mitaka rel.での開発の
メインラインはUbuntu  14.04  LTS
だがしかし
Ubuntu  16.04  LTS  cloud  guest  OS
としては、もちろん需要がたくさ
んあります
そちら側のお話です
クラウドのメタデータ取得
:cloud-‑init
cloud-‑init:
dhcpでlink-‑local  addressから取
得するのが多い
http://169.254.169.254/
cloud-‑init:  ConfigDrive
ネットワークが疎通しない状態の
cloud  imageにもメタデータを配
布する仕組み
è CD  rom  image  mount型
ConoHa cloud:  ConfigDrive
なんです!!
(ここまで前置き)
Ubuntu  14.04  LTSからの
16.04  LTSへのupgrade⽅方法
How  to  upgrade  14.04  LTS  to  16.04  LTS
(Server  Edition)  #1
• $  sudo apt-‑get  update  &&  sudo apt-‑get  dist-‑upgrade
⼀一回再起動(upgradeがある場合)
• $  sudo shutdown  ‒–r  now
• $  sudo apt-‑get  install  update-‑manager-‑core
Prompt=ltsの確認
• $  sudo grep  Prompt  /etc/update-‑manager/release-‑upgrades
How  to  upgrade  14.04  LTS  to  16.04  LTS
(Server  Edition)  #2
VNC画⾯面または、シリアルコンソール画⾯面で実⾏行
(upgradeでネットワークが切れる場合がありますので)
• $  sudo do-‑release-‑upgrade   ‒–d  ‒–m  server
質問で更新 /etc/dhcp/dhclient.conf
• Nを選択
質問で更新 /etc/cloud/cloud.cnf
• Nを選択
その他の選択肢はdefaultでOKでしょう
How  to  upgrade  14.04  LTS  to  16.04  LTS
(Server  Edition)  #2b
最後に、再起動するか聞かれるので:  y
Ubuntu  16.04  LTSが起動して
きますが、
cloud-‑initがTraceしている…
とりあえず、起動すると疎通はす
るようですが…
なんかおかしい
(ipv6亡くなったし)
cloud-‑init:  ConfigDrive
のpython3固有のトラブルです
cloud-‑init:  ConfigDrive
ソースを⾒見ると、これだけ書き換
え忘れwwww
orz
Work  around
How  to  upgrade  14.04  LTS  to  16.04  LTS
(Server  Edition)  #3  work  arround
VNC画⾯面または、シリアルコンソール画⾯面で実⾏行
(upgradeでネットワークが切れる場合がありますので)
(以下、rootで)
ネットワークがおかしいので、再起動
• #    sudo /etc/init.d/networking  restart
cloud-‑init のdevリポジトリ追加
• #  apt-‑add-‑repository  ppa:smoser/cloud-‑init-‑dev
• #  apt  update
• #  apt  upgrade
root@163-44-119-136: # dpkg -l cloud-init
Desired=Unknown/Install/Remove/Purge/Hold
¦ Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-‑pend
¦/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)¦¦/ Name Version
Architecture Description+++-===========================-
==================-==================-
===========================================================ii
cloud-init 0.7.7 bzr1245-0ubu all Init scripts for cloud instances
0.7.7~∼bzr1212(before  (bug))
0.7.7~∼bzr1245(after)
というように上がります
公式にはいつ降りてくるのか、
なぁ
(16.04.1  とか無しね…)

2016 0626 ubuntu 1604 LTS party LT