saltyorg / Saltbox

Ansible-based solution for rapidly deploying a Docker containerized cloud media server.
https://docs.saltbox.dev
GNU General Public License v3.0
573 stars 65 forks source link

plex_dupefinder : ModuleNotFoundError #54

Closed gaiserik closed 2 years ago

gaiserik commented 2 years ago

Describe the bug plex_dupefinder

Traceback (most recent call last):
  File "/usr/local/bin/plex_dupefinder", line 9, in <module>
    from tabulate import tabulate
ModuleNotFoundError: No module named 'tabulate'

To Reproduce Steps to reproduce the behavior: sb install plex_dupefinder and launch plex_dupefinder

Logs


Running Saltbox Tags: plex_dupefinder

ansible-playbook [core 2.12.1]
  config file = /srv/git/saltbox/ansible.cfg
  configured module search path = ['/root/.ansible/plugins/modules', '/usr/share                                                                                                                                                             /ansible/plugins/modules']
  ansible python module location = /usr/local/lib/python3.8/dist-packages/ansibl                                                                                                                                                             e
  ansible collection location = /root/.ansible/collections:/usr/share/ansible/co                                                                                                                                                             llections
  executable location = /usr/local/bin/ansible-playbook
  python version = 3.8.10 (default, Nov 26 2021, 20:14:08) [GCC 9.3.0]
  jinja version = 2.10.1
  libyaml = True
