So-net無料ブログ作成

【趣味の仮想環境】OpenStack 再び:Devstackのばあい [仮想環境]

◆Yet another OpenStack deployment "Devstack"
次いこう次(小町風)。
RDO式、つまりpackstackはもういいかげん飽きてきたので、Devstackでやってみる。
というか、こちらが本当は老舗のようだが。
元となるネタがないとどうにもならないので、今回は
第398回 VirtualBoxでDevStackを利用する。 http://gihyo.jp/admin/serial/01/ubuntu-recipe/0398
のシナリオでやってみる。しかしこれが‥まあ。なんというか。

◆ubuntu族
超偏見だが、ubuntuは熱狂的なサポーター?が多く、同じdebian系からも揶揄されているケースが散見される。そんなことはない?
それはともかく、ubuntuのインストール。Ubuntu 16.04 LTSを探して入れる。
こちら。 https://www.ubuntulinux.jp/News/ubuntu1604-ja-remix
もちろん、最新は17.04なのだが、これだとdevstackが入らない。チェックを外して無理やりインストールすると動くように見せてやはり結局動かない。こう書くと簡単だが、OpenStack立ち上がってからエラーが出るので若干の衝撃はある。
それにしてもubuntuのDesktopはなんだか使い(以下略)

◆virtualboxの設定
順番は前後するが、この参考文書のやり方だと、ネットワークはNAT。ただしポートフォワードを設定して、2022→22、2080→80、6080→6080を入れておく。なるほどその手もあったか。ubuntuPort.PNG
さすがにCentosと違って多少時間がかかる。

◆devstackを入れる
言われた通り。ここをlibertyにするのはシャクにさわるので、ocataで行ってみる。
sudo apt-get install git
git clone -b stable/ocata https://git.openstack.org/openstack-dev/devstack

これで、/etcにdevstackフォルダーができるので、cdで移動。
local.confをviで編集。
必要なのは
ADMIN_PASSWORD=vmpass
DATABASE_PASSWORD=vmpass
RABBIT_PASSWORD=vmpass
SERVICE_PASSWORD=vmpass
HOST_IP=10.0.2.15
↑これはもともとあったかも

で、あとあと効いてくるので(お手本に記載はないけど)
OFFLINE=True
書き換えたら:wq。
あとはよくわからないまま、
devstack/lib/novaに、
iniset $NOVA_CONF DEFAULT vnc_keymap "ja"
を追加。この辺本当にわからん。なくてもいいのかも。ubuntuja.PNG
これで準備はほぼ終わり。devstackの位置から
./stack.sh
でインストール開始。インストール時間はかかるがわりと問題なく終わるはず。kollaとはかなりちがう。ノーマルに終わったら、
http://localhost:2080
でダッシュボードが出る。localhostで行けるのは、最初にポートフォワードの設定をしたから。
(続く)
nice!(0) 
共通テーマ:パソコン・インターネット

【趣味の仮想環境】OpenStack 再び: kolla の場合 [仮想環境]

◆もやもやする
ダメならダメ、OKならOKではっきりするのがデジタルの世界のはずだが、OpenStackはそうでもない。だいたいの記事で、何度かやったらうまくいった、だの、写真と内容があっていないだの苦労がしのばれる。
当方も同じ。最終的にうまくいく手があったので、そこまでのネタを書いていく。

◆kollaの場合
kollaというのは‥という説明はしない。
OpenStack Kolla(Ocata)環境の構築 を参考にする。ほぼそのまま。
途中一か所、kolla.confの編集で、「Dockerのプロキシ設定が1.12から変わった」らしく、
ExecStart=/usr/bin/docker daemon ではなく、ExecStart=/usr/bin/dockerd にしないとエラー、
つまり、
[Service]
MountFlags=shared
ExecStart=
ExecStart=/usr/bin/dockerd
となる。こう書くのは簡単だが、これがわかるまでに若干時間を費やす。
あと、
「4.0.1に対応するkolla-toolboxが存在しない」とあるが、その更新されているだろうからと思って、4.0.1でやってみたけどやはりだめだった。
とにかく複数のプロダクトが影響しあっているので、Version違いがクリティカルに効いてくる。インフラ屋さんが、動いているものをなおしたがらない理由がわかる。

◆しかしうまくいかない
上記に引っかかりつつも、ふつうにやれば
kolla-ansible prechecks -i all-in-one
まではたどり着くが‥
Quick Start
https://docs.openstack.org/kolla-ansible/latest/quickstart.html
の、
For multinode deployment of kolla, check if all the hostnames are resolvable. RabbitMQ can’t work with IP addresses, so we need to make sure that all RabbitMQ cluster hosts can resolve each other’s hostnames.
とあって、これはmultinodeの場合だが、AllInOneでもhostsをどうにかする必要がある。
‥が、どうやってもここを突破できない。
kollaNG.PNG

なので、折に触れて試みることにして、ここでペンディング。
やれやれ。

nice!(0) 
共通テーマ:パソコン・インターネット

【趣味の仮想環境】総括1:OpenStack 設定でやってはいけなかったこと [仮想環境]

(追記)
前提:http://qiita.com/mfujita/items/ee2da9d1e241926fc790
と、https://www.adoc.co.jp/blog/e000247.html
を見ながら、過去の
http://okiba.blog.so-net.ne.jp/2017-06-05
以降も踏まえる。
現在進行形。

◆やってはいけなかったこと:ただし当環境での話
‥当環境での話、と書かないと怒られそう。この界隈はうるさい。

アンサーファイルで
CONFIG_MANILA_INSTALL=y を設定するとダメ。
ボリューム作るところで死ぬ。
CONFIG_HORIZON_SSL=y を設定するとダメ。
面倒なだけ。
CONFIG_PROVISION_DEMO=y を設定するとダメ。
面倒なだけ。どうせ消す。

ホストOSで、最小インストール以外を選択するとダメ。
https://ask.openstack.org/en/question/104818/instance-boot-stucked-on-ipxe/
で、インスタンスが起動しない。しかしQEMUのバージョンを上げようとしても私には無理目。
VirtualBOXで、仮想化をdefault以外にするとダメ(たぶん)。
インスタンス作るところで即死。
途中でNW設定を変えようとするとダメ
途中途中クローン作らないで最後まで突っ走ろうとするとダメ

◆この後が問題で
あちこちの紹介記事で、OpenStackのダッシュボード画面を表示して、「これでOpenStackが使えます」的なところで終わっているのは眉唾(は言い過ぎ?)。
ここからが難しい。まずボリュームが作れるか、次にインスタンスが立ち上がるか、で、それにログインできるかと順に難所が続く。
インスタンス立ち上げに失敗したとき、ボリュームが残っていたりする。ここも注意。ce.PNG
またログインにはカスタマイズ・スクリプトに魔法の呪文、
#cloud-config
password: vmpass
chpasswd: { expire: False }
ssh_pwauth: True
これでいける。
やっと入れたのはいいが、ここから外に出られないぞ。pingしてもはじかれるだけ。
なぜだ。
ルーター周りの設定が違う気がする。
そしてこれとmintを一緒に起動させたりすると。
こうなる。これはもう限界。cpu.PNG
メモリー16G程度でOpenStackやろうというのがダメ。そもそもおこがましい。
あ、あと、インスタンスのコンソールは、「コンソールのみを表示するにはここをクリックします」をクリックしないと反応しない。罠。


【趣味の仮想環境】OpenStack 再びうまくいかない [仮想環境]

前提:http://qiita.com/mfujita/items/ee2da9d1e241926fc790
と、https://www.adoc.co.jp/blog/e000247.html
を見ながら、過去の
http://okiba.blog.so-net.ne.jp/2017-06-05
あたりも踏まえる。
現在進行形。

◆WindowsでSSH‥公開鍵をどうしろと
TeraTermはいまさらなんとなく入れたくない。OpenSSHを入れてみる。
http://dev.classmethod.jp/cloud/aws/win32-OPenSSh-WaS-released/
この辺を参考に。
一般にこの界隈では(?)SSHで「LinuxからWindowsへ」つなぎたいのがメインのニーズのようで、逆はメジャーではない‥というか、逆は、「WindowsからAWSへ」がよくあるケース。
ん?ところで公開鍵をどうやってCentOS側に持っていくのか?何か大間違いしているか?
ということでペンディング。すっとばす。(実は内容コピペ、でいける)

◆カーネルパラメータの変更(うまくいかない)
教科書に従って変更・・して、sysctl -pするとエラーになるので、なかったことにしてここはパス。エラーになるやつをすっとばす。

