From 2a7131b9403a4b22ebc55606814f604f723dc826 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Tue, 13 Oct 2015 16:36:01 +0200 Subject: Add flannel support Signed-off-by: Sylvain Baubeau --- roles/flannel_register/README.md | 37 ++++++++++++++++++++++ roles/flannel_register/defaults/main.yaml | 11 +++++++ roles/flannel_register/meta/main.yml | 16 ++++++++++ roles/flannel_register/tasks/main.yml | 14 ++++++++ .../flannel_register/templates/flannel-config.json | 8 +++++ 5 files changed, 86 insertions(+) create mode 100644 roles/flannel_register/README.md create mode 100644 roles/flannel_register/defaults/main.yaml create mode 100644 roles/flannel_register/meta/main.yml create mode 100644 roles/flannel_register/tasks/main.yml create mode 100644 roles/flannel_register/templates/flannel-config.json (limited to 'roles/flannel_register') diff --git a/roles/flannel_register/README.md b/roles/flannel_register/README.md new file mode 100644 index 000000000..a11c8fe53 --- /dev/null +++ b/roles/flannel_register/README.md @@ -0,0 +1,37 @@ +Role Name +========= + +Register flannel configuration into etcd + +Requirements +------------ + +This role assumes it's being deployed on a RHEL/Fedora based host with package +named 'flannel' available via yum, in version superior to 0.3. + +Role Variables +-------------- + +TODO + +Dependencies +------------ + +openshift_facts + +Example Playbook +---------------- + + - hosts: openshift_master + roles: + - { flannel_register } + +License +------- + +Apache License, Version 2.0 + +Author Information +------------------ + +Sylvain Baubeau diff --git a/roles/flannel_register/defaults/main.yaml b/roles/flannel_register/defaults/main.yaml new file mode 100644 index 000000000..b7262b40f --- /dev/null +++ b/roles/flannel_register/defaults/main.yaml @@ -0,0 +1,11 @@ +--- +flannel_network: "{{ openshift.master.portal_net | default('172.16.1.1/16') }}" +flannel_min_network: "{{ min_network | default('172.16.5.0') }}" +flannel_subnet_len: "{{ subnet_len | default(24) }}" +flannel_etcd_key: /openshift.com/network +etcd_hosts: "{{ etcd_urls }}" +etcd_conf_dir: "{{ openshift.common.config_base }}/master" +etcd_peer_ca_file: "{{ etcd_conf_dir }}/ca.crt" +etcd_peer_cert_file: "{{ etcd_conf_dir }}/master.etcd-client.crt" +etcd_peer_key_file: "{{ etcd_conf_dir }}/master.etcd-client.key" + diff --git a/roles/flannel_register/meta/main.yml b/roles/flannel_register/meta/main.yml new file mode 100644 index 000000000..a64934b3c --- /dev/null +++ b/roles/flannel_register/meta/main.yml @@ -0,0 +1,16 @@ +--- +galaxy_info: + author: Sylvain + description: etcd management + company: Red Hat, Inc. + license: Apache License, Version 2.0 + min_ansible_version: 1.2 + platforms: + - name: EL + versions: + - 7 + categories: + - cloud + - system +dependencies: +- { role: openshift_facts } diff --git a/roles/flannel_register/tasks/main.yml b/roles/flannel_register/tasks/main.yml new file mode 100644 index 000000000..c58c74d34 --- /dev/null +++ b/roles/flannel_register/tasks/main.yml @@ -0,0 +1,14 @@ +--- +- name: Assures /etc/flannel dir exists + sudo: true + file: path=/etc/flannel state=directory + +- name: Generate etcd configuration for etcd + sudo: true + template: + src: "flannel-config.json" + dest: "/etc/flannel/config.json" + +- name: Insert flannel configuration into etcd + sudo: true + shell: 'curl -L --cacert "{{ etcd_peer_ca_file }}" --cert "{{ etcd_peer_cert_file }}" --key "{{ etcd_peer_key_file }}" "{{ etcd_hosts[0] }}/v2/keys{{ flannel_etcd_key }}/config" -XPUT --data-urlencode value@/etc/flannel/config.json' diff --git a/roles/flannel_register/templates/flannel-config.json b/roles/flannel_register/templates/flannel-config.json new file mode 100644 index 000000000..89ce4c30b --- /dev/null +++ b/roles/flannel_register/templates/flannel-config.json @@ -0,0 +1,8 @@ +{ + "Network": "{{ flannel_network }}", + "SubnetLen": {{ flannel_subnet_len }}, + "SubnetMin": "{{ flannel_min_network }}", + "Backend": { + "Type": "host-gw" + } +} -- cgit v1.2.3 From 2d084a816d4af52f7cffe3ddb913e2b4555b7d23 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Thu, 15 Oct 2015 14:41:35 +0200 Subject: Add flannel modules documentation --- roles/flannel_register/README.md | 12 +++++++++++- roles/flannel_register/meta/main.yml | 2 +- 2 files changed, 12 insertions(+), 2 deletions(-) (limited to 'roles/flannel_register') diff --git a/roles/flannel_register/README.md b/roles/flannel_register/README.md index a11c8fe53..ba7541ab1 100644 --- a/roles/flannel_register/README.md +++ b/roles/flannel_register/README.md @@ -12,7 +12,17 @@ named 'flannel' available via yum, in version superior to 0.3. Role Variables -------------- -TODO +| Name | Default value | Description | +|---------------------|----------------------------------------------------|-------------------------------------------------| +| flannel_network | {{ openshift.master.portal_net }} or 172.16.1.1/16 | interface to use for inter-host communication | +| flannel_min_network | {{ min_network }} or 172.16.5.0 | beginning of IP range for the subnet allocation | +| flannel_subnet_len | /openshift.com/network | size of the subnet allocated to each host | +| flannel_etcd_key | /openshift.com/network | etcd prefix | +| etcd_hosts | etcd_urls | a list of etcd endpoints | +| etcd_conf_dir | {{ openshift.common.config_base }}/master | SSL certificates directory | +| etcd_peer_ca_file | {{ etcd_conf_dir }}/ca.crt | SSL CA to use for etcd | +| etcd_peer_cert_file | {{ etcd_conf_dir }}/master.etcd-client.crt | SSL cert to use for etcd | +| etcd_peer_key_file | {{ etcd_conf_dir }}/master.etcd-client.key | SSL key to use for etcd | Dependencies ------------ diff --git a/roles/flannel_register/meta/main.yml b/roles/flannel_register/meta/main.yml index a64934b3c..73bddcca4 100644 --- a/roles/flannel_register/meta/main.yml +++ b/roles/flannel_register/meta/main.yml @@ -1,7 +1,7 @@ --- galaxy_info: author: Sylvain - description: etcd management + description: register flannel configuration into etcd company: Red Hat, Inc. license: Apache License, Version 2.0 min_ansible_version: 1.2 -- cgit v1.2.3 From 4904ae9603d3a613f872e0cf2b7a84d852b73b40 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Thu, 15 Oct 2015 14:44:59 +0200 Subject: Use 'command' module instead of 'shell' --- roles/flannel_register/tasks/main.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'roles/flannel_register') diff --git a/roles/flannel_register/tasks/main.yml b/roles/flannel_register/tasks/main.yml index c58c74d34..1629157c8 100644 --- a/roles/flannel_register/tasks/main.yml +++ b/roles/flannel_register/tasks/main.yml @@ -11,4 +11,4 @@ - name: Insert flannel configuration into etcd sudo: true - shell: 'curl -L --cacert "{{ etcd_peer_ca_file }}" --cert "{{ etcd_peer_cert_file }}" --key "{{ etcd_peer_key_file }}" "{{ etcd_hosts[0] }}/v2/keys{{ flannel_etcd_key }}/config" -XPUT --data-urlencode value@/etc/flannel/config.json' + command: 'curl -L --cacert "{{ etcd_peer_ca_file }}" --cert "{{ etcd_peer_cert_file }}" --key "{{ etcd_peer_key_file }}" "{{ etcd_hosts[0] }}/v2/keys{{ flannel_etcd_key }}/config" -XPUT --data-urlencode value@/etc/flannel/config.json' -- cgit v1.2.3 From 490c50fe358a88d7ebdf3f473a2fb3131d6773c9 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Thu, 15 Oct 2015 14:50:19 +0200 Subject: Add missing 2nd true parameters to default Jinja filter --- roles/flannel_register/defaults/main.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'roles/flannel_register') diff --git a/roles/flannel_register/defaults/main.yaml b/roles/flannel_register/defaults/main.yaml index b7262b40f..e4b06b49b 100644 --- a/roles/flannel_register/defaults/main.yaml +++ b/roles/flannel_register/defaults/main.yaml @@ -1,7 +1,7 @@ --- -flannel_network: "{{ openshift.master.portal_net | default('172.16.1.1/16') }}" -flannel_min_network: "{{ min_network | default('172.16.5.0') }}" -flannel_subnet_len: "{{ subnet_len | default(24) }}" +flannel_network: "{{ openshift.master.portal_net | default('172.16.1.1/16', true) }}" +flannel_min_network: "{{ min_network | default('172.16.5.0', true) }}" +flannel_subnet_len: "{{ subnet_len | default(24, true) }}" flannel_etcd_key: /openshift.com/network etcd_hosts: "{{ etcd_urls }}" etcd_conf_dir: "{{ openshift.common.config_base }}/master" -- cgit v1.2.3 From bb30f53935399fee9dcaf42664fe8678dd157ee1 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Mon, 19 Oct 2015 15:50:07 +0200 Subject: Generate etcd certificats for flannel when is not embedded --- roles/flannel_register/defaults/main.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'roles/flannel_register') diff --git a/roles/flannel_register/defaults/main.yaml b/roles/flannel_register/defaults/main.yaml index e4b06b49b..7a454d1d2 100644 --- a/roles/flannel_register/defaults/main.yaml +++ b/roles/flannel_register/defaults/main.yaml @@ -5,7 +5,7 @@ flannel_subnet_len: "{{ subnet_len | default(24, true) }}" flannel_etcd_key: /openshift.com/network etcd_hosts: "{{ etcd_urls }}" etcd_conf_dir: "{{ openshift.common.config_base }}/master" -etcd_peer_ca_file: "{{ etcd_conf_dir }}/ca.crt" +etcd_peer_ca_file: "{{ etcd_conf_dir + '/ca.crt' if (openshift.master.embedded_etcd | bool) else etcd_conf_dir + '/master.etcd-ca.crt' }}" etcd_peer_cert_file: "{{ etcd_conf_dir }}/master.etcd-client.crt" etcd_peer_key_file: "{{ etcd_conf_dir }}/master.etcd-client.key" -- cgit v1.2.3 From e7b200a24816daf05da374ccfce3a4d5db66e291 Mon Sep 17 00:00:00 2001 From: Sylvain Baubeau Date: Wed, 28 Oct 2015 15:43:05 +0100 Subject: Change flannel registration default values --- roles/flannel_register/defaults/main.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'roles/flannel_register') diff --git a/roles/flannel_register/defaults/main.yaml b/roles/flannel_register/defaults/main.yaml index 7a454d1d2..269d1a17c 100644 --- a/roles/flannel_register/defaults/main.yaml +++ b/roles/flannel_register/defaults/main.yaml @@ -1,7 +1,7 @@ --- -flannel_network: "{{ openshift.master.portal_net | default('172.16.1.1/16', true) }}" -flannel_min_network: "{{ min_network | default('172.16.5.0', true) }}" -flannel_subnet_len: "{{ subnet_len | default(24, true) }}" +flannel_network: "{{ openshift.master.portal_net | default('172.30.0.0/16', true) }}" +flannel_min_network: 172.30.5.0 +flannel_subnet_len: 24 flannel_etcd_key: /openshift.com/network etcd_hosts: "{{ etcd_urls }}" etcd_conf_dir: "{{ openshift.common.config_base }}/master" -- cgit v1.2.3