Andy Kurth created VCL-767:
------------------------------

             Summary: 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