◆RDOでのOpenStackのインストール
この辺は前と同じに。demoはnにすること。
「enp0s8のIPアドレス(192.168.56.100)を設定する。」が謎。
これなんでしたっけ。そういえば「ホストオンリー」「ManagementNetwork」でしたっけ。
まあでも、
:%s/10.0.2.15/192.168.56.100/gc
で変更。
WindowsPC(VirtuaIBoxのホストOS)から、http://192.168.56.100/dashboard/ でダッシュボードが立ち上がる。
つながった先は、OpenStackのHorizonコントローラーノード。たぶん。しかしここからが長い。

◆「各サービスのステータス確認」 そんなファイルはない。
source keystonerc_admin
openstack-status
とあるが、そんなファイルはない。ここはパス。すっとばす。

◆「仮想ブリッジ: br-ex の設定」
cd /etc/sysconfig/network-scripts/
としておく。どうでもいいことだが、systemcfgでもなく、network_scriptsでもない統一感のなさは、わざとわかりにくくして悦に入る文化のなせる業なのかも。
TYPE=OVSBridge、みたいにBだけ大文字にするのもなんなんだか。
‥書かれている通りに書き直す。なんとなく理不尽感が残るがこうしないとうまくいかない。
で、なぜだかわからないがリスタートしたりリブートしたりすると、突然ここが元に戻ったりする。なぜだ。
ovs-vsctl show |more
で確認する。ここでいったんクローンを作っておくべき。

【趣味の仮想環境】OpenStack 再チャレンジ Ocata [仮想環境]

◆M-N-O‥MはMitakaのM
バージョンはアルファベット順になっている。最新がOcataなのでMitakaは1年前ということになる。前述の通りOcata版のインストール例はあまりNet上になく、ansible使ってるとか、Vagrant使っているとか、さらに混乱しそう。
newtonは情報がほとんどない一方、Mitakaは名前が日本語なためか、単にそのころOpenStackがプチブームだったせいか(?)そこそこ情報がある。
ここいらへんhttps://www.slideshare.net/yosshy/openstack-ocataをみても、インストールについてはM-N-Oくらいの開きなら8割がた類推できそう。
◆QiitaとSlideshareを参考
さきほどの https://www.slideshare.net/yosshy/openstack-ocata を見つつ
Qiita http://qiita.com/mfujita/items/ee2da9d1e241926fc790 が元ネタ。
Qiitaは「おれは出来るんだぞ」系技術者からはあんなところうそばかりで役に立たないと不評な一方、私のような初心者には取っ掛かりとして役に立つ。とはいえ、間違いは間違いと見抜けないようだと泥沼にはまる。Slideshareは逆に「おれは出来るんだぞ」系技術者の個人的趣味満載でたまに内輪受けが鼻につくが参考になる。

(追:画像貼り付け)
◆でもそう簡単にはいかない
以下、現在進行形でお送りいたします。
鬼門だらけ。今回は「二つのネットワークをVirtualBoxで作成」でやってみる。
一つはNATネットワーク。NATとの違いは「VirtualBoxのほかの仮想マシンとも疎通が取れる」という触れ込み。10.0.2.xxxvbg.png
もう一つ、ManagementNetworkを作る。ホストオンリーネットワーク。各ノードが内部でつながるという触れ込み。DHCP無効、プロミスキャス。
192.168.56.100
‥なんか、これだと、ホストPCから仮想PCにつながらない気がするが。まあやってみよう。
CentOSのインストールは前と同じ。慣れてきた。
注意:パーティションの切り方は前回と同じにすること。/homeを/varに、名前もhomeをvarに。
注意:最小限インストールにすること:理由はあとで。
Sudo ip addrと叩くと、enp0s3とenp0s8が表示される。
参考書どおりにviで直す。その後yahooにping。
・・外には出られる。まあそれはそうだろう。

【趣味の仮想環境】OpenStack 幕間 もやもやする [仮想環境]

◆もやもや
「もやもやする」というフレーズは、「主(ヌシ)さんひどすぎます!!」で一部の操め事フアンに知られる発言小町でよく見られる。http://komachi.yomiuri.co.jp/
ubuntuが立ち上がるとき、プロミスキャスのせいなのかなんなのか、ESETが反応する。なのでネットにつながってはいると思うが、当初の試行錯誤のせいか、こちらからなにもできない状態。OpenStack入れなおしでも前の状態が残っているので、一旦アンインストールが必要な感じ。消そう消そう。

◆バージョンの進化
半年に一回ほどのバージョンアップによって設定がどんどん変わっていくので、過去の情報どおりやっていてもなかなかうまくいかない。年率2割くらいでずれてきている印象。始めた当初はそこまでとは思わず、まあだいたい動いたとはいえ、それでいいのか的な疑問があってもやもや。だいたい、NICが2つ必要ってことはないような気がする。

◆最新版はOcata
UIが変わっていてさらに混乱。「Ocata入れました」記事は検索してもそうたくさんは出てこない‥が、こっちを先に調べてみたほうがよかった。やはりOpenStackの欠点によく「インストールが大変」とあるだけあって、ど素人が適当にやってたら時間がいくらあっても。でもこういうとき楽なのが仮想環境。やりなおしは簡単。消すだけ。VirtualBox最強‥だが、VirtualBoxは仮想の上で仮想KVM(NestedVirtualization)はむりっぼいのでQEMUになって、だから起動が遅いとどこかのサイトで御託宣あり。
ん?VMwareならできるって?それも面倒だな。
ということで、別の記事を見ながらやりなおす。

【趣味の仮想環境】OpenStack でubuntu でもこれでどうしろと [仮想環境]

◆立ち上がったubuntuの雄姿
ost4.png
おお。
で、user/passは?と思ってあちこち見たら、「公開されているクラウドイメージは大抵のものは鍵認証のみ許可されているため、パスワード認証はデフォルトのままではできない」とのご託宣。そこで魔法の呪文を唱える。こことかこことかに書いてある。しめしめ。とおもいきやうまくいかない。たぶんsshで入ればいいのだろうが、それのどこがおもしろいのか。
このあたりで嫌気がさしてくる。stack.pngいまの状況を整理すると、不正確だけど、こんな感じ。だいたいにおいて、ubuntuが立ち上がるのに(設定にもよるだろうけど)5分もかかっていては話にならない。
ということで、一旦撤退。
現在進行形でお送りしています。このあたりのことをやってみたがこれもうまくいかない。http://noaboutsnote.hatenablog.com/entry/openstack_instance_password
sshのログインもよくわからんというか。pemはPCに落ちるので、それをVirtualBoxに持っていってやらないとダメ。

【趣味の仮想環境】OpenStack 実行 [仮想環境]

◆さらに、割とうまくいかない。
エラーなしでおわったら、ホストPC側ブラウザから、192.168.101.1をたたく。ost1.png再度書いておくが。SSLの設定はやめたほうがいい。この後あちこちでひっかかる模様。userがadminなのがミソ。

◆で、この後がまたよくわからない。
openstack.orgのDOCを見るのが筋なんだろうが、微妙にずれている。
https://docs.openstack.org/ja/user-guide/dashboard-log-in.html
この順でやる。
まず「イメージ」を用意したほうがよさそう。
https://docs.openstack.org/ja/image-guide/
気まぐれでubuntuにしてみる。ost3.png
わりと時間がかかる。というか画面は自動で切り替わらないようなので注意。その後インスタンス作成となる。ほとんどデフォルトでセットされている。m1-tinyというやつを選ぶ。
ubun.PNG

◆ここで注意
OpenStackインストール時、デフォルトだと容量リミットが
CONFIG_CINDER_VOLUMES_SIZE=20G
となっていて、いろいろやっていると容量が足りなくなる。
(前の投稿にも追記した)
100Gとか120Gとか、適当に増やしておくべき。
ん?なんかうまくいかない。いったん保留。
あら?うまくいったぞ。
これはそこそこハマる。

生成してインスタンスの状況を見つつ、待つことしばし。ubuntuが立ちあがる。
で、これでどうしろと?

(改2)【趣味の仮想環境】OpenStack インストール [仮想環境]

2017/6/11青字追記さらに6/13追記
◆インストール:割とうまくいかない
うまく行かないとすると、この前の
yum update -y
のところでネットワークにつながらないか、このあとのpackstackでパラメータが通らない。

「answer-fileを使用しOpenStackをカスタマイズ」とのことなのでマネする。
packstack --gen-answer-file ans.txt
vi ans.txt
viが立ち上がって、なにやらいっぱい表示される。どこにお目当ての行があるのかわからないのでスクロールして-つずつつぶしていく。順番はオリジナルから変えてある。

CONFIG_SAHARA_INSTALL=y
CONFIG_HEAT_INSTALL=y
CONFIG_TROVE_INSTALL=y
CONFIG_NTP_SERVERS=133.243.238.244
CONFIG_KEYSTONE_ADMIN_PW=centos
CONFIG_LBAAS_INSTALL=y
CONFIG_NEUTRON_FWAAS=y
CONFIG_PROVISION_DEMO=n
注6/13 そういえばこの CONFIG_PROVISION_DEMO を=yにするとエラーになるので注意。文字コードが合わないとか。なんなんだろうこういうの。

