summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--roles/openshift_master_post/README.md39
-rw-r--r--roles/openshift_master_post/defaults/main.yml2
-rw-r--r--roles/openshift_master_post/handlers/main.yml2
-rw-r--r--roles/openshift_master_post/meta/main.yml130
-rw-r--r--roles/openshift_master_post/tasks/main.yml27
-rw-r--r--roles/openshift_master_post/vars/main.yml5
6 files changed, 205 insertions, 0 deletions
diff --git a/roles/openshift_master_post/README.md b/roles/openshift_master_post/README.md
new file mode 100644
index 000000000..0aa08df5e
--- /dev/null
+++ b/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)
diff --git a/roles/openshift_master_post/defaults/main.yml b/roles/openshift_master_post/defaults/main.yml
new file mode 100644
index 000000000..4f2e60144
--- /dev/null
+++ b/roles/openshift_master_post/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+# defaults file for openshift_master_post
diff --git a/roles/openshift_master_post/handlers/main.yml b/roles/openshift_master_post/handlers/main.yml
new file mode 100644
index 000000000..e223d1ad0
--- /dev/null
+++ b/roles/openshift_master_post/handlers/main.yml
@@ -0,0 +1,2 @@
+---
+# handlers file for openshift_master_post
diff --git a/roles/openshift_master_post/meta/main.yml b/roles/openshift_master_post/meta/main.yml
new file mode 100644
index 000000000..01cf61397
--- /dev/null
+++ b/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.
+
diff --git a/roles/openshift_master_post/tasks/main.yml b/roles/openshift_master_post/tasks/main.yml
new file mode 100644
index 000000000..391c4a293
--- /dev/null
+++ b/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
diff --git a/roles/openshift_master_post/vars/main.yml b/roles/openshift_master_post/vars/main.yml
new file mode 100644
index 000000000..1ebc12aa1
--- /dev/null
+++ b/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"