summaryrefslogtreecommitdiffstats
path: root/roles/openshift_master/tasks/systemd_units.yml
diff options
context:
space:
mode:
authorBrenton Leanhardt <bleanhar@redhat.com>2016-03-26 17:07:10 -0400
committerBrenton Leanhardt <bleanhar@redhat.com>2016-03-29 09:52:00 -0400
commit1e53057c40fcc6648e4c69d83d0cebc33789a893 (patch)
tree60be0e1219bf8d7732ff1aae5231086e6de499e8 /roles/openshift_master/tasks/systemd_units.yml
parent6d74968b30f3dff2046ab50330c2de55ac103a8b (diff)
downloadopenshift-1e53057c40fcc6648e4c69d83d0cebc33789a893.tar.gz
openshift-1e53057c40fcc6648e4c69d83d0cebc33789a893.tar.bz2
openshift-1e53057c40fcc6648e4c69d83d0cebc33789a893.tar.xz
openshift-1e53057c40fcc6648e4c69d83d0cebc33789a893.zip
First pass at systemd unit refactor
Diffstat (limited to 'roles/openshift_master/tasks/systemd_units.yml')
-rw-r--r--roles/openshift_master/tasks/systemd_units.yml59
1 files changed, 59 insertions, 0 deletions
diff --git a/roles/openshift_master/tasks/systemd_units.yml b/roles/openshift_master/tasks/systemd_units.yml
new file mode 100644
index 000000000..d4e5a60d2
--- /dev/null
+++ b/roles/openshift_master/tasks/systemd_units.yml
@@ -0,0 +1,59 @@
+# This file is included both in the openshift_master role and in the upgrade
+# playbooks. For that reason the ha_svc variables are use set_fact instead of
+# the vars directory on the role.
+
+- name: Init HA Service Info
+ set_fact:
+ ha_svc_svc_dir: "/usr/lib/systemd/system"
+ ha_svc_template_path: "native-cluster"
+
+- name: Set HA Service Info for containerized installs
+ set_fact:
+ ha_svc_svc_dir: "/etc/systemd/system"
+ ha_svc_template_path: "docker-cluster"
+ when: openshift.common.is_containerized | bool
+
+# workaround for missing systemd unit files for controllers/api
+- name: Create the systemd unit files
+ template:
+ src: "{{ ha_svc_template_path }}/atomic-openshift-master-{{ item }}.service.j2"
+ dest: "{{ ha_svc_svc_dir }}/{{ openshift.common.service_type }}-master-{{ item }}.service"
+ when: openshift_master_ha | bool and openshift_master_cluster_method == "native"
+ with_items:
+ - api
+ - controllers
+ register: create_unit_files
+
+- command: systemctl daemon-reload
+ when: create_unit_files | changed
+# end workaround for missing systemd unit files
+
+- name: Create the master api service env file
+ template:
+ src: "{{ ha_svc_template_path }}/atomic-openshift-master-api.j2"
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-master-api
+ when: openshift_master_ha | bool and openshift_master_cluster_method == "native"
+ notify:
+ - restart master api
+
+- name: Create the master controllers service env file
+ template:
+ src: "{{ ha_svc_template_path }}/atomic-openshift-master-controllers.j2"
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-master-controllers
+ when: openshift_master_ha | bool and openshift_master_cluster_method == "native"
+ notify:
+ - restart master controllers
+
+- name: Install Master docker service file
+ template:
+ dest: "/etc/systemd/system/{{ openshift.common.service_type }}-master.service"
+ src: docker/master.docker.service.j2
+ register: install_result
+ when: openshift.common.is_containerized | bool and not openshift_master_ha | bool
+
+- name: Create the master service env file
+ template:
+ src: "atomic-openshift-master.j2"
+ dest: /etc/sysconfig/{{ openshift.common.service_type }}-master
+ notify:
+ - restart master