Skip to content
Snippets Groups Projects
Commit f94eb0b9 authored by Aleksandr Didenko's avatar Aleksandr Didenko
Browse files

Support --ipip option for calico pool

Adds new boolean configuration variable for calico network plugin
`ipip`. When it's enabled calico pool is created with '--ipip'
option (IP-over-IP encapsulation across hosts).

Also refactor pool creation tasks to simplify logic and make tasks
more readable.
parent 277c5d74
No related branches found
No related tags found
No related merge requests found
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
# Enables Internet connectivity from containers # Enables Internet connectivity from containers
nat_outgoing: true nat_outgoing: true
# Use IP-over-IP encapsulation across hosts
ipip: false
# cloud_provider can only be set to 'gce' or 'aws' # cloud_provider can only be set to 'gce' or 'aws'
# cloud_provider: # cloud_provider:
calicoctl_image_repo: calico/ctl calicoctl_image_repo: calico/ctl
......
...@@ -50,23 +50,27 @@ ...@@ -50,23 +50,27 @@
register: calico_conf register: calico_conf
run_once: true run_once: true
- name: Calico | Configure calico network pool - name: Calico | Define ipip pool argument
command: "{{ bin_dir }}/calicoctl pool add {{ kube_pods_subnet }}"
run_once: true run_once: true
when: calico_conf.status == 404 and cloud_provider is not defined set_fact:
and not nat_outgoing|default(false) or ipip_arg: "--ipip"
(nat_outgoing|default(false) and peer_with_router|default(false)) when: cloud_provider is defined or ipip|default(false)
- name: Calico | Configure calico network pool for cloud - name: Calico | Define nat-outgoing pool argument
command: "{{ bin_dir }}/calicoctl pool add {{ kube_pods_subnet }} --ipip --nat-outgoing"
run_once: true run_once: true
when: calico_conf.status == 404 and cloud_provider is defined set_fact:
nat_arg: "--nat-outgoing"
when: nat_outgoing|default(false) and not peer_with_router|default(false)
- name: Calico | Configure calico network pool with nat outgoing - name: Calico | Define calico pool task name
command: "{{ bin_dir}}/calicoctl pool add {{ kube_pods_subnet }} --nat-outgoing" set_fact:
pool_task_name: "with options {{ ipip_arg|default('') }} {{ nat_arg|default('') }}"
when: ipip_arg|default(false) or nat_arg|default(false)
- name: Calico | Configure calico network pool {{ pool_task_name|default('') }}
command: "{{ bin_dir}}/calicoctl pool add {{ kube_pods_subnet }} {{ ipip_arg|default('') }} {{ nat_arg|default('') }}"
run_once: true run_once: true
when: calico_conf.status == 404 and cloud_provider is not defined when: calico_conf.status == 404
and nat_outgoing|default(false) and not peer_with_router|default(false)
- name: Calico | Get calico configuration from etcd - name: Calico | Get calico configuration from etcd
uri: uri:
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment