敵のいない勉強部屋

勉強記録用。土日を中心に更新。

ホスト登録失敗 -agent起動の壁

今度こそホスト登録に挑戦!

しかしagent起動の壁が立ちはだかった。

 

参考サイト

Quick Installation Guide for CentOS 6 — Apache CloudStack Installation Documentation 4.9.0 documentation

[CLOUDSTACK-5985] Unable to add a kvm host in UI - ASF JIRA

agent起動の壁

Zone, Phisical Network, Pod, Cluster..etc と、各コンポーネントのパラメータを入力後、[launch]を押下。

祈るような気持ちで画面を見つめていたが。。案の定失敗(ちなみにこの時は気づいていなかったが、まちがえてBasic Zoneで登録しようとしていた。)

f:id:im_not_enemy:20170708123848p:plain

・management-server.logの確認

2017-07-02 15:16:12,252 WARN [c.c.r.ResourceManagerImpl] (catalina-exec-10:ctx-d277448f ctx-da62adad) (logid:8f4921ae) Unable to find the server resources at http://host_kvm01
2017-07-02 15:16:12,256 INFO [c.c.u.e.CSExceptionErrorCode] (catalina-exec-10:ctx-d277448f ctx-da62adad) (logid:8f4921ae) Could not find exception: com.cloud.exception.DiscoveryException in error code list for exceptions

リソースが見つからないと... 名前解決はできているので、通信自体はできてると思うんだよな。

ということで、ホスト側のagent.logを確認。

2017-07-02 15:34:23,865 ERROR [cloud.agent.AgentShell] (main:null) (logid:) Unabble to start agent: Failed to get private nic name

private nicの名前が取得できず、agentが起動できない...どういうこと?

確かにagentは起動できていない。手動でrestartしても、/var/log/subsys/cloudstack-agentを消しても状況は変わらず。

# /etc/init.d/cloudstack-agent status

cloudstack-agent は停止していますがサブシステムがロックされています

 

・ログをINFOモードからDEBUGモードへ切り替えて見てみよう。

# sed -i s/INFO/DEBUG/g /etc/cloudstack/agent/log4j-cloud.xml

# /etc/init.d/cloudstack-agent restart

# view /var/log/cloudstack/agent/agent.log

2017-07-03 01:03:56,543 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) guest(private) traffic label 'cloudbr1' not found as bridge, looking for physical interface
2017-07-03 01:03:56,543 DEBUG [kvm.resource.LibvirtComputingResource] (main:null) (logid:) public traffic label 'cloudbr0' not found as bridge, looking for physical interface

cloudbr0(guest用)とcloudbr1(public用)が見つからないらしい。本来なら自動で作成されるはずなのだが、私の環境ではホストにNICがひとつしかないから失敗しているのかな?

というわけで、自動作成をOFFにし、手動でcloudbr0を作成したところ、agentの起動に成功!

 

・cloudbr0とcloudbr1自動作成→cloudbr0を手動作成に変更

# cp -ip /etc/cloudstack/agent/agent.properties /etc/cloudstack/agent/agent.properties.default

# vi /etc/cloudstack/agent/agent.properties 

# diff /etc/cloudstack/agent/agent.properties.default

/etc/cloudstack/agent/agent.properties

47c47
< # public.network.device=cloudbr0
---
> public.network.device=cloudbr0
51c51
< # private.network.device=cloudbr1
---
> private.network.device=cloudbr0

 

・cloudbr0設定

# vi /etc/sysconfig/network-scripts/ifcfg-cloudbr0 

# cat /etc/sysconfig/network-scripts/ifcfg-cloudbr0

DEVICE="cloudbr0"
BOOTPROTO="static"
BROADCAST="172.16.255.255"
DNS1="172.16.0.1"
GATEWAY="172.16.0.1"
HWADDR="52:54:00:1A:59:10"
IPADDR="172.16.0.201"
NETMASK="255.255.0.0"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Bridge"

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static"
HWADDR="52:54:00:1A:59:10"
NM_CONTROLLED="no"
ONBOOT="yes"
TYPE="Ethernet"
BRIDGE="cloudbr0"

# brctl addbr cloudbr0
# brctl addif cloudbr eth0

# brctl show

bridge name bridge id STP enabled interfaces
cloud0 8000.000000000000 no
cloudbr0 8000.5254001a5910 no eth0
virbr0 8000.525400ad7e4e yes virbr0-nic

# service network restart

 

・agent起動

# /etc/init.d/cloudstack-agent start
Starting Cloud Agent:
# /etc/init.d/cloudstack-agent status
cloudstack-agent (pid 4825) を実行中...

 

起動成功!

ホスト登録は再び次回の記事に持ち越し!

環境構築までの道のりは長い。。。