saltstack / salt

Software to automate the management and configuration of any infrastructure or application at scale. Get access to the Salt software package repository here:
https://repo.saltproject.io/
Apache License 2.0
14k stars 5.47k forks source link

salt-ssh: regression with gitfs backend in 3006.7 #66148

Open baby-gnu opened 4 months ago

baby-gnu commented 4 months ago

Description

States in gitfs are unusable with salt-ssh since 3006.7

Setup

I use a personal salt-ssh configuration, the minimal settings is the following:

~/.salt/Saltfile ``` yaml # -*- yaml -*- salt-ssh: config_dir: ~/.salt ```
~/.salt/master ``` yaml # -*- mode: yaml; coding: utf-8 -*- #### #### Global parameters #### # Unfortunately, salt does not support ~ expension # We need to use absolute path for `root_dir` root_dir: /home/me/.salt pki_dir: pki cachedir: cache sock_dir: run pidfile: pids log_file: logs/master.log key_logfile: logs/key.log # Global level logged in file log_level_logfile: debug ## ## file server ## fileserver_backend: - roots - gitfs # Unfortunately, salt does not support ~ expension # We need to use absolute path for `file_roots` and `pillar_roots` file_roots: base: - /home/me/.salt/srv/salt pillar_roots: base: - /home/me/.salt/srv/pillar # List of formula I'm using gitfs_remotes: - https://github.com/saltstack-formulas/openssh-formula.git: - base: v3.0.3 - https://github.com/saltstack-formulas/template-formula.git #### #### Salt-SSH specific configuration #### ssh_minion_opts: log_level: debug ssh_log_file: logs/ssh.log ssh_use_home_key: True ssh_timeout: 5 roster_defaults: # Use ssh-agent authentication priv: agent-forwarding ```
~/.salt/roster ``` yaml # -*- mode: yaml; coding: utf-8 -*- minion1: host: minion1.example.net user: root ```

Steps to Reproduce the behavior

  1. install salt-ssh 3006.7
  2. install pygit2 using the following command: sudo salt-pip install pygit2
  3. configure as a normal user with the above configuration
  4. execute salt-ssh minion1 cp.list_states

Expected behavior

All states from formulas git repositories are listed like

salt-ssh minion1 cp.list_states ``` [WARNING ] Cache version mismatch clearing: '/home/me/.salt/cache/gitfs' minion1: - TEMPLATE - TEMPLATE._mapdata - TEMPLATE.clean - TEMPLATE.config - TEMPLATE.config.clean - TEMPLATE.config.file - TEMPLATE.package - TEMPLATE.package.clean - TEMPLATE.package.install - TEMPLATE.service - TEMPLATE.service.clean - TEMPLATE.service.running - TEMPLATE.subcomponent - TEMPLATE.subcomponent.clean - TEMPLATE.subcomponent.config - TEMPLATE.subcomponent.config.clean - TEMPLATE.subcomponent.config.file - _pillar.known_hosts_salt_ssh - openssh - openssh._mapdata - openssh.auth - openssh.auth_map - openssh.banner - openssh.client - openssh.config - openssh.config_ini - openssh.gather_host_keys - openssh.known_hosts - openssh.moduli - test.salt.pillar.default - test.salt.pillar.define_roles - test.salt.pillar.gentoo - test.salt.pillar.top - test.salt.pillar.upstart ```

Screenshots

Versions Report

salt-ssh --versions-report (Provided by running salt --versions-report. Please also mention any differences in master/minion versions.) ```yaml Salt: 3006.7 Python Version: Python: 3.10.13 (main, Feb 19 2024, 03:31:20) [GCC 11.2.0] Dependency Versions: cffi: 1.16.0 cherrypy: 18.6.1 dateutil: 2.8.1 docker-py: Not Installed gitdb: Not Installed gitpython: Not Installed Jinja2: 3.1.3 libgit2: 1.7.2 looseversion: 1.0.2 M2Crypto: Not Installed Mako: Not Installed msgpack: 1.0.2 msgpack-pure: Not Installed mysql-python: Not Installed packaging: 22.0 pycparser: 2.21 pycrypto: Not Installed pycryptodome: 3.19.1 pygit2: 1.14.1 python-gnupg: 0.4.8 PyYAML: 6.0.1 PyZMQ: 23.2.0 relenv: 0.15.1 smmap: Not Installed timelib: 0.2.4 Tornado: 4.5.3 ZMQ: 4.3.4 System Versions: dist: debian n/a trixie locale: utf-8 machine: x86_64 release: 6.6.11-amd64 system: Linux version: Debian GNU/Linux n/a trixie ```

