Effect : failed to SSH
I believe that most of testers of OpenStack NOVA will face a problem with instance can ping but failed to SSH.Well , there r many possibilities .
First you can check console output of instance.If your problem is on retrieving metadata , and your topology is like this
Make sure the problem is not on nova-network host. To connect your laptop on Service Network switch then curl 169.254.169.254 . If your laptop could get it , that means nova-network is correct.The problem must on your compute-node
In normal condition , instance route to API server from nova-network.
Instance request 169.254.169.254:80 ------> redirect to nova_api_ip:8773 on nova-network -----> get metadata.
What if PREROUTING rule is been set on compute node?
Instance request 169.254.169.254:80 ------> redirect to nova_api_ip:8773 on compute node -----> br100 -----> loca ----> can not connect to nova_api_ip:8773
There's the approach to solve this problem , del PREROUTING rule on compute node.
#iptables -t nat -D PREROUTING -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.1.2:8773
=======500 internal error======Add a POSTROUTING rule on nova-network
#iptables -t nat -A nova-network-POSTROUTING -s 10.0.0.0/12 -d 192.168.1.0/24 -j ACCEPT