Newtonのリポジトリがなくなっているので, Kollaで入れ直すことにした。
都度対処療法で進めていったので, 一般的な流れでは無いことをご了承ください。
まず, Packstack環境をこちらのスクリプトで削除する。
付録A PackStack デプロイメントの削除
# ./unpack.sh
一旦再起動&yum update。
# yum update -y
ここからはオフィシャルのページを参考にすすめていく・・・とやってみはいいけれど, うまくいかなかったのでQiitaのこちらも参考にやっていく。
Kolla Ansible Quick Start
kolla-ansibleでOpenStack(stable/queens)を構築する
最小要件は
- NIC 2つ
- メモリ 8GB以上
- ディスク 40GB
今回はRDOの名残のbr-exをマネジメント用にして, もう一方のNICをExternal用にする。
External用のNICはIP無し。
と思ってやってみたけれど, 実際やってみるとbr-exはprecheck時にエラーになるので, openvswitchを利用せず, 物理NICに戻す必要あり。
1. 事前準備
$ sudo yum install epel-release
$ sudo yum install python-pip
$ sudo pip install -U pip
$
$ sudo yum install python-devel libffi-devel gcc openssl-devel libselinux-python
$
$ sudo yum install ansible
/etc/ansible/ansible.cfg 編集。
[defaults]
host_key_checking=False
pipelining=True
forks=100
その他, openstack-newtonのリポジトリで入れたPython系はごっそり消してキレイにしておく。
2. Kolla-ansible インストール
この手順でエラーがでる。
pip install -r kolla/requirements.txt
<エラーメッセージ>
oslo-config 6.4.0 has requirement PyYAML>=3.12, but you'll have pyyaml 3.10 which is incompatible.
この対応のため, 以下インストール実施。
$ wget http://pyyaml.org/download/pyyaml/PyYAML-3.12.tar.gz
$ tar xvfz ./PyYAML-3.12.tar.gz
$ sudo python ./PyYAML-3.12/setup.py install
今一度ansible インストール
$ sudo yum install ansible
$ sudo pip install -r kolla/requirements.txt
$ sudo pip install -r kolla-ansible/requirements.txt
うまくいった。
3. 初期設定ファイル準備
今回はAll-in-oneなので特にファイルいじらない。
$ sudo ansible -i all-in-one all -m ping
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
成功。
4. Kolla パスワード設定
$ sudo kolla-genpwd
5. Kolla globals.yml 編集
kolla_base_distro: "centos"
kolla_install_type: "source"
openstack_release: "queens"
kolla_internal_vip_address: "192.168.1.100"
docker_registry: ""
network_interface: "enp4s0"
neutron_external_interface: "enp1s0"
enable_neutron_provider_networks: "yes" #追加(2018/08/29) 外部ネットワークにつなげたい時はこれ必要
enable_cinder: "yes"
enable_cinder_backup: "yes"
enable_cinder_backend_nfs: "yes"
enable_haproxy: "no"
enable_heat: "yes"
enable_horizon: "yes"
enable_manila: "yes"
enable_manila_backend_generic: "yes" #追加(2018/08/25)
enable_neutron_bgp_dragent: "yes"
glance_backend_file: "yes"
enable_cinder_backend_nfs: "yes"
nova_compute_virt_type: "kvm"
tempest_image_id:
tempest_flavor_ref_id:
tempest_public_network_id:
tempest_floating_network_name:
6.NFS設定
/share/cinder をcinderの共有先とした。
/etc/kolla/config/nfs_shares 編集
#storage01:/share/cinder #コメントアウト
localhost:/share/cinder #all-in-oneなのでlocalhostに編集
7. デプロイ
$ sudo kolla-ansible -i all-in-one bootstrap-servers
$ sudo kolla-ansible -i all-in-one prechecks
$ sudo kolla-ansible -i all-in-one deploy
$ sudo kolla-ansible post-deploy
8. OpenStack CLIインストール
色々と依存関係でエラーが出たので対処療法で以下実施。
sudo mv ./ipaddress* /tmp/
sudo mv /lib/python2.7/site-packages/pyinotify* /tmp/
pip install python-openstackclient python-glanceclient python-neutronclient
この後, これも足りないとインストール。
sudo yum install python-stevedore.noarch
そしてサンプル構成をデプロイ時にまたエラーが出て以下対応をした。
sudo yum install python-stevedore.noarch
9. デプロイ
改めてサンプル構成デプロイ実行。
. /etc/kolla/admin-openrc.sh
. /usr/share/kolla-ansible/init-runonce
一応できている。
$ openstack subnet list
+--------------------------------------+----------------+--------------------------------------+-------------+
| ID | Name | Network | Subnet |
+--------------------------------------+----------------+--------------------------------------+-------------+
| 0d5a4b6f-a873-4ea1-9b50-f4f7b2c52c95 | public1-subnet | 6c5000d4-6cdc-4ded-8e04-dce9f85dd4eb | 10.0.2.0/24 |
| 72bd7b51-9ab0-4be3-956a-dd3ce1085048 | demo-subnet | ccc2adc9-9b5e-42c6-9787-b19d11605f63 | 10.0.0.0/24 |
+--------------------------------------+----------------+--------------------------------------+-------------+
ダッシュボードにアクセス。
http://<kolla_internal_vip_address>
|
https化したいけれど, どうしたらいいのだろう |
ひとまず無事?にできたので今日はここまで。