Using /srv/git/saltbox/ansible.cfg as config file
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/01_syste                                                                                                                                                             m.yml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansib                                                                                                                                                             le_version.yml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/03_pytho                                                                                                                                                             n_version.yml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/04_ansib                                                                                                                                                             le_tags.yml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/05_backu                                                                                                                                                             p.yml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/06_logs.                                                                                                                                                             yml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/07_tmp.y                                                                                                                                                             ml
statically imported: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/08_setti                                                                                                                                                             ngs.yml
statically imported: /srv/git/saltbox/roles/pre_tasks/tasks/subtasks/apt.yml
statically imported: /srv/git/saltbox/roles/backup/tasks/sanity_check.yml
statically imported: /srv/git/saltbox/roles/backup/tasks/variables.yml
statically imported: /srv/git/saltbox/roles/backup/tasks/cron.yml
statically imported: /srv/git/saltbox/roles/backup/tasks/snapshot.yml
statically imported: /srv/git/saltbox/roles/backup/tasks/restore_service.yml
redirecting (type: action) ansible.builtin.synchronize to ansible.posix.synchron                                                                                                                                                             ize
statically imported: /srv/git/saltbox/roles/restore/tasks/variables.yml
statically imported: /srv/git/saltbox/roles/restore/tasks/restore_remote.yml
statically imported: /srv/git/saltbox/roles/restore/tasks/permissions.yml
statically imported: /srv/git/saltbox/roles/hetzner/tasks/subtasks/hetzner.yml
statically imported: /srv/git/saltbox/roles/user/tasks/subtasks/user_account.yml
statically imported: /srv/git/saltbox/roles/rclone/tasks/subtasks/01_build_url.y                                                                                                                                                             ml
statically imported: /srv/git/saltbox/roles/rclone/tasks/subtasks/02_install_bin                                                                                                                                                             ary.yml
statically imported: /srv/git/saltbox/roles/rclone/tasks/subtasks/03_import_conf                                                                                                                                                             ig.yml
statically imported: /srv/git/saltbox/roles/system/tasks/subtasks/logrotate.yml
statically imported: /srv/git/saltbox/roles/system/tasks/subtasks/network.yml
statically imported: /srv/git/saltbox/roles/system/tasks/subtasks/mounts.yml
redirecting (type: modules) ansible.builtin.mount to ansible.posix.mount
statically imported: /srv/git/saltbox/roles/system/tasks/subtasks/timezone.yml
statically imported: /srv/git/saltbox/roles/system/tasks/subtasks/locale.yml
redirecting (type: modules) ansible.builtin.locale_gen to community.general.loca                                                                                                                                                             le_gen
redirecting (type: modules) ansible.builtin.locale_gen to community.general.loca                                                                                                                                                             le_gen
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_fi                                                                                                                                                             le
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
statically imported: /srv/git/saltbox/roles/docker/tasks/subtasks/daemon.yml
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_fi                                                                                                                                                             le
statically imported: /srv/git/saltbox/roles/docker/tasks/subtasks/network.yml
redirecting (type: modules) ansible.builtin.docker_network to community.docker.d                                                                                                                                                             ocker_network
redirecting (type: modules) ansible.builtin.docker_network to community.docker.d                                                                                                                                                             ocker_network
redirecting (type: modules) ansible.builtin.docker_network to community.docker.d                                                                                                                                                             ocker_network
redirecting (type: modules) ansible.builtin.docker_network to community.docker.d                                                                                                                                                             ocker_network
statically imported: /srv/git/saltbox/roles/docker/tasks/subtasks/housekeeping.y                                                                                                                                                             ml
statically imported: /srv/git/saltbox/roles/docker/tasks/subtasks/dockerhub.yml
statically imported: /srv/git/saltbox/roles/docker/tasks/subtasks/dns.yml
statically imported: /srv/git/saltbox/roles/remote/tasks/subtasks/variables.yml
statically imported: /srv/git/saltbox/roles/remote/tasks/subtasks/containers.yml
statically imported: /srv/git/saltbox/roles/remote/tasks/subtasks/basics.yml
statically imported: /srv/git/saltbox/roles/unionfs/tasks/subtasks/variables.yml
statically imported: /srv/git/saltbox/roles/unionfs/tasks/subtasks/docker/contai                                                                                                                                                             ners_stop.yml
statically imported: /srv/git/saltbox/roles/unionfs/tasks/subtasks/mount_path.ym                                                                                                                                                             l
statically imported: /srv/git/saltbox/roles/unionfs/tasks/subtasks/basics.yml
statically imported: /srv/git/saltbox/roles/unionfs/tasks/subtasks/docker/daemon                                                                                                                                                             .yml
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_fi                                                                                                                                                             le
statically imported: /srv/git/saltbox/roles/unionfs/tasks/subtasks/docker/contai                                                                                                                                                             ners_start.yml
statically imported: /srv/git/saltbox/roles/authelia/tasks/subtasks/settings.yml
statically imported: /srv/git/saltbox/roles/traefik/tasks/subtasks/zerossl.yml
statically imported: /srv/git/saltbox/roles/traefik/tasks/subtasks/config.yml
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/variables.                                                                                                                                                             yml
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/subdomains                                                                                                                                                             .yml
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/subdomains                                                                                                                                                             /add_subdomain.yml
redirecting (type: modules) ansible.builtin.cloudflare_dns to community.general.                                                                                                                                                             cloudflare_dns
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/subdomains                                                                                                                                                             /remove_subdomain.yml
redirecting (type: modules) ansible.builtin.cloudflare_dns to community.general.                                                                                                                                                             cloudflare_dns
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/purge_cach                                                                                                                                                             e.yml
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/page_rules                                                                                                                                                             .yml
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/page_rules                                                                                                                                                             /remove_page_rule.yml
statically imported: /srv/git/saltbox/roles/cloudflare/tasks/subtasks/page_rules                                                                                                                                                             /add_page_rule.yml
statically imported: /srv/git/saltbox/roles/plex/tasks/subtasks/pre-install/main                                                                                                                                                             .yml
statically imported: /srv/git/saltbox/roles/plex/tasks/subtasks/preferences/pref                                                                                                                                                             erences.yml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
statically imported: /srv/git/saltbox/roles/plex/tasks/subtasks/preferences/clai                                                                                                                                                             m_server.yml
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_fi                                                                                                                                                             le
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_fi                                                                                                                                                             le
statically imported: /srv/git/saltbox/roles/plex/tasks/subtasks/post-install/mai                                                                                                                                                             n.yml
statically imported: /srv/git/saltbox/roles/plex/tasks/subtasks/post-install/upd                                                                                                                                                             ate_ports.yml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
statically imported: /srv/git/saltbox/roles/plex_extra_tasks/tasks/main2.yml
statically imported: /srv/git/saltbox/roles/plex_extra_tasks/tasks/subtasks/post                                                                                                                                                             _install_checks.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
statically imported: /srv/git/saltbox/roles/plex_extra_tasks/tasks/subtasks/sett                                                                                                                                                             ings/db_cache_size.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
statically imported: /srv/git/saltbox/roles/plex_autoscan/tasks/subtasks/service                                                                                                                                                             s.yml
statically imported: /srv/git/saltbox/roles/plex_autoscan/tasks/subtasks/setting                                                                                                                                                             s.yml
statically imported: /srv/git/saltbox/roles/cloudplow/tasks/subtasks/settings.ym                                                                                                                                                             l
statically imported: /srv/git/saltbox/roles/nzbget/tasks/subtasks/post-install/m                                                                                                                                                             ain.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
statically imported: /srv/git/saltbox/roles/nzbget/tasks/subtasks/post-install/s                                                                                                                                                             cripts/main.yml
statically imported: /srv/git/saltbox/roles/nzbget/tasks/subtasks/post-install/s                                                                                                                                                             ettings/main.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker                                                                                                                                                             .docker_container
statically imported: /srv/git/saltbox/roles/rutorrent/tasks/subtasks/pre-install/main.yml
statically imported: /srv/git/saltbox/roles/rutorrent/tasks/subtasks/post-install/main.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
statically imported: /srv/git/saltbox/roles/rutorrent/tasks/subtasks/post-install/settings/main.yml
statically imported: /srv/git/saltbox/roles/rutorrent/tasks/subtasks/post-install/settings/new_installs.yml
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_file
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_file
statically imported: /srv/git/saltbox/roles/rutorrent/tasks/subtasks/post-install/settings/existing_installs.yml
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_file
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
statically imported: /srv/git/saltbox/roles/nzbhydra2/tasks/subtasks/post-install/main.yml
statically imported: /srv/git/saltbox/roles/nzbhydra2/tasks/subtasks/post-install/settings.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
statically imported: /srv/git/saltbox/roles/sonarr/tasks/subtasks/post-install/main.yml
statically imported: /srv/git/saltbox/roles/sonarr/tasks/subtasks/post-install/update_ports.yml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
statically imported: /srv/git/saltbox/roles/radarr/tasks/subtasks/post-install/main.yml
statically imported: /srv/git/saltbox/roles/radarr/tasks/subtasks/post-install/update_ports.yml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
statically imported: /srv/git/saltbox/roles/authelia/tasks/subtasks/settings.yml
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_file
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_file
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
statically imported: /srv/git/saltbox/roles/emby/tasks/subtasks/post-install.yml
statically imported: /srv/git/saltbox/roles/emby/tasks/subtasks/settings.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
statically imported: /srv/git/saltbox/roles/netdata/tasks/subtasks/settings.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
statically imported: /srv/git/saltbox/roles/sabnzbd/tasks/subtasks/post-install/main.yml
statically imported: /srv/git/saltbox/roles/sabnzbd/tasks/subtasks/post-install/settings.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.ini_file to community.general.ini_file
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
statically imported: /srv/git/saltbox/roles/autoscan/tasks/subtasks/settings.yml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
statically imported: /srv/git/saltbox/roles/jellyfin/tasks/subtasks/preinstall.yml
statically imported: /srv/git/saltbox/roles/jellyfin/tasks/subtasks/postinstall.yml
statically imported: /srv/git/saltbox/roles/jellyfin/tasks/subtasks/settings.yml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.xml to community.general.xml
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: modules) ansible.builtin.docker_container to community.docker.docker_container
redirecting (type: callback) ansible.builtin.profile_tasks to ansible.posix.profile_tasks
Skipping callback 'default', as we already have a stdout callback.
Skipping callback 'minimal', as we already have a stdout callback.
Skipping callback 'oneline', as we already have a stdout callback.

