Blame tests/configure_zuul_jobs.yml

16ce504
- name: Install dulwich
16ce504
  package:
16ce504
    name: python3-dulwich
16ce504
    state: present
16ce504
  become: true
16ce504
16ce504
- name: Create a local git repository
16ce504
  shell: git init {{ ansible_user_dir }}/zuul-config
16ce504
16ce504
- name: Create .zuul.yaml
16ce504
  copy:
16ce504
    src: zuul.yaml
16ce504
    dest: "{{ ansible_user_dir }}/zuul-config/.zuul.yaml"
16ce504
16ce504
- name: Create my-noop.yaml
16ce504
  copy:
16ce504
    src: my-noop.yaml
16ce504
    dest: "{{ ansible_user_dir }}/zuul-config/my-noop.yaml"
16ce504
16ce504
- name: Commit zuul-config changes
16ce504
  shell: "{{ item }}"
16ce504
  register: cmd
16ce504
  failed_when:
16ce504
    - cmd.rc != 0
16ce504
    - not "'nothing to commit' in cmd.stdout"
16ce504
  args:
16ce504
    chdir: "{{ ansible_user_dir }}/zuul-config/"
16ce504
  loop:
16ce504
    - git config user.name "John Doe"
16ce504
    - git config user.email "john@localhost"
16ce504
    - git add -A .
16ce504
    - git commit -m"Init demo config"
16ce504
16ce504
- name: Ensure dulwich down
16ce504
  shell: pkill -f web-daemon
16ce504
  ignore_errors: true
16ce504
16ce504
# https://bugzilla.redhat.com/show_bug.cgi?id=1866463
16ce504
- name: Ensure dulwich running
16ce504
  shell: "python3 /usr/lib64/python3.9/site-packages/dulwich/cli.py web-daemon -l 0.0.0.0 / &"
16ce504
16ce504
- name: Add the git connection into the zuul config
16ce504
  blockinfile:
16ce504
    path: /etc/zuul/zuul.conf
16ce504
    marker: "# {mark} local_git"
16ce504
    block: |
16ce504
      [connection local_git]
16ce504
      driver=git
16ce504
      baseurl=http://localhost:8000/{{ ansible_user_dir }}
b3e63da
      poll_delay=30
16ce504
  become: true
16ce504
16ce504
- name: Setup the Zuul default tenant to load zuul-config
16ce504
  copy:
16ce504
    src: main.yaml
16ce504
    dest: /etc/zuul/main.yaml
16ce504
  become: true
16ce504
16ce504
- name: Restart Zuul components
16ce504
  service:
16ce504
    name: "{{ item }}"
16ce504
    state: restarted
16ce504
  become: true
16ce504
  loop:
16ce504
    - zuul-scheduler
16ce504
    - zuul-executor
16ce504
    - zuul-web
16ce504
16ce504
- name: Give some time to services to fully start
16ce504
  pause:
16ce504
    seconds: 15
16ce504
16ce504
- name: Check zuul services are up
16ce504
  shell: systemctl is-active {{ item }}
16ce504
  loop:
16ce504
    - zuul-scheduler
16ce504
    - zuul-executor
16ce504
    - zuul-web
16ce504
  become: true
16ce504
16ce504
- name: Give some time to Zuul to trigger and execute the job
16ce504
  pause:
16ce504
    minutes: 2
16ce504
16ce504
- name: Ensure the my-noop job was executed
16ce504
  shell: python -c "import requests; r = requests.get('http://localhost/api/tenant/default/builds').json(); assert r[0]['job_name'] == 'my-noop'; assert r[0]['result'] == 'SUCCESS'"