Skip to content
Snippets Groups Projects
main.yml 3.13 KiB
Newer Older
  • Learn to ignore specific revisions
  • Marica Antonacci's avatar
    Marica Antonacci committed
    ---
    # tasks file for paas-ci
    - name: "Check Orchestrator endpoint"
      uri:
        url: "{{ paas_ci_orchestrator_url }}"
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    - debug:
    
        var: paas_ci_workdir  
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    - block:
      - name: Get template
        get_url:
    
    Marica Antonacci's avatar
    Marica Antonacci committed
          url: "{{ paas_ci_test.template_url }}"
    
          dest: "{{ paas_ci_workdir + '/template.yaml' }}"  
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    
      - name: Deployment command
        set_fact:
    
          depcreate_cmd: "orchent depcreate --ojson template.yaml -g admins/beta-testers {{ paas_ci_test.inputs }}"
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    
      - name:  Create the deployment
        command: "{{depcreate_cmd}}"
    
    Marica Antonacci's avatar
    Marica Antonacci committed
        args:
    
    Marica Antonacci's avatar
    Marica Antonacci committed
          chdir: "{{ paas_ci_workdir }}"
    
    Marica Antonacci's avatar
    Marica Antonacci committed
        register: depcreate_output
        failed_when: "'CREATE' not in depcreate_output.stdout"
    
      - set_fact:
          deployment: "{{ depcreate_output.stdout|from_json }}"
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
      - debug:
          var: deployment
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
      - name: Sleep for 60 seconds and timeout
        wait_for:
          delay: 60
          timeout: 0
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
      - 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"
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
      - set_fact:
          deployment: "{{ depshow_output.stdout|from_json }}"
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
      - 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:
    
    qweqweasdasd's avatar
    qweqweasdasd committed
      - set_fact:
          endpoints_to_scan: "{{  paas_ci_test.endpoints_to_scan }}" 
    
    
    qweqweasdasd's avatar
    qweqweasdasd committed
      - debug: 
    
    qweqweasdasd's avatar
    qweqweasdasd committed
          var: endpoints_to_scan
    
    qweqweasdasd's avatar
    qweqweasdasd committed
          
    
      - name: Concatenate endpoints_to_scan items
        set_fact:
    
    qweqweasdasd's avatar
    qweqweasdasd committed
          endpoints_to_scan_list: "{{ endpoints_to_scan | join(',')  }}"
    
    qweqweasdasd's avatar
    qweqweasdasd committed
      - debug: 
    
          var: endpoints_to_scan_list
    
    
      - name:  Run scan
    
        command: python3 /home/gmp/script.py "{{ endpoints_to_scan_list }}" "{{ paas_ci_workdir }} '/dep.json'" "{{ paas_ci_workdir }} + '/report.txt'" "{{ paas_ci_workdir }} + '/severity'" 
    
        register: scan_output
        
    
      - name: show report
    
        command: cat "{{ paas_ci_workdir }} + '/report.txt'"
        register: report_output
        
      - name: show report
        debug:
          var: report_output
        
      - 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'
    
    
    Marica Antonacci's avatar
    Marica Antonacci committed
    - 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'