summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--inventory/byo/hosts.origin.example46
-rw-r--r--inventory/byo/hosts.ose.example44
-rw-r--r--roles/openshift_facts/tasks/main.yml9
-rw-r--r--roles/openshift_facts/vars/main.yml5
4 files changed, 103 insertions, 1 deletions
diff --git a/inventory/byo/hosts.origin.example b/inventory/byo/hosts.origin.example
index 7741730ad..0ddca6576 100644
--- a/inventory/byo/hosts.origin.example
+++ b/inventory/byo/hosts.origin.example
@@ -300,7 +300,51 @@ openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true',
#
# Disable management of the OpenShift Router
#openshift_hosted_manage_router=false
-
+#
+# Router sharding support has been added and can be achieved by supplying the correct
+# data to the inventory. The variable to house the data is openshift_hosted_routers
+# and is in the form of a list. If no data is passed then a default router will be
+# created. There are multiple combinations of router sharding. The one described
+# below supports routers on separate nodes.
+#openshift_hosted_routers:
+#- name: router1
+# stats_port: 1936
+# ports:
+# - 80:80
+# - 443:443
+# replicas: 1
+# namespace: default
+# serviceaccount: router
+# selector: type=router1
+# images: "openshift3/ose-${component}:${version}"
+# edits: []
+# certificates:
+# certfile: /path/to/certificate/abc.crt
+# keyfile: /path/to/certificate/abc.key
+# cafile: /path/to/certificate/ca.crt
+#- name: router2
+# stats_port: 1936
+# ports:
+# - 80:80
+# - 443:443
+# replicas: 1
+# namespace: default
+# serviceaccount: router
+# selector: type=router2
+# images: "openshift3/ose-${component}:${version}"
+# certificates:
+# certfile: /path/to/certificate/xyz.crt
+# keyfile: /path/to/certificate/xyz.key
+# cafile: /path/to/certificate/ca.crt
+# edits:
+# # ROUTE_LABELS sets the router to listen for routes
+# # tagged with the provided values
+# - key: spec.template.spec.containers[0].env
+# value:
+# name: ROUTE_LABELS
+# value: "route=external"
+# action: append
+#
# OpenShift Registry Console Options
# Override the console image prefix for enterprise deployments, not used in origin
# default is "registry.access.redhat.com/openshift3/" and the image appended is "registry-console"
diff --git a/inventory/byo/hosts.ose.example b/inventory/byo/hosts.ose.example
index 3da9be081..7f80a9639 100644
--- a/inventory/byo/hosts.ose.example
+++ b/inventory/byo/hosts.ose.example
@@ -300,6 +300,50 @@ openshift_master_identity_providers=[{'name': 'htpasswd_auth', 'login': 'true',
#
# Disable management of the OpenShift Router
#openshift_hosted_manage_router=false
+#
+# Router sharding support has been added and can be achieved by supplying the correct
+# data to the inventory. The variable to house the data is openshift_hosted_routers
+# and is in the form of a list. If no data is passed then a default router will be
+# created. There are multiple combinations of router sharding. The one described
+# below supports routers on separate nodes.
+#openshift_hosted_routers:
+#- name: router1
+# stats_port: 1936
+# ports:
+# - 80:80
+# - 443:443
+# replicas: 1
+# namespace: default
+# serviceaccount: router
+# selector: type=router1
+# images: "openshift3/ose-${component}:${version}"
+# edits: []
+# certificates:
+# certfile: /path/to/certificate/abc.crt
+# keyfile: /path/to/certificate/abc.key
+# cafile: /path/to/certificate/ca.crt
+#- name: router2
+# stats_port: 1936
+# ports:
+# - 80:80
+# - 443:443
+# replicas: 1
+# namespace: default
+# serviceaccount: router
+# selector: type=router2
+# images: "openshift3/ose-${component}:${version}"
+# certificates:
+# certfile: /path/to/certificate/xyz.crt
+# keyfile: /path/to/certificate/xyz.key
+# cafile: /path/to/certificate/ca.crt
+# edits:
+# # ROUTE_LABELS sets the router to listen for routes
+# # tagged with the provided values
+# - key: spec.template.spec.containers[0].env
+# value:
+# name: ROUTE_LABELS
+# value: "route=external"
+# action: append
# OpenShift Registry Console Options
# Override the console image prefix for enterprise deployments, not used in origin
diff --git a/roles/openshift_facts/tasks/main.yml b/roles/openshift_facts/tasks/main.yml
index c538ff7a1..73c668c72 100644
--- a/roles/openshift_facts/tasks/main.yml
+++ b/roles/openshift_facts/tasks/main.yml
@@ -13,6 +13,8 @@
l_is_node_system_container: "{{ (use_node_system_container | default(use_system_containers) | bool) }}"
l_is_master_system_container: "{{ (use_master_system_container | default(use_system_containers) | bool) }}"
l_is_etcd_system_container: "{{ (use_etcd_system_container | default(use_system_containers) | bool) }}"
+- set_fact:
+ l_any_system_container: "{{ l_is_etcd_system_container or l_is_openvswitch_system_container or l_is_node_system_container or l_is_master_system_container }}"
- name: Validate python version
fail:
@@ -50,6 +52,13 @@
with_items: "{{ required_packages }}"
when: not l_is_atomic | bool
+- name: Ensure various deps for running system containers are installed
+ package: name={{ item }} state=present
+ with_items: "{{ required_system_containers_packages }}"
+ when:
+ - not l_is_atomic | bool
+ - l_any_system_container | bool
+
- name: Gather Cluster facts and set is_containerized if needed
openshift_facts:
role: common
diff --git a/roles/openshift_facts/vars/main.yml b/roles/openshift_facts/vars/main.yml
index 9c3110ff6..07f5100ad 100644
--- a/roles/openshift_facts/vars/main.yml
+++ b/roles/openshift_facts/vars/main.yml
@@ -5,3 +5,8 @@ required_packages:
- python-six
- PyYAML
- yum-utils
+
+required_system_containers_packages:
+ - atomic
+ - ostree
+ - runc