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

ASF subversion and git services commented on VCL-767:
-----------------------------------------------------

Commit 1604043 from [~arkurth] in branch 'vcl/trunk'
[ https://svn.apache.org/r1604043 ]

VCL-767
Updated DataStructure.pm::get_computer_private_ip_address to not read 
/etc/hosts to determine the private IP address.

Updated DataStructure.pm::set_computer_private_ip_address to also update the 
database if the address changed.

Updated utils.pm::update_computer_private_ip_address to accept an argument of 
'null' to unset the value in the database.

Changed hash key in DataStructure.pm from 'computer_ip_address' to 
'computer_public_ip_address' to make it clear which address is being worked 
with. Changed all calls to data->{get|set}_computer_ip_address to 
data->{get|set}_computer_public_ip_address in all files.

> Allow dynamic private IP addresses, remove /etc/hosts requirement
> -----------------------------------------------------------------
>
>                 Key: VCL-767
>                 URL: https://issues.apache.org/jira/browse/VCL-767
>             Project: VCL
>          Issue Type: Improvement
>          Components: vcld (backend)
>    Affects Versions: 2.3.2
>            Reporter: Andy Kurth
>            Assignee: Andy Kurth
>             Fix For: 2.4
>
>
> Some provisioning modules require dynamic private IP addressing.  VCL doesn't 
> currently support this.
> To summarize the situation and changes, the backend code currently reads 
> /etc/hosts in order to determine the private IP address of a node.  It does 
> not rely on the computer.privateIPaddress field in the database.  Several 
> node configuration tasks depend on knowing the correct private IP address.  
> The backend code also currently uses the computer.hostname value to SSH into 
> nodes.  As a result, it depends on hostname-private IP address resolution 
> working correctly -- which is usually accomplished via /etc/hosts.
> I will change the code to:
> (1) Not read or reference /etc/hosts at all
> (2) Use the computer.privateIPaddress field as the authoritative value
> (3) Use the private IP address instead of the hostname for all SSH and other 
> connections
> (4) Add utils.pm::update_private_ip_address
> This will allow any provisioning module to have control over how private IP 
> addresses are allocated.  If they are dynamically allocated when a node is 
> loaded or instantiated, the provisioning module can retrieve the dynamic 
> private IP address from Openstack or some other provisioning API, and call 
> update_private_ip_address to set the correct value in the database.  The 
> provisioning module should also call $self->data->set_private_ip_address.  
> When control is passed from the provisioning to the OS module, everything 
> should be set up correctly.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to