[
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)