PLAYBOOK: saltbox.yml **********************************************************
1 plays in /srv/git/saltbox/saltbox.yml

PLAY [localhost] ***************************************************************

TASK [Gathering Facts] *********************************************************
task path: /srv/git/saltbox/saltbox.yml:2
Thursday 13 January 2022  18:45:09 +0100 (0:00:00.714)       0:00:00.714 ******
ok: [localhost]
META: ran handlers
META:

TASK [sanity_check : System | Ensure Ansible is running on Ubuntu 20.04] *******
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/01_system.yml:10
Thursday 13 January 2022  18:45:17 +0100 (0:00:07.756)       0:00:08.471 ******
ok: [localhost] => {
    "changed": false,
    "msg": "System is running Ubuntu 20.04.3 LTS."
}

TASK [sanity_check : Find Ansible version] *************************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:10
Thursday 13 January 2022  18:45:17 +0100 (0:00:00.081)       0:00:08.552 ******
changed: [localhost] => {"changed": true, "cmd": "python3 -c 'from ansible_collections.ansible_release import ansible_version; print(ansible_version)'", "delta": "0:00:00.036154", "end": "2022-01-13 18:45:17.797318", "msg": "", "rc": 0, "start": "2022-01-13 18:45:17.761164", "stderr": "", "stderr_lines": [], "stdout": "5.1.0", "stdout_lines": ["5.1.0"]}

TASK [sanity_check : Print Ansible version] ************************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:14
Thursday 13 January 2022  18:45:17 +0100 (0:00:00.548)       0:00:09.101 ******
ok: [localhost] => {
    "msg": [
        "Installed Ansible version: 5.1.0.",
        "Installed Ansible Core version: 2.12.1."
    ]
}

TASK [sanity_check : Check if Ansible needs upgrading] *************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:20
Thursday 13 January 2022  18:45:17 +0100 (0:00:00.062)       0:00:09.164 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [sanity_check : Upgrade Ansible] ******************************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:25
Thursday 13 January 2022  18:45:17 +0100 (0:00:00.063)       0:00:09.228 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [sanity_check : Upgrade Ansible | Print Instructions] *********************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:34
Thursday 13 January 2022  18:45:18 +0100 (0:00:00.062)       0:00:09.291 ******
skipping: [localhost] => {}

TASK [sanity_check : Upgrade Ansible | Exit] ***********************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:40
Thursday 13 January 2022  18:45:18 +0100 (0:00:00.068)       0:00:09.359 ******
META:
skipping: [localhost] => {"msg": "", "skip_reason": "end_play conditional evaluated to False, continuing play"}

TASK [sanity_check : Python Version | Ensure Ansible is running on Python 3.8+] ***
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/03_python_version.yml:10
Thursday 13 January 2022  18:45:18 +0100 (0:00:00.071)       0:00:09.431 ******
ok: [localhost] => {
    "changed": false,
    "msg": "Ansible running on Python version: 3.8.10"
}

TASK [sanity_check : Ansible Tags | Get all available Ansible tags] ************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/04_ansible_tags.yml:10
Thursday 13 January 2022  18:45:18 +0100 (0:00:00.066)       0:00:09.497 ******
ok: [localhost] => {"changed": false, "cmd": "ansible-playbook saltbox.yml --list-tags 2>&1 | grep \"TASK TAGS\" \\\n  | cut -d\":\" -f2 | awk '{sub(/\\[/, \"\")sub(/\\]/, \"\")}1' | sed -e 's/,//g' | xargs -n 1 | sort -u\n", "delta": "0:00:04.036822", "end": "2022-01-13 18:45:22.522446", "msg": "", "rc": 0, "start": "2022-01-13 18:45:18.485624", "stderr": "", "stderr_lines": [], "stdout": "always\nasshama\nauthelia\nautoscan\nbackup\nbpytop\nbtrfsmaintenance\ncloudflare\ncloudplow\ncommon\ncommunity\ncore\nctop\ncustom\nddclient\ndocker\ndocker-housekeeping\nemby\nfeederbox\nglances\nhetzner\niperf3\njackett\njellyfin\nkernel\nlidarr\nmariadb\nmediabox\nmongodb\nmotd\nmounts\nmounts_override\nnetdata\nnethogs\nnginx\nnvidia\nnzbget\nnzbhydra2\nnzbthrottle\nopt-permissions-reset\norganizr\noverseerr\npetio\nplex\nplex_auth_token\nplex_autoscan\nplex-db-cache-size\nplex_dupefinder\nplex-extra-tasks\nplex_patrol\nplex-plugins-sub-zero\nplex-plugins-sub-zero-reinstall\nplex-plugins-webtools\nplex-plugins-webtools-reinstall\nportainer\npreinstall\npre_tasks\nprowlarr\npython-plexlibrary\nradarr\nrclone\nredis\nrestore\nrestore-service\nrutorrent\nsabnzbd\nsaltbox\nsaltbox-restore-service\nsandbox\nsanity_check\nscripts\nset-backup\nset-locale\nset-timezone\nsettings\nshell\nsonarr\nsstv\nsubliminal\nsystem\ntautulli\ntrackarr\ntraefik\ntraefik_reset_certs\ntraktarr\ntransfer\nuser\nyyq", "stdout_lines": ["always", "asshama", "authelia", "autoscan", "backup", "bpytop", "btrfsmaintenance", "cloudflare", "cloudplow", "common", "community", "core", "ctop", "custom", "ddclient", "docker", "docker-housekeeping", "emby", "feederbox", "glances", "hetzner", "iperf3", "jackett", "jellyfin", "kernel", "lidarr", "mariadb", "mediabox", "mongodb", "motd", "mounts", "mounts_override", "netdata", "nethogs", "nginx", "nvidia", "nzbget", "nzbhydra2", "nzbthrottle", "opt-permissions-reset", "organizr", "overseerr", "petio", "plex", "plex_auth_token", "plex_autoscan", "plex-db-cache-size", "plex_dupefinder", "plex-extra-tasks", "plex_patrol", "plex-plugins-sub-zero", "plex-plugins-sub-zero-reinstall", "plex-plugins-webtools", "plex-plugins-webtools-reinstall", "portainer", "preinstall", "pre_tasks", "prowlarr", "python-plexlibrary", "radarr", "rclone", "redis", "restore", "restore-service", "rutorrent", "sabnzbd", "saltbox", "saltbox-restore-service", "sandbox", "sanity_check", "scripts", "set-backup", "set-locale", "set-timezone", "settings", "shell", "sonarr", "sstv", "subliminal", "system", "tautulli", "trackarr", "traefik", "traefik_reset_certs", "traktarr", "transfer", "user", "yyq"]}

TASK [sanity_check : Ansible Tags | Ensure valid Ansible tag(s) were provided] ***
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/04_ansible_tags.yml:18
Thursday 13 January 2022  18:45:22 +0100 (0:00:04.326)       0:00:13.823 ******
ok: [localhost] => (item=plex_dupefinder) => {"ansible_loop_var": "item", "changed": false, "item": "plex_dupefinder", "msg": "All assertions passed"}

TASK [sanity_check : Backup | Check if 'backup.lock' is present] ***************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/05_backup.yml:10
Thursday 13 January 2022  18:45:22 +0100 (0:00:00.093)       0:00:13.917 ******
ok: [localhost] => {"changed": false, "stat": {"exists": false}}

TASK [sanity_check : Backup | Get age of 'backup.lock' file] *******************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/05_backup.yml:16
Thursday 13 January 2022  18:45:23 +0100 (0:00:00.505)       0:00:14.422 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [sanity_check : Backup | Delete stale 'backup.lock'] **********************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/05_backup.yml:22
Thursday 13 January 2022  18:45:23 +0100 (0:00:00.059)       0:00:14.481 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [sanity_check : Backup | Fail when 'backup.lock' exists] ******************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/05_backup.yml:28
Thursday 13 January 2022  18:45:23 +0100 (0:00:00.061)       0:00:14.542 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [sanity_check : Logs | Get 'saltbox.yml' info] ****************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/06_logs.yml:10
Thursday 13 January 2022  18:45:23 +0100 (0:00:00.056)       0:00:14.599 ******
ok: [localhost] => {"changed": false, "stat": {"atime": 1641838429.4430397, "attr_flags": "e", "attributes": ["extents"], "block_size": 4096, "blocks": 16, "charset": "us-ascii", "checksum": "f2b887f03856609feb87d808b666b8fd24ca6471", "ctime": 1641838429.523039, "dev": 64773, "device_type": 0, "executable": false, "exists": true, "gid": 1000, "gr_name": "skullknight", "inode": 165937728, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "text/plain", "mode": "0644", "mtime": 1641838429.4430397, "nlink": 1, "path": "/srv/git/saltbox/saltbox.yml", "pw_name": "skullknight", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 5117, "uid": 1000, "version": "3835694510", "wgrp": false, "woth": false, "writeable": true, "wusr": true, "xgrp": false, "xoth": false, "xusr": false}}

TASK [sanity_check : Logs | Touch 'saltbox.log'] *******************************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/06_logs.yml:15
Thursday 13 January 2022  18:45:23 +0100 (0:00:00.308)       0:00:14.908 ******
changed: [localhost] => {"changed": true, "dest": "/srv/git/saltbox/saltbox.log", "gid": 1000, "group": "skullknight", "mode": "0664", "owner": "skullknight", "size": 35000, "state": "file", "uid": 1000}

TASK [sanity_check : Tmp | Create Ansible Temp directories] ********************
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/07_tmp.yml:10
Thursday 13 January 2022  18:45:24 +0100 (0:00:00.466)       0:00:15.375 ******
ok: [localhost] => (item=/tmp/ansible) => {"ansible_loop_var": "item", "changed": false, "gid": 0, "group": "root", "item": "/tmp/ansible", "mode": "0777", "owner": "root", "path": "/tmp/ansible", "size": 4096, "state": "directory", "uid": 0}

