summaryrefslogtreecommitdiffstats
path: root/roles/openshift_sdn_node
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_sdn_node')
-rw-r--r--roles/openshift_sdn_node/README.md51
-rw-r--r--roles/openshift_sdn_node/defaults/main.yml2
-rw-r--r--roles/openshift_sdn_node/handlers/main.yml3
-rw-r--r--roles/openshift_sdn_node/meta/main.yml14
-rw-r--r--roles/openshift_sdn_node/tasks/main.yml41
5 files changed, 111 insertions, 0 deletions
diff --git a/roles/openshift_sdn_node/README.md b/roles/openshift_sdn_node/README.md
new file mode 100644
index 000000000..294550219
--- /dev/null
+++ b/roles/openshift_sdn_node/README.md
@@ -0,0 +1,51 @@
+OpenShift SDN Node
+==================
+
+OpenShift SDN Node service installation
+
+Requirements
+------------
+
+A host with the openshift_node role applied
+
+Role Variables
+--------------
+
+From this role:
+| Name | Default value | |
+|--------------------------------|-----------------------|--------------------------------------------------|
+| openshift_sdn_node_debug_level | openshift_debug_level | Verbosity of the debug logs for openshift-master |
+
+
+From openshift_node:
+| Name | Default value | |
+|-----------------------|------------------|--------------------------------------|
+| openshift_master_ips | UNDEF (Required) | List of IP addresses for the openshift-master hosts to be used for node -> master communication |
+
+
+From openshift_common:
+| Name | Default value | |
+|-------------------------------|---------------------|----------------------------------------|
+| openshift_debug_level | 0 | Global openshift debug log verbosity |
+| openshift_hostname_workaround | True | |
+| openshift_public_ip | UNDEF (Required) | Public IP address to use for this host |
+| openshift_hostname | openshift_public_ip if openshift_hostname_workaround else ansible_fqdn | hostname to use for this instance |
+
+Dependencies
+------------
+
+
+Example Playbook
+----------------
+
+TODO
+
+License
+-------
+
+Apache License, Version 2.0
+
+Author Information
+------------------
+
+TODO
diff --git a/roles/openshift_sdn_node/defaults/main.yml b/roles/openshift_sdn_node/defaults/main.yml
new file mode 100644
index 000000000..9612d9d91
--- /dev/null
+++ b/roles/openshift_sdn_node/defaults/main.yml
@@ -0,0 +1,2 @@
+---
+openshift_sdn_node_debug_level: "{{ openshift_debug_level | default(0) }}"
diff --git a/roles/openshift_sdn_node/handlers/main.yml b/roles/openshift_sdn_node/handlers/main.yml
new file mode 100644
index 000000000..402d82149
--- /dev/null
+++ b/roles/openshift_sdn_node/handlers/main.yml
@@ -0,0 +1,3 @@
+---
+- name: restart openshift-sdn-node
+ service: name=openshift-sdn-node state=restarted
diff --git a/roles/openshift_sdn_node/meta/main.yml b/roles/openshift_sdn_node/meta/main.yml
new file mode 100644
index 000000000..ab45ff51e
--- /dev/null
+++ b/roles/openshift_sdn_node/meta/main.yml
@@ -0,0 +1,14 @@
+---
+galaxy_info:
+ author: Jason DeTiberus
+ description: OpenShift SDN Node
+ company: Red Hat, Inc.
+ license: Apache License, Version 2.0
+ min_ansible_version: 1.7
+ platforms:
+ - name: EL
+ versions:
+ - 7
+ categories:
+ - cloud
+dependencies: []
diff --git a/roles/openshift_sdn_node/tasks/main.yml b/roles/openshift_sdn_node/tasks/main.yml
new file mode 100644
index 000000000..ff05a6972
--- /dev/null
+++ b/roles/openshift_sdn_node/tasks/main.yml
@@ -0,0 +1,41 @@
+---
+- name: Install openshift-sdn-node
+ yum:
+ pkg: openshift-sdn-node
+ state: installed
+
+# TODO: we are specifying -hostname= for OPTIONS as a workaround for
+# openshift-sdn-node not properly detecting the hostname.
+- name: Configure openshift-sdn-node settings
+ lineinfile:
+ dest: /etc/sysconfig/openshift-sdn-node
+ regexp: "{{ item.regex }}"
+ line: "{{ item.line }}"
+ backrefs: yes
+ with_items:
+ - regex: '^(OPTIONS=)'
+ line: '\1"-v={{ openshift_sdn_node_debug_level }} -hostname={{ openshift_hostname }}"'
+ - regex: '^(MASTER_URL=)'
+ line: '\1"http://{{ openshift_master_ips | first }}:4001"'
+ - regex: '^(MINION_IP=)'
+ line: '\1"{{ openshift_public_ip }}"'
+ # TODO lock down the insecure-registry config to a more sane value than
+ # 0.0.0.0/0
+ - regex: '^(DOCKER_OPTIONS=)'
+ line: '\1"--insecure-registry=0.0.0.0/0 -b=lbr0 --mtu=1450 --selinux-enabled"'
+ notify: restart openshift-sdn-node
+
+- name: Set openshift-sdn-node facts
+ include: "{{ role_path | dirname }}/openshift_common/tasks/set_facts.yml"
+ facts:
+ - section: sdn-node
+ option: debug_level
+ value: "{{ openshift_sdn_node_debug_level }}"
+
+# fixme: Once the openshift_cluster playbook is published state should be started
+# Always bounce service to pick up new credentials
+- name: Start and enable openshift-sdn-node
+ service:
+ name: openshift-sdn-node
+ enabled: yes
+ state: restarted