9. OpenStack version selection
● OpenStack version の選択
○ Fast Forward Upgrade では現行のバージョンに縛られず移行先のバージョンを選択可能
○ OpenStack のバージョンによって検証されているホストOSのバージョンの範囲がある
○ OpenStack が最低限必要とするミドルウェアのバージョン制約
■ Libvirt OS distribution support matrix
https://wiki.openstack.org/wiki/LibvirtDistroSupportMatrix
■ 例えば、Ocata版は libvirt >= 1.2.1、qemu >= 1.5.3
○ ミドルウェアが新しければなんでも動くというわけではない
■ 例えば、Ocata版は qemu <= 2.9 でないと次の不具合がおきる
■ ’Live migration fails with qemu-img >= 2.10: "Failed to get shared "write" lock Is another process using
the image?"’ (https://bugs.launchpad.net/nova/+bug/1718295) の改修はPike版以降に含まれる
○ ディストリビューションによってサポート条件は異なる
○ 他のコンポーネント(SDNなど)のサポート条件が加わることもある
9
14. OpenStack version up (DB migration)
● DBのデータを新バージョンに対応するように変換するには
○ MySQL のバージョンをあげている場合は、mysql_upgrade コマンドで変換
○ 新しく必要になるデータベース(e.g. nova_api)があれば作成
○ OpenStack のCLIツールであるmanageコマンドを用いてデータの点検とスキーマを変換
○ 例えば、JunoからMitakaにあげる場合は、下表のコマンドを実施
■ バージョンごとにツールをコンテナに入れておいて順に実行
Target version Nova Cinder Glance
Kilo $ nova-manage null_instance_uuid_scan
$ nova-manage db sync
$ nova-manage db migrate_flavor_data
$ cinder-manage db sync $ glance-manage db sync
Liberty $ nova-manage db sync $ cinder-manage db sync $ glance-manage db sync
Mitaka $ nova-manage api_db sync
$ nova-manage db sync
$ cinder-manage db sync $ glance-manage db sync
14
20. Version up lesson learned #2 (bug fix)
● 最新版を選ぶべきで、最新版までリリースノートに目を通しておくべき
● 検証環境で十分にテストをしても見つけられなかったバグ
○ 負荷がかかっている条件や低い頻度でのみ再現するバグ
○ 一方で、大体の問題はすでにコミュニティで報告されて、重要なものは既に改善されていた
● 例えば、Mitaka版に上げた後、バックポートして対応した
○ Nova: live-migration が Progress Timeout エラーでたまに失敗するようになる
■ “Nova incorrectly tracks live migration progress“
https://bugs.launchpad.net/nova/+bug/1644248
○ Cinder: イメージからのボリューム作成がまれに失敗する
■ “NFS: Fail to boot VM out of large snapshots (30GB+)”
https://bugs.launchpad.net/nova/+bug/1646181
○ Cinder: ボリュームのデタッチにまれに失敗してインスタンスの状態との不整合が生じる
■ “Service down and errors in log during image related operations”
https://bugs.launchpad.net/cinder/+bug/1801958
20