Wolfgang Kulhanek
2020-03-04 6f3b7b3073e11579a62b6e2e8e2d74b6e159bc36
add verification step; remove unneeded ignore_errors conditionals (#1234)

2 files added
5 files modified
177 ■■■■■ changed files
ansible/roles/ocp4-workload-quarkus-workshop/tasks/confirm_che_workspace.yaml 25 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/install-amqstreams.yaml 1 ●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/install-codeready.yaml 2 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/install-jaeger.yaml 1 ●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/post_workload.yml 3 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/verify-workload.yaml 139 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/workload.yml 6 ●●●●● patch | view | raw | blame | history
ansible/roles/ocp4-workload-quarkus-workshop/tasks/confirm_che_workspace.yaml
New file
@@ -0,0 +1,25 @@
---
- name: "Get Che {{ user }} token"
  uri:
    url: http://keycloak-codeready.{{ route_subdomain }}/auth/realms/codeready/protocol/openid-connect/token
    method: POST
    body:
      username: "{{ user }}"
      password: "{{ workshop_che_user_password }}"
      grant_type: "password"
      client_id: "admin-cli"
    body_format: form-urlencoded
    status_code: 200
  register: user_token
- name: Confirm running status of workspace for {{ user }}
  uri:
    url: "http://codeready-codeready.{{ route_subdomain }}/api/workspace"
    method: GET
    headers:
      Accept: application/json
      Authorization: "Bearer {{ user_token.json.access_token }}"
    status_code: 200
  register: workspace_def
  failed_when: (workspace_def.json[0].status == "STOPPED") or (workspace_def.json[0].status == "STOPPING")
ansible/roles/ocp4-workload-quarkus-workshop/tasks/install-amqstreams.yaml
@@ -19,7 +19,6 @@
  register: r_kafka_crd
  retries: 200
  delay: 10
  ignore_errors: yes
  until: r_kafka_crd.resources | list | length == 1
ansible/roles/ocp4-workload-quarkus-workshop/tasks/install-codeready.yaml
@@ -33,7 +33,6 @@
  register: r_codeready_crd
  retries: 200
  delay: 10
  ignore_errors: yes
  until: r_codeready_crd.resources | list | length == 1
# deploy codeready CR
@@ -201,7 +200,6 @@
  register: r_stack_is
  retries: 200
  delay: 10
  ignore_errors: yes
  until: r_stack_is.resources | list | length == 1
- name: import stack image
ansible/roles/ocp4-workload-quarkus-workshop/tasks/install-jaeger.yaml
@@ -17,7 +17,6 @@
  register: r_jaeger_crd
  retries: 200
  delay: 10
  ignore_errors: yes
  until: r_jaeger_crd.resources | list | length == 1
ansible/roles/ocp4-workload-quarkus-workshop/tasks/post_workload.yml
@@ -1,4 +1,7 @@
---
- name: Verify everything is deployed correctly
  include_tasks: verify-workload.yaml
# Implement your Post Workload deployment tasks here
- name: output workshop info
  debug:
ansible/roles/ocp4-workload-quarkus-workshop/tasks/verify-workload.yaml
New file
@@ -0,0 +1,139 @@
---
- name: verify user projects exist
  k8s_facts:
    api_version: v1
    kind: Namespace
    name: "{{ item }}-project"
    field_selectors:
      - status.phase=Active
  register: r_user_namespace
  failed_when: r_user_namespace.resources | list | length != 1
  loop: "{{ users }}"
- name: verify guides pod is running
  k8s_facts:
    api_version: v1
    kind: Pod
    namespace: guides
    label_selectors:
      - deploymentconfig=web
    field_selectors:
      - status.phase=Running
  register: r_guides_pod
  failed_when: r_guides_pod.resources | list | length != 1
- name: verify guides are accessible
  uri:
    url: http://web-guides.{{ route_subdomain }}
    method: GET
    status_code: 200
- name: verify codeready pod is running
  k8s_facts:
    api_version: v1
    kind: Pod
    namespace: codeready
    label_selectors:
      - app=codeready
      - component=codeready
    field_selectors:
      - status.phase=Running
  register: r_codeready_pod
  failed_when: r_codeready_pod.resources | list | length != 1
- name: verify codeready is accessible
  uri:
    url: http://codeready-codeready.{{ route_subdomain }}
    method: GET
    status_code: 200
- name: verify keycloak pod is running
  k8s_facts:
    api_version: v1
    kind: Pod
    namespace: codeready
    label_selectors:
      - app=codeready
      - component=keycloak
    field_selectors:
      - status.phase=Running
  register: r_keycloak_pod
  failed_when: r_keycloak_pod.resources | list | length != 1
- name: verify keycloak is accessible
  uri:
    url: http://keycloak-codeready.{{ route_subdomain }}
    method: GET
    status_code: 200
- name: Get SSO admin token
  uri:
    url: http://keycloak-codeready.{{ route_subdomain }}/auth/realms/master/protocol/openid-connect/token
    method: POST
    body:
      username: "{{ codeready_sso_admin_username }}"
      password: "{{ codeready_sso_admin_password }}"
      grant_type: "password"
      client_id: "admin-cli"
    body_format: form-urlencoded
    status_code: 200,201,204
  register: sso_admin_token
- name: Verify custom realm exists
  uri:
    url: http://keycloak-codeready.{{ route_subdomain }}/auth/admin/realms/quarkus
    method: GET
    headers:
      Accept: application/json
      Authorization: "Bearer {{ sso_admin_token.json.access_token }}"
    status_code: 200
- name: Verify Kafka CRD
  k8s_facts:
    api_version: apiextensions.k8s.io/v1beta1
    kind: CustomResourceDefinition
    name: kafkas.kafka.strimzi.io
  register: r_kafka_crd
  failed_when: r_kafka_crd.resources | list | length != 1
- name: verify Kafka operator pod is running
  k8s_facts:
    api_version: v1
    kind: Pod
    namespace: openshift-operators
    label_selectors:
      - name=amq-streams-cluster-operator
    field_selectors:
      - status.phase=Running
  register: r_amq_operator_pod
  failed_when: r_amq_operator_pod.resources | list | length != 1
- name: Verify Jaeger CRD
  k8s_facts:
    api_version: apiextensions.k8s.io/v1beta1
    kind: CustomResourceDefinition
    name: jaegers.jaegertracing.io
  register: r_jaeger_crd
  failed_when: r_jaeger_crd.resources | list | length != 1
- name: verify Jaeger operator pod is running
  k8s_facts:
    api_version: v1
    kind: Pod
    namespace: openshift-operators
    label_selectors:
      - name = jaeger-operator
  register: r_jaeger_operator_pod
  failed_when: r_jaeger_operator_pod.resources | list | length != 1
- name: verify user workspaces are started
  include_tasks: confirm_che_workspace.yaml
  vars:
    user: "{{ item }}"
  with_list: "{{ users }}"
# Leave this as the last task in the playbook.
- name: workload verification tasks complete
  debug:
    msg: "Workload Tasks completed successfully."
  when: not silent|bool
ansible/roles/ocp4-workload-quarkus-workshop/tasks/workload.yml
@@ -2,12 +2,6 @@
---
# Implement your Workload deployment tasks here
# Nuke quotas
- name: TODO - need to replace with proper quotas
  shell: |
         oc delete userquota/default
  ignore_errors: true
# Access for admin
- name: Give access to opentlc-mgr
  shell: |