Browse Source

Initial add of openshift_master_post

Wesley Hearn 10 years ago
parent
commit
294f2254b8

+ 39 - 0
roles/openshift_master_post/README.md

@@ -0,0 +1,39 @@
+OpenShift Master Post
+=========
+
+Post installation steps for setting up the cluster
+
+Requirements
+------------
+
+None
+
+Role Variables
+--------------
+
+| Name                        | Default value     | Description                                                                |
+|-----------------------------|-------------------|----------------------------------------------------------------------------|
+| omp_infra_node_filter_key   | "status.capacity" | Key from `osc get nodes -o json` to designate which node is the infra node |
+| omp_infra_node_filter_value | "7232144Ki"       | Value of omp_infra_node_filter_key to filter on |
+| omp_infra_node_label        | "infra"           | The label to apply to the infra node |
+| omp_node_region             | "us-east"         | Region that the none infra nodes are in |
+
+Dependencies
+------------
+
+None
+
+Example Playbook
+----------------
+
+TODO
+
+License
+-------
+
+Apache License, Version 2.0
+
+Author Information
+------------------
+
+Wesley Hearn (whearn@redhat.com)

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

@@ -0,0 +1,2 @@
+---
+# defaults file for openshift_master_post

+ 2 - 0
roles/openshift_master_post/handlers/main.yml

@@ -0,0 +1,2 @@
+---
+# handlers file for openshift_master_post

+ 130 - 0
roles/openshift_master_post/meta/main.yml

@@ -0,0 +1,130 @@
+---
+galaxy_info:
+  author: your name
+  description: 
+  company: your company (optional)
+  # If the issue tracker for your role is not on github, uncomment the
+  # next line and provide a value
+  # issue_tracker_url: http://example.com/issue/tracker
+  # Some suggested licenses:
+  # - BSD (default)
+  # - MIT
+  # - GPLv2
+  # - GPLv3
+  # - Apache
+  # - CC-BY
+  license: license (GPLv2, CC-BY, etc)
+  min_ansible_version: 1.2
+  #
+  # Below are all platforms currently available. Just uncomment
+  # the ones that apply to your role. If you don't see your 
+  # platform on this list, let us know and we'll get it added!
+  #
+  #platforms:
+  #- name: EL
+  #  versions:
+  #  - all
+  #  - 5
+  #  - 6
+  #  - 7
+  #- name: GenericUNIX
+  #  versions:
+  #  - all
+  #  - any
+  #- name: Fedora
+  #  versions:
+  #  - all
+  #  - 16
+  #  - 17
+  #  - 18
+  #  - 19
+  #  - 20
+  #- name: SmartOS
+  #  versions:
+  #  - all
+  #  - any
+  #- name: opensuse
+  #  versions:
+  #  - all
+  #  - 12.1
+  #  - 12.2
+  #  - 12.3
+  #  - 13.1
+  #  - 13.2
+  #- name: Amazon
+  #  versions:
+  #  - all
+  #  - 2013.03
+  #  - 2013.09
+  #- name: GenericBSD
+  #  versions:
+  #  - all
+  #  - any
+  #- name: FreeBSD
+  #  versions:
+  #  - all
+  #  - 8.0
+  #  - 8.1
+  #  - 8.2
+  #  - 8.3
+  #  - 8.4
+  #  - 9.0
+  #  - 9.1
+  #  - 9.1
+  #  - 9.2
+  #- name: Ubuntu
+  #  versions:
+  #  - all
+  #  - lucid
+  #  - maverick
+  #  - natty
+  #  - oneiric
+  #  - precise
+  #  - quantal
+  #  - raring
+  #  - saucy
+  #  - trusty
+  #- name: SLES
+  #  versions:
+  #  - all
+  #  - 10SP3
+  #  - 10SP4
+  #  - 11
+  #  - 11SP1
+  #  - 11SP2
+  #  - 11SP3
+  #- name: GenericLinux
+  #  versions:
+  #  - all
+  #  - any
+  #- name: Debian
+  #  versions:
+  #  - all
+  #  - etch
+  #  - lenny
+  #  - squeeze
+  #  - wheezy
+  #
+  # Below are all categories currently available. Just as with
+  # the platforms above, uncomment those that apply to your role.
+  #
+  #categories:
+  #- cloud
+  #- cloud:ec2
+  #- cloud:gce
+  #- cloud:rax
+  #- clustering
+  #- database
+  #- database:nosql
+  #- database:sql
+  #- development
+  #- monitoring
+  #- networking
+  #- packaging
+  #- system
+  #- web
+dependencies: []
+  # List your role dependencies here, one per line.
+  # Be sure to remove the '[]' above if you add dependencies
+  # to this list.
+  

+ 27 - 0
roles/openshift_master_post/tasks/main.yml

@@ -0,0 +1,27 @@
+---
+- name: Get Nodes Config
+  shell: osc get nodes -o json | sed -e '/"resourceVersion"/d'
+  register: output
+
+- name: Set node regions
+    node_facts: "{{ output.stdout | from_json
+                  | oo_set_node_label('region', {{omp_node_region}}) }}"
+
+- name: Set infra node labels
+  set_fact:
+    node_final_facts: "{{ output.stdout | from_json
+                  | oo_set_node_label('region', {{omp_infra_node_label}},
+                  {{omp_infra_node_filter_key}}, {{omp_infra_node_filter_value}}) }}"
+
+- name: Write node config to temp file
+  copy:
+    content: "{{ node_final_facts }}"
+    dest: /tmp/nodes.json
+
+- name: Import new node config
+  shell: osc update node -f /tmp/nodes.json
+
+- name: Remove node temp file
+  file:
+    path: /tmp/nodes.json
+	state: absent

+ 5 - 0
roles/openshift_master_post/vars/main.yml

@@ -0,0 +1,5 @@
+---
+omp_infra_node_filter_key: "status.capacity"
+omp_infra_node_filter_value: "7232144Ki"
+omp_infra_node_label: "infra"
+omp_node_region: "us-east"