2016 0626 ubuntu 1604 LTS party LT

38
Ubuntu14.04LTSから16.04 LTSへのアップグレードを ConoHaでやる cloudinit パッケージのOpenStackで ConfigDriveを 使っている場合の対応、対策(workaround) 郷古 直仁 naototty @naotogohko

Transcript of 2016 0626 ubuntu 1604 LTS party LT

Page 1: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  14.04  LTSから16.04  LTSへのアップグレードを

ConoHaでやるcloud-‑init パッケージのOpenStackで ConfigDriveを

使っている場合の対応、対策(work  around)

郷古 直仁 naototty @naoto_̲gohko

Page 2: 2016 0626 ubuntu 1604 LTS party LT

郷古直仁 (@naoto_̲gohko,  naototty)• ConoHa のOpenStack  cloudサービスの裏の⼈人

•最近やっているゲーム• FGO  (ガチャります)• Overwatch(PS4)(ガチャります)

Page 3: 2016 0626 ubuntu 1604 LTS party LT

さてさてさて

Page 4: 2016 0626 ubuntu 1604 LTS party LT

今回はConoHaで、Ubuntu  16.04  LTSイメージをすぐに提供できていない理由について、ちょっとLT

Page 5: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  14.04  LTSèpython2.7  base

Ubuntu  16.04  LTSèpython3.5  base

Page 6: 2016 0626 ubuntu 1604 LTS party LT

今回のupgradeは⼤大きな変更(python的には)Python3.5は開発ツールとしては嬉しいんですけど…

Page 7: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  OpenStackの通常のテストケースでは、どうも引っかからない問題でした

Page 8: 2016 0626 ubuntu 1604 LTS party LT

ちなみに

Page 9: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  16.04  LTS  +  MitakareleaseはOpenStack  communityてきには⾮非推奨らしいです

Mitaka rel.での開発のメインラインはUbuntu  14.04  LTS

Page 10: 2016 0626 ubuntu 1604 LTS party LT

だがしかし

Page 11: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  16.04  LTS  cloud  guest  OSとしては、もちろん需要がたくさんあります

そちら側のお話です

Page 12: 2016 0626 ubuntu 1604 LTS party LT

クラウドのメタデータ取得:cloud-‑init

Page 13: 2016 0626 ubuntu 1604 LTS party LT

cloud-‑init:dhcpでlink-‑local  addressから取得するのが多いhttp://169.254.169.254/

Page 14: 2016 0626 ubuntu 1604 LTS party LT

cloud-‑init:  ConfigDriveネットワークが疎通しない状態のcloud  imageにもメタデータを配布する仕組みè CD  rom  image  mount型

Page 15: 2016 0626 ubuntu 1604 LTS party LT

ConoHa cloud:  ConfigDrive

なんです!!(ここまで前置き)

Page 16: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  14.04  LTSからの16.04  LTSへのupgrade⽅方法

Page 17: 2016 0626 ubuntu 1604 LTS party LT

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-‑corePrompt=ltsの確認• $  sudo grep  Prompt  /etc/update-‑manager/release-‑upgrades

Page 18: 2016 0626 ubuntu 1604 LTS party LT

How  to  upgrade  14.04  LTS  to  16.04  LTS(Server  Edition)  #2VNC画⾯面または、シリアルコンソール画⾯面で実⾏行(upgradeでネットワークが切れる場合がありますので)• $  sudo do-‑release-‑upgrade   ‒–d  ‒–m  server

質問で更新 /etc/dhcp/dhclient.conf• Nを選択

質問で更新 /etc/cloud/cloud.cnf• Nを選択

その他の選択肢はdefaultでOKでしょう

Page 19: 2016 0626 ubuntu 1604 LTS party LT
Page 20: 2016 0626 ubuntu 1604 LTS party LT

How  to  upgrade  14.04  LTS  to  16.04  LTS(Server  Edition)  #2b最後に、再起動するか聞かれるので:  y

Page 21: 2016 0626 ubuntu 1604 LTS party LT
Page 22: 2016 0626 ubuntu 1604 LTS party LT

Ubuntu  16.04  LTSが起動してきますが、cloud-‑initがTraceしている…

Page 23: 2016 0626 ubuntu 1604 LTS party LT
Page 24: 2016 0626 ubuntu 1604 LTS party LT

とりあえず、起動すると疎通はするようですが…

なんかおかしい(ipv6亡くなったし)

Page 25: 2016 0626 ubuntu 1604 LTS party LT

cloud-‑init:  ConfigDrive

のpython3固有のトラブルです

Page 26: 2016 0626 ubuntu 1604 LTS party LT

cloud-‑init:  ConfigDrive

ソースを⾒見ると、これだけ書き換え忘れwwww

orz

Page 27: 2016 0626 ubuntu 1604 LTS party LT

Work  around

Page 28: 2016 0626 ubuntu 1604 LTS party LT
Page 29: 2016 0626 ubuntu 1604 LTS party LT
Page 30: 2016 0626 ubuntu 1604 LTS party LT
Page 31: 2016 0626 ubuntu 1604 LTS party LT
Page 32: 2016 0626 ubuntu 1604 LTS party LT

How  to  upgrade  14.04  LTS  to  16.04  LTS(Server  Edition)  #3  work  arroundVNC画⾯面または、シリアルコンソール画⾯面で実⾏行(upgradeでネットワークが切れる場合がありますので)(以下、rootで)ネットワークがおかしいので、再起動• #    sudo /etc/init.d/networking  restart

cloud-‑init のdevリポジトリ追加• #  apt-‑add-‑repository  ppa:smoser/cloud-‑init-‑dev• #  apt  update• #  apt  upgrade

Page 33: 2016 0626 ubuntu 1604 LTS party LT

root@163-44-119-136:~# dpkg -l cloud-initDesired=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)というように上がります

Page 34: 2016 0626 ubuntu 1604 LTS party LT
Page 35: 2016 0626 ubuntu 1604 LTS party LT
Page 36: 2016 0626 ubuntu 1604 LTS party LT
Page 37: 2016 0626 ubuntu 1604 LTS party LT
Page 38: 2016 0626 ubuntu 1604 LTS party LT

公式にはいつ降りてくるのか、

なぁ(16.04.1  とか無しね…)