diff options
Diffstat (limited to 'roles/openshift_service_catalog_broker')
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" |