TASK [sanity_check : Settings | Ensure TLS validation isn't used with ZeroSSL] ***
task path: /srv/git/saltbox/roles/sanity_check/tasks/subtasks/08_settings.yml:10
Thursday 13 January 2022  18:45:24 +0100 (0:00:00.299)       0:00:15.674 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}
META: role_complete for localhost

TASK [pre_tasks : APT | Remove APT locks] **************************************
task path: /srv/git/saltbox/roles/pre_tasks/tasks/subtasks/apt.yml:10
Thursday 13 January 2022  18:45:24 +0100 (0:00:00.087)       0:00:15.762 ******
ok: [localhost] => (item=/var/lib/apt/lists/lock) => {"ansible_loop_var": "item", "changed": false, "item": "/var/lib/apt/lists/lock", "path": "/var/lib/apt/lists/lock", "state": "absent"}
ok: [localhost] => (item=/var/cache/apt/archives/lock) => {"ansible_loop_var": "item", "changed": false, "item": "/var/cache/apt/archives/lock", "path": "/var/cache/apt/archives/lock", "state": "absent"}
ok: [localhost] => (item=/var/lib/dpkg/lock) => {"ansible_loop_var": "item", "changed": false, "item": "/var/lib/dpkg/lock", "path": "/var/lib/dpkg/lock", "state": "absent"}
META: role_complete for localhost
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:

TASK [plex_dupefinder : Create plex_dupefinder directories] ********************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:10
Thursday 13 January 2022  18:45:27 +0100 (0:00:03.197)       0:00:18.960 ******
changed: [localhost] => (item=/opt/plex_dupefinder) => {"ansible_loop_var": "item", "changed": true, "gid": 1000, "group": "skullknight", "item": "/opt/plex_dupefinder", "mode": "0775", "owner": "skullknight", "path": "/opt/plex_dupefinder", "size": 302, "state": "directory", "uid": 1000}

TASK [plex_dupefinder : Clone plex_dupefinder] *********************************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:21
Thursday 13 January 2022  18:45:28 +0100 (0:00:00.432)       0:00:19.393 ******
changed: [localhost] => {"after": "393569b8f0e38937eab055b827ad9dbf6610d783", "before": "393569b8f0e38937eab055b827ad9dbf6610d783", "changed": true, "msg": "Local modifications exist.", "remote_url_changed": false}

TASK [plex_dupefinder : Install pip requirements] ******************************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:31
Thursday 13 January 2022  18:45:29 +0100 (0:00:01.021)       0:00:20.414 ******
ok: [localhost] => {"changed": false, "cmd": ["/opt/plex_dupefinder/venv/bin/pip3", "install", "-r", "/opt/plex_dupefinder/requirements.txt"], "name": null, "requirements": "/opt/plex_dupefinder/requirements.txt", "state": "present", "stderr": "", "stderr_lines": [], "stdout": "Requirement already satisfied: tabulate~=0.8.2 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 1)) (0.8.9)\nRequirement already satisfied: requests~=2.18.4 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 2)) (2.18.4)\nRequirement already satisfied: attrdict~=2.0.0 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 3)) (2.0.1)\nRequirement already satisfied: PlexAPI~=3.0.6 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 4)) (3.0.6)\nRequirement already satisfied: certifi>=2017.4.17 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (2021.10.8)\nRequirement already satisfied: idna<2.7,>=2.5 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (2.6)\nRequirement already satisfied: urllib3<1.23,>=1.21.1 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (1.22)\nRequirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (3.0.4)\nRequirement already satisfied: six in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from attrdict~=2.0.0->-r /opt/plex_dupefinder/requirements.txt (line 3)) (1.16.0)\nRequirement already satisfied: tqdm in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from PlexAPI~=3.0.6->-r /opt/plex_dupefinder/requirements.txt (line 4)) (4.62.3)\nRequirement already satisfied: websocket-client in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from PlexAPI~=3.0.6->-r /opt/plex_dupefinder/requirements.txt (line 4)) (1.2.3)\n", "stdout_lines": ["Requirement already satisfied: tabulate~=0.8.2 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 1)) (0.8.9)", "Requirement already satisfied: requests~=2.18.4 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 2)) (2.18.4)", "Requirement already satisfied: attrdict~=2.0.0 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 3)) (2.0.1)", "Requirement already satisfied: PlexAPI~=3.0.6 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from -r /opt/plex_dupefinder/requirements.txt (line 4)) (3.0.6)", "Requirement already satisfied: certifi>=2017.4.17 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (2021.10.8)", "Requirement already satisfied: idna<2.7,>=2.5 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (2.6)", "Requirement already satisfied: urllib3<1.23,>=1.21.1 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (1.22)", "Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from requests~=2.18.4->-r /opt/plex_dupefinder/requirements.txt (line 2)) (3.0.4)", "Requirement already satisfied: six in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from attrdict~=2.0.0->-r /opt/plex_dupefinder/requirements.txt (line 3)) (1.16.0)", "Requirement already satisfied: tqdm in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from PlexAPI~=3.0.6->-r /opt/plex_dupefinder/requirements.txt (line 4)) (4.62.3)", "Requirement already satisfied: websocket-client in /opt/plex_dupefinder/venv/lib/python3.8/site-packages (from PlexAPI~=3.0.6->-r /opt/plex_dupefinder/requirements.txt (line 4)) (1.2.3)"], "version": null, "virtualenv": "/opt/plex_dupefinder/venv"}

TASK [plex_dupefinder : Check config exists] ***********************************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:39
Thursday 13 January 2022  18:45:34 +0100 (0:00:05.259)       0:00:25.674 ******
ok: [localhost] => {"changed": false, "stat": {"atime": 1642095225.4535952, "attr_flags": "", "attributes": [], "block_size": 4096, "blocks": 8, "charset": "us-ascii", "checksum": "8edfda27352343e7648d5458b4655b1791d6ab0a", "ctime": 1642095085.5904522, "dev": 48, "device_type": 0, "executable": true, "exists": true, "gid": 1000, "gr_name": "skullknight", "inode": 442528, "isblk": false, "ischr": false, "isdir": false, "isfifo": false, "isgid": false, "islnk": false, "isreg": true, "issock": false, "isuid": false, "mimetype": "application/json", "mode": "0775", "mtime": 1642095085.110455, "nlink": 1, "path": "/opt/plex_dupefinder/config.json", "pw_name": "skullknight", "readable": true, "rgrp": true, "roth": true, "rusr": true, "size": 1420, "uid": 1000, "version": "28224", "wgrp": true, "woth": false, "writeable": true, "wusr": true, "xgrp": true, "xoth": true, "xusr": true}}

TASK [plex_auth_token : Auth Token | Create directories] ***********************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:10
Thursday 13 January 2022  18:45:34 +0100 (0:00:00.298)       0:00:25.972 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Check if PIN exists] **********************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:18
Thursday 13 January 2022  18:45:34 +0100 (0:00:00.073)       0:00:26.046 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Set plex_auth_client_identifier] **********
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:23
Thursday 13 January 2022  18:45:34 +0100 (0:00:00.071)       0:00:26.117 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Set plex_auth_client_identifier] **********
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:28
Thursday 13 January 2022  18:45:34 +0100 (0:00:00.071)       0:00:26.188 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Set plex_auth_token variable if previously saved] ***
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:33
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.071)       0:00:26.260 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Set plex_no_token status] *****************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:38
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.080)       0:00:26.340 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Check if Token is valid] ******************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:42
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.077)       0:00:26.417 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Generate PIN] *****************************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:64
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.078)       0:00:26.496 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Prompt user to login] *********************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:80
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.076)       0:00:26.573 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Check PIN] ********************************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:84
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.144)       0:00:26.717 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Add Client Identifier to '/opt/saltbox/plex.ini'] ***
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:97
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.072)       0:00:26.789 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Add Plex Token to '/opt/saltbox/plex.ini'] ***
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:104
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.081)       0:00:26.871 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Set plex_auth_token variable] *************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:111
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.079)       0:00:26.950 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Get X-Plex-Token] *************************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:120
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.069)       0:00:27.020 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Set plex_auth_token variable] *************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:134
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.075)       0:00:27.095 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}

TASK [plex_auth_token : Auth Token | Display Plex Auth Token] ******************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:140
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.068)       0:00:27.164 ******
skipping: [localhost] => {}

TASK [plex_auth_token : Change permissions] ************************************
task path: /srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:144
Thursday 13 January 2022  18:45:35 +0100 (0:00:00.072)       0:00:27.237 ******
skipping: [localhost] => {"changed": false, "skip_reason": "Conditional result was False"}
META:

