For Eucalyptus images, having a zeroconf (169.254.0.0) route in the VM’s routing table is BAD. It usually results in the system being unable to talk to the metadata service and so fail to retrieve SSH keys, hostname, etc.
It took me a little while to find it but disabling zeroconf in OpenSUSE was not as obvious as in RHEL (NOZEROCONF=yes in if-eth* script). Hopefully this will be useful to others. The place to disable this in OpenSUSE (verified with 12.2) is /etc/sysconfig/network/config. Look for the following section:
## Type: string ## Default: "eth*[0-9]|tr*[0-9]|wlan[0-9]|ath[0-9]" # # Automatically add a linklocal route to the matching interfaces. # This string is used in a bash "case" statement, so it may contain # '*', '[', ']' and '|' meta-characters. # LINKLOCAL_INTERFACES="eth*[0-9]|tr*[0-9]|wlan[0-9]|ath[0-9]"
Just comment out any interfaces from the above LINKLOCAL_INTERFACES line and save the file. Restart the network service (ensuring routing table is scrubbed after it goes down) and no more linklocal route!