Salt: support systemd (don't assume Redhat <=> systemd)

Also work around problems with Salt & systemd services, in particular
that Salt doesn't issue a daemon-reload.
This commit is contained in:
Justin Santa Barbara
2015-06-29 14:17:17 -04:00
parent 974377b306
commit bcd92c7522
17 changed files with 264 additions and 77 deletions

View File

@@ -1,5 +1,5 @@
{% set daemon_args = "$DAEMON_ARGS" -%}
{% if grains['os_family'] == 'RedHat' -%}
{% if pillar.get('is_systemd') -%}
{% set daemon_args = "" -%}
{% endif -%}
{# TODO(azure-maintainer): add support for distributing kubeconfig with token to kube-proxy #}

View File

@@ -1,4 +1,4 @@
{% if grains['os_family'] == 'RedHat' %}
{% if pillar.get('is_systemd') %}
{% set environment_file = '/etc/sysconfig/kube-proxy' %}
{% else %}
{% set environment_file = '/etc/default/kube-proxy' %}
@@ -11,25 +11,6 @@
- group: root
- mode: 755
{% if grains['os_family'] == 'RedHat' %}
/usr/lib/systemd/system/kube-proxy.service:
file.managed:
- source: salt://kube-proxy/kube-proxy.service
- user: root
- group: root
{% else %}
/etc/init.d/kube-proxy:
file.managed:
- source: salt://kube-proxy/initd
- user: root
- group: root
- mode: 755
{% endif %}
{{ environment_file }}:
file.managed:
- source: salt://kube-proxy/default
@@ -48,15 +29,41 @@ kube-proxy:
- home: /var/kube-proxy
- require:
- group: kube-proxy
{% if pillar.get('is_systemd') %}
{{ pillar.get('systemd_system_path') }}/kube-proxy.service:
file.managed:
- source: salt://kube-proxy/kube-proxy.service
- user: root
- group: root
cmd.wait:
- name: /opt/kubernetes/helpers/services bounce kube-proxy
- watch:
- file: {{ environment_file }}
- file: {{ pillar.get('systemd_system_path') }}/kube-proxy.service
- file: /var/lib/kube-proxy/kubeconfig
{% else %}
/etc/init.d/kube-proxy:
file.managed:
- source: salt://kube-proxy/initd
- user: root
- group: root
- mode: 755
kube-proxy-service:
service.running:
- name: kube-proxy
- enable: True
- watch:
- file: {{ environment_file }}
{% if grains['os_family'] != 'RedHat' %}
- file: /etc/init.d/kube-proxy
{% endif %}
- file: /var/lib/kube-proxy/kubeconfig
{% endif %}
/var/lib/kube-proxy/kubeconfig:
file.managed:
- source: salt://kube-proxy/kubeconfig