TASK [plex_dupefinder : Import default config] *********************************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:49
Thursday 13 January 2022  18:45:36 +0100 (0:00:00.107)       0:00:27.344 ******
ok: [localhost] => {"changed": false, "dest": "/opt/plex_dupefinder/config.json", "src": "/root/.ansible/tmp/ansible-local-45852e254vzzm/tmpb7i_18tr/config.json.j2"}

TASK [plex_dupefinder : Set plex_dupefinder.py as executable] ******************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:58
Thursday 13 January 2022  18:45:36 +0100 (0:00:00.465)       0:00:27.809 ******
ok: [localhost] => {"changed": false, "gid": 1000, "group": "skullknight", "mode": "0775", "owner": "skullknight", "path": "/opt/plex_dupefinder/plex_dupefinder.py", "size": 18161, "state": "file", "uid": 1000}

TASK [plex_dupefinder : Create /usr/local/bin symlink] *************************
task path: /srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:65
Thursday 13 January 2022  18:45:36 +0100 (0:00:00.286)       0:00:28.095 ******
ok: [localhost] => {"changed": false, "dest": "/usr/local/bin/plex_dupefinder", "gid": 0, "group": "root", "mode": "0777", "owner": "root", "size": 39, "src": "/opt/plex_dupefinder/plex_dupefinder.py", "state": "link", "uid": 0}
META: role_complete for localhost
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META:
META: ran handlers
META: ran handlers

PLAY RECAP *********************************************************************
localhost                  : ok=19   changed=4    unreachable=0    failed=0    skipped=24   rescued=0    ignored=0

Thursday 13 January 2022  18:45:37 +0100 (0:00:01.103)       0:00:29.199 ******
===============================================================================
Gathering Facts --------------------------------------------------------- 7.76s
/srv/git/saltbox/saltbox.yml:2 ------------------------------------------------
plex_dupefinder : Install pip requirements ------------------------------ 5.26s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:31 ----------------------
sanity_check : Ansible Tags | Get all available Ansible tags ------------ 4.33s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/04_ansible_tags.yml:10 -----
pre_tasks : APT | Remove APT locks -------------------------------------- 3.20s
/srv/git/saltbox/roles/pre_tasks/tasks/subtasks/apt.yml:10 --------------------
plex_dupefinder : Create /usr/local/bin symlink ------------------------- 1.10s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:65 ----------------------
plex_dupefinder : Clone plex_dupefinder --------------------------------- 1.02s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:21 ----------------------
sanity_check : Find Ansible version ------------------------------------- 0.55s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/02_ansible_version.yml:10 --
sanity_check : Backup | Check if 'backup.lock' is present --------------- 0.51s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/05_backup.yml:10 -----------
sanity_check : Logs | Touch 'saltbox.log' ------------------------------- 0.47s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/06_logs.yml:15 -------------
plex_dupefinder : Import default config --------------------------------- 0.47s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:49 ----------------------
plex_dupefinder : Create plex_dupefinder directories -------------------- 0.43s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:10 ----------------------
sanity_check : Logs | Get 'saltbox.yml' info ---------------------------- 0.31s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/06_logs.yml:10 -------------
sanity_check : Tmp | Create Ansible Temp directories -------------------- 0.30s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/07_tmp.yml:10 --------------
plex_dupefinder : Check config exists ----------------------------------- 0.30s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:39 ----------------------
plex_dupefinder : Set plex_dupefinder.py as executable ------------------ 0.29s
/srv/git/saltbox/roles/plex_dupefinder/tasks/main.yml:58 ----------------------
plex_auth_token : Auth Token | Prompt user to login --------------------- 0.14s
/srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:80 ----------------------
plex_auth_token : Change permissions ------------------------------------ 0.11s
/srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:144 ---------------------
sanity_check : Ansible Tags | Ensure valid Ansible tag(s) were provided --- 0.09s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/04_ansible_tags.yml:18 -----
sanity_check : Settings | Ensure TLS validation isn't used with ZeroSSL --- 0.09s
/srv/git/saltbox/roles/sanity_check/tasks/subtasks/08_settings.yml:10 ---------
plex_auth_token : Auth Token | Add Client Identifier to '/opt/saltbox/plex.ini' --- 0.08s
/srv/git/saltbox/roles/plex_auth_token/tasks/main.yml:97 ----------------------