2016年4月19日火曜日

Contrail R3.0のマニュアルインストール ubuntu編(11)

Compute Nodeの設定

Compute Nodeの設定をします。
Nova Computeの設定は色々とありますが、ここでは簡単な設定のみ行います。もし、ContrailのLocal repository以外のNova Computeを利用したい場合は、Contralのパッケージをインストールする前にNova Computeをインストールしておくことをお勧めします。
**対象サーバ Compute1

1.変数の設定
HOST=10.84.50.135  ## インストール対象サーバのIPアドレスを指定
OPENSTACK=10.84.50.134  ## Openstack ServerのIPアドレスを指定
IVIP=10.84.50.139  ## Control/Dataの仮想IPアドレスを指定
DEV=p514p2  ## Control/Data用の物理NIC名
MAC=90:e2:ba:a1:aa:e1  ## Control/Data用の物理NICのMACアドレス
DGW=10.84.50.252  ## Control/Data用のデフォルトゲートウェイ。このルーティングはLinux Kernelでは使用しません。

2.Nova Computeパッケージのインストール
apt-get update
apt-get install -y nova-compute sysfsutils

3./etc/nova.confの修正
echo "[DEFAULT]
dhcpbridge_flagfile=/etc/nova/nova.conf
dhcpbridge=/usr/bin/nova-dhcpbridge
logdir=/var/log/nova
state_path=/var/lib/nova
lock_path=/var/lock/nova
force_dhcp_release=True
libvirt_use_virtio_for_bridges=True
verbose=True
ec2_private_dns_show_ip=False
api_paste_config=/etc/nova/api-paste.ini
enabled_apis=ec2,osapi_compute,metadata
rabbit_host = $OPENSTACK
security_group_api = neutron
service_neutron_metadata_proxy = True
compute_driver = libvirt.LibvirtDriver
firewall_driver = nova.virt.firewall.NoopFirewallDriver
novncproxy_port = 5999
novncproxy_host = 0.0.0.0
auth_strategy = keystone
network_api_class = nova.network.neutronv2.api.API
novncproxy_base_url = http://$OPENSTACK:6080/vnc_auto.html
vncserver_enabled = true
vncserver_listen = $HOST
vncserver_proxyclient_address = $HOST

[keystone_authtoken]
admin_tenant_name = service
admin_user = nova
admin_password = password
auth_protocol = http
auth_host = $OPENSTACK
auth_port = 35357
signing_dir = /tmp/keystone-signing-nova

[neutron]
admin_auth_url = http://$OPENSTACK:35357/v2.0/
admin_username = neutron
admin_password = password
admin_tenant_name = service
url = http://$IVIP:9696/
url_timeout = 300
service_metadata_proxy = True

[compute]
compute_driver = libvirt.LibvirtDriver

[glance]
host = $OPENSTACK" > /etc/nova.conf

4./etc/libvirt/qemu.confの修正
echo 'cgroup_device_acl = [
    "/dev/null", "/dev/full", "/dev/zero",
    "/dev/random", "/dev/urandom",
    "/dev/ptmx", "/dev/kvm", "/dev/kqemu",
    "/dev/rtc", "/dev/hpet","/dev/net/tun",
]' >> /etc/libvirt/qemu.conf

5.Contrail vRouterパッケージのインストール
Linux Kernelが3.13.0-40以外の場合
apt-get -y install contrail-openstack-vrouter contrail-vrouter-dkms contrail-vrouter-common contrail-nova-vif
Linux Kernelが3.13.0-40の場合
apt-get -y install contrail-openstack-vrouter contrail-vrouter-3.13.0-40-generic contrail-vrouter-common contrail-nova-vif

6./etc/contrail/vrouter_nodemgr_paramの修正
echo "DISCOVERY=$IVIP" > /etc/contrail/vrouter_nodemgr_param

7./etc/contrail/agent_paramの修正
echo "LOG=/var/log/contrail.log
CONFIG=/etc/contrail/contrail-vrouter-agent.conf
prog=/usr/bin/contrail-vrouter-agent
kmod=vrouter
pname=contrail-vrouter-agent
LIBDIR=/usr/lib64
DEVICE=vhost0
dev=$DEV
LOGFILE=--log-file=/var/log/contrail/vrouter.log" > /etc/contrail/agent_param

8./etc/contrail/contrail-vrouter-agent.confの修正
sed -i -e "/^\[DISCOVERY\]/i platform=default" /etc/contrail/contrail-vrouter-agent.conf
sed -i -e "/^\[DISCOVERY\]/i physical_interface_mac=$MAC" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# server=127.0.0.1/server=$IVIP/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# max_control_nodes=1/max_control_nodes=2/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# type=kvm/type=kvm/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# control_network_ip=/control_network_ip=$HOST/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# name=vhost0/name=vhost0/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# ip=10.1.1.1/24/ip=$HOST/24/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# gateway=10.1.1.254/gateway=$DGW/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# physical_interface=vnet0/physical_interface=$DEV/g" /etc/contrail/contrail-vrouter-agent.conf
sed -i "s/# thread_count = 4/thread_count = 4/g" /etc/contrail/contrail-vrouter-agent.conf

9./etc/network/interfacesの修正
vRouterはControl/Dataで使用する物理NICをvhost0にバインドします。このため、物理インターフェイスにはIPアドレスを振らずに、vhost0にアドレスを振ります。
以下のコマンドを実行して、/etc/network/interfaceにコピペしてください。
echo "auto $DEV
iface $DEV inet manual
    pre-up ifconfig $IDEV up
    post-down ifconfig $IDEV down


auto vhost0
iface vhost0 inet static
    pre-up /opt/contrail/bin/if-vhost0
    netmask 255.255.255.0
    network_name application
    address $HOST
    gateway $DGW
    dns-nameservers 8.8.8.8"

10./etc/contrail/contrail-vrouter-nodemgr.confの修正
echo "[DISCOVERY]
server=$IVIP
port=5998" >> /etc/contrail/contrail-vrouter-nodemgr.conf

11.ComputeNodeのリブート
Compute Nodeをリブートします。

12.ContrailへComputeNodeを追加
WebUIを開き"Configure"->"Infrastructure"->"Virtual Routers"を開き、"+"をクリックします。
以下のようなダイアログが開くので、"Name"にCompute Nodeのホスト名"IP Address"にCompute Nodeのvhost0のIPアドレスを入力します。

これで設定は終了です。
次は動作確認です。

0 件のコメント:

コメントを投稿