Browse Source

Add openshift_loadbalancer_facts role to set lb facts prior to running dependencies.

Andrew Butcher 8 năm trước cách đây
mục cha
commit
ad758bbdfb

+ 0 - 2
playbooks/common/openshift-loadbalancer/config.yml

@@ -1,7 +1,5 @@
 ---
 - name: Configure load balancers
   hosts: oo_lb_to_config
-  vars:
-    haproxy_frontend_port: "{{ openshift_master_api_port | default(8443) }}"
   roles:
   - role: openshift_loadbalancer

+ 0 - 2
roles/openshift_loadbalancer/defaults/main.yml

@@ -1,6 +1,4 @@
 ---
-haproxy_frontend_port: 8443
-
 haproxy_frontends:
 - name: main
   binds:

+ 2 - 2
roles/openshift_loadbalancer/meta/main.yml

@@ -10,11 +10,11 @@ galaxy_info:
     versions:
     - 7
 dependencies:
-- role: openshift_facts
+- role: openshift_loadbalancer_facts
 - role: os_firewall
   os_firewall_allow:
   - service: haproxy stats
     port: "9000/tcp"
   - service: haproxy balance
-    port: "{{ haproxy_frontend_port }}/tcp"
+    port: "{{ openshift.loadbalancer.frontend_port }}/tcp"
 - role: openshift_repos

+ 0 - 30
roles/openshift_loadbalancer/tasks/main.yml

@@ -1,34 +1,4 @@
 ---
-- name: Set haproxy frontend port
-  openshift_facts:
-    role: loadbalancer
-    local_facts:
-      frontend_port: "{{ openshift_master_api_port | default(None) }}"
-
-- name: Set loadbalancer facts
-  openshift_facts:
-    role: loadbalancer
-    local_facts:
-      limit_nofile: "{{ openshift_loadbalancer_limit_nofile | default(None) }}"
-      default_maxconn: "{{ openshift_loadbalancer_default_maxconn | default(None) }}"
-      global_maxconn: "{{ openshift_loadbalancer_global_maxconn | default(None) }}"
-      frontends:
-      - name: atomic-openshift-api
-        mode: tcp
-        options:
-        - tcplog
-        binds:
-        - "*:{{ openshift.loadbalancer.frontend_port }}"
-        default_backend: atomic-openshift-api
-      backends:
-      - name: atomic-openshift-api
-        mode: tcp
-        option: tcplog
-        balance: source
-        servers: "{{ hostvars
-                     | oo_select_keys(groups['oo_masters'])
-                     | oo_haproxy_backend_masters(openshift.loadbalancer.frontend_port) }}"
-
 - name: Install haproxy
   action: "{{ ansible_pkg_mgr }} name=haproxy state=present"
   when: not openshift.common.is_containerized | bool

+ 34 - 0
roles/openshift_loadbalancer_facts/README.md

@@ -0,0 +1,34 @@
+OpenShift HAProxy Loadbalancer Facts
+====================================
+
+TODO
+
+Requirements
+------------
+
+TODO
+
+Role Variables
+--------------
+
+TODO
+
+Dependencies
+------------
+
+TODO
+
+Example Playbook
+----------------
+
+TODO
+
+License
+-------
+
+Apache License, Version 2.0
+
+Author Information
+------------------
+
+Andrew Butcher (abutcher@redhat.com)

+ 13 - 0
roles/openshift_loadbalancer_facts/meta/main.yml

@@ -0,0 +1,13 @@
+---
+galaxy_info:
+  author: Andrew Butcher
+  description: OpenShift loadbalancer facts
+  company: Red Hat, Inc.
+  license: Apache License, Version 2.0
+  min_ansible_version: 1.9
+  platforms:
+  - name: EL
+    versions:
+    - 7
+dependencies:
+- role: openshift_facts

+ 30 - 0
roles/openshift_loadbalancer_facts/tasks/main.yml

@@ -0,0 +1,30 @@
+---
+- name: Set haproxy frontend port
+  openshift_facts:
+    role: loadbalancer
+    local_facts:
+      frontend_port: "{{ openshift_master_api_port | default(None) }}"
+
+- name: Set loadbalancer facts
+  openshift_facts:
+    role: loadbalancer
+    local_facts:
+      limit_nofile: "{{ openshift_loadbalancer_limit_nofile | default(None) }}"
+      default_maxconn: "{{ openshift_loadbalancer_default_maxconn | default(None) }}"
+      global_maxconn: "{{ openshift_loadbalancer_global_maxconn | default(None) }}"
+      frontends:
+      - name: atomic-openshift-api
+        mode: tcp
+        options:
+        - tcplog
+        binds:
+        - "*:{{ openshift.loadbalancer.frontend_port }}"
+        default_backend: atomic-openshift-api
+      backends:
+      - name: atomic-openshift-api
+        mode: tcp
+        option: tcplog
+        balance: source
+        servers: "{{ hostvars
+                     | oo_select_keys(groups['oo_masters'])
+                     | oo_haproxy_backend_masters(openshift.loadbalancer.frontend_port) }}"