summaryrefslogtreecommitdiffstats
path: root/roles/openshift_service_catalog_broker
diff options
context:
space:
mode:
Diffstat (limited to 'roles/openshift_service_catalog_broker')
-rw-r--r--roles/openshift_service_catalog_broker/defaults/main.yml6
-rw-r--r--roles/openshift_service_catalog_broker/meta/main.yml16
-rw-r--r--roles/openshift_service_catalog_broker/tasks/install.yml65
-rw-r--r--roles/openshift_service_catalog_broker/tasks/main.yml6
-rw-r--r--roles/openshift_service_catalog_broker/tasks/remove.yml19
-rw-r--r--roles/openshift_service_catalog_broker/templates/broker.j241
-rw-r--r--roles/openshift_service_catalog_broker/templates/broker_broker.j27
-rw-r--r--roles/openshift_service_catalog_broker/templates/broker_service.j213
-rw-r--r--roles/openshift_service_catalog_broker/vars/default_images.yml3
-rw-r--r--roles/openshift_service_catalog_broker/vars/openshift-enterprise.yml3
10 files changed, 179 insertions, 0 deletions
diff --git a/roles/openshift_service_catalog_broker/defaults/main.yml b/roles/openshift_service_catalog_broker/defaults/main.yml
new file mode 100644
index 000000000..c2f77b2db
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/defaults/main.yml
@@ -0,0 +1,6 @@
+---
+openshift_service_catalog_broker_remove: false
+openshift_service_catalog_broker_replicas: 1
+
+openshift_service_catalog_broker_namespace: openshift-ansible-service-broker
+openshift_service_catalog_broker_nodeselector: {}
diff --git a/roles/openshift_service_catalog_broker/meta/main.yml b/roles/openshift_service_catalog_broker/meta/main.yml
new file mode 100644
index 000000000..f22c4e2b6
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/meta/main.yml
@@ -0,0 +1,16 @@
+---
+galaxy_info:
+ author: OpenShift Red Hat
+ description: OpenShift Service Catalog Broker
+ company: Red Hat, Inc.
+ license: Apache License, Version 2.0
+ min_ansible_version: 2.2
+ platforms:
+ - name: EL
+ versions:
+ - 7
+ categories:
+ - cloud
+dependencies:
+- role: lib_openshift
+- role: openshift_facts
diff --git a/roles/openshift_service_catalog_broker/tasks/install.yml b/roles/openshift_service_catalog_broker/tasks/install.yml
new file mode 100644
index 000000000..c9dad678a
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/tasks/install.yml
@@ -0,0 +1,65 @@
+---
+# do any asserts here
+
+- name: Set default image variables based on deployment_type
+ include_vars: "{{ item }}"
+ with_first_found:
+ - "{{ openshift_deployment_type | default(deployment_type) }}.yml"
+ - "default_images.yml"
+
+- name: Set service_catalog image facts
+ set_fact:
+ openshift_service_catalog_broker_image_prefix: "{{ openshift_service_catalog_broker_image_prefix | default(__openshift_service_catalog_broker_image_prefix) }}"
+ openshift_service_catalog_broker_image_version: "{{ openshift_service_catalog_broker_image_version | default(__openshift_service_catalog_broker_image_version) }}"
+
+- name: Set Service Catalog Broker namespace
+ oc_project:
+ state: present
+ name: "{{ openshift_service_catalog_broker_namespace }}"
+# node_selector: "{{ openshift_service_catalog_broker_nodeselector | default(null) }}"
+
+- name: Create temp directory for doing work in
+ command: mktemp -d /tmp/openshift-broker-ansible-XXXXXX
+ register: mktemp
+ changed_when: False
+
+## broker process deployment
+- template:
+ src: broker.j2
+ dest: "{{ mktemp.stdout }}/broker.yml"
+ vars:
+ image: ""
+ replicas: 1
+ node_selector: ""
+ cpu_limit: none
+ memory_limit: none
+
+- name: Set Service Catalog Broker deployment
+ oc_obj:
+ state: present
+ namespace: "{{ openshift_service_catalog_broker_namespace }}"
+ kind: deployment
+ name: ups-broker
+ files:
+ - "{{ mktemp.stdout }}/broker.yml"
+ delete_after: yes
+
+- template:
+ src: broker_service.j2
+ dest: "{{ mktemp.stdout }}/broker_service.yml"
+
+- name: Set Service Catalog Broker service
+ oc_obj:
+ state: present
+ namespace: "{{ openshift_service_catalog_broker_namespace }}"
+ kind: service
+ name: ups-broker
+ files:
+ - "{{ mktemp.stdout }}/broker_service.yml"
+ delete_after: yes
+
+- name: Delete temp directory
+ file:
+ name: "{{ mktemp.stdout }}"
+ state: absent
+ changed_when: False
diff --git a/roles/openshift_service_catalog_broker/tasks/main.yml b/roles/openshift_service_catalog_broker/tasks/main.yml
new file mode 100644
index 000000000..4d776f543
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/tasks/main.yml
@@ -0,0 +1,6 @@
+---
+- include: install.yml
+ when: not openshift_service_catalog_broker_remove | default(false) | bool
+
+- include: remove.yml
+ when: openshift_service_catalog_broker_remove | default(false) | bool
diff --git a/roles/openshift_service_catalog_broker/tasks/remove.yml b/roles/openshift_service_catalog_broker/tasks/remove.yml
new file mode 100644
index 000000000..a0574fd55
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/tasks/remove.yml
@@ -0,0 +1,19 @@
+---
+- name: Remove Service Catalog Broker service
+ oc_obj:
+ state: absent
+ namespace: "{{ openshift_service_catalog_broker_namespace }}"
+ kind: service
+ name: ups-broker
+
+- name: Remove Service Catalog Broker deployment
+ oc_obj:
+ state: absent
+ namespace: "{{ openshift_service_catalog_broker_namespace }}"
+ kind: deployment
+ name: ups-broker
+
+- name: Remove Service Catalog Broker namespace
+ oc_project:
+ state: absent
+ name: "{{ openshift_service_catalog_broker_namespace }}"
diff --git a/roles/openshift_service_catalog_broker/templates/broker.j2 b/roles/openshift_service_catalog_broker/templates/broker.j2
new file mode 100644
index 000000000..d6e3c4194
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/templates/broker.j2
@@ -0,0 +1,41 @@
+kind: Deployment
+apiVersion: extensions/v1beta1
+metadata:
+ name: ups-broker
+ labels:
+ app: ups-broker
+spec:
+ replicas: 1
+ selector:
+ matchLabels:
+ app: ups-broker
+ template:
+ metadata:
+ labels:
+ app: ups-broker
+ spec:
+ containers:
+ - name: ups-broker
+ image: quay.io/kubernetes-service-catalog/user-broker:canary
+ imagePullPolicy: Always
+ args:
+ - --port
+ - "8080"
+ ports:
+ - containerPort: 8080
+ readinessProbe:
+ tcpSocket:
+ port: 8080
+ failureThreshold: 1
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 2
+ livenessProbe:
+ tcpSocket:
+ port: 8080
+ failureThreshold: 3
+ initialDelaySeconds: 10
+ periodSeconds: 10
+ successThreshold: 1
+ timeoutSeconds: 2
diff --git a/roles/openshift_service_catalog_broker/templates/broker_broker.j2 b/roles/openshift_service_catalog_broker/templates/broker_broker.j2
new file mode 100644
index 000000000..1dd50a2c1
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/templates/broker_broker.j2
@@ -0,0 +1,7 @@
+
+apiVersion: servicecatalog.k8s.io/v1alpha1
+kind: Broker
+metadata:
+ name: ups-broker
+spec:
+ url: http://ups-broker.ups-broker.svc.cluster.local
diff --git a/roles/openshift_service_catalog_broker/templates/broker_service.j2 b/roles/openshift_service_catalog_broker/templates/broker_service.j2
new file mode 100644
index 000000000..5beecea09
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/templates/broker_service.j2
@@ -0,0 +1,13 @@
+kind: Service
+apiVersion: v1
+metadata:
+ name: ups-broker
+ labels:
+ app: ups-broker
+spec:
+ selector:
+ app: ups-broker
+ ports:
+ - protocol: TCP
+ port: 80
+ targetPort: 8080
diff --git a/roles/openshift_service_catalog_broker/vars/default_images.yml b/roles/openshift_service_catalog_broker/vars/default_images.yml
new file mode 100644
index 000000000..7b03e4f60
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/vars/default_images.yml
@@ -0,0 +1,3 @@
+---
+__openshift_service_catalog_broker_image_prefix: "docker.io/openshift/origin-"
+__openshift_service_catalog_broker_image_version: "latest"
diff --git a/roles/openshift_service_catalog_broker/vars/openshift-enterprise.yml b/roles/openshift_service_catalog_broker/vars/openshift-enterprise.yml
new file mode 100644
index 000000000..a8154774c
--- /dev/null
+++ b/roles/openshift_service_catalog_broker/vars/openshift-enterprise.yml
@@ -0,0 +1,3 @@
+---
+__openshift_service_catalog_broker_image_prefix: "registry.access.redhat.com/openshift3/"
+__openshift_service_catalog_broker_image_version: "3.6.0"