ansible/roles/ocp4-workload-pam-fraudmanagement-workshop-verification/tasks/workload_per_project_amqstreamsworkload.yml
New file @@ -0,0 +1,28 @@ --- - name: Check Kafka producer is running command: > oc rollout status DeploymentConfig/fraud-detection-pam-kafka-producer --watch=true -n "{{ _namespace }}" - name: Check Kafka aggregator is running command: > oc rollout status DeploymentConfig/fraud-detection-pam-kafka-aggregator --watch=true -n "{{ _namespace }}" - name: Get Kafka aggregator route host command: > oc get route/fraud-detection-pam-kafka-aggregator -o jsonpath='{.spec.host}' -n "{{ _namespace }}" register: aggregator_host retries: "{{ _retry }}" delay: "{{ _delay }}" until: aggregator_host.stdout != "" - name: Check Kafka aggregator responds with 200 uri: url: "http://{{ aggregator_host.stdout }}/transactions/data/0000-0000-0000-0001" method: GET validate_certs: false follow_redirects: yes status_code: 200 register: aggregatorresult retries: "{{ _retry }}" delay: "{{ _delay }}" until: aggregatorresult.status == 200 ansible/roles/ocp4-workload-pam-fraudmanagement-workshop-verification/tasks/workload_project.yml
@@ -22,6 +22,10 @@ include_tasks: workload_per_project_businessautomationworkload.yml when: _deploy_workload == true - name: AMQ Streams workload for {{ _namespace }} include_tasks: workload_per_project_amqstreamsworkload.yml when: _deploy_workload == true - name: Fuse workdload for {{ _namespace }} include_tasks: workload_per_project_fuseworkload.yml when: _deploy_workload == true ansible/roles/ocp4-workload-pam-fraudmanagement-workshop/tasks/workload_per_project_amqstreamsworkload.yml
New file @@ -0,0 +1,52 @@ --- - name: Check Kafka Producer workload is running (note; error can be ignored) command: > oc rollout status DeploymentConfig/fraud-detection-pam-kafka-producer --watch=true -n {{ _namespace }} register: producerrollout ignore_errors: true - name: Check Kafka Aggregator workload is running (note; error can be ignored) command: > oc rollout status DeploymentConfig/fraud-detection-pam-kafka-aggregator --watch=true -n {{ _namespace }} register: aggregatorrollout ignore_errors: true - name: Get Kafka template uri: url: "https://{{ gitea_route.stdout }}/{{ _namespace }}/proactive-fraud-detection-kafka/raw/branch/master/.openshiftio/application.yaml" method: GET body_format: json validate_certs: false return_content: true register: kafkatemplate when: '"successfully rolled out" not in producerrollout.stdout or "successfully rolled out" not in aggregatorrollout.stdout' - name: Process Kafka Producer workload template command: > oc process -p APP_NAME=fraud-detection-pam-kafka-producer -p SOURCE_REPOSITORY_DIR=fraud-detection-pam-kafka-producer -p SOURCE_REPOSITORY_URL=http://mygitea.gitea.svc.cluster.local:3000/{{ _namespace }}/proactive-fraud-detection-kafka.git -p KAFKA_BROKERS={{ _namespace }}-cluster-kafka-bootstrap:9092 -n {{ _namespace }} -f - args: stdin: "{{ kafkatemplate.content | string }}" register: producerwork when: '"successfully rolled out" not in producerrollout.stdout' - name: Process Kafka Aggregator workload template command: > oc process -p APP_NAME=fraud-detection-pam-kafka-aggregator -p SOURCE_REPOSITORY_DIR=fraud-detection-pam-kafka-aggregator -p SOURCE_REPOSITORY_URL=http://mygitea.gitea.svc.cluster.local:3000/{{ _namespace }}/proactive-fraud-detection-kafka.git -p KAFKA_BROKERS={{ _namespace }}-cluster-kafka-bootstrap:9092 -n {{ _namespace }} -f - args: stdin: "{{ kafkatemplate.content | string }}" register: aggregatorwork when: '"successfully rolled out" not in aggregatorrollout.stdout' - name: Create Kafka Producer workload k8s: state: present namespace: "{{ _namespace }}" definition: "{{ producerwork.stdout | from_json }}" when: '"successfully rolled out" not in producerrollout.stdout' - name: Create Kafka Aggregator workload k8s: state: present namespace: "{{ _namespace }}" definition: "{{ aggregatorwork.stdout | from_json }}" when: '"successfully rolled out" not in aggregatorrollout.stdout' ansible/roles/ocp4-workload-pam-fraudmanagement-workshop/tasks/workload_project.yml
@@ -56,6 +56,10 @@ include_tasks: workload_per_project_businessautomationworkload.yml when: _deploy_workload == true - name: AMQ Streams workload for {{ _namespace }} include_tasks: workload_per_project_amqstreamsworkload.yml when: _deploy_workload == true - name: Fuse workload for {{ _namespace }} include_tasks: workload_per_project_fuseworkload.yml when: _deploy_workload == true ansible/roles/ocp4-workload-pam-fraudmanagement-workshop/templates/amq-streams/topic.j2
@@ -1,14 +1,59 @@ apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaTopic --- kind: List apiVersion: v1 metadata: labels: strimzi.io/cluster: {{ _namespace }}-cluster name: block-account spec: config: message.format.version: 2.3-IV1 retention.ms: '604800000' segment.bytes: '1073741824' partitions: 10 replicas: 1 topicName: block_account name: amqstreams-topics items: - apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaTopic metadata: labels: strimzi.io/cluster: {{ _namespace }}-cluster name: block-account spec: config: message.format.version: 2.3-IV1 retention.ms: '604800000' segment.bytes: '1073741824' partitions: 3 replicas: 1 topicName: block_account - apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaTopic metadata: labels: strimzi.io/cluster: {{ _namespace }}-cluster name: transactions-store spec: config: message.format.version: 2.3-IV1 retention.ms: '604800000' segment.bytes: '1073741824' partitions: 3 replicas: 1 - apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaTopic metadata: labels: strimzi.io/cluster: {{ _namespace }}-cluster name: transactions-topic spec: config: message.format.version: 2.3-IV1 retention.ms: '604800000' segment.bytes: '1073741824' partitions: 3 replicas: 1 - apiVersion: kafka.strimzi.io/v1beta1 kind: KafkaTopic metadata: labels: strimzi.io/cluster: {{ _namespace }}-cluster name: transactions-aggregated spec: config: message.format.version: 2.3-IV1 retention.ms: '604800000' segment.bytes: '1073741824' partitions: 3 replicas: 1 ansible/roles/ocp4-workload-pam-fraudmanagement-workshop/templates/bucketrepo/deployment.j2
@@ -36,6 +36,11 @@ cache: base_dir: "/tmp/bucketrepo" #repositories: #- url: "https://repo1.maven.org/maven2" #- url: "https://maven.repository.redhat.com/ga" #- url: "https://maven.repository.redhat.com/earlyaccess/all" - apiVersion: v1 kind: Service metadata: