Description of Issue
When running a file.managed state in test mode, which is configured to download a file over https, salt-call will crash if the state has both a retry: and an unless: declaration which evaluates to true.
Command line returns:
Passed invalid arguments: sequence item 0: expected string or Unicode, list found.
followed by the Usage: statement for salt-call:
crash.log
Setup
Create a state test.sls:
download sample data:
file.managed:
- name: /tmp/saltstack.README.rst
- retry:
attempts: 5
interval: 5
- unless:
- test -f /tmp/saltstack.README.rst
- source:
- https://raw.githubusercontent.com/saltstack/salt/develop/README.rst
- source_hash: f2bc8c0aa2ae4f5bb5c2051686016b48
Steps to Reproduce Issue
touch /tmp/saltstack.README.rst
salt-call state.apply test -l info test=true 2>&1 | tee /tmp/crash.log
Versions Report
Salt Version:
Salt: 2019.2.0
Dependency Versions:
cffi: 1.12.3
cherrypy: unknown
dateutil: 2.7.2
docker-py: 3.5.0
gitdb: 2.0.5
gitpython: 2.1.11
ioflo: Not Installed
Jinja2: 2.9.6
libgit2: Not Installed
libnacl: Not Installed
M2Crypto: 0.31.0
Mako: 1.1.0
msgpack-pure: Not Installed
msgpack-python: 0.5.6
mysql-python: 1.2.5
pycparser: 2.19
pycrypto: 2.6.1
pycryptodome: 3.7.3
pygit2: Not Installed
Python: 2.7.5 (default, Apr 9 2019, 14:30:50)
python-gnupg: Not Installed
PyYAML: 3.11
PyZMQ: 15.3.0
RAET: Not Installed
smmap: 2.0.5
timelib: Not Installed
Tornado: 4.2.1
ZMQ: 4.1.4
System Versions:
dist: centos 7.6.1810 Core
locale: UTF-8
machine: x86_64
release: 3.10.0-957.12.2.el7.x86_64
system: Linux
version: CentOS Linux 7.6.1810 Core
Description of Issue
When running a file.managed state in test mode, which is configured to download a file over https, salt-call will crash if the state has both a
retry:and anunless:declaration which evaluates to true.Command line returns:
Passed invalid arguments: sequence item 0: expected string or Unicode, list found.followed by the
Usage:statement forsalt-call:crash.log
Setup
Create a state
test.sls:Steps to Reproduce Issue
touch /tmp/saltstack.README.rstsalt-call state.apply test -l info test=true 2>&1 | tee /tmp/crash.logVersions Report