Additional context

This was working fine with 3006.6, here is a diff of the debug log

diff -u 3006.6.log 3006.7.log ``` diff --- 3006.6.log 2024-02-27 15:09:27.084707047 +0100 +++ 3006.7.log 2024-02-27 15:09:30.980715906 +0100 @@ -7,14 +7,8 @@ LazyLoaded yaml.render compile template: /home/me/.salt/roster Jinja search path: ['/home/me/.salt/cache/files/base'] -Time (in seconds) to render '/home/me/.salt/roster' using 'jinja' renderer: 0.011598825454711914 -Rendered data from file: /home/me/.salt/roster: -# -*- mode: yaml; coding: utf-8 -*- - -minion1: - host: minion1.example.net - user: root -Time (in seconds) to render '/home/me/.salt/roster' using 'yaml' renderer: 0.0032024383544921875 +Time (in seconds) to render '/home/me/.salt/roster' using 'jinja' renderer: 0.0016009807586669922 +Time (in seconds) to render '/home/me/.salt/roster' using 'yaml' renderer: 0.0003859996795654297 The functions from module 'roster_matcher' are being loaded by dir() on the loaded module LazyLoaded roster_matcher.targets The functions from module 'roots' are being loaded by dir() on the loaded module @@ -41,19 +35,7 @@ http.sslVerify for gitfs remote 'https://github.com/saltstack-formulas/template-formula.git' set to true Config updates for gitfs remote 'https://github.com/saltstack-formulas/template-formula.git' written to /home/me/.salt/cache/gitfs/hjac4+R0YxjkGX87hEu_77Q_tdzH1DDVE_YdWBaHrk0=/_/.git/config Wrote new gitfs remote map to /home/me/.salt/cache/gitfs/remote_map.txt -Created gitfs object for process 179572 -Updating roots fileserver cache -Updating gitfs fileserver cache -Re-using gitfs object for process 179572 -Wrote new gitfs remote map to /home/me/.salt/cache/gitfs/remote_map.txt -Set update lock for gitfs remote 'https://github.com/saltstack-formulas/openssh-formula.git' -Fetching gitfs remote 'https://github.com/saltstack-formulas/openssh-formula.git' -gitfs received 2501 objects for remote 'https://github.com/saltstack-formulas/openssh-formula.git' -Removed update lock for gitfs remote 'https://github.com/saltstack-formulas/openssh-formula.git' -Set update lock for gitfs remote 'https://github.com/saltstack-formulas/template-formula.git' -Fetching gitfs remote 'https://github.com/saltstack-formulas/template-formula.git' -gitfs received 3528 objects for remote 'https://github.com/saltstack-formulas/template-formula.git' -Removed update lock for gitfs remote 'https://github.com/saltstack-formulas/template-formula.git' +Created gitfs object for process 180703 Using contextvars Adding module to the tops: "salt" Adding module to the tops: "distro" @@ -84,465 +66,25 @@ Packing "packaging" to "py3" destination Packing "contextvars" to "py3" destination Packing "immutables" to "py3" destination -Re-using gitfs object for process 179572 -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00014829635620117188 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.015222549438476562 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00022912025451660156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.04590582847595215 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.023127317428588867 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.020216941833496094 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010585784912109375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.012234687805175781 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010395050048828125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0026481151580810547 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00015926361083984375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.002561807632446289 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010061264038085938 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007274150848388672 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010228157043457031 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0010175704956054688 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010371208190917969 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.019124269485473633 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001246929168701172 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007177591323852539 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.009896993637084961 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00011420249938964844 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.009723901748657227 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00010824203491210938 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010848045349121094 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.002391338348388672 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010132789611816406 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.004142045974731445 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010633468627929688 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.015056133270263672 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010275840759277344 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.003731250762939453 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.009515762329101562 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006505250930786133 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010895729064941406 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00809168815612793 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010585784912109375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007838249206542969 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010442733764648438 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.004625082015991211 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0002410411834716797 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.005837678909301758 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00012445449829101562 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.019186735153198242 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.019227266311645508 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01253056526184082 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.029029130935668945 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006958484649658203 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.01210784912109375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00010347366333007812 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.02115011215209961 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0328066349029541 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00013756752014160156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007007122039794922 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001227855682373047 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.015093803405761719 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010156631469726562 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.000629425048828125 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.846687316894531e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.028551340103149414 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.03203558921813965 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.021432161331176758 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.942054748535156e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006781816482543945 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001010894775390625 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0031774044036865234 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.751319885253906e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01891303062438965 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010514259338378906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.020179033279418945 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010657310485839844 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.018824338912963867 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.01616358757019043 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00010466575622558594 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.870529174804688e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.017926454544067383 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010561943054199219 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007516384124755859 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.989738464355469e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.014532089233398438 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011038780212402344 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0008342266082763672 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001010894775390625 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007260799407958984 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.000102996826171875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007279157638549805 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010704994201660156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010195255279541016 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010704994201660156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.011002302169799805 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010371208190917969 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.018207073211669922 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010609626770019531 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.017956972122192383 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010514259338378906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0025687217712402344 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.000102996826171875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0015797615051269531 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.016268491744995117 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.009973526000976562 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.022765159606933594 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.02060556411743164 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010704994201660156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006206035614013672 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.965896606445312e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.02192068099975586 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.942054748535156e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01811504364013672 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010704994201660156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010634422302246094 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011348724365234375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010598182678222656 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008154630661010742 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00010776519775390625 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010585784912109375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.009040355682373047 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011110305786132812 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00816035270690918 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011324882507324219 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.002544879913330078 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001366138458251953 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.000591278076171875 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010251998901367188 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010310649871826172 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.013206243515014648 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006834506988525391 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010967254638671875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010857820510864258 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001068115234375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010711431503295898 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011491775512695312 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0037217140197753906 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00019049644470214844 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006827831268310547 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010609626770019531 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.009489297866821289 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.012291669845581055 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00011038780212402344 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00013256072998046875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0017917156219482422 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001087188720703125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00742650032043457 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008806228637695312 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00527644157409668 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010323524475097656 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007135868072509766 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010418891906738281 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.013255119323730469 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011706352233886719 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00757908821105957 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001652240753173828 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01193690299987793 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008960247039794922 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00011467933654785156 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008556365966796875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00011038780212402344 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008554458618164062 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.005757331848144531 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010704994201660156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.005564451217651367 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010657310485839844 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007385730743408203 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010395050048828125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00705265998840332 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00017905235290527344 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010721445083618164 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010657310485839844 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007601737976074219 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00016546249389648438 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007988214492797852 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011157989501953125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01526021957397461 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00021076202392578125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0008876323699951172 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010514259338378906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.003535032272338867 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011920928955078125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.015182733535766602 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011038780212402344 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.011456966400146484 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011706352233886719 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.014744281768798828 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010657310485839844 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.003473997116088867 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001068115234375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00969552993774414 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010967254638671875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007427215576171875 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011897087097167969 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010741233825683594 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00020885467529296875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0040073394775390625 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001285076141357422 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0217132568359375 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.009144306182861328 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0001456737518310547 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00012993812561035156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.011523723602294922 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001354217529296875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0227358341217041 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001385211944580078 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.004706144332885742 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001239776611328125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.04705524444580078 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011515617370605469 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.04696035385131836 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010752677917480469 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.008067846298217773 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010418891906738281 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00629734992980957 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010251998901367188 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0066623687744140625 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011134147644042969 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00830221176147461 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001289844512939453 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.020269393920898438 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00013899803161621094 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006958723068237305 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010752677917480469 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01030421257019043 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010466575622558594 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00679326057434082 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011181831359863281 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.004132986068725586 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.013321638107299805 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006637096405029297 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.014580726623535156 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007292270660400391 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.0001220703125 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0038106441497802734 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.020959138870239258 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0075244903564453125 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00014901161193847656 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00763392448425293 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010514259338378906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0008206367492675781 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010514259338378906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006560087203979492 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.000102996826171875 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0007402896881103516 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010347366333007812 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.015618562698364258 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010371208190917969 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.011710166931152344 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.02086186408996582 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007574558258056641 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00013566017150878906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.02240133285522461 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011563301086425781 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0032241344451904297 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.013432025909423828 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0071773529052734375 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010156631469726562 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007018089294433594 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.01439809799194336 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007035732269287109 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010919570922851562 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0032002925872802734 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008124351501464844 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00011110305786132812 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010633468627929688 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00205230712890625 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00011754035949707031 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.01914072036743164 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008519172668457031 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.000110626220703125 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010561943054199219 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0052642822265625 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010895729064941406 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.005212068557739258 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010466575622558594 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.018755674362182617 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010514259338378906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.010236501693725586 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010824203491210938 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.007069826126098633 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00024318695068359375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.018314361572265625 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.846687316894531e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.023480892181396484 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010061264038085938 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0007796287536621094 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010061264038085938 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.003426790237426758 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=9.918212890625e-05 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.00964975357055664 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.008671045303344727 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.006257534027099609 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00012040138244628906 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0037064552307128906 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010442733764648438 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0007269382476806641 seconds -Re-using gitfs object for process 179572 -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/openssh-formula.git duration=0.00010585784912109375 seconds -gitfs file_name cache rebuild repo=https://github.com/saltstack-formulas/template-formula.git duration=0.0030655860900878906 seconds +Re-using gitfs object for process 180703 +Re-using gitfs object for process 180703 The functions from module 'local_cache' are being loaded by dir() on the loaded module LazyLoaded local_cache.prep_jid -Adding minions for job 20240227140140947567: ['minion1'] +Adding minions for job 20240227140314326512: ['minion1'] The functions from module 'cp' are being loaded by dir() on the loaded module LazyLoaded cp.list_states Performing shimmed, blocking command as follows: test.opts_pkg Executed SHIM command. Command logged to TRACE -Child Forked! PID: 179726 STDOUT_FD: 14 STDERR_FD: 16 +Child Forked! PID: 180812 STDOUT_FD: 12 STDERR_FD: 14 VT: Salt-SSH SHIM Terminal Command executed. Logged to TRACE RETCODE minion1.example.net: 11 SHIM retcode(11) and command: deploy Executing command: scp -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no -o GSSAPIAuthentication=no -o ConnectTimeout=10 -o Port=22 -o User=root /home/me/.salt/cache/thin/thin.tgz minion1.example.net:/var/tmp/.root_8dccac_salt/salt-thin.tgz -Child Forked! PID: 179727 STDOUT_FD: 14 STDERR_FD: 16 +Child Forked! PID: 180813 STDOUT_FD: 12 STDERR_FD: 14 Terminal Command: scp -o KbdInteractiveAuthentication=no -o PasswordAuthentication=no -o GSSAPIAuthentication=no -o ConnectTimeout=10 -o Port=22 -o User=root /home/me/.salt/cache/thin/thin.tgz minion1.example.net:/var/tmp/.root_8dccac_salt/salt-thin.tgz Executed SHIM command. Command logged to TRACE -Child Forked! PID: 179734 STDOUT_FD: 14 STDERR_FD: 16 +Child Forked! PID: 180820 STDOUT_FD: 12 STDERR_FD: 14 VT: Salt-SSH SHIM Terminal Command executed. Logged to TRACE The functions from module 'jinja' are being loaded by dir() on the loaded module LazyLoaded jinja.render @@ -550,8 +92,8 @@ LazyLoaded yaml.render The functions from module 'cp' are being loaded by dir() on the loaded module LazyLoaded cp.list_states -Returning file list from cache: age=6 cache_time=20 /home/me/.salt/cache/file_lists/roots/base.p -Re-using gitfs object for process 179725 -Returning file list from cache: age=6 cache_time=20 /home/me/.salt/cache/file_lists/gitfs/base.p +Returning file list from cache: age=3 cache_time=20 /home/me/.salt/cache/file_lists/roots/base.p +Re-using gitfs object for process 180811 +Returning file list from cache: age=3 cache_time=20 /home/me/.salt/cache/file_lists/gitfs/base.p The functions from module 'nested' are being loaded by dir() on the loaded module LazyLoaded nested.output ```
dwoz commented 4 months ago

