Debugging SystemVm agents

轉載:https://cwiki.apache.org/confluence/display/CLOUDSTACK/Debugging+SystemVm+agents
Debugging SystemVm agents
Skip to end of metadata
Created by Prasanna Santhanam, last modified by Ryan Lei - Taiwan on Jul 29, 2013 Go to start of metadata
You can use Eclipse or any Java IDE to debug the cloudstack systemVM services as described below:
Debug a live agent
login into ssvm, either console proxy or ssh(port 3922)
kill all the processes named as(run.sh/_run.sh, and java)
cd /usr/local/cloud/systemvm
add parameters “-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8787” after “java ” in the last line of _run.sh
./run.sh, the java agent will start, with debug port 8787 is listened on.
allow port 8787 in ssvm, “iptables -I INPUT -i eth1 -p tcp -m state –state NEW -m tcp –dport 8787 -j ACCEPT”, either eth1 or eth2 is ok.
Then you can connect to agent in ssvm, based on the ip address based on on eth1 or eth2, and port 8787
Debug a mock agent
Or if the above steps sound too complicated, you can debug the systemvm resource locally using the cloudstack codebase:
For example, There is unit test code, called, LocalNfsSecondaryStorageResourceTest, you can mock the commands send to resource, then test it locally, but the requirement is that your local machine needs to be able to mount nfs(Both Linux/Mac works, Windows can’t). I’d prefer unit test, as it’s easier to test/debug/fix.

發佈了91 篇原創文章 · 獲贊 4 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章