--- # tasks file for paas-ci - name: "Check Orchestrator endpoint" uri: url: "{{ paas_ci_orchestrator_url }}" - debug: var: paas_ci_workdir - block: - name: Get template get_url: url: "{{ paas_ci_test.template_url }}" dest: "{{ paas_ci_workdir + '/template.yaml' }}" - name: Deployment command set_fact: depcreate_cmd: "orchent depcreate --ojson template.yaml -g admins/beta-testers {{ paas_ci_test.inputs }}" - name: Create the deployment command: "{{depcreate_cmd}}" args: chdir: "{{ paas_ci_workdir }}" register: depcreate_output failed_when: "'CREATE' not in depcreate_output.stdout" - set_fact: deployment: "{{ depcreate_output.stdout|from_json }}" - debug: var: deployment - name: Sleep for 60 seconds and timeout wait_for: delay: 60 timeout: 0 - name: Check the deployment status (every 5 mins) command: orchent depshow --ojson "{{ deployment.uuid }}" register: depshow_output until: "'PROGRESS' not in depshow_output.stdout" retries: 10 delay: 300 failed_when: "'error' in depshow_output.stdout" - set_fact: deployment: "{{ depshow_output.stdout|from_json }}" - name: Save result to file copy: dest: "{{ paas_ci_workdir }}/dep.json" content: "{{ depshow_output.stdout }}" - name: Get deployment status and outputs (if successful) assert: that: - deployment.status == 'CREATE_COMPLETE' fail_msg: "TEST FAILED - deployment uuid: {{ deployment.uuid }}, status: {{ deployment.status }}" success_msg: "TEST PASSED - deployment uuid: {{ deployment.uuid }}, status: {{ deployment.status }}, outputs: {{ deployment.outputs }}" when: paas_ci_test_step == 'create_deployment' - block: - set_fact: endpoints_to_scan: "{{ paas_ci_test.endpoints_to_scan }}" - debug: var: endpoints_to_scan - name: Run scan command: python3 /home/gmp/script.py "{{ endpoints_to_scan }}" "{{ paas_ci_workdir + '/dep.json'}}" "{{ paas_ci_workdir }}" register: scan_output - name: display all reports ansible.builtin.debug: var=item with_file: - "{{ paas_ci_workdir + '/*reports.txt'}}" - name: display all severities ansible.builtin.debug: var=item with_file: - "{{ paas_ci_workdir + '/*severity.txt'}}" - name: Get scan outputs (if successful) assert: that: - deployment.status == 'CREATE_COMPLETE' fail_msg: "TEST FAILED - deployment uuid: {{ deployment.uuid }}, status: {{ deployment.status }}" success_msg: "TEST PASSED - deployment uuid: {{ deployment.uuid }}, status: {{ deployment.status }}, outputs: {{ deployment.outputs }}" when: paas_ci_test_step == 'scan' - block: - set_fact: deployment: "{{ lookup('file', paas_ci_workdir + '/dep.json') }}" - name: Delete deployment command: orchent depdel "{{ deployment.uuid }}" register: depdel_output failed_when: "'error' in depdel_output.stdout" when: paas_ci_test_step == 'clean'