Closed oomichi closed 5 years ago
作成方法
$ sudo apt-get install python-pip
$ sudo pip install diskimage-builder
$ sudo apt-get install qemu
$ git clone https://github.com/openstack/octavia
$ cd octavia/
$ ./diskimage-create/diskimage-create.sh
...
2019-03-02 02:56:01.510 | Converting image using qemu-img convert
2019-03-02 02:57:16.436 | Image file /home/ubuntu/octavia/amphora-x64-haproxy.qcow2 created...
2019-03-02 02:57:16.642 | Build completed successfully
$
$ ls amphora-x64-haproxy.qcow2
amphora-x64-haproxy.qcow2
$
diskimage-create/diskimage-create.sh で作られるが、diskimage-builder の Element の一部 haproxy-octavia は Octavia 独自 Element であり openstack/octavia/elements/haproxy-octavia に存在する。 よって Octavia リポジトリから必要なものを抜き出して Build するよりは、Octavia リポジトリ上で diskimage-create/diskimage-create.sh を実行したほうが楽そう。
問題発生
$ ./diskimage-create/diskimage-create.sh
ERROR: diskimage-builder repo directory not found at: /home/ubuntu/diskimage-builder or in path. Exiting.
disk-image-createコマンドの存在チェック方法にバグあり。 https://review.openstack.org/#/c/640562/ で修正
問題発生
$ ./diskimage-create/diskimage-create.sh
Required package qemu is not installed. Exiting.
qemuインストール手順を追加
問題発生
$ ./diskimage-create/diskimage-create.sh
Building elements: base base vm ubuntu-minimal pip-and-virtualenv haproxy-octavia rebind-sshd no-resolvconf amphora-agent sos keepalived-octavia ipvsadmin pip-cache certs-ramfs
ERROR: Element 'pip-and-virtualenv' not found in '/home/ubuntu/octavia/elements:/usr/bin/../share/diskimage-builder/elements'
https://docs.openstack.org/diskimage-builder/latest/elements.html によると pip-and-virtualenv は存在すべき。 うーん、ubuntu パッケージの diskimage-builder が怪しい感じがする。
DevStackではHAProxyのVMイメージを作成し、それをOctaviaでLBオブジェクト毎に作られるLB仮想マシンのベースイメージとして利用する。 DevStackのHAProxyのVMイメージ作成処理を抜き出し、このCI環境で作成できるようにする。