@baby-gnu This is likely a duplicate of #66124. Are you able to test the changes to salt/pillar/__init__.py from my PR? https://github.com/saltstack/salt/pull/66128/files#diff-8b80a647365268f00563c1c4f3e787812a7ad3e07744c7fd71ffc21c7c75b4af

baby-gnu commented 4 months ago

@baby-gnu This is likely a duplicate of #66124. Are you able to test the changes to salt/pillar/__init__.py from my PR? https://github.com/saltstack/salt/pull/66128/files#diff-8b80a647365268f00563c1c4f3e787812a7ad3e07744c7fd71ffc21c7c75b4af

I applied the patch manually and it did not solve my problem with cp.list_states.

diff -u /opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__init__.py.orig /opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__init__.py ``` diff --- /opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__init__.py.orig 2024-02-28 08:41:09.664765585 +0100 +++ /opt/saltstack/salt/lib/python3.10/site-packages/salt/pillar/__init__.py 2024-02-28 08:42:13.364881684 +0100 @@ -561,6 +561,7 @@ self.opts = self.__gen_opts(opts, grains, saltenv=saltenv, pillarenv=pillarenv) self.saltenv = saltenv self.client = salt.fileclient.get_file_client(self.opts, True) + self.fileclient = salt.fileclient.get_file_client(self.opts, False) self.avail = self.__gather_avail() if opts.get("file_client", "") == "local" and not opts.get( @@ -573,11 +574,15 @@ utils = salt.loader.utils(opts, file_client=self.client) if opts.get("file_client", "") == "local": self.functions = salt.loader.minion_mods( - opts, utils=utils, file_client=self.client + opts, + utils=utils, + file_client=salt.fileclient.ContextlessFileClient(self.fileclient), ) else: self.functions = salt.loader.minion_mods( - self.opts, utils=utils, file_client=self.client + self.opts, + utils=utils, + file_client=salt.fileclient.ContextlessFileClient(self.fileclient), ) else: self.functions = functions @@ -1371,6 +1376,12 @@ except AttributeError: pass + if self.fileclient: + try: + self.fileclient.destroy() + except AttributeError: + pass + # pylint: disable=W1701 def __del__(self): self.destroy() ```
dwoz commented 4 months ago

