From b7c07f27b8756e0c3ab8cc652bc31ef625f97118 Mon Sep 17 00:00:00 2001 From: Bob Killen Date: Thu, 3 Aug 2017 08:50:15 -0400 Subject: [PATCH] add update sysctl setting --- templates/keepalived/0/README.md | 1 + ...ker-compose.yml => docker-compose.yml.tpl} | 19 +++++++++++++++++++ templates/keepalived/0/rancher-compose.yml | 11 +++++++++++ 3 files changed, 31 insertions(+) rename templates/keepalived/0/{docker-compose.yml => docker-compose.yml.tpl} (70%) diff --git a/templates/keepalived/0/README.md b/templates/keepalived/0/README.md index 2064345..0c5e43b 100755 --- a/templates/keepalived/0/README.md +++ b/templates/keepalived/0/README.md @@ -4,6 +4,7 @@ This catalog recipe enables unicast VRRP based failover for one or more floating ### Form Fields +* **Update Host Sysctl** - If `true` automatically sets the needed sysctl setting on the host. * **Host Label Name** - Host label key name used to schedule keepalived master and backup instances. * **Master Label** - The value of the keepalived host Label to signify the master instance. * **Backup Label** - The value of the keepalived host Label to signify the backup instance. diff --git a/templates/keepalived/0/docker-compose.yml b/templates/keepalived/0/docker-compose.yml.tpl similarity index 70% rename from templates/keepalived/0/docker-compose.yml rename to templates/keepalived/0/docker-compose.yml.tpl index 0ed4174..0d6cec3 100755 --- a/templates/keepalived/0/docker-compose.yml +++ b/templates/keepalived/0/docker-compose.yml.tpl @@ -17,6 +17,9 @@ services: KEEPALIVED_VIRTUAL_IPADDRESS_1: "\"${virtual_ip}\"" labels: io.rancher.scheduler.affinity:host_label: ${host_label}=${master_label} + {{- if eq .Values.update_sysctl "true" }} + io.rancher.sidekicks: keepalived-sysctl + {{- end}} keepalived-backup: restart: always @@ -35,3 +38,19 @@ services: KEEPALIVED_VIRTUAL_IPADDRESS_1: "\"${virtual_ip}\"" labels: io.rancher.scheduler.affinity:host_label: ${host_label}=${backup_label} + {{- if eq .Values.update_sysctl "true" }} + io.rancher.sidekicks: keepalived-sysctl + {{- end}} + +{{- if eq .Values.update_sysctl "true" }} + keepalived-sysctl: + image: rawmind/alpine-sysctl:0.1-1 + network_mode: none + privileged: true + environment: + SYSCTL_KEY: net.ipv4.ip_nonlocal_bind + SYSCTL_VALUE: 1 + labels: + io.rancher.container.start_once: true +{{- end}} + diff --git a/templates/keepalived/0/rancher-compose.yml b/templates/keepalived/0/rancher-compose.yml index 47f53d6..00df4a4 100755 --- a/templates/keepalived/0/rancher-compose.yml +++ b/templates/keepalived/0/rancher-compose.yml @@ -5,6 +5,17 @@ minimum_rancher_version: v0.46.0 uuid: keepalived-1 questions: + - variable: "update_sysctl" + description: | + Set true to update sysctl. + WARN: If set to true, sysctl key net.ipv4.ip_nonlocal_bind will be set to 1. + label: "Update Host Sysctl:" + type: "enum" + default: "false" + options: + - "true" + - "false" + required: true - variable: "host_label" description: "Host label key name used to schedule keepalived master and backup instances." label: "Host Label Name:"