前回のコンポーネント設定①の続きになります。
このページでは、Quantum/Glance/Cinder/Ceilometer/Horizon を記載します。
Quantum
ディレクトリ権限
まずQuantumデータディレクトリの権限を変更します。dnsmasqユーザも読みにくるためです。
1 |
chmod 755 /var/lib/quantum/ |
Endpoint追加
Quantum用のEndpointがパッケージインストール時に自動的に登録されていないので、Keystoneに追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
keystone endpoint-list keystone service-list function get_id () { echo `"$@" | awk '/ id / { print $4 }'` } SERVICE_HOST=192.168.140.3 QUANTUM_SERVICE=$(get_id keystone service-create \ --name=quantum \ --type=network \ --description="Quantum Service") keystone endpoint-create \ --region RegionOne \ --service_id $QUANTUM_SERVICE \ --publicurl "http://$SERVICE_HOST:9696/" \ --adminurl "http://$SERVICE_HOST:9696/" \ --internalurl "http://$SERVICE_HOST:9696/" |
設定ファイル
quantum.conf の要点です。/etc/quantum/quantum.conf
1 2 3 4 5 6 7 8 9 10 11 |
[DEFAULT] verbose = False debug = False core_plugin=quantum.plugins.openvswitch.ovs_quantum_plugin.OVSQuantumPluginV2 rabbit_host = 192.168.140.3 rabbit_password = openstackpassword rabbit_port = 5672 rabbit_userid = openstack rabbit_virtual_host = /openstack |
ovs_quantum_plugin.ini の要点です。
/etc/quantum/plugins/openvswitch/ovs_quantum_plugin.ini
1 2 3 4 5 6 7 8 9 10 11 12 |
[DATABASE] sql_connection = mysql://quantum-plugin-o:quantum@192.168.140.3:3306/quantumpluginopenvswitchdb reconnect_interval = 2 [OVS] network_vlan_ranges = physnet1:1:1000,physnet2:1001:2000 integration_bridge = br-int bridge_mappings = physnet1:br-ex,physnet2:br-int [AGENT] polling_interval = 2 root_helper = sudo /usr/sbin/quantum-rootwrap /etc/quantum/rootwrap.conf |
l3_agent.ini の要点です。
/etc/quantum/l3_agent.ini
1 2 3 4 5 6 7 8 9 10 |
debug = False auth_url = http://192.168.140.3:35357/v2.0 auth_region = RegionOne admin_tenant_name = admin admin_user = admin admin_password = root root_helper = sudo /usr/sbin/quantum-rootwrap /etc/quantum/rootwrap.conf external_network_bridge = br-ex metadata_ip = 192.168.140.3 use_namespaces = True |
/etc/quantum/dhcp_agent.ini
1 2 3 |
debug = False root_helper = sudo /usr/sbin/quantum-rootwrap /etc/quantum/rootwrap.conf use_namespaces = True |
sudoersのコマンドパスが /usr/sbin/quantum-rootwrap と間違ってるので直しておきます。
/etc/sudoers.d/quantum_sudoers
1 2 3 |
Defaults:quantum !requiretty quantum ALL = (root) NOPASSWD: /usr/bin/quantum-rootwrap /etc/quantum/rootwrap.conf * |
編集したら再起動しておきます。
1 |
for init in /etc/init.d/quantum-*; do $init restart; done |
Glance
デフォルトではローカルにイメージが保存されていきます。最初はこのまま動かします。
他の保存手段やイメージの作り方は別途投稿とします。
/etc/glance/glance-cache.conf
1 2 3 4 5 6 7 |
verbose = False debug = False image_cache_dir = /var/lib/glance/image-cache/ auth_url = http://192.168.140.3:5000/v2.0/ admin_tenant_name = admin admin_user = admin admin_password = root |
/etc/glance/glance-api.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
verbose = False debug = False default_store = file notifier_strategy = rabbit rabbit_userid = openstack rabbit_password = openstackpassword rabbit_virtual_host = /openstack filesystem_store_datadir = /var/lib/glance/images/ [keystone_authtoken] auth_host = 192.168.140.3 auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = root |
/etc/glance/glance-registry.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 |
verbose = False debug = False [keystone_authtoken] auth_host = 192.168.140.3 auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = root [paste_deploy] flavor = caching |
glance-registry.conf の [paste_deploy] flavor = caching の場合、このようなエラーが出る場合があります。
/etc/glance/glance-registry-paste.ini
1 2 |
[pipeline:glance-registry-caching] pipeline = authtoken context registryapp |
/etc/glance/glance-scrubber.conf
1 2 |
verbose = False debug = False |
編集したら再起動しておきます。必要があればデータディレクトリを容量の大きいパーティションに移しておきます。
1 2 3 4 5 6 |
for init in /etc/init.d/glance-*; do $init stop; done mv /var/lib/glance /data/ ln -s /data/glance /var/lib/ for init in /etc/init.d/glance-*; do $init start; done |
Cinder
ここではKeystone接続情報だけ編集しておきます。接続できないと、HorizonでQuota情報の取得などに失敗するためです。
/etc/cinder/api-paste.ini
1 2 3 4 5 6 7 8 9 10 11 12 |
[filter:authtoken] paste.filter_factory = keystoneclient.middleware.auth_token:filter_factory service_protocol = http service_host = 192.168.140.3 service_port = 5000 auth_host = 192.168.140.3 auth_port = 35357 auth_protocol = http admin_tenant_name = admin admin_user = admin admin_password = root signing_dir = /var/lib/cinder |
編集したら再起動しておきます。
1 |
for init in /etc/init.d/cinder-*; do $init restart; done |
Ceilometer
RabbitMQの設定だけです。/etc/ceilometer/ceilometer.conf
1 2 3 4 5 |
rabbit_host=192.168.140.3 rabbit_port=5672 rabbit_userid=openstack rabbit_password=openstackpassword rabbit_virtual_host=/openstack |
編集したら再起動しておきます。
1 |
for init in /etc/init.d/ceilometer-*; do $init restart; done |
Horizon
HorizonというかApache2の設定で、特に編集しなくても動作するのですが、他にApacheを利用するサービス(RADOS Gatewayとか…)を立てる時にログが一緒になってしまうのでVirtualHostで分けておきます。/etc/apache2/sites-enabled/openstack-dashboard
1 2 3 4 5 6 7 |
<VirtualHost *:80> ServerName openstack-dashboard.test.drecom.jp ~snip~ LogLevel warn ErrorLog ${APACHE_LOG_DIR}/horizon/error.log CustomLog ${APACHE_LOG_DIR}/horizon/access.log combined </VirtualHost> |
ログローテートを別ファイルで作っておきます。
/etc/logrotate.d/openstack
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
/var/log/apache2/horizon/*.log { daily missingok rotate 30 compress delaycompress notifempty create 640 root adm sharedscripts postrotate /etc/init.d/apache2 reload > /dev/null endscript prerotate if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ run-parts /etc/logrotate.d/httpd-prerotate; \ fi; \ endscript } |
ログディレクトリを作ってから、リロードしておきます。
1 2 3 |
mkdir /var/log/apache2/horizon apache2ctl configtest /etc/init.d/apache2 reload |
これでひと通りの基本設定が完了しました。
特にQuantumが重要になりますが、設定だけみてもピンとこないかもしれません。
そこは実際に仮想ネットワークを手動で構築して感触を掴んでいくしかありません。
と、いうかどのコンポーネントもフィーリングが重要です。えぇ。