Every cloud server that belongs to a cloud account that was linked with Rackconnect is going to have a static NAT created on the external network device like ASA firewall or F5 loadbalancer. At the moment there is a problem that there is not an easy way to find out what this IP actually is.
When you first create a cloud server it will have assigned an IP from the cloud public IP address pool. You can find it the example output below.
$ cloudservers --username user --apikey key boot rctest --flavor 1 --image 112
+-----------+------------------------------------------------------------------+
| Property | Value |
+-----------+------------------------------------------------------------------+
| addresses | {u'public': [u'31.222.163.128'], u'private': [u'10.177.69.211']} |
| adminPass | rrrrrrrrrrrr |
| flavorId | 1 |
| hostId | 0652da292b44004e3aa76dc80bd912d5 |
| id | 10209889 |
| imageId | 112 |
| metadata | {} |
| name | rctest |
| progress | 0 |
| status | BUILD |
+-----------+------------------------------------------------------------------+
The initial IP of 31.222.163.128 is going to be changed as soon as all RackConnect task will be run again this cloud server. A next problem is that all subsequent API calls still may return the original IP address instead of the new one assigned by the RackConnect system.
$ cloudservers --username user --apikey key show 10209889
+------------+----------------------------------+
| Property | Value |
+------------+----------------------------------+
| flavor | 256 server |
| hostId | 0652da292b44004e3aa76dc80bd912d5 |
| id | 10209889 |
| image | Ubuntu 10.04 LTS |
| metadata | {} |
| name | rctest |
| private ip | 10.177.69.211 |
| progress | 0 |
| public ip | 31.222.163.128 |
| status | BUILD |
+------------+----------------------------------+
Problem
How do I find the external IP address that Rackconnect assigns to my cloud server.
Solution
Once the cloud server is built you can open a browser from the cloud server (may by a bit of a problem) and try to google for: what's my IP.
Alternatively you can have a bastion server that you know how to login over SSH and from there try run run over internal IP address of your new cloud server his command:
mybastion$ ssh root@10.177.69.211 "curl http://icanhazip.com"
11.138.183.11