- ips = server.addresses.get(sliver.slice.name, [])
- if not ips:
- return
- sliver.ip = ips[0]['addr']
- if sliver.ip:
+
+ # First try to grab the dedicated public address
+ # NOTE: "ext-net" is hardcoded here.
+ ip = None
+ ext_net_addrs = server.addresses.get("ext-net")\r
+ if ext_net_addrs:\r
+ ip = ext_net_addrs[0]["addr"]\r
+\r
+ # If there was no public address, then grab the first address in the\r
+ # list.\r
+ if not ip:\r
+ if server.addresses:\r
+ addrs = server.addresses.values()[0]\r
+ if addrs:\r
+ ip = addrs[0]["addr"]
+
+ if ip and ip!=sliver.ip:
+ sliver.ip = ip