@lkubb any thoughts on this one?

baby-gnu commented 4 months ago

@lkubb any thoughts on this one?

If I understand the log diff correctly, some fileserver caches are not rebuild :thinking:

lkubb commented 4 months ago

I failed to reproduce this with the test suite, then I upgraded my master to 3006.7 [1]

Then:

Edit2: @baby-gnu Does salt-call cp.list_states or salt-run fileserver.file_list work for you? When it breaks for me via salt-ssh, it also breaks in regular Salt. I'm not too familiar with gitfs, so I'll stop debugging here. Calling salt-run fileserver.update does not fix it once it's broken.

From what I can tell, the broken file client's opts were not set to the master's opts with overridden cachedir as usual, but to the minion-master hybrid ones that are used for wrapper modules.

Since I cannot reproduce it anymore and had to rush, take the above with a grain of salt. If I'm correct though, I would assume it's related to the latest loader/file client changes.

outdated baby-gnu Maybe you can patch `cp.list_states` in `salt/client/ssh/wrapper/cp.py` to show us which opts the file client has? Something like: ```diff +++ ca 2024-02-29 18:20:29.656401697 +0100 @@ -66,6 +66,11 @@ """ List all the available state modules in an environment """ + fsopts = __context__["fileclient"].opts + log.error(f"root_dir": {fsopts.get('root_dir')}") + log.error(f"cachedir": {fsopts.get('cachedir')}") + log.error(f"role": {fsopts.get('__role')}") + log.error(f"master_opts? {'__master_opts__' in fsopts}") return __context__["fileclient"].list_states(saltenv) ``` ~~When it works, I get:~~ ```log [ERROR ] root_dir: / [ERROR ] cachedir: /var/tmp/.root_abcdef_salt/running_data/var/cache/salt/minion [ERROR ] role: master [ERROR ] master_opts? False ``` ~~When it didn't work, I would have got:~~ ```log [ERROR ] root_dir: /var/tmp/.root_abcdef_salt/running_data [ERROR ] cachedir: /var/tmp/.root_abcdef_salt/running_data/var/cache/salt/minion [ERROR ] role: minion [ERROR ] master_opts? True ```

