Ubuntu 13系から14系へバージョンアップとOpenStack構築

やりたいこととか

先日書いたロードマップの検証やるために久しぶりに家のサーバを起動した。
作りたいのはWEBサーバとNginXを持ったテナントを自由に作ったり壊したり出来たりする環境が欲しくて。
ubuntuの13.10使っていたのだけど、14系だったらコマンド数発でopenstack入るらしいのでコマンド叩いて、バージョンアップした。

root@openstack:/etc/update-manager$ do-release-upgrade

見ているとエラーがちらほら出ていましたが、家のサーバなのでガンガン進める。
再起動したところ、こんなメッセージで起動しなくなったorz

[Shell]
Nov 23 13:52:14 openstack dbus[449]: [system] Activated service \’org.freedesktop.ConsoleKit\’ failed: The permission of the setuid helper is not correct
[/Shell]

休みの日に/var/log/syslog分析してトラブルシュートする活力なんて無いので、とりあえずyoutubeでテンション上げる。

1.テンション上がったので対処する

パーミッションっぽいので、ネットで調べて下記を投入

[Shell]
chmod u+s /usr/lib/dbus-1.0/dbus-daemon-launch-helper
[/Shell]

これで起きくるかな・・・なんて思ってたら、

[Shell]
saned disabled; edit /etc/default/saned
[/Shell]

とかいって止まってる。
調べるとグラフィック系のドライバの問題らしかったです。
そもそも14系のアップデートで何個かエラー発生してたからそこが悪さしてるっぽい。

失敗してた分を強制的に入れて、グラフィックドライバの再インストールを試みる。
あとはとりあえず起きてきたらエラー対応すっかぐらいのスタンスで作業継続。

[Shell]
apt-get -f install
sudo apt-get purge nvidia-current
sudo apt-get install nvidia-current
[/Shell]

画面が起動してきたのであらためて、再度バージョンアップし直す。

[Shell]
root@openstack:/etc/update-manager$ do-release-upgrade
新しい Ubuntu のリリースをチェックしています
0% [作業中] 0% [jp.archive.ubuntu.com へ接続しています] 0% [jp.archive.ubuntu.com (160.26.2.181) へ接続しています] 0% [ヘッダの待機中です] 取得:1 ツールの署名のアップグレード [198 B]
99% [ヘッダの待機中です] 取得:2 ツールのアップグレード [1,147 kB]
100% [作業中] 1,148 kバイト/0秒 を取得しました (0 B/秒)
「utopic.tar.gz.gpg」を用いて「utopic.tar.gz」の認証を行ないます
gpg exited 2
Debug information:

gpg: fatal: can\’t open fd 6 for status output: 不正なファイル記述子です
secmem usage: 0/0 bytes in 0/0 blocks of pool 0/0

認証に失敗しました
アップグレードの認証に失敗しました。おそらくネットワークまたはサーバーの問題です。
[/Shell]

ぬぉぉぉぉーーーーーー、めんどくさすぎるぞ!!ジョジョォォォォオーーー!!!

なんて思いましたが、ここで再インストールなんてやると負けた気分になるので、
対処します。
手動でアップデートを試みます。

[Shell]
root@openstack:/etc/update-manager$ apt-get update
root@openstack:/etc/update-manager$ apt-get dist-upgrade
[/Shell]

正常終了したので念のためもう一回アップデート。

[Shell]
root@openstack:/etc/update-manager$ do-release-upgrade
新しい Ubuntu のリリースをチェックしています
新しくリリースされたものはありません
[/Shell]

やったぜ!!!
深くは調べてないですが、一回目のバージョンアップでしくじってた分が、dist-upgradeで綺麗に入った感じだと思います。

2.OpenStackインストール

出鼻くじかれましたが引き続き入れて行きます。

[Shell]
kz_yamashita@openstack:~$ sudo apt-add-repository ppa:cloud-installer/ppa
kz_yamashita@openstack:~$ sudo apt update
kz_yamashita@openstack:~$ sudo apt install cloud-installer
[/Shell]

1時間ほど放置して、こんな画面が出たらOKです。
\"キャプチャ\"

2-1.nginXのインストール

外部からアクセスするためにnginXをセットアップします。

[Shell]
kz_yamashita@openstack:~$ sudo apt install nginx
[/Shell]

2-1-1.公開鍵の作成

[Shell]
kz_yamashita@openstack:~$ openssl req -new -x509 -nodes -keyout cert.key -out cert.crt
Generating a 2048 bit RSA private key
………………………+++
…………………………………………………………………………………………………………………..+++

writing new private key to \’cert.key\’

You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,

If you enter \’.\’, the field will be left blank.

Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:Fukuoka
Locality Name (eg, city) []:Fukuoka
Organization Name (eg, company) [Internet Widgits Pty Ltd]:kz_yamashita
Organizational Unit Name (eg, section) []:kz_yamashita
Common Name (e.g. server FQDN or YOUR name) []:open-stack.local
Email Address []:mailaddress@fqdn
[/Shell]

2-1-2.公開鍵のインストール

[Shell]
kz_yamashita@openstack:~$ sudo install -m 400 cert.key /etc/nginx/
kz_yamashita@openstack:~$ sudo install -m 644 cert.crt /etc/nginx/
[/Shell]

2-1-3.nginXの定義ファイルを作成

[Shell]
kz_yamashita@openstack:~$ cat /etc/nginx/sites-available/cloudinstaller
server {
listen 80; # OpenStack Dashbord
location / {
proxy_pass http://10.0.3.2;
proxy_set_header Host $http_host;
}
}

server {
listen 8080; # JujuGUI
location / {
proxy_pass http://10.0.3.25;
proxy_set_header Host $http_host;
}
}

server {
listen 443 ssl;
ssl on;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
location / {
proxy_pass https://10.0.3.2;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection \”upgrade\”;
}
}
[/Shell]

2-1-4.デフォルトプロファイルの削除、コンフィグテスト、コンフィグの有効化

kz_yamashita@openstack:~$  sudo rm /etc/nginx/sites-enabled/default
kz_yamashita@openstack:~$  sudo ln -s /etc/nginx/sites-available/cloudinstaller /etc/nginx/sites-enabled/
kz_yamashita@openstack:~$  sudo service nginx configtest
 * Testing nginx configuration                                                                                                                                                                                                                     

ここまで終わるといよいよブラウザからダッシュボード、jujuGuiにアクセスできます。

\"キャプチャ\"

あとは仮想マシンの作成やら、Chefの構築やらやっていく感じですが、今日はここまで!
よい連休をお過ごし下さい。
それでは!

参考URL

Ubuntu Weekly Recipe 第341回 OpenStack環境を30分で構築する

Comments are closed.