[ 
https://issues.apache.org/jira/browse/WHIRR-730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13690932#comment-13690932
 ] 

Andrew Bayer commented on WHIRR-730:
------------------------------------

The reason for the call to checkip.amazonaws.com is very much #1 from Steve - 
we need a way to get the *public* IP for the instance, rather than the private 
one. InetAddress.getLocalHost() will only get us the private IP in a situation 
like EC2, so it's a non-starter.
                
> Use the InetAddress.getLocalHost() instead of 
> URL("http://checkip.amazonaws.com/";) to get the local address
> -----------------------------------------------------------------------------------------------------------
>
>                 Key: WHIRR-730
>                 URL: https://issues.apache.org/jira/browse/WHIRR-730
>             Project: Whirr
>          Issue Type: Improvement
>          Components: core
>    Affects Versions: 0.8.2
>         Environment: Unbuntu, Openstack
>            Reporter: Jeremy Lv
>             Fix For: 0.9.0
>
>         Attachments: FirewallManager.java.patch
>
>
> Hi,all
> I have found the FirewallManager.getOriginatingIp() use the following method 
> to get the ip address
> {code:title=FirewallManager.java|borderStyle=solid}
>   /**
>    * @return the IP address of the client on which this code is running.
>    * @throws IOException
>    */
>   private String getOriginatingIp() throws IOException {
>     if ("stub".equals(clusterSpec.getProvider())) {
>       return "62.217.232.123";
>     }
>     URL url = new URL("http://checkip.amazonaws.com/";);
>     HttpURLConnection connection = (HttpURLConnection) url.openConnection();
>     connection.connect();
>     return IOUtils.toString(connection.getInputStream()).trim() + "/32";
>   }
> {code}
> I think we should use the InetAddress.getLocalHost() to get the ipaddress, 
> here's some of my reason:
> 1). I think it is illegal for an application to get the client ip address 
> throght the erternal website, what else if the amazon is broken and we can 
> access the http://checkip.amazonaws.com/ or if the situation of the internet 
> can't worked well, it will be failed to launch the cluster because we can't 
> connect to the http://checkip.amazonaws.com/.
> 2). If any of the private company want to reuse the whirr project to create 
> the cluster, Some of the company need to use the proxy to access the external 
> website, Although the whirr project support to config the proxy, but it is 
> still complicated for us to apply for the IT Department to authorize the 
> proxy for the VM we have created by the whirr.
> 3). I think it is simple to use the InetAddress.getLocalHost() to get the 
> local ip address
> Thanks
> -Jeremy Lv

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to