[1] This severely broke my environment: the pillar was always empty, refreshing revealed the master was returning an empty string as the pillar. #66128 fixed it. Could not reproduce this later as well.

baby-gnu commented 4 months ago

Hello

Edit2: @baby-gnu Does salt-call cp.list_states or salt-run fileserver.file_list work for you? When it breaks for me via salt-ssh, it also breaks in regular Salt. I'm not too familiar with gitfs, so I'll stop debugging here. Calling salt-run fileserver.update does not fix it once it's broken.

Interesting test, on a pristine setup with cache directory cleaned:

  1. salt-ssh minion1 cp.list_states does not work
  2. salt-call --local cp.list_states works
  3. salt-ssh minion1 cp.list_states works
  4. add a formula to gitfs_remotes
  5. salt-ssh minion1 cp.list_states does not list new states (but has the previous ones)
  6. salt-call --local cp.list_states does not list new states (but has the previous ones)
  7. salt-run fileserver.update returns True
  8. salt-call --local cp.list_states works
  9. salt-ssh minion1 cp.list_states works

Another much simpler test:

  1. salt-ssh minion1 cp.list_states does not work
  2. salt-run fileserver.update returns True
  3. salt-ssh minion1 cp.list_states works

So:

Regards.

lkubb commented 4 months ago

