- name: Include OS-specific variables include_vars: "{{ lookup('first_found', params) }}" vars: params: files: "{{ distro_lookup_path }}" paths: - 'vars' - name: Install PPAs include_role: name: install-apt-repo vars: repo_name: "{{ item.name }}" repo_key: "{{ item.key }}" repo_content: "{{ item.content }}" loop: '{{ zuul_executor_ppas }}' - name: Write key for talking to nodepool nodes copy: content: '{{ nodepool_test_node_ssh_private_key_contents }}' dest: /var/lib/zuul/ssh/nodepool_id_rsa mode: 0400 owner: '{{ zuul_user }}' group: '{{ zuul_group }}' - name: Create Zuul Executor directories file: state: directory path: '{{ item }}' owner: '{{ zuul_user }}' group: '{{ zuul_group }}' loop: - /var/lib/zuul/builds - /var/lib/zuul/git - name: Set up cron job to pack git refs cron: name: pack-git-refs state: present job: 'find /var/lib/zuul/git/ -maxdepth 3 -type d -name ".git" -exec git --git-dir="{}" pack-refs --all \;' minute: '7' hour: '4' - name: Install logging config copy: src: logging.conf dest: /etc/zuul/executor-logging.conf - name: Rotate executor logs include_role: name: logrotate vars: logrotate_file_name: /var/log/zuul/executor.log - name: Rotate executor debug logs include_role: name: logrotate vars: logrotate_file_name: /var/log/zuul/executor-debug.log - name: Make docker systemd override directory file: state: directory path: /etc/systemd/system/docker.service.d - name: Install docker systemd override for openafs ordering copy: src: after-afs.conf dest: /etc/systemd/system/docker.service.d/after-afs.conf - name: Make docker-compose directory file: state: directory path: /etc/zuul-executor - name: Install docker-compose file copy: src: docker-compose.yaml dest: /etc/zuul-executor/docker-compose.yaml - name: Run docker-compose pull shell: cmd: docker-compose pull chdir: /etc/zuul-executor - name: Start containers include_tasks: start.yaml when: zuul_executor_start | bool # We can prune here as it should leave the "latest" tagged images # as well as the currently running images. - name: Run docker prune to cleanup unneeded images shell: cmd: docker image prune -f - name: Disable old service service: name: zuul-executor enabled: no failed_when: false - name: Remove old init script files file: state: absent path: '{{ item }}' loop: - /etc/default/zuul-executor - /etc/init.d/zuul-executor