Support for BGP protocol and peer configuration for MetalLB
Change-Id: I43eb9ec44bd8edeae259e05af114ef3c41bdf4f0
diff --git a/kubernetes/files/kube-addons/metallb/metallb.yaml b/kubernetes/files/kube-addons/metallb/metallb.yaml
index 0c5e458..68f81a3 100644
--- a/kubernetes/files/kube-addons/metallb/metallb.yaml
+++ b/kubernetes/files/kube-addons/metallb/metallb.yaml
@@ -240,8 +240,16 @@
config: |
address-pools:
- name: metallb-ip-space
- protocol: layer2
+ protocol: {{ common.addons.get('metallb', {}).get('protocol', 'layer2') }}
addresses:
{%- for address in common.addons.get('metallb', {}).get('addresses', []) %}
- {{ address }}
{%- endfor %}
+ {%- if common.addons.metallb.peers is defined and common.addons.get('metallb', {}).get('protocol', 'layer2') == 'bgp' %}
+ peers:
+ {%- for peer in common.addons.get('metallb', {}).get('peers', []) %}
+ - peer-address: {{ peer.get('peer-address', '127.0.0.1') }}
+ peer-asn: {{ peer.get('peer-asn', '64512') }}
+ my-asn: {{ peer.get('my-asn', '64512') }}
+ {%- endfor %}
+ {%- endif %}