From 57abf26c30e306d1527e92a61a94088e542bb006 Mon Sep 17 00:00:00 2001
From: Andrew Butcher <abutcher@redhat.com>
Date: Mon, 16 May 2016 11:45:32 -0400
Subject: Separate master and haproxy config playbooks.

* Move haproxy configuration to a separate openshift-loadbalancer play.
* Move the haproxy role to openshift_loadbalancer.
* Add openshift_loadbalancer* facts which drive haproxy configuration.
---
 playbooks/common/openshift-cluster/config.yml      |  2 ++
 playbooks/common/openshift-loadbalancer/config.yml |  5 ++++
 .../common/openshift-loadbalancer/filter_plugins   |  1 +
 .../common/openshift-loadbalancer/lookup_plugins   |  1 +
 playbooks/common/openshift-loadbalancer/roles      |  1 +
 .../common/openshift-loadbalancer/service.yml      | 20 ++++++++++++++++
 playbooks/common/openshift-master/config.yml       | 27 ----------------------
 7 files changed, 30 insertions(+), 27 deletions(-)
 create mode 100644 playbooks/common/openshift-loadbalancer/config.yml
 create mode 120000 playbooks/common/openshift-loadbalancer/filter_plugins
 create mode 120000 playbooks/common/openshift-loadbalancer/lookup_plugins
 create mode 120000 playbooks/common/openshift-loadbalancer/roles
 create mode 100644 playbooks/common/openshift-loadbalancer/service.yml

(limited to 'playbooks/common')

diff --git a/playbooks/common/openshift-cluster/config.yml b/playbooks/common/openshift-cluster/config.yml
index 903babc45..5fec11541 100644
--- a/playbooks/common/openshift-cluster/config.yml
+++ b/playbooks/common/openshift-cluster/config.yml
@@ -31,6 +31,8 @@
 
 - include: ../openshift-nfs/config.yml
 
+- include: ../openshift-loadbalancer/config.yml
+
 - include: ../openshift-master/config.yml
 
 - include: additional_config.yml
diff --git a/playbooks/common/openshift-loadbalancer/config.yml b/playbooks/common/openshift-loadbalancer/config.yml
new file mode 100644
index 000000000..f4392173a
--- /dev/null
+++ b/playbooks/common/openshift-loadbalancer/config.yml
@@ -0,0 +1,5 @@
+---
+- name: Configure load balancers
+  hosts: oo_lb_to_config
+  roles:
+  - role: openshift_loadbalancer
diff --git a/playbooks/common/openshift-loadbalancer/filter_plugins b/playbooks/common/openshift-loadbalancer/filter_plugins
new file mode 120000
index 000000000..99a95e4ca
--- /dev/null
+++ b/playbooks/common/openshift-loadbalancer/filter_plugins
@@ -0,0 +1 @@
+../../../filter_plugins
\ No newline at end of file
diff --git a/playbooks/common/openshift-loadbalancer/lookup_plugins b/playbooks/common/openshift-loadbalancer/lookup_plugins
new file mode 120000
index 000000000..ac79701db
--- /dev/null
+++ b/playbooks/common/openshift-loadbalancer/lookup_plugins
@@ -0,0 +1 @@
+../../../lookup_plugins
\ No newline at end of file
diff --git a/playbooks/common/openshift-loadbalancer/roles b/playbooks/common/openshift-loadbalancer/roles
new file mode 120000
index 000000000..e2b799b9d
--- /dev/null
+++ b/playbooks/common/openshift-loadbalancer/roles
@@ -0,0 +1 @@
+../../../roles/
\ No newline at end of file
diff --git a/playbooks/common/openshift-loadbalancer/service.yml b/playbooks/common/openshift-loadbalancer/service.yml
new file mode 100644
index 000000000..19fffd5e9
--- /dev/null
+++ b/playbooks/common/openshift-loadbalancer/service.yml
@@ -0,0 +1,20 @@
+---
+- name: Populate g_service_nodes host group if needed
+  hosts: localhost
+  connection: local
+  become: no
+  gather_facts: no
+  tasks:
+  - fail: msg="new_cluster_state is required to be injected in this playbook"
+    when: new_cluster_state is not defined
+
+  - name: Evaluate g_service_lb
+    add_host: name={{ item }} groups=g_service_lb
+    with_items: oo_host_group_exp | default([])
+
+- name: Change state on lb instance(s)
+  hosts: g_service_lb
+  connection: ssh
+  gather_facts: no
+  tasks:
+    - service: name=hapoxy state="{{ new_cluster_state }}"
diff --git a/playbooks/common/openshift-master/config.yml b/playbooks/common/openshift-master/config.yml
index fe0e2e666..e9337270b 100644
--- a/playbooks/common/openshift-master/config.yml
+++ b/playbooks/common/openshift-master/config.yml
@@ -156,33 +156,6 @@
     - master.etcd-ca.crt
     when: etcd_client_certs_missing is defined and etcd_client_certs_missing
 
-- name: Configure load balancers
-  hosts: oo_lb_to_config
-  vars:
-    sync_tmpdir: "{{ hostvars.localhost.g_master_mktemp.stdout }}"
-    haproxy_limit_nofile: 100000
-    haproxy_global_maxconn: 20000
-    haproxy_default_maxconn: 20000
-    haproxy_frontend_port: "{{ hostvars[groups.oo_first_master.0].openshift.master.api_port }}"
-    haproxy_frontends:
-    - name: atomic-openshift-api
-      mode: tcp
-      options:
-      - tcplog
-      binds:
-      - "*:{{ hostvars[groups.oo_first_master.0].openshift.master.api_port }}"
-      default_backend: atomic-openshift-api
-    haproxy_backends:
-    - name: atomic-openshift-api
-      mode: tcp
-      option: tcplog
-      balance: source
-      servers: "{{ hostvars | oo_select_keys(groups['oo_masters']) | oo_haproxy_backend_masters }}"
-  roles:
-  - role: openshift_facts
-  - role: haproxy
-    when: hostvars[groups.oo_first_master.0].openshift.master.ha | bool
-
 - name: Check for cached session secrets
   hosts: oo_first_master
   roles:
-- 
cgit v1.2.3