116 lines
3.3 KiB
YAML
116 lines
3.3 KiB
YAML
---
|
|
- name: Sync Local Development Files to Workers
|
|
hosts: airflow_workers
|
|
gather_facts: no
|
|
vars_files:
|
|
- "{{ inventory_dir }}/group_vars/all/generated_vars.yml"
|
|
|
|
pre_tasks:
|
|
- name: Announce local sync
|
|
debug:
|
|
msg: "Syncing local dev files to {{ inventory_hostname }} at {{ airflow_worker_dir }}"
|
|
|
|
tasks:
|
|
- name: Ensure python3-pip is installed
|
|
ansible.builtin.apt:
|
|
name: python3-pip
|
|
state: present
|
|
update_cache: yes
|
|
become: yes
|
|
|
|
- name: Check if yt-dlp is installed
|
|
ansible.builtin.command: which yt-dlp
|
|
register: ytdlp_check
|
|
changed_when: false
|
|
failed_when: false
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Install yt-dlp if not found
|
|
ansible.builtin.command: python3 -m pip install -U "yt-dlp[default]" --break-system-packages
|
|
when: ytdlp_check.rc != 0
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Sync thrift_model directory to workers
|
|
ansible.posix.synchronize:
|
|
src: ../thrift_model/
|
|
dest: "{{ airflow_worker_dir }}/thrift_model/"
|
|
rsync_opts:
|
|
- "--delete"
|
|
- "--exclude=.DS_Store"
|
|
- "--exclude=__pycache__"
|
|
- "--exclude='*.pyc'"
|
|
recursive: yes
|
|
perms: yes
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Sync pangramia package to workers
|
|
ansible.posix.synchronize:
|
|
src: ../pangramia/
|
|
dest: "{{ airflow_worker_dir }}/pangramia/"
|
|
rsync_opts:
|
|
- "--delete"
|
|
- "--exclude=.DS_Store"
|
|
- "--exclude=__pycache__"
|
|
- "--exclude='*.pyc'"
|
|
recursive: yes
|
|
perms: yes
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Sync ytops_client directory to workers
|
|
ansible.posix.synchronize:
|
|
src: ../ytops_client/
|
|
dest: "{{ airflow_worker_dir }}/ytops_client/"
|
|
rsync_opts:
|
|
- "--delete"
|
|
- "--exclude=.DS_Store"
|
|
- "--exclude=__pycache__"
|
|
- "--exclude='*.pyc'"
|
|
recursive: yes
|
|
perms: yes
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Sync policies directory to workers
|
|
ansible.posix.synchronize:
|
|
src: ../policies/
|
|
dest: "{{ airflow_worker_dir }}/policies/"
|
|
rsync_opts:
|
|
- "--delete"
|
|
- "--exclude=.DS_Store"
|
|
- "--exclude=__pycache__"
|
|
- "--exclude='*.pyc'"
|
|
recursive: yes
|
|
perms: yes
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Ensure bin directory exists on workers for client utilities
|
|
ansible.builtin.file:
|
|
path: "{{ airflow_worker_dir }}/bin"
|
|
state: directory
|
|
mode: '0755'
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|
|
|
|
- name: Sync client utility scripts to workers
|
|
ansible.posix.synchronize:
|
|
src: "../{{ item }}"
|
|
dest: "{{ airflow_worker_dir }}/{{ item }}"
|
|
perms: yes
|
|
loop:
|
|
- "README.client.md"
|
|
- "cli.config"
|
|
- "format_download.py"
|
|
- "get_info_json_client.py"
|
|
- "list_formats.py"
|
|
- "stress_test_formats.py"
|
|
- "stress_enhanced.py"
|
|
- "package_client.py"
|
|
- "bin/ytops-client"
|
|
become: yes
|
|
become_user: "{{ ansible_user }}"
|