Configure network interface for control and compute node

Registered by Hui Kang

Network and control node may have different interface name. Current ansible playbook will fail due to the assumption of same network interface.

The first attempt fix is proposed at https://review.openstack.org/#/c/239708/

Blueprint information

Status:
Complete
Approver:
Michal Rostecki
Priority:
Essential
Drafter:
Hui Kang
Direction:
Approved
Assignee:
yuanying
Definition:
Approved
Series goal:
Accepted for mitaka
Implementation:
Implemented
Milestone target:
milestone icon mitaka-1
Started by
yuanying
Completed by
yuanying

Related branches

Sprints

Whiteboard

In realistic deployment, nodes are widely different. Particularly they may have different interface names.
However, current Kolla uses only a single varialbe "api_interface" to represent the network addresses
across all nodes. This causes deployment failure. I am proposing the following to fix this issue.
(1) In any ansible playbook, the line with {% for host in groups['XXXX'] %} indicates host may have
different interface name. So we need to fetch the correct interface as the ansible variables by
{% set host_interface = hostvars[host]['api_interface'] %}. After that we can use the host_interface.
(2) host interface variable should be placed in the inventory, e.g., control01 network_interface=192.168.11.101. - Hui

Hui, I would really like a brainstorm session on the mailing list on this topic. Can you initiate that, or shall I? I marked this blueprint essential because this is a huge design weakness of Kolla presently. I'm not convinced the proposal of setting the network_interface IP for each node is viable because neutron never gets a network interface - so interfaces need to be identified by their Linux name. What would make more sense is per-node overrides in the inventory file (or super-groan configuration file) for all types of the nics we currently implement. I don't know if that is possible with Ansible - IANAARS. --sdake

Sdake, sure. I would be like to initiate the thread. But where is the mailing list? Thanks. - Hui

Hui, this is certainly needed, but I believe the implementation should be a little more respecting of DRY. Since the common role must be run on every node, perhaps we do this variable lookup there so we do not have to touch so many files in the future. Throughts? --SamYaple

I submitted a patch to implement this, but it seems not DRY. I'm not sure how to fix this. --yuanying

Gerrit topic: https://review.openstack.org/#q,topic:bp/configure-network-interface,n,z

Addressed by: https://review.openstack.org/247999
    Fix retrieving api_interface

Addressed by: https://review.openstack.org/289241
    Fix retrieving api_interface

(?)

Work Items

This blueprint contains Public information 
Everyone can see this information.

Subscribers

No subscribers.