Thanks for the feedback! Not sure why I couldn't unblock it with a fileserver update, but awesome that it works for you.

It seems the issue is likely not specific to salt-ssh then and related to automatic fileserver refreshes. Still weird that salt-call --local unblocks it the first time when salt-ssh does not since both use the same fileclient.

baby-gnu commented 4 months ago
Still an issue in 3007.0 ``` Salt Version: Salt: 3007.0 Python Version: Python: 3.10.13 (main, Feb 19 2024, 03:31:20) [GCC 11.2.0] Dependency Versions: cffi: 1.16.0 cherrypy: 18.8.0 dateutil: 2.8.2 docker-py: Not Installed gitdb: Not Installed gitpython: Not Installed Jinja2: 3.1.3 libgit2: 1.7.2 looseversion: 1.3.0 M2Crypto: Not Installed Mako: Not Installed msgpack: 1.0.7 msgpack-pure: Not Installed mysql-python: Not Installed packaging: 23.1 pycparser: 2.21 pycrypto: Not Installed pycryptodome: 3.19.1 pygit2: 1.14.1 python-gnupg: 0.5.2 PyYAML: 6.0.1 PyZMQ: 25.1.2 relenv: 0.15.1 smmap: Not Installed timelib: 0.3.0 Tornado: 6.3.3 ZMQ: 4.3.4 Salt Package Information: Package Type: onedir System Versions: dist: debian n/a trixie locale: utf-8 machine: x86_64 release: 6.7.7-amd64 system: Linux version: Debian GNU/Linux n/a trixie ```

Where I need 2 salt-call --local cp.list_states to see list of states or salt-run fileserver.update

SkypLabs commented 4 months ago

It seems I'm hitting the same salt-ssh bugged behaviour as the one described by @baby-gnu in his issue description with version 3007.0. I had a look at the Git repositories in my local cache and it turned out they were all in the main branch, which is the default branch set in my ~/.gitconfig but not the one used by my remote formulas nor the default branch I set as value of gitfs_base in master. When I manually switched to the master branch and ran salt-ssh again, it solved the issue.

I hope this might help you find and troubleshoot the root cause of the problem.

SkypLabs commented 4 months ago

I had a look at the Git repositories in my local cache and it turned out they were all in the main branch, which is the default branch set in my ~/.gitconfig but not the one used by my remote formulas nor the default branch I set as value of gitfs_base in master. When I manually switched to the master branch and ran salt-ssh again, it solved the issue.

Actually, it doesn't matter what the current branch is. Only a git fetch does the trick.

# Git repository of a remote formula in cache.
cd /tmp/.salt-root/var/cache/salt/master/gitfs/b0ECZpNJPOnKvlruA3uw6LbNIKomJ5gPGuWSPOAavTk=/_
git fetch

# I can now see my formula in the list.
salt-ssh '*' cp.list_states

As a quick-and-dirty workaround (at least in my case), to run git fetch for all cached Git repositories:

cd /tmp/.salt-root/var/cache/salt/master/gitfs/
find -maxdepth 2 -type d -name '*_' -exec git -C {} fetch \;
baby-gnu commented 4 months ago

It seems I'm hitting the same salt-ssh bugged behaviour as the one described by @baby-gnu in his issue description with version 3007.0. I had a look at the Git repositories in my local cache and it turned out they were all in the main branch, which is the default branch set in my ~/.gitconfig but not the one used by my remote formulas nor the default branch I set as value of gitfs_base in master. When I manually switched to the master branch and ran salt-ssh again, it solved the issue.

I hope this might help you find and troubleshoot the root cause of the problem.

Thanks, I tried to set the base parameter for all my gitfs_remotes but it does not work. Doing a manual git fetch for all cached gitfs directories does the job.

baby-gnu commented 2 months ago

I just tested with 3007.0 and the issue is still present.

Regards.

baby-gnu commented 2 weeks ago

Again, tested with 3007.1 and still an issue.

Regards.