CONFIG_LBAAS_INSTALLはロードバランサーだけど、実際はいらないと思う
CONFIG_NEUTRON_FWAASは、ファイアーウォールだけど、実際はいらないと思う

追記2017/06/11 CONFIG_CINDER_VOLUMES_SIZE=20G のままだとそうたくさん遊べない。100Gとか120Gとか適当に増やす。
ん?なんかうまくいかない。いったん保留。

そしてCONFIG_SATELLITE_ほにゃらら、の下あたりにあるSSL、ここが鬼門
CONFIG_HORIZON_SSL=y
これはダッシュボードヘのアクセスをhttpsにするものだが、これをやると、インストール時に
No such file or directory: '/etc/pki/tls/certs/selfcert.crt'
でエラー。
OpenSSLの設定が必要になってめちゃくちゃめんどくさい。たぶんバージョンが変わって必要になったっぽい(いつかのOpenSSLのバグの影響か?)。
なので、やめたほうが良い。
やる?本当に?
ここhttps://ask.openstack.org/en/question/97645/error-while-installing-openstack-newton-using-rdo-packstack/
を見て、ここhttps://tlepsh.blogspot.jp/2017/01/packstack-openstack-installation.htmlを見て、呪文を唱える。
openssl req -x509 -sha256 -newkey rsa:2048 -keyout selfkey.key -out selfcert.crt -days 1024 -nodes
なにやら途中に入力が求められるが、JPだけ入れればあとスペースで可。
.keyと.crtができるので、コピー。
cp selfkey.key /etc/pki/tls/private/
cp selfcert.crt /etc/pki/tls/certs
mkdirで/root/packtackca/certs を順に作る。権限も適当にchmod 777。
で、さらによくわからない呪文。
ln -s /etc/pki/tls/certs/ssl_vnc.crt /root/packstackca/certs/192.168.1.101ssl_vnc.crt
で、このあと、アンサーファイルの変更追加

CONFIG_SSL_CERT_DIR=/root/packstackca

これでできるはず。できなければ諦める。
変更し終わったら、[Esc]:wq[Return]して書き込み。
で、インストール。
packstack --answer-file ans.txt
エラーがなかったら一旦仮想環境を落としてセーブしておこうか。

【趣味の仮想環境】OpenStack インストール準備 [仮想環境]

◆OpenStackインストール準備
まだしばらくかかる。
ユーザーcentos、パスワードcentos で入りなおす。
suしてここもパスワードcentos。
以下呪文を唱える。一般常識的に# systemctl ほにゃららと#を入れて表記するらしいが#は取ってある。

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network
なお、その筋では常識ではあるが、ctrl+pで直前のコマンドがリピート表示される。これは便利。
その後、net-toolsをインストール。
yum install net-tools

ここまでは普通。次が鬼門
ネットワーク定義を書き換える。ネットワークインターフェイス「enp0s3」について、
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
と叩いて、viで以下のように書き換える。固定IPにして、かつ、IPv6を止める。
DEVICE="enp0s3"
TYPE="Ethernet"
BOOTPROTO="static"
DEFROUTE="yes"
PEERDNS="yes"
PEERROUTES="yes"
IPV4_FAILURE_FATAL="no"
IPV6INIT="no"
NAME="enp0s3"
ONBOOT="yes"
IPADDR="192.168.1.101"
NETMASK="255.255.255.0"
GATEWAY="192.168.1.1"
DNS1=8.8.8.8

上書きしたら[Esc]:wq[Return]ですね。viなので。
お手本では
GATEWAY="192.168.137.1"
のようになっているが、これでは逆立ちしてもつながらない。我々(笑)の環境では192.168.1.xxxであることに注意。
また、DNS1はあえて指定しないでもよかったと思うが実は忘れた。

このあとしばらく教科書サイトどおり。著作権法違反かな。
いったんネットワークを落とし上げ。全パッケージupdateしてOpenStack取り込み。
ifdown enp0s3
systemctl restart network
yum update -y
yum install -y https://rdoproject.org/repos/rdo-release.rpm
yum install -y openstack-packstack

これで準備できた。今回は文字ばっかり。ちょっと疲れる。